OpenBoxes supports a ton of locales (languages) out of the box, but they’re not all available for the user to choose. We can add a new locale (language) to the application by modifying openboxes.locale.supportedLocales
. I will add Russian as one of the default locales to the next release.
If you have your own server you can add the following properties above to the openboxes-config.groovy file.
openboxes.locale.custom.enabled = true
openboxes.locale.defaultLocale = 'en'
openboxes.locale.supportedLocales = ['ar', 'en', 'fr', 'de', 'it', 'es' , 'pt', 'ru']
To see how this will work, you can log into the demo server and can click on the following link. This will immediately change your current locale to Russian.
However, as you’ll notice not many of the labels have been translated to Russian yet (just the languages and months).
So how do you translate all of the labels? Unfortunately, it’s a bit time-consuming.
- The first option is to copy the messages.properties file under https://github.com/openboxes/openboxes/tree/develop/grails-app/i18n, save the file as messages_ru.properties and just start translating as best as you can. When you’re done, send me the translations and I’ll add them to the next release.
- A second option (which is similarly arduous, but a little more fun) is to enter all of these translations into the database using our Translation Mode (NOTE: This is not enabled on demo.openboxes.com, but I could do that tomorrow if you’re interested in testing it out).
a. Enable translation mode
b. Choose a locale
c. Click on any of the green or red icons next to any word on the page
d. Create a new localization entry for any label on the page
e. Refresh the megamenu to view the change
- A third option (which requires some development) would be to implement crowd-sourced translations through an API like Transifex (https://www.transifex.com/). I’ve been hoping to work on this at some point in the not-so-distant future, but would be happy to have someone else with experience take it on.