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.
Based on John Robbin's Pseudoizer and Scott Hanselman's implementation.
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.
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ģ !!! !!!]
.