我使用{_ 3}}在/ _locales /文件夹中使用多种语言为我的公司创建了一个chrome扩展程序。它工作得很好,但由于语言系统基于用户Chrome浏览器上设置的语言,因此人们遇到了一个问题。
该扩展程序会加载一个网址列表,以帮助版主回答公司论坛上的问题。美国的版主将加载带有美国URL的英文界面(带& lg = en),俄罗斯的版主将加载俄罗斯界面和俄罗斯URL(带& lg = ru)等等。问题在于,由于公司是全球性的,他们国家以外的人使用英语笔记本,但如果自己加载德语或日语,则需要扩展。
如果我在弹出窗口中创建一个下拉菜单,是否可以从那里切换扩展语言?我读到的所有内容总是基于更改Chrome浏览器设置,我确信很多人会遇到问题,甚至是那些没有权限更改设置的人。
希望有一些想法来实现这一点。
答案 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框架。