在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参数,则此方法有效。
答案 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
属性,并使用浏览器区域设置作为替代方案。
浏览器区域设置取决于您在浏览器中配置的语言。