gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 02:54:47 25 4
gpt4 key购买 nike

我想创建一个用于多语言功能的 JavaScript 文件

即以正确的语言显示错误消息。

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

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

lang.getkey('username');

将根据语言输出正确的标签。

最佳答案

语言检测通常在服务器端通过检查发送的 Accept-Language HTTP header 来完成。

浏览器具有有限的、非标准化的方法来识别用户的语言(Windows 上运行的 IE 除外)。使用 Windows 上的 IE,您可以访问 navigator.userLanguagenavigator.systemLanguage,这将返回操作系统的 RFC #4646语言-国家/地区代码。其他浏览器(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>');

这将确保只加载必要语言的字符串,尽管我在这里没有包含后备方法,但当检测到不支持的语言时,您将需要一个默认语言的方法。您可以通过在数组中包含支持的语言列表来实现此目的,检查 lang 是否存在,如果不存在,则编写一个默认脚本 src 来代替。

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

关于javascript - 想要创建一个多语言的javascript对象,如果标签很多,如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com