1

我正在为 javascript 使用i18next本地化。由于我正在结合 PHP 和 javascript,并且我需要对 3 种语言(en、de、fr)进行本地化,所以我面临一个小问题。今天我开始第一次使用 i18next 库,在翻译 div、ul 等普通标签时一切正常……我面临的问题是图片。因为我需要为每种语言提供不同的图片,所以我不确定 i18next 库是否可以在标签参数中设置一个值。例如:

document.write('<form action="dropzone.php" enctype="multipart/form-data" class="dropzone" style="background-image: url(languages/fr/design.png);" method="post"><div class="fallback" data-i18n="design"><input name="file" type="file" multiple /></div></form>');    

我需要在这里改变的是风格,这部分:

style="background-image: url(languages/fr/design.png);"

这并不总是相同的,design.png 图像会根据 url 的语言设置而有所不同,例如:

localhost/designer/box/test.php?lang=fr

有没有办法用 i18next 库改变它,为每个 lang 不同的图像路径,像这样:

url(languages/en/design.png)
url(languages/de/design.png)
url(languages/fr/design.png)

在document.write里面?或者有没有办法从javascript中的url中的lang参数获取值(没有RegEx,这就像我最后一个使用RegEx的解决方案)?

4

1 回答 1

0

根据i18next doc,您可以使用i18next.language获取 i18next 正在使用的当前语言。

var lang = i18next.language
var style="background-image: url(languages/"+ lang +"/design.png);"
console.log(style);    

jsfiddle上的示例

于 2017-03-09T15:40:40.730 回答