Pseudo Translations

Applies to Multilizer 6.x

Pseudolanguages and pseudo translations are used in testing the localization of software. The idea is to generate translations automatically to detect internationalization or localization defects in the software, before the translation of the project has even begun.

(See also: pseudolanguages in Multilizer 6)

Pseudolanguage in Multilizer 2011

Whereas pseudolanguage functionality in Multilizer 2007 was included in Pseudolanguage Expert, the functionality has been moved to Pseudolanguage Wizard. This new Wizard contains more pseudolanguage features than any previous Multilizer version.


Pseudolanguage Wizard

Pseudolanguage Wizard (Project->Pseudolanguage.) assists in configuring a pseudolanguage for localization testing and thus verifying the internationalization and localization quality before spending money on real translations.

The wizard guides the user through a process in which the pertinent settings are defined. The process starts by selecting the type of test to be done (Cover, Minimum, or Pseudolanguage) and then continues by defining the corresponding test settings. Once the pseudolanguage settings are set, the user can preview the effect of the test. If the settings result in the desired effect, the process is finished by applying the selected pseudolanguage.

Notice that applying a pseudolanguage does not override (or destroy) the existing translations; instead, it fills empty translations (and only those) with a pseudolanguage according to the applied settings. Hence, when creating localized files Multilizer uses real translations whenever they are available. It is usually easy to distinguish pseudolanguage in the localized files while it could take more effort to distinguish between native text and real translations. Consequently, it is advisable to use test an application with a pseudolanguage before commencing the actual translation.

Using pseudolanguage is quite simple: create/open a localization project, select a project language, apply the wizard with desired settings, build the application, and examine the effect. After examining the effect you may wish to remove pseudolanguage from the project.

Pseudolanguage options

Pseudolanguage Wizard provides four options to apply on the active language. Those can be accessed by clicking corresponding buttons in Pseudolanguage Wizard. The options and corresponding buttons are listed below.

pseudo_remove.gif Remove pseudolanguage.
pseudo_cover.gif Cover test language.
pseudo_minimum.gif Minimum test language.
pseudo.gif Pseudolanguage.

Note that the while the Pseudolanguage Wizard provides a rich palette of different tests, it is seldom (if ever) necessary to use all of them. For instance, there are several tests that can be used to find hard coded strings and it suffices to use just one of them. Hence, the user should select a set of tests that meets the specific needs of a localization project.

Remove pseudolanguage

Remove pseudolanguage option removes the existing pseudolanguage settings (if any) from the active language.

Cover test language

cover.gifCover test language option is used to replace every native character with a replacement character. By default the replacement character is ".", but you can define a different one by typing it in the input box labeled as "Replace every character with the following character."

This option is used for locating hard coded strings in the software. If a string is hard coded and cannot be localized, it is easily detected in the software when this test language has been applied: any text other than the replacement character denotes a hard coded string.

Minimum test language

minimum.gifMinimum test language option is used to replace every native string with a single character. There are two ways to reduce the native string:

  • Reduce strings to the first character in the string. This reduction form takes the first character from each native string and writes that character to the language column.
  • Reduce strings to the following string. This reduction form allows specifying a custom string for filling the language column.

This option tests that the user interface works for minimum length strings. If the user sees any long strings in an application that is localized with minimum test language, then it means that the software is not properly internationalized.


Pseudolanguage option is used either to test vertical/horizontal expansion, simulate specific code page/language translations, or verify that user interface can handle diacritic characters. This means that pseudolanguage can be used to verify that the user interface can handle translations longer than native text or verify the support for specific character sets.

Enclose in braces

The string is enclosed in braces. For example "Sample" becomes "{Sample}". This option can be used to test that both the beginning and the end of the string are visible.

Alternate case

Character case is alternated. For example "Sample" becomes "SaMpLe". This option can be used to test both vertical and horizontal expansion.

Upper case

Character case is changed. For example "Sample" becomes "SAMPLE". This option can be used to test vertical expansion.


Diacritics are added to the characters. For example "Sample" becomes "Sämplé". This option can be used to test that the user interface handles diacritic and accented characters correctly.

Prefix and Suffix

The string is prefixed and suffixed by custom strings. For example "Sample" becomes "~Sample#" when the prefix is set to "~" and the suffix is set to "#". The addition of a custom prefix/suffix is used to test horizontal expansion. Thus, if the defined prefix/suffix are not visible in all simulated translations, then the internationalization has not been done properly.

Expand Strings

Native string is expanded by using an Expand and Last characters. By default Expand and Last characters are "_" and "X" respectively, but they can be changed to any other custom character.

Furthermore, user can specify the Expand percentage for strings. Expand percentage depends on the native string length (in characters). The default values are listed below:

1 to 5 characters: The native string is expanded by 200 percent. For example the word "red" that is three characters long is expanded to nine characters, "red_____X".

  • 6 to 10 characters: The native string is expanded by 100 percent.
  • 11 to 20 characters: The native string is expanded by 70 percent.
  • 21 to 30 characters: The native string is expanded by 50 percent.
  • 31 to 50 characters: The native string is expanded by 30 percent.
  • Over 50 characters: The native string is expanded by 20 percent.

Finally, the user can specify a Maximum length of translation value for limiting the expansion of strings. By default, there is no limit for the length of the translations.

This option is used to verify that the user interface can handle translations longer than native text.

Simulate code page/language

While code page simulation is used for testing the software's localizability for a specific code page, the language simulation focuses on special characters found in target language. Notice that code page testing makes sense generally when deploying localized software that uses code pages.pseudo_ja.gif

Code page simulation

User can choose among a list of code pages for simulating translations. For example, selecting the code page Cyrillic might convert "Sample" into "??????."

Language simulation

This simulation replaces characters from the English alphabet with special (accented) characters found in target language's alphabet. For example, selecting the language Spanish converts "Sample" into "Sámplé".

The rules for language simulation can be configured by editing the file "\Multilizer \Templates\ languagesimulation.xml". You may also ask for a specific language simulation from sales(at)