[Ruby on Rails] Rails의 일본어 대응
일단 기본 설정부터.
config\initializers locale.rb를 만들고 다음 내용을 설명합니다.
config\initializers\locale.rbRails.application.config.i18n.default_locale = :ja
다음 URL에서 일본어로 ja.yml을 다운로드하여 config\localles에 놓습니다.
https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/ja.yml
devise를 사용하면 이쪽에서도 다운로드할 수 있으며 config\localles에 놓으면 편리합니다.
http://qiita.com/MasatoYoshioka@github/items/8d910e793e7c485403bb
이렇게 기본 형식의 라벨과 오류 정보가 일본어에 대응할 수 있다.
ja.yml 편집
일본어에 해당하는 부분을 편집합니다.
config\locales\ja.yml---
ja:
activerecord:
errors:
messages:
record_invalid: 'バリデーションに失敗しました: %{errors}'
restrict_dependent_destroy:
has_one: "%{record}が存在しているので削除できません"
has_many: "%{record}が存在しているので削除できません"
attributes:
user:
name: 名前
email: メールアドレス
birth_date: 年齢
sex: 性別
school: 学校名
admin: 管理者権限
password: パスワード
password_confirmation: パスワード(確認)
created_at: 登録日時
updated_at: 更新日時
remember_me: ログインを記憶する
attribute 다음에 일본어와 대응하는 부분을 기술합니다.여기에 User 모델이 추가되었습니다.
이렇게 하면 다음과 같이 사용할 수 있다.(콘솔에서 실행)irb(main):001:0> User.human_attribute_name(:name)
=> "名前"
irb(main):002:0> User.human_attribute_name(:email)
=> "メールアドレス"
이렇게 사용하셔도 됩니다.irb(main):003:0> Time.now.to_s(:ja)
=> "2019年03月22日 19時13分"
일본어화 대응
먼저 enum 설정
이번에는 엔움으로 성별을 관리하는 상황을 고려해 보겠습니다.
마이그레이션 수행:.class AddColumnUsers < ActiveRecord::Migration[5.1]
def change
add_column :users, :sex, :integer
end
end
성별 관리에 사용할 설정을 추가합니다.
User.rbclass User < ApplicationRecord
enum sex: { woman: 0, man: 1 }
end
엔um을 간단하게 일본어화할 수 있는gem이 있기 때문에 Gemufile에 다음과 같은 bundle을 추가했습니다.gem 'enum_help'
이렇게 하면 일본어로 엔움에서 값을 얻을 수 있다.irb(main):004:0> User.last.sex_i18n
User Load (1.0ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT $1 [["LIMIT", 1]]
=> "女性"
enum에서 처리된 값은 보통 selectbox를 사용하기 때문에form에서 다음과 같이 맵을 사용하면 간단하게 실현할 수 있습니다.(sexes처럼 복수 형식으로 변하도록 주의)
edit.html.slim = f.select :sex, User.sexes_i18n.keys.map {|k| [User.sexes_i18n[k], k]}, {}, autofocus: true
= f.label :school
최후
다언어화가 지원되지 않아도 태그는 일본어로 직접 쓰는 것보다 자주 huumanattribute_name 등을 사용하면 나중에 더 ja가 됩니다.yml만 편집하면 편할 수도 있습니다.
Reference
이 문제에 관하여([Ruby on Rails] Rails의 일본어 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tkr_ld/items/d010d3f8c6cce5e14f58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Rails.application.config.i18n.default_locale = :ja
일본어에 해당하는 부분을 편집합니다.
config\locales\ja.yml
---
ja:
activerecord:
errors:
messages:
record_invalid: 'バリデーションに失敗しました: %{errors}'
restrict_dependent_destroy:
has_one: "%{record}が存在しているので削除できません"
has_many: "%{record}が存在しているので削除できません"
attributes:
user:
name: 名前
email: メールアドレス
birth_date: 年齢
sex: 性別
school: 学校名
admin: 管理者権限
password: パスワード
password_confirmation: パスワード(確認)
created_at: 登録日時
updated_at: 更新日時
remember_me: ログインを記憶する
attribute 다음에 일본어와 대응하는 부분을 기술합니다.여기에 User 모델이 추가되었습니다.이렇게 하면 다음과 같이 사용할 수 있다.(콘솔에서 실행)
irb(main):001:0> User.human_attribute_name(:name)
=> "名前"
irb(main):002:0> User.human_attribute_name(:email)
=> "メールアドレス"
이렇게 사용하셔도 됩니다.irb(main):003:0> Time.now.to_s(:ja)
=> "2019年03月22日 19時13分"
일본어화 대응
먼저 enum 설정
이번에는 엔움으로 성별을 관리하는 상황을 고려해 보겠습니다.
마이그레이션 수행:.class AddColumnUsers < ActiveRecord::Migration[5.1]
def change
add_column :users, :sex, :integer
end
end
성별 관리에 사용할 설정을 추가합니다.
User.rbclass User < ApplicationRecord
enum sex: { woman: 0, man: 1 }
end
엔um을 간단하게 일본어화할 수 있는gem이 있기 때문에 Gemufile에 다음과 같은 bundle을 추가했습니다.gem 'enum_help'
이렇게 하면 일본어로 엔움에서 값을 얻을 수 있다.irb(main):004:0> User.last.sex_i18n
User Load (1.0ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT $1 [["LIMIT", 1]]
=> "女性"
enum에서 처리된 값은 보통 selectbox를 사용하기 때문에form에서 다음과 같이 맵을 사용하면 간단하게 실현할 수 있습니다.(sexes처럼 복수 형식으로 변하도록 주의)
edit.html.slim = f.select :sex, User.sexes_i18n.keys.map {|k| [User.sexes_i18n[k], k]}, {}, autofocus: true
= f.label :school
최후
다언어화가 지원되지 않아도 태그는 일본어로 직접 쓰는 것보다 자주 huumanattribute_name 등을 사용하면 나중에 더 ja가 됩니다.yml만 편집하면 편할 수도 있습니다.
Reference
이 문제에 관하여([Ruby on Rails] Rails의 일본어 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tkr_ld/items/d010d3f8c6cce5e14f58
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class AddColumnUsers < ActiveRecord::Migration[5.1]
def change
add_column :users, :sex, :integer
end
end
class User < ApplicationRecord
enum sex: { woman: 0, man: 1 }
end
gem 'enum_help'
irb(main):004:0> User.last.sex_i18n
User Load (1.0ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT $1 [["LIMIT", 1]]
=> "女性"
= f.select :sex, User.sexes_i18n.keys.map {|k| [User.sexes_i18n[k], k]}, {}, autofocus: true
= f.label :school
다언어화가 지원되지 않아도 태그는 일본어로 직접 쓰는 것보다 자주 huumanattribute_name 등을 사용하면 나중에 더 ja가 됩니다.yml만 편집하면 편할 수도 있습니다.
Reference
이 문제에 관하여([Ruby on Rails] Rails의 일본어 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkr_ld/items/d010d3f8c6cce5e14f58텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)