想要创建一个多语言的javascript对象,如何处理如果有很多标签?

想要创建一个多语言的javascript对象,如何处理如果有很多标签?,javascript,jquery,Javascript,Jquery,我想为多语言功能创建一个javascript文件 i、 e.以正确的语言显示错误消息 如果我为一个页面分配了标签、错误消息等,那么有什么聪明的方法可以使页面上的实际输出不会很大 我想最好的方法是以某种方式输出我只需要的标签? lang.getkey('username'); 将输出正确的标签,具体取决于语言。语言检测通常通过检查发送的Accept languageHTTP头在服务器端完成 浏览器具有有限的、非标准化的识别用户语言的方法(运行在Windows上的IE除外)。使用Windows上的

我想为多语言功能创建一个javascript文件

i、 e.以正确的语言显示错误消息

如果我为一个页面分配了标签、错误消息等,那么有什么聪明的方法可以使页面上的实际输出不会很大

我想最好的方法是以某种方式输出我只需要的标签?

lang.getkey('username');

将输出正确的标签,具体取决于语言。

语言检测通常通过检查发送的
Accept language
HTTP头在服务器端完成

浏览器具有有限的、非标准化的识别用户语言的方法(运行在Windows上的IE除外)。使用Windows上的IE,您可以访问
navigator.userLanguage
navigator.systemLanguage
,这将返回操作系统的语言国家代码。其他浏览器(Opera、Safari、Chrome、Firefox)提供了
navigator.language
,格式相同,但Opera除外,它只返回语言。在许多情况下,这可能已经足够好了,但仍然建议使用服务器解决方案

不久前,我通过将字符串拆分为不同的lang.js文件并使用
document.write()
将脚本添加到文档中,实现了类似的效果。该函数只需从lang.js文件中定义的数组中获取字符串。一个基本的例子可能是:

// Get the language-COUNTRY code, and strip it to the language part only
var lang = (navigator.language || navigator.userLanguage).substring(0,2);
var file = "lang/" + lang + ".js";

document.write('<script src="'+lang+'" type="text/javascript"><\/script>');
//获取语言国家代码,并仅将其剥离到语言部分
var lang=(navigator.language | | navigator.userLanguage).substring(0,2);
var file=“lang/”+lang+“.js”;
文件。写(“”);
这将确保只加载所需语言的字符串,尽管我在这里没有包含回退方法,但在检测到不支持的语言时,您需要一个用于默认语言的方法。您可以通过在数组中列出支持的语言列表来实现这一点,检查
lang
是否存在,如果不存在,则编写一个默认脚本
src


听起来不像是坏记录,但您可能应该确定语言,包括服务器端的文件,而不是客户端的文件。

语言检测通常是通过检查发送的
Accept Language
HTTP头在服务器端完成的

浏览器具有有限的、非标准化的识别用户语言的方法(运行在Windows上的IE除外)。使用Windows上的IE,您可以访问
navigator.userLanguage
navigator.systemLanguage
,这将返回操作系统的语言国家代码。其他浏览器(Opera、Safari、Chrome、Firefox)提供了
navigator.language
,格式相同,但Opera除外,它只返回语言。在许多情况下,这可能已经足够好了,但仍然建议使用服务器解决方案

不久前,我通过将字符串拆分为不同的lang.js文件并使用
document.write()
将脚本添加到文档中,实现了类似的效果。该函数只需从lang.js文件中定义的数组中获取字符串。一个基本的例子可能是:

// Get the language-COUNTRY code, and strip it to the language part only
var lang = (navigator.language || navigator.userLanguage).substring(0,2);
var file = "lang/" + lang + ".js";

document.write('<script src="'+lang+'" type="text/javascript"><\/script>');
//获取语言国家代码,并仅将其剥离到语言部分
var lang=(navigator.language | | navigator.userLanguage).substring(0,2);
var file=“lang/”+lang+“.js”;
文件。写(“”);
这将确保只加载所需语言的字符串,尽管我在这里没有包含回退方法,但在检测到不支持的语言时,您需要一个用于默认语言的方法。您可以通过在数组中列出支持的语言列表来实现这一点,检查
lang
是否存在,如果不存在,则编写一个默认脚本
src


听起来不像是坏记录,但你可能应该确定语言,包括服务器端的文件,而不是客户端的文件。

你问了568个问题,其中只有42%的问题得到了回答。这相当于人们花了很多时间帮助你,而你却懒得承认这些时间是有帮助的。你问了568个问题,其中只有42%的问题得到了回答。这相当于人们花了很多时间来帮助你,而你却懒得承认这是有帮助的。是的,我在服务器端确定它,这就是为什么我要通过服务器端返回“数据”的代码初始化lang对象。是的,我在服务器端确定它,这就是为什么我要通过返回“数据”的服务器端代码初始化lang对象。