我们的软件是使用Chrome.i18n由html,css和Javascript编写的。 我们的语言位于_locales / en / messages.json文件夹中。现在,我需要将我们的产品(例如中文版)国际化。因此,它将是_locales / zh / messages.json ..现在问题来了,无论如何我都找不到切换语言环境的功能。它总是打开en / messages.json。
console.log(chrome.i18n.getUILanguage());始终打印出
SO是否有chrome.i18n.setUILanguage(zh)之类的功能?
Chrome应用似乎通过您的计算机Ui语言找到了语言路径。
所以,我只想设计一个下拉列表供用户切换语言
这是我的html代码
<select class="dropdown" id="selectlanguage">
<option id="enBtn" value="en">English</option>
<option id="zhBtn" value="zh">简体中文</option>
</select>
javascript代码
'use strict';
function localize() {
var localized = 0;
var translate = function(messageID) {
localized++;
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;
}
需要一个JavaScript代码来更改语言环境...................
答案 0 :(得分:0)
在wOxxOm上Pi带,看起来它使用的是chrome:// chrome / settings / languages中的设置,因此,不仅您不能以编程方式切换语言,而且您不想这样做并且不应该这样做至。尝试查询该设置,并根据返回的内容设置本地化文件。