【发布时间】:2012-08-08 19:38:00
【问题描述】:
我需要在我的狂欢项目中添加对西班牙语的支持。 尝试了各种方法,URL 方式不适合我(不想要),globalizer3 并没有真正做我想要的。其他一些扩展不起作用,一些会杀死网站等。
所以我添加了
gem 'spree_i18n', :git => 'git://github.com/spree/spree_i18n.git'
gem 'globalize3'
到我的 gemfile,而 globalizer 很可能会被划伤(不做我想要的)。
我在“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
网站已翻译。
为什么它不起作用? 如何使它工作? 还有什么我可以用来让第二语言在每个用户的基础上工作的吗?
请帮我解决这个问题。
【问题讨论】:
标签: internationalization e-commerce locale spree