JSFiddle - React, Tailwind, and code Playground
HTML
<div id="first"></div>
<div id="second"></div>
JavaScript
App = {
language: 'ru',
messages: null,
i18n: {
},
/**
* Translates a message to the specified language.
* @param {String} category message category. Please use only word letters.
* @param {String} message the original message
* @param {Object|Number} [params={}] parameters to be applied to the message using <code>replace</code>
*/
t: function(category, message, params) {
if (App.messages && App.messages[App.language] && App.messages[App.language][category] && App.messages[App.language][category][message]) {
message = App.messages[App.language][category][message];
}
if (undefined !== params) {
// Object
if ('object' == $.type(params)) {
for (var i in params) {
message = message.replace(i, params[i]);
}
// Number
} else if ('number' == $.type(params) && -1 != message.indexOf('|')) {
if (-1 == message.indexOf('#')) {
var chunks = message.split('|');
var expressions = App.i18n.pluralRules;
var n = Math.min(chunks.length, expressions.length);
if(n) {
for (var j = 0; j < n; j++) {
chunks[j] = expressions[j] + '#' + chunks[j];
}
message = chunks.join('|');
}
}
message = App.i18n.ChoiceFormat.format(message, params);
if (-1 != message.indexOf('{n}')) {
message = message.replace('{n}', params);
}
}
}
return message;
}
};
/**
* YiiBase class file.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.yiiframework.com/
* @copyright Copyright © 2008-2011 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
/**
* CChoiceFormat...