Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 design中插值零件的定位_Ruby On Rails 3_Localization_Devise - Fatal编程技术网

Ruby on rails 3 design中插值零件的定位

Ruby on rails 3 design中插值零件的定位,ruby-on-rails-3,localization,devise,Ruby On Rails 3,Localization,Devise,我正在使用Desive进行身份验证,我需要完全本地化它的消息 我只是将devise.en.yml文件镜像到不同的语言,但我不知道如何翻译插值部分,如下所示: inactive_signed_up:'您已成功注册。但是,我们无法让您登录,因为您的帐户是%{reason}。” 我已经创建了德语版本(designe.de.yml): 非活动用户注册:“willcommo!您已经注册了rung fertig zu machen。您的用户是%{reason}。” 并得到以下信息: "Willcommen

我正在使用Desive进行身份验证,我需要完全本地化它的消息

我只是将devise.en.yml文件镜像到不同的语言,但我不知道如何翻译插值部分,如下所示:

inactive_signed_up:'您已成功注册。但是,我们无法让您登录,因为您的帐户是%{reason}。”

我已经创建了德语版本(designe.de.yml):

非活动用户注册:“willcommo!您已经注册了rung fertig zu machen。您的用户是%{reason}。”

并得到以下信息:

"Willcommen ! Sie haben ihre registrierung fertig zu machen. Ihre user ist %{reason}."
%{reason}所在的地方,我得到了未经翻译的英语单词未确认

如何正确翻译

更新1

是否有任何方法可以将ruby代码插入yaml,如下所示:

“willcommo!您已经注册了rung fertig zu machen。您的用户是%{I18n.t reason}。”

当这种方法起作用时,我只需要在yaml中声明未确认密钥:

unconfirmed: inactiv

大多数时候,我们在字符串中使用变量来传递诸如数字之类的信息,或者通常是不需要翻译的数据。如果是需要翻译的内容,我可能会将原因作为另一个i18n记录包括在内,比如:

en:
  reasons:
    i_see_you_as_a_friend: ... 
    you_are_like_a_brother_to_me: ..

相应地使用:)

好的,我明白你的意思。这种消息格式是由“设计”gem创建的。在我的例子中,如何完全翻译一条消息?您可以更改Desive消息的格式以反映该技术。例如,您可以更改消息,以便出现不活动的\u signup\u Banked\u用户:“您已成功注册。但是,由于您的帐户被禁止,我们无法让您登录”。也就是说,根据原因,提供另一条信息。