Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(2:일본어화(i18n)편)
14714 단어 I18nRails기본 정보 기술자 시험api루비
소개
유루~쿠 배운다. 모두의 웹 공부 커뮤니티. "뉴~부루회"를 운용중입니다.
h tps : // 네 w 부루. 기주 b. 이오/
거기서, 뭔가 교육용의 컨텐츠를 갖고 싶어~라고 생각하고, 이번 기획을 스타트했습니다!
Rails에서 기본 정보 기술자 시험의 과거 문제 사이트를 만듭니다!
최종 목표
히스토리
1: 구축편
htps : // 코 m / 네 w 부루 / 있어 ms / 에 d59f47 아 c645b19620f6
2:일본어화(i18n)편
본 페이지
3:부모와 자식 관계, 등록편
htps : // 코 m / 네 w 부루 / 있어 ms / f2 아 20289
4:부모와 자식 관계, 참조편
h tps:// 퀵했다. 작은 m / 네 w 불 / MS / 51b11BD02691 그림 FC2 c0d
5: API편
htps : // 코 m / 네 w 부루 / 있어 ms / 89f9f847 아 2648 bd d006c
6:SlackBOT편
htps : // 이 m / 네 w 부루 / 있어 ms / 감히 b9 아 cb453이다 786bd59
7 : Heroku 배포 ~ 자동화 편
htps : // 코 m / 네 w 부루 / 있어 ms / 0 아 8 b02 에 1 8 c8 737 c7
이번에 할 일
일본어화(i18n)하기
1. 기본 언어를 일본어로 설정합니다.
config/application.rbclass Application < Rails::Application
config.i18n.default_locale = :ja
end
2. gem 'rails-i18n'을 추가합니다.
./Gemfilegem 'rails-i18n'
bundle-install$ bundle install
일본어를 사용하는 경우의 기본 로케일 파일 「 svenfuchs/rails-i18n 」를 다운로드하지 않아도 됩니다.
※「config.i18n.default_locale=:ja」를 먼저 설정해 둘 필요가 있습니다.
3. i18n 로드 경로 확장
config/application.rbclass Application < Rails::Application
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
end
4. config/locales 아래에 로케일 파일 배치
이하, 어디까지나 예입니다. 여러분의 관리하기 쉬운 구성으로 받을 수 있으면 좋다고 생각합니다.
파일 배치 예config
└─ locales
├─ models # models関連のファイルはここで管理する
├─ answer.ja.yml # modelは1つのファイル(model.ja.ymlなど)で管理しても良いと思います。
├─ question.ja.yml
└─ views # views関連のファイルはここで管理する
├─ answer.ja.yml
├─ question.ja.yml
├─ ja.yml # 共通部分はここに
5. 일본어화합시다
View용
config/locales/views/question.ja.ymlja:
questions:
index:
title: '問題一覧'
show:
title: '問題参照'
edit:
title: '問題編集'
모델용
config/locales/models/question.ja.ymlja:
activerecord:
models:
question: '問題'
attributes:
question:
id: 'ID'
category1: 'カテゴリ1'
category2: 'カテゴリ2'
category3: 'カテゴリ3'
msg: '問題文'
created_at: '作成日'
updated_at: '更新日'
공통용
config/locales/ko.ymlja:
btn:
new: '新規作成'
show: '参照'
edit: '編集'
destroy: '削除'
back: '戻る'
confirm:
destroy: '本当に削除して良いですか?'
6. 이제 View에 적용합시다.
변경 전
app/views/questions/index.html.slimh1 Listing questions
table
thead
tr
th Category1
th Category2
th Category3
th Msg
th
th
th
tbody
- @questions.each do |question|
tr
td = question.category1
td = question.category2
td = question.category3
td = question.msg
td = link_to 'Show', question
td = link_to 'Edit', edit_question_path(question)
td = link_to 'Destroy', question, data: { confirm: 'Are you sure?' }, method: :delete
br
= link_to 'New Question', new_question_path
변경 후
app/views/questions/index.html.slimh1 = t('.title') # Viewを格納しているディレクトリを起点に、相対パス指定します。
table
thead
tr
th = t('activerecord.attributes.question.category1') # tを使って、フルパス指定します。
th = Question.human_attribute_name(:category2) # human_attribute_nameを使って指定します。
th = Question.human_attribute_name(:category3)
th = Question.human_attribute_name(:msg)
th
th
th
tbody
- @questions.each do |question|
tr
td = question.category1
td = question.category2
td = question.category3
td = question.msg
td = link_to t('btn.show'), question
td = link_to t('btn.edit'), edit_question_path(question)
td = link_to t('btn.destroy'), question, data: { confirm: t('confirm.destroy') }, method: :delete
br
= link_to t('btn.new'), new_question_path
라는 느낌으로 View를 변경합시다.
문제 일람 화면은, 이런 느낌이 됩니다.
이번에는 여기까지
고마워요!
다음에는 레이아웃을 깨끗하게 해 나갈까.
Reference
이 문제에 관하여(Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(2:일본어화(i18n)편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/newburu/items/4f12fdb61bf6cd601545
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Application < Rails::Application
config.i18n.default_locale = :ja
end
gem 'rails-i18n'
$ bundle install
class Application < Rails::Application
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
end
config
└─ locales
├─ models # models関連のファイルはここで管理する
├─ answer.ja.yml # modelは1つのファイル(model.ja.ymlなど)で管理しても良いと思います。
├─ question.ja.yml
└─ views # views関連のファイルはここで管理する
├─ answer.ja.yml
├─ question.ja.yml
├─ ja.yml # 共通部分はここに
ja:
questions:
index:
title: '問題一覧'
show:
title: '問題参照'
edit:
title: '問題編集'
ja:
activerecord:
models:
question: '問題'
attributes:
question:
id: 'ID'
category1: 'カテゴリ1'
category2: 'カテゴリ2'
category3: 'カテゴリ3'
msg: '問題文'
created_at: '作成日'
updated_at: '更新日'
ja:
btn:
new: '新規作成'
show: '参照'
edit: '編集'
destroy: '削除'
back: '戻る'
confirm:
destroy: '本当に削除して良いですか?'
h1 Listing questions
table
thead
tr
th Category1
th Category2
th Category3
th Msg
th
th
th
tbody
- @questions.each do |question|
tr
td = question.category1
td = question.category2
td = question.category3
td = question.msg
td = link_to 'Show', question
td = link_to 'Edit', edit_question_path(question)
td = link_to 'Destroy', question, data: { confirm: 'Are you sure?' }, method: :delete
br
= link_to 'New Question', new_question_path
h1 = t('.title') # Viewを格納しているディレクトリを起点に、相対パス指定します。
table
thead
tr
th = t('activerecord.attributes.question.category1') # tを使って、フルパス指定します。
th = Question.human_attribute_name(:category2) # human_attribute_nameを使って指定します。
th = Question.human_attribute_name(:category3)
th = Question.human_attribute_name(:msg)
th
th
th
tbody
- @questions.each do |question|
tr
td = question.category1
td = question.category2
td = question.category3
td = question.msg
td = link_to t('btn.show'), question
td = link_to t('btn.edit'), edit_question_path(question)
td = link_to t('btn.destroy'), question, data: { confirm: t('confirm.destroy') }, method: :delete
br
= link_to t('btn.new'), new_question_path
고마워요!
다음에는 레이아웃을 깨끗하게 해 나갈까.
Reference
이 문제에 관하여(Rails로 기본 정보 기술자 시험의 과거 문제 사이트를 만든다(2:일본어화(i18n)편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/newburu/items/4f12fdb61bf6cd601545텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)