Ruby on rails 如何逃逸冒号:在rails i18n中?
视图中有一条线:Ruby on rails 如何逃逸冒号:在rails i18n中?,ruby-on-rails,internationalization,rails-i18n,Ruby On Rails,Internationalization,Rails I18n,视图中有一条线: <%= f.input :comm_date, :label => "Hello:", :as => :string %> 在i18nyml文件中,我们希望将“Hello:”翻译为例如“Aloha:”。我们能逃出结肠吗:通过做下面的事情 “你好:”:“你好” 或者什么是逃离结肠的正确方法 您正在使用的gem simple_form以及其他类似的gem,如formtastic,允许使用翻译文件(例如en.yml)来定义标签文本 您可以从简单表单文档中看到
<%= f.input :comm_date, :label => "Hello:", :as => :string %>
在i18nyml文件中,我们希望将“Hello:”翻译为例如“Aloha:”。我们能逃出结肠吗:通过做下面的事情
“你好:”:“你好”
或者什么是逃离结肠的正确方法 您正在使用的gem simple_form以及其他类似的gem,如formtastic,允许使用翻译文件(例如
en.yml
)来定义标签文本
您可以从简单表单文档中看到翻译文件的期望值。使用您的示例,假设您的模型名为Communication
,您需要两种翻译,类似于这样:
en.yml
en:
simple_form:
labels:
communication:
comm_date: "Hello:"
olelo:
simple_form:
labels:
communication:
comm_date: "Aloha:"
olelo.yml
en:
simple_form:
labels:
communication:
comm_date: "Hello:"
olelo:
simple_form:
labels:
communication:
comm_date: "Aloha:"
你的观点很简单
<%= f.input :comm_date, :as => :string %>
:字符串%>
无需为:label
选项提供值。以下是我们所做的:
'Hello:' : 'Aloah'
只需使用单引号就可以了。只是检查了gem列表,没有找到格式。如果没有formtastic gem,有没有办法做到这一点?您是否使用任何gem来帮助构建您的表单
#input
不是FormBuilder
类的方法。只需使用简单的表单即可。对不起,忘了提一下。你能告诉我们为什么要在翻译文件中放冒号吗?也许我们可以找到一些解决方法来避免这样做……我们在标签中使用冒号:并且希望将其带到其他语言中。此外,冒号还表示它是用于label的。您可能可以使用:label=>“{I18n.t('labels.hello')”:
,然后在您的yml中:labels:hello:'Aloha'
(当然,使用正确的缩进,我在这里无法复制)一般来说,我会避免在翻译文件中使用语法,因为在不同的上下文中,您可能需要多次使用同一个单词。因此,您将得到诸如date:date-date\u这样的键,并带有“'date:'”
。相反,您应该将其与视图中的转换键连接起来。