Lang
The lang service allows you to get language variables and control the translation of modules.
Usage
The lang
setting on the initialization of Kube, allows to choose the application and modules language.
$K.init({ lang: 'en' });
Set and get the language variables in your module.
(function($K) { $K.add('module', 'mymodule', { translations: { en: { 'title': 'Title' }, de: { 'title': 'Titel' } }, init: function(app, context) { this.app = app; // define service this.lang = app.lang; }, getLangVariable: function() { var value = this.lang.get('title'); } }); })(Kube);
Add Language
The standard way is to add a translations
object to your modules like in the example above.
But you can create the global language object with $K.addLang
method.
So all modules can use the language variables from this object.
$K.addLang('en', { "title": "Title" }); $K.addLang('de', { "title": "Titel" });
Methods
get
name | String |
the name of language variable |
Returns: String
Boolean
Get the language variable. Returns false
if the variable does not exists.
(function($K) { $K.add('module', 'mymodule', { translations: { en: { 'title': 'Title' }, de: { 'title': 'Titel' } }, init: function(app, context) { this.app = app; // define service this.lang = app.lang; }, getLangVariable: function() { var value = this.lang.get('title'); } }); })(Kube);
parse
str | String |
language template |
Returns: String
Replace templates like ##! title ##
in the string with the values of the language variable.
(function($K) { $K.add('module', 'mymodule', { translations: { en: { 'title': 'Title' }, de: { 'title': 'Titel' } }, init: function(app, context) { this.app = app; // define service this.lang = app.lang; }, parseLangTemplate: function() { var str = this.lang.parse('<span class="title">##! title ##</span>'); } }); })(Kube);
rebuild
lang | String |
two-letter index of language |
Change the language on the fly.
(function($K) { $K.add('module', 'mymodule', { translations: { en: { 'title': 'Title' }, de: { 'title': 'Titel' } }, init: function(app, context) { this.app = app; // define service this.lang = app.lang; }, changeLang: function() { this.lang.rebuild('de'); } }); })(Kube);