Skip to content

Pseudo-internationalization utility for multiplatform resource files.

License

Notifications You must be signed in to change notification settings

LorenzCK/Pseudo-i18n

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pseudo-i18n

Pseudo-internationalization utility for multiplatform resource files.

Get the latest compiled version of the command-line resource translation utility.

Also available as a stand-alone .NET Standard NuGet package for runtime string pseudo-translation.

NuGet

Based on John Robbin's Pseudoizer and Scott Hanselman's implementation.

Usage

Pseudo-i18n.exe [-i <file>...] [{-o <output-dir>|--overwrite}]

The program takes a list of files and directories as input (-i). All compatible resource files are processed:

  • .NET ResX files (.resx),
  • iOS strings (.strings),
  • Android resources (.xml).

Processed files are output in the current working directory or a target directory if specified (-o). If --overwrite is set, the original input files are overwritten instead.

If no list of files is provided, the program takes any text on its standard input and prints out the converted version to standard output.

Internationalization

String translation rules are defined on the basis of Scott Hanselman's Pseudoizer:

  • Strings shorter than 10 characters grow by 400% in length,
  • Longer strings grow by 30%.
  • Strings start with [ and end with ], to clearly mark their limits and show if they are clipped in UI.
  • Characters between braces and brackets (<> and {}) are skipped.

All other (latin-only, for now) characters are converted to funky characters that look like them. For instance, Test string becomes [Ŧęşŧ şŧřįʼnģ !!! !!!].