2. The /translate/ system - English-stripping

Viewing Translation Codes

You can use the uselang URL argument to view an individual BML page in a particular language. For example:


You can also append uselang=debug to a BML page URL, to show the string names of the text on the given page: http://www.lj-23-m.bulyon.local/?uselang=debug

Strings of text on the page that are not yet translatable will be in normal English text. From this you can see which text still needs to be “English-stripped”, so it can be translated (localized).

English-stripping Tips

There are important points to remember when English-stripping text, which might not be obvious.

  1. If you are English-stripping, you should strip everything. You should not leave parentheses, brackets, punctuation, etc. hard-coded. Some languages, like Arabic and Japanese, use their special characters for these, and some need them treated specially.

  2. Never split sentences. You should not construct sentences from smaller bits. It tends to confuse translators, and unnecessarily limit them in their freedom. After all, you never know what grammatical quirks a language can have, so when you do this, you could potentially make a grammatically-correct translation impossible. For example: “Paid user” and “Paid user, previously an Early Adopter” should be separate strings. Most translators are happy to use Copy & Paste, so don't worry about increasing their workload.

  3. Last, please document unconventional things using the |notes= directive in your translation files. It can confuse translators a lot when they do not know where things go or how things are put together. For something like a string, it is important to provide a clue to what it's for, what it does, and how it works.

notes directive examples:

thislang.community|notes=Name of community you use to discuss the translation for this language.
Sorry|notes=typically used to announce that the requested action can't be done.
Error|notes=typically used inside an H1 tag to announce an error.