Skip to content

Commit

Permalink
Item14226: performance improvements ti $.18n()
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelDaum committed Nov 22, 2016
1 parent 937f4cc commit 3cb365a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
2 changes: 1 addition & 1 deletion JQueryPlugin/lib/Foswiki/Plugins/JQueryPlugin/I18N.pm
Expand Up @@ -28,7 +28,7 @@ sub new {
my $this = bless(
$class->SUPER::new(
name => 'I18N',
version => '1.0',
version => '1.1',
author => 'Michael Daum',
homepage => 'https://foswiki.org/Extensions/JQueryPlugin',
javascript => ['i18n.js'],
Expand Down
Expand Up @@ -41,7 +41,7 @@
});

// dynamically translate all i18n elements
$(".i18n").livequery(function() {
$(".i18n:not(.i18nTranslated)").livequery(function() {
self.translateElement(this);
});

Expand Down Expand Up @@ -95,7 +95,7 @@
I18N.prototype.translateAllElements = function() {
var self = this;

$(".i18n").each(function() {
$(".i18n:not(.i18nTranslated)").each(function() {
self.translateElement(this);
});
};
Expand All @@ -106,18 +106,29 @@
$elem = $(elem),
data = $elem.data(),
message = data.i18nMessage,
translation,
params = {};

$.each(data, function(key, val) {
if (key.match(/^i18n(.*)$/) && key !== 'i18nMessage') {
key = RegExp.$1.toLowerCase();
params[key] = val;
}
});
$.each(data, function(key, val) {
if (key.match(/^i18n(.*)$/) && key !== 'i18nMessage') {
key = RegExp.$1.toLowerCase();
params[key] = val;
}
});

if (typeof(message) !== 'undefined') {
$elem.html(self.translate(message, params));
if (typeof(message) === 'undefined') {
message = $elem.text();
}
if (typeof(message) !== 'undefined') {
translation = self.translate(message, params);
if (translation !== message) {
$elem.html(translation).addClass("i18nTranslated");

//console.log("translating ",message,"to",translation);
}
}

return $elem;
};

// translate a string
Expand Down

0 comments on commit 3cb365a

Please sign in to comment.