|
|
-
-
- // Localization component
- var Localization = {
- template: '<div/>',
- data: function() {
- return {
- l10n: null,
- code: null,
- dictionary: null,
- eventReceived: false
- }
- },
- mounted: function() {
- var vm = this;
- if (vm.l10n == null) {
- requirejs(["sugar-web/env", "webL10n"], function (env, webL10n) {
- env.getEnvironment(function(err, environment) {
- vm.l10n = webL10n;
- var defaultLanguage = (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language;
- var language = environment.user ? environment.user.language : defaultLanguage;
- webL10n.language.code = language;
- window.addEventListener("localized", function() {
- if (!vm.eventReceived) {
- vm.code = language;
- vm.dictionary = vm.l10n.dictionary;
- vm.$emit("localized");
- vm.eventReceived = true;
- }
- });
- });
- });
- }
- },
- methods: {
- get: function(str) {
- if (!this.dictionary) {
- return str;
- }
- var item = this.dictionary[str];
- if (!item || !item.textContent) {
- return str;
- }
- return item.textContent;
- }
- }
- }
|