The I18N Key System is designed to replace the standard "string" keys used to identify Internationalization text.
In the past a resource bundle, array, or other way of storing keys and text was used. This was prone to error as it is very easy to mis-type a key. Coordination between different language files was also problematic, again by mis-typing keys.
If a key required replacable parameters, there was no easy way to determine that. If a key required some special knowledge, such as explaining parameters, or the purpose of the key, there was no way to pass that information on.
The I18N Editor System is designed to overcome these limitations.
The I18N editor is used to create keys, along with language text. The editor forces parameter help, and allows for comments. The parameter help and comments are written out using a DOC system (JavaDoc, PHPDoc, etc). In a modern IDE, when you hover the mouse over the key, this information is displayed.
In the languages which are strongly typed, only the I18N key can be used. There is no possibility of mis-typing the key. In other languages a constant is used.
The I18N Editor is used as the common editor for different computer languages. You specify which computer language your project uses, and the I18N Editor will create and update files specific to that language.
To add new languages into your application, the I18N Editor will generate an XML file for each new language. You then send that file to the translation service. The service uses the I18N Translator application for the translation.
Once complete, the I18N Translator will generate a return XML file and send it back to you.
This file is imported into the I18N Editor and now becomes part of your application. Depending on the computer language, you re-compile your application and the new language is now available to the users.
A developer needs to keep track of the various way of presenting text to a user. This differs if the text is shown on the screen, in a web page, a Javascript popup, etc.
The I18N Key system allows the developer to choose the output type. When the text is written out, the correct new line codes are used. Yet when editing the text, a standard text editor is used. So the developer does not need to keep track of the new line codes while editing the text. This text (in the Editor) does not have any HTML line breaks.
For foreign languages, unicode is used. However the coding for unicode differs for the screen and HTML. The I18N Key system converts unicode into the correct format for the chosen output type.
Some text requires information which is either dynamic or not known during development. Parameters are used to place and convert this information.
For instance if the text requires an integer, then you would use:
{0,number,integer}
The displayed value is dependant on the language. If the value is 12345, then in English it would show as
12,345
but in French would be
12 345
with a space where the comma would be in English
The I18N Key Editor has a built-in Insert Parameter page which guides you through the creation of the various types of parameters including choices.
You can also test the parameters in the Test page which allows you to try various values and see the result.
This site shows various images which represent the pages in the I18N Key System.
Below the images are sections describing the features of the image page. You can click on the section title to open its description.
You can also hover the mouse over the image. Where there is a description for the area under the mouse, a border will be shown, and the corresponding section will open.
If the border around the area is red, then just the description will be shown. However, if the border is green, then you can click on it. You will be taken to the same page as you would in the live application.
If you click on the left-most tab with the period, then all the available clickable areas will be shown