Internationalisation in the flash UI
A bit of background first, LAMS internationalization (i18N) follows the standard of many other web applications. In order to have a web application in many/other languages, each label (or phrase) on the screen has to be tagged with an id and the content of each label put into a language dictionary file. Each language has one dictionary file where the reference of each label is translated to that language.
So for instance in the login page, the "Welcome to LAMS" phrase will be referenced with a unique identifier label (say we called the label id
Now, each language will have a separate dictionary file where all the translated labels for that particular language will be stored. So for instance the Spanish (Argentina) dictionary
(es_AR_dictionary.xml file) will have a line that reads:
Bienvenido a LAMS
the English dictionary file
(en_AU_dictionary.xml) will have then:
Welcome to LAMS
and so on for each other language.
Then LAMS 2.0 will allow the system administrator to select which language they want to use for the whole system. By doing so, LAMS will "grab" the appropriate dictionary file to be used.
Translating the LAMS 2.0 Authoring interface
So here are the basics of the LAMS Internationalization module:
There are LAMS modules to translate: that have all the labels of everything that gets displayed for that module. And there are active languages/locales, which are basically the languages that people have volunteer to work on.
Now, any LAMS community member can request to become translators of one or more languages. These requests go to the Language Admin that essentialy accepts the requests to create a team of translators for his/her language. This team now can collaborative work on translations for any module on their given language and they can distribute the work in any way they please.
So following these basics, the new web interface works as follow:
When a member gets to the internationalization (i18n) page, he sees a list of LAMS modules that are available to translate. Each module displays the list of languages that is being translated to. Each of these languages shows the different levels of completition (in percentage and number of labels missing for completing the module).
Everyone can click on the language and see all the labels that have and haven't been translated (everyone can view). Now if you want to edit, add or change a label, and you aren't part of the team of translators for that language, then you can become a translator for that language by submitting a web form there (it goes to the language admin for approval).
Once it's approved, then you can translate, edit, add or modify as many labels in any LAMS module you like (always, of course, just for the language that you are part of).
Doing translations is quite straight forward. There are two ways, the bulk translation (do all the translations at one go) or you can modify/add labels as you like.
When translating words, the page displayes the English (Australian) word and a brief description (in English) so you can find the appropiate translation. Once a module has been translated completely into a language, we can click on a button and produce the XML or Java properties file that then we'll bundle into LAMS 2.0.
LAMS Authoring Translations (so far)
So far, these are the translations we have done for LAMS Authoring:
Dictionary File and version
Maori (New Zealand)
New Zealand Department of Education
If you want to volunteer for the translations, please let us know in this thread in the LAMS Community
Language Mapping Codes
Country Codes (locale)