除浏览器设置外,还可以从弹出菜单中更改chrome扩展语言

时间:2016-07-20 20:09:38

标签: javascript google-chrome-extension

我使用{_ 3}}在/ _locales /文件夹中使用多种语言为我的公司创建了一个chrome扩展程序。它工作得很好,但由于语言系统基于用户Chrome浏览器上设置的语言,因此人们遇到了一个问题。

该扩展程序会加载一个网址列表,以帮助版主回答公司论坛上的问题。美国的版主将加载带有美国URL的英文界面(带& lg = en),俄罗斯的版主将加载俄罗斯界面和俄罗斯URL(带& lg = ru)等等。问题在于,由于公司是全球性的,他们国家以外的人使用英语笔记本,但如果自己加载德语或日语,则需要扩展。

如果我在弹出窗口中创建一个下拉菜单,是否可以从那里切换扩展语言?我读到的所有内容总是基于更改Chrome浏览器设置,我确信很多人会遇到问题,甚至是那些没有权限更改设置的人。

希望有一些想法来实现这一点。

1 个答案:

答案 0 :(得分:1)

据我所知,i18n for extensions depends on Google Chrome's locale and extension's default_locale,而扩展程序本身无法修改Chrome设置。

一种解决方法是自己维护显示语言,我的意思是:

{
    'en-us': {},
    'en-es': {},
    ...
}

或通过XMLHttpRequest阅读具体的messages.json。

当用户选择一个选项时,您可以根据上述数据结构更改显示语言,而不是依赖于扩展程序现有的i18n框架。