Chromium Code Reviews| Index: remoting/webapp/l10n.js |
| diff --git a/remoting/webapp/l10n.js b/remoting/webapp/l10n.js |
| index 467a5706059aece7afc0972de621a112c1c21ec1..6bc92de810dfda2bd17c40bf7b267d26cf26d894 100644 |
| --- a/remoting/webapp/l10n.js |
| +++ b/remoting/webapp/l10n.js |
| @@ -59,19 +59,26 @@ l10n.localize = function() { |
| var elements = document.querySelectorAll('[i18n-content]'); |
| for (var i = 0; i < elements.length; ++i) { |
| /** @type {Element} */ var element = elements[i]; |
| - var substitutions = null; |
| + var substitutions = []; |
| for (var j = 1; j < 9; ++j) { |
| - var attr = 'i18n-value-' + j; |
| - if (element.hasAttribute(attr)) { |
| - if (!substitutions) { |
| - substitutions = []; |
| + var value = 'i18n-value-' + j; |
| + var valueName = 'i18n-value-name-' + j; |
| + if (element.hasAttribute(value)) { |
| + substitutions.push(element.getAttribute(value)); |
| + } else if (element.hasAttribute(valueName)) { |
| + var name = element.getAttribute(valueName); |
| + var translation = chrome.i18n.getMessage(name); |
| + if (translation) { |
| + substitutions.push(translation); |
| + } else { |
| + console.error('Missing translation for substitution: ' + name); |
| + substitutions.push(name); |
| } |
| - substitutions.push(element.getAttribute(attr)); |
| } else { |
| break; |
|
Wez
2012/06/29 00:11:49
nit: You log an error if there's a missing transla
Jamie
2012/06/29 00:21:40
To detect a missing substitution you'd have to do
|
| } |
| } |
| - l10n.localizeElement(element, substitutions, !!substitutions); |
| + l10n.localizeElement(element, substitutions, substitutions.length != 0); |
| // Localize tool-tips |
| // TODO(jamiewalch): Move this logic to the html document. |
| var editButton = document.getElementById('this-host-rename'); |