CGIProxy Translation/Localization


CGIProxy Home | News | Installation | Usage | Options | Limits | Disclaimer |
Latest Download | Security | FAQ | Changes | Translating | Online Demo (login "free/speech")

Subscribe to announcement list:

CGIProxy can display its messages in Arabic, Chinese, Dutch, English, Farsi, French, German, Indonesian, Italian, Javanese, Polish, Russian, Spanish, Sundunese, or Turkish. If you'd like to help translate the messages into other languages, then great! I'd be happy to add any other languages that you're willing to translate the messages into. Once I get the translations, it's trivial for me to add new languages into CGIProxy. To translate the messages:

First, contact me to be sure someone else isn't already working on your language.

Next, download the messages file (about 13K of English text), and open it in a text editor that can save UTF-8 text.

Format of the messages file

There are two sections of the file: one-line messages, followed by multi-line messages.

The one-line messages are in pairs, with the English message followed by the translated message. You may put blank lines for clarity between each message pair, if you want. After the final one-line message, there is a line with EOM to designate the end of the one-line message section.

The first one-line message is special: The first line is "_THIS_LANGUAGE", and the next line should be the name of the language in that language, e.g. "EspaƱol" if translating to Spanish. This is used to label the flag/language icons on the starting page. All of the other one-line messages should be the English message followed by the translated message, as described above.

The multi-line messages each start with a unique one-line message identifier, such as ftp_dirfix.response (don't translate these), and end with an EOM line. In between is the English message that needs to be replaced with the equivalent translated message. In other words, do not include the English version. Most of the multi-line messages are HTML. Don't translate the HTML code, i.e. everything between "<" and ">". As with the one-line messages, you may put blank lines after each multi-line message for clarity.

Note that in HTML, "&nbsp;" means "non-breaking space", which displays as a space but lines can't break on them. For example, "Location&nbsp;via&nbsp;proxy" displays as "Location via proxy", which needs to be translated, but please leave "&nbsp;" bits between the words. Some of these are easy to miss, so look closely.

Some messages contain one or more "%s" sequences-- don't translate these. In the program, these will be replaced with various bits of text (called "strings"). If a message contains more than one "%s", then please keep them in the same order as in the English message, so that all replacements go in the right place. (I know this can be awkward in some languages.)

In other words, the final translation file should look something like:

_THIS_LANGUAGE
English

First English one-line message.
Translated version of first one-line message.

Second English one-line message.
Translated version of second one-line message.

  .
  .
  .

Last English one-line message.
Translated version of last one-line message.
EOM

message-identifier.1
<html>
<body>
<p>This is a TRANSLATED multi-line message.
</body>
</html>
EOM

message-identifier.2
<html>
<body>
<p>This is another TRANSLATED multi-line message.
</body>
</html>
EOM

  .
  .
  .

message-identifier.last
<html>
<body>
<p>This is the last TRANSLATED multi-line message.
</body>
</html>
EOM

Save the file in UTF-8 format, and email it to me.

Thanks for your translation, I truly appreciate it! You're helping bring news and information to many communities in oppressed countries.

Any questions? Email me!


© 2013-2019 James Marshall https://jmarshall.com/tools/cgiproxy/translate.html
Last Modified: January 26, 2019