Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.

Commit

Permalink
Bug 994519 - Introduce l10n.setAttributes and l10n.getAttributes. r=stas
Browse files Browse the repository at this point in the history
  • Loading branch information
Zbigniew Braniecki committed Jun 27, 2014
1 parent ddfea87 commit be12c51
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion build/l10n.js
Expand Up @@ -318,7 +318,7 @@
var elements = L10n.getTranslatableChildren(fragment);

for (var i = 0; i < elements.length; i++) {
var attrs = L10n.getL10nAttributes(elements[i]);
var attrs = this.getAttributes(elements[i]);
var val = this.ctx.getEntitySource(attrs.id);
ast[attrs.id] = val;
walkContent(val, getPlaceables.bind(this, ast));
Expand Down
32 changes: 16 additions & 16 deletions shared/js/l10n.js
Expand Up @@ -1156,6 +1156,8 @@
translateFragment: function (fragment) {
return translateFragment.call(navigator.mozL10n, fragment);
},
setAttributes: setL10nAttributes,
getAttributes: getL10nAttributes,
ready: function ready(callback) {
return navigator.mozL10n.ctx.ready(callback);
},
Expand Down Expand Up @@ -1186,7 +1188,6 @@
rePlaceables: rePlaceables,
getTranslatableChildren: getTranslatableChildren,
translateDocument: translateDocument,
getL10nAttributes: getL10nAttributes,
loadINI: loadINI,
fireLocalizedEvent: fireLocalizedEvent,
parse: parse,
Expand Down Expand Up @@ -1488,6 +1489,20 @@
}
}

function setL10nAttributes(element, id, args) {
element.setAttribute('data-l10n-id', id);
if (args) {
element.setAttribute('data-l10n-args', JSON.stringify(args));
}
}

function getL10nAttributes(element) {
return {
id: element.getAttribute('data-l10n-id'),
args: JSON.parse(element.getAttribute('data-l10n-args'))
};
}

function getTranslatableChildren(element) {
return element ? element.querySelectorAll('*[data-l10n-id]') : [];
}
Expand All @@ -1508,21 +1523,6 @@
}
}

function getL10nAttributes(element) {
if (!element) {
return {};
}

var l10nId = element.getAttribute('data-l10n-id');
var l10nArgs = element.getAttribute('data-l10n-args');

var args = l10nArgs ? JSON.parse(l10nArgs) : null;

return {id: l10nId, args: args};
}



function translateElement(element) {
var l10n = getL10nAttributes(element);

Expand Down

0 comments on commit be12c51

Please sign in to comment.