如何为Google Chrome应用程序手动设置本地化(语言切换器)

时间:2018-07-09 19:25:09

标签: javascript internationalization google-chrome-app

我使用Java脚本开发了google chrome应用程序。我希望我的应用程序可以有一个语言切换器,以从英语切换到中文。当我查看我的应用程序时,我意识到我正在使用chrome.18n,其中有一个名为_locales和en / messages.json的文件夹。因此,我在_locales下创建zh / messages.json。现在问题来了。语言切换器如何将语言环境从en / messages.json切换到zh / messages.json ????? 我的是我的localization.js

function localize() {
  var localized = 0;

  var translate = function(messageID) {
    localized++;
    console.log(chrome.i18n.getMessage(messageID));
    return chrome.i18n.getMessage(messageID);
  };

  $('[i18n]:not(.i18n-replaced').each(function() {
    var element = $(this);

    element.html(translate(element.attr('i18n')));
    element.addClass('i18n-replaced');
  });

  $('[i18n_title]:not(.i18n_title-replaced').each(function() {
    var element = $(this);

    element.attr('title', translate(element.attr('i18n_title')));
    element.addClass('i18n_title-replaced');
  });

  $('[i18n_value]:not(.i18n_value-replaced').each(function() {
    var element = $(this);

    element.val(translate(element.attr('i18n_value')));
    element.addClass('i18n_value-replaced');
  });

  $('[i18n_placeholder]:not(.i18n_placeholder-replaced').each(function() {
    var element = $(this);

    element.attr('placeholder', translate(element.attr('i18n_placeholder')));
    element.addClass('i18n_placeholder-replaced');
  });


return localized;

1 个答案:

答案 0 :(得分:0)

我认为您不需要手动告诉程序告诉程序在语言环境之间切换。只要确保internationalize it,应用程序就会适应浏览器:

  

扩展程序或应用程序国际化后,将其翻译为   简单。您复制messages.json,将其翻译,然后将副本放入   _locales下的新目录。例如,要支持西班牙语,   将messages.json的翻译后的副本放在_locales / es下。的   下图显示了带有新西班牙语的上一个扩展名   翻译。