Version 2 (modified by ray, 6 years ago)

changed reference to HTMLArea and htmlarea.js and added mime types for syntax highlighting of the examples

Internationalisation (i18n)

If you look for information on localisation (l10n, how you translate Xinha) take a look at wiki:Documentation/Localisation.

This page is for xinha-developers and on how the _lc-function works.

Context

Xinha has different contexts for i18n:

  • "Xinha": the core of Xinha uses this context.
  • eg. "InsertAnchor": every plugin has its own context (the name of the plugin)

the _lc-function

Xinha._lc('english string');

This is the simplest usage, Xinha (core) will be used as context. The function will return the localised string.


Xinha._lc('english string', 'PluginName');

Usage within an plugin. Most plugins do have its own _lc function defined, you don't need to pass the context everytime then.

CharCounter.prototype._lc = function(string) {
    return Xinha._lc(string, "CharCounter");
};

var complexity = 'very';
Xinha._lc({string: 'this is a $complexity complex sentence', replace:{'complexity': complexity}});

This provides a way to have complex sentences where some parts are variable - and this variable part might be at another position in other languages.


Xinha._lc({key: 'button_bold', string: ["ed_buttons_main.gif",3,2]});

It is also possible to translate objects, this is used to internationalize the bold, italic... toolbar-buttons.

The key is used to lookup the string (which is actually an object) in the l10n-file.