Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何开发网站以在多种语言之间切换?_Javascript_Html_Internationalization_Multilingual - Fatal编程技术网

Javascript 如何开发网站以在多种语言之间切换?

Javascript 如何开发网站以在多种语言之间切换?,javascript,html,internationalization,multilingual,Javascript,Html,Internationalization,Multilingual,我用html5开发了这个网站。在这里我有一个语言选择选项,现在它是英文的。如果我选择任何其他语言,那么它应该以该语言显示内容。我不想用谷歌翻译来翻译内容。我有所有语言的内容。如果html5或HTML中有任何标记或方法可以获取和显示特定于该语言的内容?否 HTML允许您使用lang属性指定所使用的语言,但它不提供(手动或自动)翻译的特定功能 如果您的网站是静态网站,那么您可以使用特定于语言的内容为每种语言克隆您的网站,并使用不同的基本url(domain/en/…,domain/es/…)访问每个

我用html5开发了这个网站。在这里我有一个语言选择选项,现在它是英文的。如果我选择任何其他语言,那么它应该以该语言显示内容。我不想用谷歌翻译来翻译内容。我有所有语言的内容。如果html5或HTML中有任何标记或方法可以获取和显示特定于该语言的内容?


HTML允许您使用
lang
属性指定所使用的语言,但它不提供(手动或自动)翻译的特定功能

如果您的网站是静态网站,那么您可以使用特定于语言的内容为每种语言克隆您的网站,并使用不同的基本url(domain/en/…,domain/es/…)访问每个版本。

您需要将页面翻译成您想要的任何语言

复制每种语言的整个web结构,以便最终

www.example.com/en/。。 www.example.com/fr/


通常,人们会使用一个标志来指示语言并重定向到相应的语言页面。

您可以使用Javascript本地化(这是您的标记之一,所以我想您会使用它)

您可以做的是快速检查用户的区域设置,从而用匹配的内容本地化填充页面

这里有一个简单的例子。(注意:这纯粹是动态的)


如果选择了语言的下拉列表,您需要加载相应的语言html文件。您可能需要查看一下。谢谢Sandeep。是否,1)我需要为每种语言提供不同的html文件?2) 我需要在没有html标记的不同文本文件中只包含内容(英语/德语)?哪一种是可能的工作逻辑?我们有占位符,可以使用i18n在服务器上更改,也可以使用javascript在客户端更改。取决于你可以发送的文本数量,感谢你的回复。那么,如何让访问者在语言之间切换以供选择呢?我是否需要为每种语言创建网站?通常会混合使用特定语言和共享代码。这是一个有用的起点。注意:“.split(“-”[0]”确保得到一个普通字符串。用户的区域设置通常由语言国家指定。也就是说,例如“en-US”或“de-de”;如果我们只需要指定不依赖于国家的本地化,我们就可以走了。除非我讨厌我的邮件界面更改为我所在国家的任何语言。请确保有一个标志可以点击,有一个cookie可以记住我的选择这不是一个你喜欢什么的问题-如果你想要更多,实现更多。是的,我的页面是静态的。但我的网站上有50多个文件。如果我需要克隆到每种语言,那么它需要更多的工作和更多的文件。是否有任何工具、插件或JavaScript函数根据语言选择从xml或文本文件中检索内容?
locale = (navigator["language"] || "en").split("-")[0];

localization = {
    "de": "Hallo Benutzer!",
    "en": "Hey user!"
};

text = localization[locale] || localization["en"];

e = document.createElement("span");
e.innerHTML = text;
document.body.appendChild(e);