我必须为现有的Zend 1.12项目添加语言支持。是否可以使用html选择框来更改语言?我知道的唯一方法是使用选择框的“onChange”属性插入一个特定的js函数,该函数可以分析所选的选项。
是否可以在javascript中启动zend_translate语言切换?
答案 0 :(得分:1)
你需要在选择更改时重新加载网站,或者做一个将加载新html的ajax调用。
这样的事情对你有用(我假设你的路由中有语言代码):
HTML code:
<select id="languageSwitch">
<option value="en">English</option>
<option value="de">Deutsch</option>
</select>
JS(使用jQuery):
$('#languageSwitch').change(function() {
window.location = '/' + $(this).val() + '/';
});
这将使用附加到域名的/ en /或/ de /(基于选项)重新加载您的页面,例如
http://www.yourwebsite.com/en/
http://www.yourwebsite.com/de/
如果您需要有关设置路线的帮助,this video应该可以为您提供帮助。
答案 1 :(得分:0)
这听起来像您需要在应用程序中使用区域设置切换功能,可能会查看Zend区域设置的手动定义,并将活动区域设置存储在用户的会话中: http://framework.zend.com/manual/1.12/en/zend.locale.functions.html
然后我将构建一个“预调度插件”来识别和修改活动会话区域设置,以反映下拉菜单选项中定义的GET参数。传递语言环境修改参数的方法有很多,你在上面的答案中使用“路由”方法,带链接的简单GET参数,或者如果你在下拉区域设置方法中设置 - 你可以尝试JQuery,例: http://jetlogs.org/2007/09/03/jquery-select-boxes-and-change-events/
最简单的就像你说的那样,是一个变化中的片段 - 但从标准的角度来看这很难看,因为人们期望浏览器能够识别onchange属性。
choie是你的。