Je suis un débutant en Rails. Cette fois, je voulais traduire le message d'erreur de la fonction de connexion de Rails en japonais, alors j'ai trébuché un peu, donc je vais faire une note.
supposition
Gemfile
gem 'devise-i18n'
gem 'devise-i18n-views'
$ bundle install
$ rails g devise:views:locale ja
create config/locales/devise.views.ja.yml
Un fichier de message d'erreur japonais est généré
Ajout de config.i18n.default_locale =: ja
Par défaut, l'anglais : en
est défini, alors changez-le en japonais: ja
.
config/application.rb
nom du référentiel du module
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.2
#####
config.i18n.default_locale = :ja
#####
end
end
Commencez par Rails s
et essayez d'afficher l'instruction d'erreur
Bien qu'il ait été traduit en japonais, certaines phrases anglaises sont ... Je n'ai pas semblé pouvoir obtenir une phrase japonaise qui correspond à l'erreur dans la devise
Le message est enregistré dans le fichier devise.views.ja.yml
ajouté par $ rails g devise: views: locale ja
, alors éditez-le.
** Par défaut, il s'écrit comme suit **
ja:
activerecord:
attributes:
user:
current_password: "mot de passe actuel"
email: "adresse e-mail"
mot de passe: "mot de passe"
password_confirmation: "mot de passe de confirmation"
Remember_me: "se souvenir de la connexion"
models:
utilisateur: "utilisateur"
.
.
.
En regardant la déclaration d'erreur dans le navigateur plus tôt,
Traduction de l'adresse e-mail manquante: ja.activerecord.errors.models.user.attributes.email.blank
Est une sortie, et ceci est édité en créant une hiérarchie avec un fichier yml.
ja:
activerecord:
attributes:
user:
current_password: "mot de passe actuel"
email: "adresse e-mail"
mot de passe: "mot de passe"
password_confirmation: "mot de passe de confirmation"
Remember_me: "se souvenir de la connexion"
models:
utilisateur: "utilisateur"
### d'ici
errors:
models:
user:
attributes:
email:
vide: "Veuillez entrer"
password:
vide: "Veuillez entrer"
name:
vide: "Veuillez entrer"
### Jusque là
Et modifiez-le pour afficher la déclaration d'erreur
Je l'ai bien fait
En passant, j'ai défini ja.errors.messages.not_saved.one
etc. pour vider ʻone:" "` et l'ai personnalisé en supprimant l'instruction de décompte des erreurs, etc.
La localisation à peu près japonaise de la phrase d'erreur de périphérique est comme ceci
Cliquez ici pour les documents de référence [Rails 5] Japaneseize avec Devise-i18n Correspondant à "traduction manquante" après la localisation japonaise de Devise github devise-i18n