i18n, L10n

Internationalization and Localization

Intro

Definition of both i18n and L10n on wikipedia

Translatable strings are referred to as "messages".

Internationalization

Programmers must take great care that all user-visible strings are translatable. To meet this goal:

  • Messages must be complete phrases. For example: Please click here must be a single message, even if "here" is the only linked text. TODO: include example of message with a link
  • Avoid patchwork messages.
  • Trailing white-spaces will not appear in translated properties files so be mindful of whether those trailing spaces are required or not.

For more information, MediaWiki has an excellent set of i18n best practices for reference.

Points of Style

This content should eventually end up in a style guide.

  • Example messages describing form buttons: Click "Submit" to submit this form or "Cancel" to abort and return to the main menu.

Localization

We are now using Translatewiki.net.

Translatewiki.net

  • All localization must be done via Translatewiki.net.
  • There is a bug if you choose "en" for My Preferences → Internationalisation → Language, choose "en-GB" instead.
  • They have their own clone of our head repository from sf.net, which should be checked out to the 1.7.x branch.
  • Ask for help on the #mediawiki-i18n IRC channel on irc.freenode.net for
    • any issues with Translatewiki.net
    • commit requests (ie: will you please commit messages for Mifos?)
    • pull requests (ie: will you please pull the latest Mifos changes?)
  • Got a question? Checkout their FAQ, ask for help on #mifos and #mediawiki-i18n IRC chat rooms
  • Keys and messages may be changed as necessary. See !!FUZZY!!, Do I have to do anything special when deleting messages? and Is it possible to rename message keys? Let the translatewiki.net folks know (on their IRC channel) if you are going to be making many changes at once.
  • Mifos Glossary maintained on TWN.