In der Kopfzeile wurde eine Schaltfläche zum einfachen Umschalten installiert.
erb:application.html.erb
Installieren Sie Folgendes in der Kopfzeile
<% if session[:locale] == "en" || session[:locale].blank? %>
<%= link_to "/home/change_language/ja" do %>
japanisch
<% end %>
<% elsif session[:locale] == "ja" %>
<%= link_to "/home/change_language/en" do %>
English
<% end %>
<% end %>
Diesmal werden nur Japanisch und Englisch unterstützt
Wird angezeigt.
routes.rb
get "/home/change_language/:language" => "home#change_language"
home_controller.rb
def change_language
session[:locale] = params[:language]
redirect_back(fallback_location: "/")
end
Wenn Sie before_action festlegen, werden die Sprachinformationen zuerst festgelegt, unabhängig davon, auf welche Seite Sie zugreifen.
application.rb
before_action :set_locale
private
def set_locale
if %w(ja en).include?(session[:locale])
I18n.locale = session[:locale]
end
end
Ich habe die Übersetzung separat geschrieben. Beispiel) Englisch ändert ja nur in en.
ja.yml
ja:
#Häufig verwendete Wörter
dictionary:
words:
hello: "Hallo"
activerecord:
#Modellname
model:
user: "Nutzer"
#Spaltenname
attributes:
user_name: "Nutzername"
password: "Passwort"
#Für jede Ansicht festlegen
users:
show:
profile: "Profil"
picture: "Foto"
form:
required_field: "Erforderlicher Artikel"
erb:show.html.erb
<%= t("dictionary.words.hello") %> =>Hallo
<%= t("activerecord.attributes.user_name") %> =>Nutzername
#Wenn View von Benutzern angezeigt wird, kann es wie folgt weggelassen werden.
<%= t(".profile") %> =>Profil
<%= t(".picture") %> =>Foto
#Wenn Sie den Spaltennamen festlegen, wechselt je nach Sprache automatisch sogar der Formular-Helfer.
<%= form_with scope: @user ,,,,,%>
<%= form.label :user_name %> =>Nutzername
<% end %>
erb:_form.html.erb
#Teilweise wird ohne Unterstrich verwendet. Ansicht ist Benutzer_form.html.Für erb
<%= t(".required_field") %> =>Erforderlicher Artikel
#Dieser Teil ist Benutzer zeigen.html.Auch wenn es in erb verwendet wird
<%= t(".picture") %> =>× Dies ist nicht verfügbar.
Recommended Posts