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:'”
。相反,您应该将其与视图中的转换键连接起来。