5

ローカライズされたサイト(2言語)にrails_admin gemをインストールしましたが、管理(/ admin)を常に英語にする必要があります。ドキュメントによると、rails_admin.rbファイルの先頭に次の2行を追加する必要があります。

require 'i18n'
I18n.default_locale = :de

しかし、それは機能していません。それを行う方法はありますか?

4

2 に答える 2

3

同じ問題につまずいた。これが私がそれを解決した方法です:

class ApplicationController < ActionController::Base
  include Clearance::Controller
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  before_filter :set_locale

  def set_locale
    if [Clearance, RailsAdmin].include?(self.class.parent)
      I18n.locale = :en
    else
      I18n.locale = params[:locale] || I18n.default_locale
    end
  end
end

RailsAdminコントローラーはあなたのフォームを継承してApplicationControllerいるため、ロケールを使用するように明示的に指示する必要があります:en そこで、またはクラスを開いて上書きすることができますset_locale

于 2015-10-30T09:19:49.393 に答える
1

ドキュメントには、ローカルが英語以外に設定されている場合にのみこれを行う必要があると記載されているため、これを設定する必要がない場合があります。これを設定する必要がある場合は、そのRailsAdmin.config do |config|行の 下にあることを確認してくださいrails_admin.rb

アップデート -

まだ問題が発生しているため、使用している ruby​​ のバージョンを教えてください。を実行しましたbundle installか? 試していただけますかsudo gem install i18n。また、ロケールが見つからない場合は、それらを指す必要がある場合があります。I18n.load_translations "#{RAILS_ROOT}/locales/#{locale}.rb"

于 2013-01-22T02:41:59.247 に答える