javascript 国际化(i18n)问题
时间:2007-07-15 来源:shiwudao
一种方法。
1)首先使用下述代码得到浏览器的语言种类。
if (navigator.language) //对于mozilla, Firefor
language = navigator.language;
else if (navigator.browserLanguage) //对于IE
language = navigator.browserLanguage;
2)通过1)所得到的语言种类,分别加载不同页面或者从资源文件中读取不同语言的字符串来使用 注意: 1)中的“浏览器的语言“指的是浏览器本身的语言,比如中文版的IE6,英文版的Firefox,而不是指浏览器中“查看"菜单-〉"字符编码“中的各种语言编码。 你可以打开google页面之后,然后察看一下"字符编码“可以发现他使用的都是UTF-8,如果你要用"中文简体"编码来查看google.cn或者用"日文"来查看日文google.co.jp都会发现是乱麻。 使用资源文件基本的步骤是 1)书写资源文件如下,使用xml <?xml version='1.0' encoding='utf-8' ?> <i18n> <msg id='0001'> <zh-CN>中文</zh-CN> <ja>日本語</ja> <default>Englisth</default> </msg> <msg id='0002'> ...... </msg> ...... </i18n> 2)得到浏览器语言种类 比如中文zh-CN, 日文ja, 3)将资源文件中所有msg对应语言的字符串读入到一个数组中 4)根据要现实的字符串的编号从数组中取出即可 注意:所有叶面应采取utf-8编码 资源文件中的每种语言的字符串都应该是utf-8编码的。比如中文,用windows记事本写完后,另存为时选择格式为'utf-8'保存。
language = navigator.language;
else if (navigator.browserLanguage) //对于IE
language = navigator.browserLanguage;
2)通过1)所得到的语言种类,分别加载不同页面或者从资源文件中读取不同语言的字符串来使用 注意: 1)中的“浏览器的语言“指的是浏览器本身的语言,比如中文版的IE6,英文版的Firefox,而不是指浏览器中“查看"菜单-〉"字符编码“中的各种语言编码。 你可以打开google页面之后,然后察看一下"字符编码“可以发现他使用的都是UTF-8,如果你要用"中文简体"编码来查看google.cn或者用"日文"来查看日文google.co.jp都会发现是乱麻。 使用资源文件基本的步骤是 1)书写资源文件如下,使用xml <?xml version='1.0' encoding='utf-8' ?> <i18n> <msg id='0001'> <zh-CN>中文</zh-CN> <ja>日本語</ja> <default>Englisth</default> </msg> <msg id='0002'> ...... </msg> ...... </i18n> 2)得到浏览器语言种类 比如中文zh-CN, 日文ja, 3)将资源文件中所有msg对应语言的字符串读入到一个数组中 4)根据要现实的字符串的编号从数组中取出即可 注意:所有叶面应采取utf-8编码 资源文件中的每种语言的字符串都应该是utf-8编码的。比如中文,用windows记事本写完后,另存为时选择格式为'utf-8'保存。
相关阅读 更多 +