Note that most of the process must take place in the development environment.
This ensures that message translations and translators access rights are stored in the version control repository.
The only part of the process done in the production environment is the message validation or changes by the translators.
1. Check messages to translate
go to "scripts"
if "obsolete english message ids" are reported:
comment these messages in "data/translations/en.php"
note that message ids must not be reused
if "obsolete translation in action ids" are reported:
remove these messages in "data/translations_in_action.php"
if "missing english messages" are reported:
add each message in the corresponding section of "data/translations/en.php"
add a new section at the end if the message does not fit in an existing section (see the note on sections)
use the next available message id
if "missing translation in action ids" are reported:
proceed as explained in 3. Updade the translations in action
Note that "missing translated message ids" and "obsolete translated message ids" are not used in this step.
Note on sections:
a section corresponds to a logical unit of the interface, eg the top bar messages, the home page messages etc.
a section begins with a message id that is a multiple of 100, and the section title, eg "Top bar", "Home page" etc.
if you need to add a new section
2. Machine translate new messages
For each new message:
machine translate the message in each language with google or bing etc.
add the translation in each language in the corresponding translation file, eg "data/translations/fr.php" for French
use the same message id as the original message in English in "data/translations/en.php"
run "check_translations" (again)
3. Updade the translations in action
if "obsolete english message ids" are reported, remove the corresponding entries in "data/translations_in_action.php"