2015-02-17 110 views
0

我试图本地化铬托管使用该驱动器的SDK应用程序,这不是明显的如何路由人们根据区域设置自定义URL。在manifest.json之内,我想将语言环境放入我的app.launch.web_url,因此一旦用户登录我的网站,就会加载正确的语言环境。我试过本地化的Chrome托管应用网址

"app": { 
     "launch": { 
     "web_url": "__MSG_launchUrl__" 
     } 
    }, 

"app": { 
     "launch": { 
     "web_url": "http://www.foo.com/__MSG_locale__/endpoint" 
     } 
    }, 

但是当你尝试上载它,因为谷歌没有从messages.json文件拉动字符串的第一个抛出一个错误。第二个失败的原因是它虽然通过了Google的验证器,但它将__MSG_launchUrl__解释为文字串而不是查找变量。

与此类似,我不明白的方式要么指定谷歌驱动器SDK设置中的区域设置特定的URL。

+0

那是一个*扩展名*?你提出的是一个托管的应用程序。我不认为他们支持'chrome.i18n'。我编辑了你的问题。 – Xan 2015-02-18 12:48:34

+1

好的是这个特例是针对应用程序而不是扩展,但webstore列表的语义是相同的:https://developer.chrome.com/webstore/i18n#details – ghostfly 2015-02-18 18:59:14

+0

感谢您的文档链接。 – Xan 2015-02-18 19:05:16

回答

1

我想这(第一故障)应reported to Google作为Web商店的问题。

第二种方法不受i18n机制的支持。

显然,应用程序仍然需要依赖于一个单一的验证域,但它应该通过检查是否所有的语言环境相匹配的域名。

+0

我再玩一遍,实际上你可以做一些类似'https://www.foo.com/__ MSG _ @@ ui_locale __/endpoint'的东西,但是它也被窃听了,因为它似乎总是解析为'en_US',而不管您在安装时使用的语言,以及当默认语言不是'en_US'时通过Chrome应用程序启动器使用的语言。 – ghostfly 2015-02-18 23:25:26

0

可以使用Accepts-Language头发送到该应用程序已推出本地化的应用程序的服务器。