簡體   English   中英

如何為Rails 4設置語言環境

[英]How to setup locales for Rails 4

我對Rails國際化有一個相當具體的設置。 我正在使用rails-i18n gem,但這無關緊要。 它與Rails 3完美配合。這是config/application.rb

config.i18n.default_locale = :en
config.i18n.locale = :hr

讓我解釋:

  • 語言環境設置為:hr (克羅地亞語),因為我主要使用克羅地亞語進行本地化的應用程序
  • 默認語言環境設置為:en因為我經常使用像rails-admin這樣的寶石,其中包含英文翻譯。 它在生產中表現出色,因為缺少的(克羅地亞語)翻譯會退回到英語。 很好,所有管理員都懂英語:)

問題是:如何使其與Rails 4一起使用?

看來Rails 4會忽略config.i18n.locale ,並且始終使用:en區域設置。

到目前為止,我一直在使用before_action設置I18n.locale = :hr但這在Rails控制台或Rack中間件中不起作用...

提前致謝,

海倫芬

我找到了一個簡單的解決方案,並將其發布在這里...

插入config/application.rb

  config.i18n.default_locale = :hr
  config.i18n.available_locales = [:hr, :en]
  config.i18n.fallbacks = [:en]

config/environments/production.rb刪除或注釋以下行

  # config.i18n.fallbacks = true

或將其更改為:

  config.i18n.fallbacks = [:en]

您可以在下面添加代碼:

class ApplicationController
    ...

    before_filter :set_locale

    ...

    private

    def set_locale
        I18n.locale = :hr
    end 

end 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM