在url rails 4应用程序中显示区域设置

时间:2015-06-23 08:42:32

标签: ruby-on-rails ruby-on-rails-4 localization url-routing

我已经在我的网站上应用了本地化,它工作正常,但我正面临着主要问题。

  1. 我想在网址中显示本地,我没有办法做到这一点
  2. 我想获得浏览器语言并为其设置语言环境(我知道这是为了开发环境而不是生产)
  3. P.S。我在生产环境中所采取的一切

    以下是我添加本地化的方法

    应用程序控制器

      before_action :set_locale
    
      def set_locale
     if cookies[:educator_locale] && I18n.available_locales.include?(cookies[:educator_locale].to_sym)
      l = cookies[:educator_locale].to_sym
     else
      cookies.permanent[:educator_locale] = l
      end
      I18n.locale = l
     end
    

    我的设置控制器

     def change_locale
    l = params[:locale].to_s.strip.to_sym
    l = I18n.default_locale unless I18n.available_locales.include?(l)
    cookies.permanent[:educator_locale] = l
    redirect_to request.referer
     end
    

    我的观点

       <% if I18n.locale == I18n.default_locale %>
        <li> <%= link_to image_tag("france.png", :style => "center"), change_locale_path(:fr) %></li>
        <% else %>
        <li>          <%= link_to image_tag("usa.png", :align => "center"), change_locale_path(:en)%></li>
        <% end %>
    

    最后是我的路线

     get '/change_locale/:locale', to: 'settings#change_locale', as: :change_locale
     get "home/index"
    

    要获取浏览器语言我使用此browser link,但它仅用于开发1

    任何建议都会有所帮助

1 个答案:

答案 0 :(得分:0)

这是Simple locale switcher blog post。它应该有帮助