Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: i18n.js

Issue 8403145: First attempt at creating a first-run page (Closed)
Patch Set: Now with downscaling for smaller screens Created Oct. 1, 2012, 5:56 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: i18n.js
===================================================================
--- a/i18n.js
+++ b/i18n.js
@@ -6,21 +6,25 @@
// Loads and inserts i18n strings into matching elements. Any inner HTML already in the
// element is parsed as JSON and used as parameters to substitute into placeholders in the
// i18n message.
function loadI18nStrings() {
var nodes = document.querySelectorAll("[class^='i18n_']");
for(var i = 0; i < nodes.length; i++) {
var arguments = JSON.parse("[" + nodes[i].textContent + "]");
- var stringName = nodes[i].className.split(/\s/)[0].substring(5);
+ var className = nodes[i].className;
+ if (className instanceof SVGAnimatedString)
+ className = className.animVal;
+ var stringName = className.split(/\s/)[0].substring(5);
+ var prop = "innerHTML" in nodes[i] ? "innerHTML" : "textContent";
if(arguments.length > 0)
- nodes[i].innerHTML = chrome.i18n.getMessage(stringName, arguments);
+ nodes[i][prop] = chrome.i18n.getMessage(stringName, arguments);
else
- nodes[i].innerHTML = chrome.i18n.getMessage(stringName);
+ nodes[i][prop] = chrome.i18n.getMessage(stringName);
}
}
function i18n_time(h, m) {
var locale = chrome.i18n.getMessage("@@ui_locale");
if(m < 10)
m = "0" + m;
if(locale == "fr") {
@@ -43,8 +47,11 @@ function i18n_timeDateStrings(when) {
var timeString = d.toLocaleTimeString();
var now = new Date();
if (d.toDateString() == now.toDateString())
return [timeString];
else
return [timeString, d.toLocaleDateString()];
}
+
+// Fill in the strings as soon as possible
+window.addEventListener("DOMContentLoaded", loadI18nStrings, true);

Powered by Google App Engine
This is Rietveld