My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Wiki pages

This library provides a tool and an API to perform pseudolocalization. Pseudolocalization generates a fake translation of messages of a program, which helps to highlight weaknesses and bugs in the original program regarding localization.

The library includes a structured message API to allow it to be used for complex multi-part messages, and includes the following pseudolocalization methods:

  • accenter - replaces US-ASCII characters with accented versions, to make it obvious if parts of the output are hard-coded in the program and can't be localized
  • brackets - adds [brackets] around each message, to show where messages have been concatenated together. This is a localization problem because some languages may need to reorder phrases or the translation may change depending on what is around it.
  • expander - makes each message longer, to show where the UI doesn't give enough space for languages that result in longer strings, and either wraps awkwardly or truncates.
  • fakebidi - produces fake Right-to-Left text, using the original source text and wrapping LTR text with RTL markers, so that it renders as if it were RTL text but is still mostly readable to someone who doesn't speak Arabic or Hebrew.

These methods can be combined in any order and with user-written methods. In addition, HTML tags can optionally be preserved (it is not recommended to give them to the translator, but especially simple tags show up in translatable text frequently).

These can also be accessed via locale variant subtags, which we hope to get standardized. A variant subtag of psaccent corresponds to accenter, expander, and brackets (in that order), and a variant subtag of psbidi corresponds to fakebidi.

Initially this project consists of just a library to be used by other tools, but eventually it will provide a command-line tool for generating pseudolocalized message files that can be used just like real translated files in your build process. Integration with GWT is also planned.

Powered by Google Project Hosting