首页 > 代码库 > web多语言的一种处理方式
web多语言的一种处理方式
在开发一种国际化系统时,多语言是必须的。
总的来说处理方式有两种,一种是后端处理,另一种是前端处理。呵呵,有点废话~~
后端处理没用过,猜猜是在标记需要处理语言的地方进行替换。
前端处理是要先把语言文件加载过来,再对各个需要翻译的DOM节点进行翻译。
1 <label id="user"></label> 2 <script> 3 var i18n = { 4 En: {user: ‘User‘}, 5 Zh: {user: ‘用户‘} 6 } 7 8 var lang = ‘Zh‘; 9 10 function tranlation(str){11 return i18n[lang][str] || str;12 }13 14 $(‘#user‘).html(translation(‘user‘));15 </script>
当然这是最笨的方法,因为这个修改起来很不方便,特别是在翻译量很大的时候。
一种更通用的方法是把翻译字段写在指定的attr上。比如我们约定t为要翻译的DOM节点,那上面的例子就可以写成:
<label t="user"></label><script> $(‘[t]‘).each(function(){ var key = $(this).attr(‘t‘); $(this).html(transltion(key); })</script>
这样的话JS代码就可以不用修改了,在需要翻译的地方只需要加上T属性即可。
当然做得更好一点就是把translation封装成一个通用方法。
<script> $.fn.transtion = function(){ ... } $(‘[t]‘).transtion();</script>
web多语言的一种处理方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。