【发布时间】:2021-05-25 17:02:06
【问题描述】:
我想制作一个英文页面,该页面有一个可以将语言更改为德语的按钮。我已经阅读了数千篇关于这个主题的文章,但我没有得到答案。我确定我不想使用 Google Translator API 或任何 API 来实现。我想用纯JS来做。我只想问你是怎么做到的?使用一个按钮,该按钮有很多行,可以一一更改元素的文本:
function changeLang () { document.getElementById('someid').innerHTML = "some German text"; ... }
或者使用const transLang { from = "en" to = "de" ...} 来实现?
如果您知道如何启动它,请告诉我。
【问题讨论】:
-
另一种方法是将所有文本放入单独的 JSON 文件(每种语言一个),并在语言更改时加载适当的文件。与
data-[lang]属性中的所有翻译相比,优点是您仅以所需语言将文本发送给客户端,并且系统更易于扩展(以防您认为将来可能会添加新语言)。 -
@secan 我同意“纯 JS”解决方案并不理想。从资源 (json) 文件中加载语言翻译或对数据库进行 API 调用将更易于管理。但是对于一个小页面/几行要翻译/只有一两种语言,这可能超出了顶部。
-
@freedomn-m,是的,当然;几乎总是有很多方法可以给猫剥皮,而(据说)“最好”的方法取决于具体情况。我并不是要对您提出的解决方案提出异议,我只是提供了一个替代方案……而且我也可能误解了 OP 对“纯 JS”的含义,我将其解释为“没有外部/第三方库”。
-
@secan 不用担心 - 我同意你的看法。只是想添加不想走那条(可行的)路线的可能原因。
标签: javascript html jquery translate