Quick fix for i18n
Just use the english locale for now. Load locale data from the filesystem in the main process and pass it to the renderer preload script via ipc. Note that we need the locale data to be available by the time view scripts are loaded. // FREEBIE
This commit is contained in:
@@ -153,17 +153,19 @@
|
||||
};
|
||||
|
||||
// Translate
|
||||
window.i18n = function(message, substitutions) {
|
||||
if (window.chrome && chrome.i18n) {
|
||||
return chrome.i18n.getMessage(message, substitutions);
|
||||
}
|
||||
};
|
||||
i18n.getLocale = function() {
|
||||
if (window.chrome && chrome.i18n) {
|
||||
return chrome.i18n.getUILanguage();
|
||||
}
|
||||
return 'en';
|
||||
};
|
||||
|
||||
if (window.chrome && window.chrome.i18n) {
|
||||
window.i18n = function(message, substitutions) {
|
||||
return chrome.i18n.getMessage(message, substitutions);
|
||||
};
|
||||
|
||||
i18n.getLocale = function() {
|
||||
if (window.chrome && chrome.i18n) {
|
||||
return chrome.i18n.getUILanguage();
|
||||
}
|
||||
return 'en';
|
||||
};
|
||||
}
|
||||
|
||||
extension.install = function(mode) {
|
||||
if (mode === 'standalone') {
|
||||
|
22
js/i18n.js
Normal file
22
js/i18n.js
Normal file
@@ -0,0 +1,22 @@
|
||||
/*
|
||||
* vim: ts=4:sw=4:expandtab
|
||||
*/
|
||||
;(function() {
|
||||
'use strict';
|
||||
var json = window.env.locale_json;
|
||||
window.i18n = function (message, substitutions) {
|
||||
var s = json[message] ? json[message].message : message;
|
||||
if (substitutions instanceof Array) {
|
||||
substitutions.forEach(function(sub) {
|
||||
s = s.replace(/\$.+?\$/, sub);
|
||||
});
|
||||
} else if (substitutions) {
|
||||
s = s.replace(/\$.+?\$/, substitutions);
|
||||
}
|
||||
return s;
|
||||
};
|
||||
|
||||
i18n.getLocale = function() {
|
||||
return window.env.locale;
|
||||
};
|
||||
})();
|
Reference in New Issue
Block a user