Dojo:通过URL-Parameter设置语言环境

时间:2014-03-18 08:03:17

标签: dojo locale url-parameters boilerplate

在Dojo Toolkit中,必须在加载时使用的配置中定义语言环境(语言)。

E.g。

<script data-dojo-config="async: 1, isDebug: 1, locale: 'es'" src="dojo/dojo.js"></script>

我想通过URL-Parameter指定语言环境,如下所示:

../myapp/index.html?lang=es

我使用Dojo的样板: Dojo Boilerplate

一个想法是以这种方式加载dojo.js:

<script data-dojo-config="async: 1, isDebug: 1, locale: function(){//Code returning the value of the language URL-Parameter}" src="dojo/dojo.js"></script>

但这不起作用。

谢谢!

PS: 解决方案在Custom language variants中提供。但是,如果您只有一个URL参数,则此方法有效。

2 个答案:

答案 0 :(得分:1)

这似乎有效: URL-Parameters with JS

导致

<script data-dojo-config="async: 1, isDebug: 1, locale: decodeURIComponent((new RegExp('[?|&]' + 'lang' + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,''])[1].replace(/\+/g, '%20'))||null" src="dojo/dojo.js"></script>

其中'lang'是我的语言网址 - 参数的名称。

答案 1 :(得分:1)

我注意到你已经有了(有效的)答案。但是,如果您的目标是使用特定区域设置测试网站,那么您可以从Dojo配置中删除locale属性,并使用浏览器区域设置作为替代方案。

浏览器区域设置取决于您在浏览器中配置的语言。