這裏是視圖中的行:如何逃離冒號:in rails i18n?
<%= f.input :comm_date, :label => "Hello:", :as => :string %>
常規的i18n文件的格式爲:
Hello : 'Aloha'
在國際化YML文件,我們要翻譯的「你好」作爲,爲例如,「阿羅哈:」。我們可以逃避冒號:通過下面的做法?
「你好:」:「阿羅哈:」
或者什麼是逃避冒號的正確方法?
這裏是視圖中的行:如何逃離冒號:in rails i18n?
<%= f.input :comm_date, :label => "Hello:", :as => :string %>
常規的i18n文件的格式爲:
Hello : 'Aloha'
在國際化YML文件,我們要翻譯的「你好」作爲,爲例如,「阿羅哈:」。我們可以逃避冒號:通過下面的做法?
「你好:」:「阿羅哈:」
或者什麼是逃避冒號的正確方法?
這是我們所做的事情:
'Hello:' : 'Aloah'
只需使用單引號和它的工作。
您正在使用的gem,simple_form以及其他類似的如formtastic,允許使用翻譯文件(例如en.yml
)來定義標籤文本。
您可以從simple_form文檔中看到翻譯文件的期望值。使用你的榜樣,你需要兩個譯本,這樣的事情,假設你的模型被稱爲Communication
:
en.yml
en:
simple_form:
labels:
communication:
comm_date: "Hello:"
olelo.yml
olelo:
simple_form:
labels:
communication:
comm_date: "Aloha:"
而你的觀點只不過是
<%= f.input :comm_date, :as => :string %>
無需爲:label
選項提供值。
剛剛檢查了寶石列表,沒有找到formatastic。沒有形式化的寶石,有沒有辦法做到這一點? – user938363 2013-05-08 16:40:02
你是否在使用任何寶石協助建立你的表單? '#input'不是FormBuilder類的一個方法。 – 2013-05-08 17:01:19
只需使用simple_form即可。抱歉忘記提及它。 – user938363 2013-05-08 17:10:18
您能否告訴我們*爲什麼*您想在轉換文件中放置冒號?也許我們可以找到一些解決方法,以避免這樣做... – Raindal 2013-05-08 17:07:21
我們使用冒號:在標籤中,並希望將它帶到其他語言。冒號還表示它是用於標籤。 – user938363 2013-05-08 18:04:48
那麼你可以使用':label =>「#{I18n.t('labels.hello')}:''然後在你的yml:'labels:hello:'Aloha''(有適當的縮進,我可以當然在這裏重現) – Raindal 2013-05-08 18:10:48