我正在使用design进行身份验证,我需要完全本地化它的消息。
我只是将devise.en.yml文件镜像到不同的语言,但我不知道,如何翻译插值部分,比如:
inactive_signed_up:'您已成功注册。但是,我们无法让您登录,因为您的帐户是%{reason}。"
我创建了德语版本(design.de.yml):
inactive_signed_up:"Willcomment!我已经注册了fertig zu machen。我的用户是%{reason}。"
收到以下信息:
"Willcommen ! Sie haben ihre registrierung fertig zu machen. Ihre user ist %{reason}."
在%{reason}所在的地方,我得到了未经翻译的英语单词未经确认。
如何正确翻译?
更新1
有没有办法将ruby代码插入yaml中,比如这样:
"Willcommen!我已经注册了。我的用户是%{I18n.t原因}。"
当这种方法起作用时,我只需要在yaml:中声明未经确认的密钥
unconfirmed: inactiv
大多数时候,我们在字符串中使用变量来传递信息,如数字或一般不需要翻译的数据。如果它需要翻译,我可能只会将原因作为另一个i18n记录包括在内,比如:
en:
reasons:
i_see_you_as_a_friend: ...
you_are_like_a_brother_to_me: ..
并相应地使用它:)