如何动态翻译JavaScript字符串

How to translate JavaScript strings dynamically?

本文关键字:翻译 JavaScript 字符串 动态 何动态      更新时间:2023-09-26

我需要在以下JS中动态翻译2个字符串,即"Date"answers"Read more",如果html-document的语言代码设置为西班牙语(html lang="es"):

$.each(data,function(post, postInfo) {
        jsonArray.push( postEntry + '<a href="' + postInfo.link + '" class="preview-title"><h2>' + postInfo.title + '</h2></a><div class="preview-meta">Date: ' + postInfo.date + '</div><p>' + postInfo.preview + '...</p><div class="read-more"><a href="' + postInfo.link + '" class="link-button">Read more</a></div>' + postFooter);
      });

我不确定如何以最好的方式处理这件事。

以字符串的形式获取语言代码可能可以这样处理:

var languageCode = $('html').attr('lang');

然后你可以实现一个简单的检查,如

if (languageCode === 'es') {
 ...
} else {
 ...
}

如果您能告诉我如何处理这个问题,我将不胜感激。

如果你只想翻译两种词-翻译库可能是多余的。

我会写

lang = {
    es : {
        readmore : 'Read More In Spanish',
        date     : 'Date in spanish'
    },
    en : {
        readmore : 'Read More',
        date     : 'Date'            
    }
}
var languageCode = $('html').attr('lang');
console.log(lang[languageCode].readmore)
console.log(lang[languageCode].date)