This ICU message editor allows editing ICU formatted messages quickly, with visual feedback of the result user will see.
Perfect tool for software developers and translators.
ICU (International Components for Unicode) is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms and between C/C++ and Java software.
The same libraries were ported to other languages, either as wrappers or plain rewrites and are available in many languages across multiple platform.
Messages are user-visible strings, often with variable elements like names, numbers and dates. Message strings are typically translated into the different languages of a UI, and translators move around the variable elements according to the grammar of the target language.
For this to work in many languages, a message has to be written and translated as a single unit, typically a string with placeholder syntax for the variable elements. If the user-visible string were concatenated directly from fragments and formatted elements, then translators would not be able to rearrange the pieces, and they would have a hard time translating each of the string fragments.
More information can be found here.
CLDR - Unicode Common Locale Data Repository is the most comprehensive locale database out there. You can find specification for many aspects of languages you may want to use during internationalization of an application. You can find there rules on how to build display lists or plural numbers, including cardinal and ordinal. Knowing exactly when to use which plural selector is mandatory, mistaking few with many can produce really odd results :)