1

翻译似乎是我最大的敌人:(我有一个很好的 Formtastic 表格和一个 yaml 翻译文件。我将翻译设置为config/application.rb

config.i18n.available_locales = :nl
config.i18n.default_locale = :nl

和这样的 before_filter 方法application_controller.rb

before_filter :set_locale

def set_locale
  session[:locale] = params[:locale] unless params[:locale].nil?
  I18n.locale = session[:locale] || I18n.default_locale
end

我的表格看起来像这样(它是用haml写的):

= semantic_form_for Ad.new do |f|       
  .holder
    = f.inputs do
      = f.input :name

    = f.inputs do
      = f.input :reason

最后我的 nl.yml 看起来像这样:

nl:
  formtastic:
    titles:
      ads:
        reason: "Waarom verkoop je het?"
    labels:
      ads:
        reason: "Waarom verkoop je het?"
    hints:
      ads:
        reason: "Waarom verkoop je het?"
    placeholders:
      ads:
        reason: "Waarom verkoop je het?"

如您所见,我已为 Formtastic 提供的所有这些键添加了相同的翻译,但没有显示,标签仍然Reason存在,并且没有占位符文本。据我所知,我已经完全按照 Formtastic 自述文件的规定做了。我正在使用带有导轨(3.2.8)的formtastic(2.2.1)。如果我将 activerecord 翻译添加到nl.yml标签确实会被翻译。为什么格式翻译不起作用?

4

2 回答 2

1

我不太确定,但您是否尝试过类似的方法:

nl:
  formtastic:
    ads:
      reason: "Waarom verkoop je het?"
...

因为这里的模型类是Ad而 i18n 应该以某种方式反映模型结构?

于 2012-09-20T22:44:54.983 回答
1

这有点蹩脚,但问题出在ads部分。我不应该复数ad。这工作正常:

nl:
  formtastic:
    titles:
      ad: // Mind the difference here: no 's'
        reason: "Waarom verkoop je het?"
    labels:
      ad:
        reason: "Waarom verkoop je het?"
    hints:
      ad:
        reason: "Waarom verkoop je het?"
    placeholders:
      ad:
        reason: "Waarom verkoop je het?"
于 2012-09-21T06:51:15.203 回答