我即将推出一个网站,提供三种语言版本:英语,法语,德语。
现在我们使用用户浏览器语言的检测功能自动显示正确的语言。
HTML中的每个文本对象都分配了一个id,我们在javascript文件中使用innerHTML来用正确的语言替换文本。
以下是我们在JS中的一个例子:
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会根据用户的浏览器语言显示网站的元描述。
例如,如果用户键入法语关键字,或者只是在默认语言设置为法语的浏览器中键入网站名称,我希望Google在结果中显示网站的法语版本(因此与法国元描述)。
在这种情况下,innerHTML方法也会起作用吗?
答案 0 :(得分:0)
语言翻译有多种方式。建议方式如下:
1 - >预备两个不同的json文件(1)idMapfile(2)langMap_Fr(或任何语言是。)通过常见字符串映射那些。
idMap.json
"helloContext":"helloDom"
* helloDom是DOM id
langMap_Fr.json
"helloContext":"Bonjour"
langMap_Gr
"helloContext":"Hello"
2 - >现在加载站点比较那些langMap json和idMap json使用js(lodash.js提供了良好的librery来比较json和其他opratioins与json,对象和数组)并准备2D arrey(或探测json,根据你的顺从性)对于每个语言,如:
frArr = [["helloDom","Bonjour"]]
和grArr = [["helloDom","Hello"]]
所以你可以在运行时使用法语。
3 - >现在编写一个函数,将翻译后的单词放到特定的dom元素中(类似于你的函数但是在循环中)。
这是使用js的multiLang背后的逻辑。