J'écrirai ce que j'ai fait lorsque j'ai essayé de soutenir l'anglais dans l'application Web que je développe.
Gemfile
gem 'rails-i18n'
Installation
bundle
config/application.rb
    config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
    #Langue correspondante. Cette fois en japonais(ja)Et anglais(en)Seulement
    config.i18n.available_locales = %i(ja en)
    #Définir s'il faut faire une erreur lorsqu'une langue autre que les langues prises en charge ci-dessus est spécifiée
    config.i18n.enforce_available_locales = true
    #Langage par défaut
    config.i18n.default_locale = :ja
controller
controller/application_controller.rb
    before_action :set_locale
    def set_locale
        I18n.locale = locale
    end
    def locale
        @locale ||= params[:locale] ||= I18n.default_locale
    end
    def default_url_options(options={})
        options.merge(locale: locale)
    end
routes.rb
routes.rb
  scope '(:locale)', locale: /#{I18n.available_locales.map(&:to_s).join('|')}/ do
    root "posts#index"
    resources :posts
  end
La partie entourée par la portée est la page qui prend en charge plusieurs langues.
Créez en.yml et ja.yml. Pour les phrases que vous souhaitez multilingues
views
<%= t(:hello) %>
Écrire. N'hésitez pas à changer bonjour
ja.yml
  ja:
    hello:Bonjour
      #Tous les modèles commencent à partir d'activerecord.
      #Cela permettra à l'utilisateur.model_name.human / User.human_attribute_name({attr_name})Accessible avec.
    activerecord:
      models:
        user: 'Informations de l'utilisateur'
      attributes:
        user:
          name: 'Nom'
          mail: 'adresse mail'
          url:  'page Web'
en.yml
  en:
     hello: "hello"
    #Tous les modèles commencent à partir d'activerecord.
      #Cela permettra à l'utilisateur.model_name.human / User.human_attribute_name({attr_name})Accessible avec.
    activerecord:
      models:
        user: 'User'
      attributes:
        user:
          name: 'Name'
          mail: 'Email'
          url:  'URL'
Je vais le faire comme ça.
référence http://alfa.hatenablog.jp/entry/2013/12/03/221308
Recommended Posts