The method to define translation strings used in MODx:
$_lang["nojava"] = "Java seems to be disabled. Click ...";
.. is IMHO not very smart. When I am working on translation, I have to switch between English file and my language file very often and this is not very handy. IMHO the better way is to define the phrases by the whole original English phrase. Then the translators do not have to switch between files and they have the original phrases in one file with the translations. This saves much time and make translation process easier.
For example:
$translate->this("Original phrase") =
"Translated phrase";
The best way that I have seen is used for example in the Plume CMS (
http://plume-cms.net/). The locale files includes the original phrase and under it the translated phrase, so the locale file seems like this:
;Original phrase1
Translated phrase1
;Original phrase2
Translated phrase2
etc.
There is a parser, which parses all the code files, search the new strings and put it into the end of locale file. Very useful tool, I recommend you to implement something similar. Thanks.