2012-05-02 43 views
1

由於我使用的是導軌3,在生產環境中存在大量的翻譯缺失記錄,因爲在導軌3中處理翻譯缺少字符串的方式,例如翻譯缺少的是現在:顯示翻譯在導軌3中缺少像導軌2的方式

<span class="translation_missing" title="translation missing: fr.admin.orders_logs.update.title">Title</span> 

在我們的應用中,我們看到「標題」,所以我們認爲翻譯是好,但逸岸翻譯丟失,如果我的「M沒有錯顯示的文字是」翻譯丟失:FR。 admin.orders_logs.update.title「在Rails 2.X

我怎麼能再次激活它,他告訴我的錯誤消息,而不是把它的理由t作爲一個跨度的標題?

回答

1

這似乎是Rails中的一個特性。請參閱:https://gist.github.com/rails/rails/issues/6489

一個可能的解決方法是通過將這樣的事情application.rb中覆蓋的罪魁禍首:

module ActiveModel 
    module Translation 
    def human_attribute_name(attribute, options = {}) 
     defaults = [] 
     parts  = attribute.to_s.split(".", 2) 
     attribute = parts.pop 
     namespace = parts.pop 

     if namespace 
     lookup_ancestors.each do |klass| 
      defaults << :"#{self.i18n_scope}.attributes.#{klass.model_name.i18n_key}/#{namespace}.#{attribute}" 
     end 
     defaults << :"#{self.i18n_scope}.attributes.#{namespace}.#{attribute}" 
     else 
     lookup_ancestors.each do |klass| 
      defaults << :"#{self.i18n_scope}.attributes.#{klass.model_name.i18n_key}.#{attribute}" 
     end 
     end 

     defaults << :"attributes.#{attribute}" 
     defaults << options.delete(:default) if options[:default] 
     defaults << "MISSING TRANSLATION"+defaults.to_yaml # defaults << attribute.humanize 

     options.reverse_merge! :count => 1, :default => defaults 
     I18n.translate(defaults.shift, options) 
    end 
    end 
end 
0

您是否嘗試將i18n.fallbacks配置設置爲false?

# Enable locale fallbacks for I18n (makes lookups for any locale fall back to 
# the I18n.default_locale when a translation can not be found) 
config.i18n.fallbacks = false 
+0

是的,我把線在我的development.rb環境文件,但它不會改變任何東西。 – SteenhouwerD

+0

您是否重新啓動服務器? –

+0

是的,我重新啓動我的服務器 – SteenhouwerD