javascript 多语言元描述

标签 javascript html multilingual

我即将推出一个支持三种语言的网站:英语、法语、德语。

现在我们通过检测用户浏览器的语言来自动显示正确的语言。

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 根据用户浏览器的语言显示网站的元描述。

例如,如果用户输入法语关键字,或者只是在默认语言设置为法语的浏览器中简单地输入网站名称,我希望谷歌在结果中显示该网站的法语版本(因此带有法语元描述)。

innerHTML 方法是否也适用于这种情况?

最佳答案

语言翻译有多种方式,推荐方式如下:

1 -> 准备两个不同的 json 文件 (1)idMapfile (2)langMap_Fr(或任何语言)。将它们映射为常见的字符串。

idMap.json

"helloContext":"helloDom"

*helloDom 是 DOM id

langMap_Fr.json

"helloContext":"Bonjour"

langMap_Gr

"helloContext":"Hello"

2 -> 现在在站点加载时使用 js 比较那些 langMap json 和 idMap json(lodash.js 提供了很好的库来比较 json 和其他操作与 json、对象和数组)并准备 2D 数组(或可能是 json ,根据您的方便)对于每种语言,例如: frArr = [["helloDom","Bonjour"]]grArr = [["helloDom","Hello"]] 因此您可以在运行时操纵语言。

3 -> 现在编写一个函数,将翻译后的单词放入特定的 dom 元素(类似于您的函数,但在循环中)。

这就是multiLang使用js的逻辑。

关于javascript 多语言元描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969055/

相关文章:

javascript - 随着质量增加,速度下降

android - 有没有办法使用 android.R.layout. 访问系统键盘布局文件?

javascript - Backbone.js 集合 fetch() 抛出未捕获的类型错误 : Cannot read property 'idAttribute' of undefined

javascript - 如何在 javascript/jquery 中单击按钮时禁用和启用谷歌地图

javascript - Wordpress 中奇怪的滚动问题

php - 具有多语言支持的 Timber 和 WordPress 的最佳实践

c# - 在 MVC4 中显示和错误,我必须实现一些接口(interface),但我已经完成了

javascript - Bootstrap 日期时间选择器中的出生日期验证

javascript - 可供下载或在线使用的 Css 和 javascript 压缩器

javascript - 是否可以将 Uint8ClampedArray 直接绘制到 Canvas 上?