我有一个aurelia应用程序,我正在整合I18Next,我有Aurelia集成工作,一切顺利,直到我找到我们的菜单。对于普通翻译,我们只是使用像这样的html属性......
i=3
orderl='0,1.2'
orderr=',2.2'
for k in UNITAS*/*seq_cut
do
if [ -a final.results ]
then
join -a1 -a2 -e "0" -o "$orderl$orderr" final.results $k > tmp.res
orderl="$orderl,1.$i"
i=$((i+1))
mv tmp.res final.results
else
cp $k final.results
fi
done
然后在translation.json文件中
<a href="somelink" i18n="link1">Link 1</a>
这很有效,它完美地翻译。我无法弄清楚的问题是如何处理动态内容,例如我们的菜单。我们正在重复制作菜单,但是如何告诉I18Next从translations.json文件中使用哪个键呢?这是我的意思的简化示例。
{
link1: "some translation here"
}
鉴于上面的布局,你怎么能告诉I18Next用于翻译的键,因为它是在一个循环中完成的。我尝试过一些东西,但都失败了。我真的被困在这里,我需要使用translation.json文件进行翻译,但我不知道如何告诉它使用什么密钥进行翻译,是“家”,“关于”,“联系” ,......?任何帮助将非常感激。谢谢。
答案 0 :(得分:2)
就像任何其他属性一样,您可以使用aurelia绑定到您的i18n属性。使用以下语法:
<a i18n.bind="'navigation.' + item.title"></a>
I18n将在资源文件中查找名为navigation.[item.title]
的密钥,因此如果item.title
变量等于&#34; home&#34;,它将查找名为{的密钥{1}}。