【发布时间】:2015-01-30 22:49:32
【问题描述】:
我的网站目前已本地化为两种语言:
www.website.com/book
www.website.com/de/book
我只使用本地的“de”,而不是 url 中的“en”。
有没有办法将反网址更改为例如
www.website.com/de/buch
不使用额外的宝石?我已经使用了 globalize gem,但由于过去的许多问题,我更喜欢使用尽可能少的 gem。
我的 application.rb 的一部分是:
类应用程序<:application>
config.active_record.whitelist_attributes = false
config.i18n.default_locale = :en
config.i18n.available_locales = [:en, :de]
config.i18n.fallbacks = true
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
config.i18n.enforce_available_locales = true
我的 application_controller.rb 的一部分是:
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || :en
end
def default_url_options(options = {})
{ :locale => ((I18n.locale == I18n.default_locale) ? nil : I18n.locale) }.merge options
end
路线也是本地化的。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 localization internationalization rails-i18n