我想使用i18next作为实际用户名输入“您已经以[用户名]登录”,但是我似乎无法让他们一起工作。连接i18next和Jade变量
据我所知,i18n覆盖整个<p>
显示“您已登录为”。用户名只显示,如果我把它放在一个单独<p>
,就像这样:
if (user)
p(data-i18n='markup.loggedInAs')
p #{user.username}
不过,当然,它被呈现为一个单独的<p>
,这不是我想要的。我希望他们在一条线上,理想情况下在同一个<p>
内。有一个窍门吗?
此:
if (user)
p(data-i18n='markup.loggedInAs')
| #{user.username}
不起作用。用户名根本不显示:/
感谢您的帮助。
我不熟悉玉石,但我知道i18next支持变量替换与翻译。编辑:不知道如何停止标记,但myVar是由两个下划线包围。 // given resources { 'en-US':{translation:{key:'__myVar__ is important'}} }; (“key”,{myVar:“variables”}); // - >变量很重要 – AtheistP3ace
但是这会花费我很大的灵活性,如果我想在两个不同的地方使用变量(如用户名,在这种情况下) 我总是要预格式化整个字符串,对吗? – user3787706
是的,但翻译很难动态翻译,因为单词的顺序和语言之间的差异并不大。您以[用户名]在各种语言中的差异很大而登录,因此使用翻译后的字符串并仅替换一个变量意味着灵活性越低,可译性越好。 – AtheistP3ace