Javascript 如何使用i18next翻译部分HTML文本?
完成我的下一个任务,请容忍我 我的HTML是:Javascript 如何使用i18next翻译部分HTML文本?,javascript,html,internationalization,i18next,Javascript,Html,Internationalization,I18next,完成我的下一个任务,请容忍我 我的HTML是: <ul class="nav nav-sidebar"> <li><a href="#">Sección 1.1</a></li> <li><a href="#">Sección 1.2</a></li> <li><a href="#">Sección 1.3</a></li> &l
<ul class="nav nav-sidebar">
<li><a href="#">Sección 1.1</a></li>
<li><a href="#">Sección 1.2</a></li>
<li><a href="#">Sección 1.3</a></li>
</ul>
<input type="text" id="Doc" name="Doc" data-i18n="[placeholder]mykey" placeholder="Document" />
如何在每个
li
上声明我的data-i18n
标记,这样我只需为内部HTML的“Sección”部分提供一个键,然后保存1.1、1.2、1.3?您需要在HTML中添加data-i18n
标记
<a href="#" data-i18n="menu.home">Home</a>
我已经更新了jsbin。希望这就是你要找的谢谢Jim,我已经知道了,但是你正在翻译所有的钥匙。在jsbin中,您看到了问题所在:在括号之间重复“Taiwan”子字符串三次。我只想提供“台湾”一次,并用特定的字符串和“台湾”一个单独的块来编写您的“菜单”子菜单对不起,我不太明白您的意思。如果要指定一次,可以使用array方法。我已经更新了jsbin让你看到:这就是你要找的吗?好的。我的意思是这样的,只指定“台湾”一次:
'en-US':{翻译:{‘菜单’:{‘台湾名称’:‘台湾’,‘台北’:‘台北(‘+台湾名称+’),‘台南’:‘台南(‘+台湾名称+’),‘垦丁’:‘垦丁(‘+台湾名称+’),}
更新了jsbin示例,希望这就是您在寻找的汉克斯!答案标记为已接受。尽管在i18next文档(链接后)中指定了它,但解释有点稀疏。您的jsbin尚未更新,但该示例运行得非常好。再次感谢!
<a href="#" data-i18n="menu.home">Home</a>
'en-US': {
translation: {
'menu': {
'taipei': 'Taipei, $t(menu.country)',
'tainan': 'Tainan, $t(menu.country)',
'kenting': 'Kenting, $t(menu.country)',
'country': 'Taiwan'
}
}
}