Thanks to the gracious contributions of John Bush at rSmart, and Rob Stonham at University of Hull, I'd like to announce the availability of a Dynamic Translation Server (beta version) to the Sakai international community. The translation server (https://qa13-uk.sakaiproject.org/portal) provides a new Localization Admin tool available in the Administration Workspace (current admin userid/password is "admin").

IMPORTANT: The Admin Tool is still in beta, and lacks a complete process to port translations back into Sakai source code (we welcome community contributions to convert the exported translations into Sakai properties files). The process for dynamic translation relies on a user to first display any and all user interface text with the target language selected. This causes the translation server to save all user interface text into a database table where it can by dynamically retrieved, translated, and exported.

Following are the detailed instructions and I've also attached screenshots to walk you through the process.

  1. Create a user and login.
  2. Select the target language you'd like to translate: "My Workspace" -> "Preference" -> "Language" -> (select language) -> "Update Preferences". If the language isn't yet listed there, it can be added upon request  <i18n@collab.sakaiproject.org>.
  3. Select "Membership" and join the "I18N Testing" worksite and attempt to visit all the pages of any particular tool. Repeat for other tools you'd like to translate.
  4. Wait awhile. The database will cache all user text in the background, and unfortunately there's not yet an indication of when it completes.
  5. Log in as the admin user (username/password: admin/admin) and visit the "Localization Admin" tool. Select "Edit" on the any property and correct or add the appropriate translation. Save and continue on.
  6. The translations will now be available for you to view in the original tools.

You can also get the source and deploy the Localization Admin tool yourself.

  1. Download and compile sources from https://source.sakaiproject.org/contrib/rsmart/messagebundle
  2. Add the following lines to your sakai.properties
# message bundle management
load.bundles.from.db=true
# number of milliseconds before rechecking database for updates, the default is 30 secs
load.bundles.from.db.timeout=30000