javascript多语言元描述
我即将推出一个网站,有三种语言:英语、法语、德语 现在,我们使用对用户浏览器语言的检测来自动显示正确的语言 HTML中的每个文本对象都分配了一个id,我们在javascript文件中使用innerHTML用正确的语言替换文本 以下是我们在JS中的示例:javascript多语言元描述,javascript,html,multilingual,Javascript,Html,Multilingual,我即将推出一个网站,有三种语言:英语、法语、德语 现在,我们使用对用户浏览器语言的检测来自动显示正确的语言 HTML中的每个文本对象都分配了一个id,我们在javascript文件中使用innerHTML用正确的语言替换文本 以下是我们在JS中的示例: function adjust_languages() { // change all object text, if french if (sprache == "french") { document.get
function adjust_languages() {
// change all object text, if french
if (sprache == "french") {
document.getElementById("hello").innerHTML = "Bonjour";
}
// change all objects if german
else if (sprache == "german") {
document.getElementById("hello").innerHTML = "Hallo";
}
else {
// PUT ALL THE ENGLISH HERE
document.getElementById("hello").innerHTML = "Hello";
}
}
我很想知道这种方法是否也适用于多语言元描述
我想要的是谷歌根据用户的浏览器语言显示网站的元描述
例如,如果用户键入法语关键字,或者只是在默认语言设置为法语的浏览器中键入网站名称,我希望Google在结果中显示网站的法语版本(因此带有法语元描述)
innerHTML方法在这种情况下也会起作用吗?有多种语言翻译方法。建议的方法如下: 1->prepare两个不同的json文件(1)idMapfile(2)langMap_Fr(或其他任何语言)通过公共字符串映射这些文件,如 idMap.json
"helloContext":"helloDom"
*helloDom是DOM id
langMap_Fr.json
"helloContext":"Bonjour"
朗格图
"helloContext":"Hello"
2->现在加载站点,使用js比较langMap json和idMap json(lodash.js提供了很好的库来比较json和其他操作与json、对象和数组),并为每种语言准备2D array(或者可能是json,根据您的方便程度):
frArr=[[“helloDom”,“Bonjour”]
和grArr=[[“helloDom”,“Hello”]]]
这样您就可以在运行时操作语言了
3->现在编写一个函数,将翻译后的单词放入特定的dom元素(类似于函数但在循环中)
这就是使用js的多语言背后的逻辑。对于多语言,建议使用XML。