0

スプリープロジェクトでスペイン語のサポートを追加する必要があります。さまざまなアプローチを試しましたが、URLの方法は私にはありません(望まれていません)、globalizer3は本当に私が望むことをしません。他のいくつかの拡張機能は機能しません、いくつかはサイトを殺します、など。

だから私は追加しました

gem 'spree_i18n', :git => 'git://github.com/spree/spree_i18n.git'
gem 'globalize3'

私のgemfileに、グローバライザーはおそらく傷が付いているでしょう(私が望むことをしません)。

ロケールを格納するために「spree_users」に「def_lang」列を追加しました。これは、ユーザーサインアップのドロップダウンボックスによって設定されます。利用できるのは「en」と「es」です。

過去14時間に私が見つけたコードと繰り返しのアドバイスは次のとおりです。

次のコードをapplication_controller.rb(または他の誰かによるとbase_controller.rb)に追加します

before_filter :set_locale

protected
 def set_locale
 I18n.locale = params[:locale] || I18n.default_locale
end

私の場合は

before_filter :set_locale

 protected #<-this is not in all tips
  def set_locale
  I18n.locale = params[:def_lang] || I18n.default_locale
end

短くするために、それは機能しません。「application.rb」で設定することで証明できるスペイン語作品の言語サポート

config.i18n.default_locale = :es

そしてサイトは翻訳されています。

なぜそれが機能しないのですか?それを機能させる方法は?第二言語をユーザーごとに機能させるために使用できるものは他にありますか?

これについて私を助けてください。

4

1 に答える 1

0

params[:def_lang]サインアップ リクエストでのみ使用でき、後続のリクエストでは使用できません。おそらくcurrent_user && current_user.locale、チェックするのではなく、これを使用することをお勧めしますparams[:def_lang]

于 2012-08-10T05:12:54.010 に答える