Difference between revisions of "Internationalization"
DougReeder (talk | contribs) (Enyo I18N) |
DougReeder (talk | contribs) |
||
Line 9: | Line 9: | ||
[[Spanish_Lexicon|Spanish Lexicon]] | [[Spanish_Lexicon|Spanish Lexicon]] | ||
− | == Localization | + | == JavaScript Localization == |
Specific phrases belong in the localization files, which are part of the repositories on GitHub. | Specific phrases belong in the localization files, which are part of the repositories on GitHub. | ||
− | Link to them from | + | Link to them from this section. |
The recommended I18N library for Enyo apps is enyo-ilib: https://github.com/enyojs/enyo-ilib | The recommended I18N library for Enyo apps is enyo-ilib: https://github.com/enyojs/enyo-ilib | ||
+ | Documentation for iLib itself is at http://sourceforge.net/p/i18nlib/wiki/iLib%20-%20an%20internationalization%20library%20written%20in%20Javascript/ | ||
− | + | As you work on apps, wrap every UI string in $L(). | |
+ | Enyo defines it as a no-op, so it's safe to use, even before enyo-ilib is added to the app. | ||
+ | enyo-ilib aliases it to the localization function. | ||
+ | |||
+ | Do *not* concatenate strings with parameters. Use [http://enyojs.com/docs/latest/index.html#/utilities:enyo.macroize enyo.macroize] | ||
+ | Example: | ||
+ | |||
+ | enyo.macroize($L('Found {$num} items.'), {num: 42}); | ||
+ | |||
+ | == C/C++ Localization == |
Revision as of 04:54, 4 February 2015
Lexicons
These lexicons exist so English terminology is translated consistently. Lexicons should focus on common noun phrases and verb phrases used throughout LuneOS.
Update lexicons with new terms as needed.
JavaScript Localization
Specific phrases belong in the localization files, which are part of the repositories on GitHub. Link to them from this section.
The recommended I18N library for Enyo apps is enyo-ilib: https://github.com/enyojs/enyo-ilib Documentation for iLib itself is at http://sourceforge.net/p/i18nlib/wiki/iLib%20-%20an%20internationalization%20library%20written%20in%20Javascript/
As you work on apps, wrap every UI string in $L(). Enyo defines it as a no-op, so it's safe to use, even before enyo-ilib is added to the app. enyo-ilib aliases it to the localization function.
Do *not* concatenate strings with parameters. Use enyo.macroize Example:
enyo.macroize($L('Found {$num} items.'), {num: 42});