Ich werde schreiben, was ich getan habe, als ich versucht habe, Englisch in [der Webanwendung, die ich entwickle] zu unterstützen (https://www.code-sell.net/).
Gemfile
gem 'rails-i18n'
Installation
bundle
config/application.rb
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
#Entsprechende Sprache. Diesmal auf Japanisch(ja)Und Englisch(en)Nur
config.i18n.available_locales = %i(ja en)
#Festlegen, ob ein Fehler gemacht werden soll, wenn eine andere Sprache als die oben genannten unterstützten Sprachen angegeben wird
config.i18n.enforce_available_locales = true
#Standardsprache
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
Der vom Gültigkeitsbereich umgebene Teil ist die Seite, die mehrere Sprachen unterstützt.
Erstellen Sie en.yml und ja.yml. Für Sätze, die mehrsprachig sein sollen
views
<%= t(:hello) %>
Schreiben. Fühlen Sie sich frei, Hallo zu ändern
ja.yml
ja:
hello:Hallo
#Alle Modelle starten mit Activerecord.
#Dies ermöglicht dem Benutzer.model_name.human / User.human_attribute_name({attr_name})Kann mit zugegriffen werden.
activerecord:
models:
user: 'Nutzerinformation'
attributes:
user:
name: 'Name'
mail: 'Mail Adresse'
url: 'Website'
en.yml
en:
hello: "hello"
#Alle Modelle starten mit Activerecord.
#Dies ermöglicht dem Benutzer.model_name.human / User.human_attribute_name({attr_name})Kann mit zugegriffen werden.
activerecord:
models:
user: 'User'
attributes:
user:
name: 'Name'
mail: 'Email'
url: 'URL'
Ich werde es so machen.
Referenz http://alfa.hatenablog.jp/entry/2013/12/03/221308
Recommended Posts