[i18n] Rails를 통해 일영을 쉽게 전환할 수 있습니다!
오늘날 세계화는 불가피하다!이렇게 생각하다
PF에서 일본어와 영어의 언어 변환이 이루어졌다.
좀 번거롭지만 쉽게 실현할 수 있다
메모로도 기록을 남기다.
설치까지의 프로세스
단계: Gem i18n 추가
한 걸음 한 걸음 시도하다.rb에 기재
단계:yml 파일에 번역 내용 기재
단계:view 파일에 번역 내용 추가
단계: Routing 파일에 locale 추가
오직 이렇게 하면 당신의 사이트는 글로벌화에 대응할 수 있습니다!
단계: Gem i18n 추가
일단 할 건요.
Gem을 추가하십시오.
이 젬을 통해서 간단하게
일영에 대응할 수 있다.
Gemfile
gem 'rails-i18n', '~> 5.1'
먼저 ~>를 써서 버전을 지정하세요.적혀있으면 bundle install로 할게요.
한 걸음 한 걸음 시도하다.rb에 추가
application.rb에 기본 언어를 추가합니다.
이것을 쓰면 기본 언어를 결정할 수 있습니다.
config/locales/application.rb
module アプリケーション名
class Application < Rails::Application
# deviseを日本語化
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
# -- all .rb files in that directory are automatically loaded after loading
# the framework and any gems in your application.
end
end
이 기술이 있으면 기본 언어를 설정할 수 있다.config.i18n.default_locale = :ja
영어라면:ja의 부분을 엔으로 설정하는 게 좋아요.
단계:yml 파일에 번역 내용 기재
하면, 만약, 만약...
파일은영어→일본어또는일본어→영어
이렇게 사이트에서 언어를 바꾸고 싶을 때.
사용할 파일입니다.
실제로 어떻게 썼는지 보자.
config/locales/ja.yml
application:
application:
# ヘッダーのログアウト時の翻訳
signup: " 新規登録"
signin: " ログイン"
# ヘッダーのログイン時の翻訳
workout_friends: " 筋トレ仲間"
workout_diary: " 筋トレ日記"
calendar: " カレンダー"
notification: " 通知機能"
mypage: " マイページ"
logout: " ログアウト"
partial_match: "部分一致"
perfect_match: "完全一致"
forward_match: "前方一致"
backward_match: "後方一致"
devise:
sessions:
new:
login_message: "友達を探してつながろう!"
login_message2: "SNSでつながる新しい形の筋トレ"
posts:
new:
date: "日付入力"
time: "時刻入力"
upload_picture: "画像アップロード"
workout_place: "筋トレ場所"
이것은 하나의 예로, 견해로 보면 이렇다.애플리케이션: ← 컨트롤러
적용 목록: ← 동작 이름
signup: "신규 로그인"← 번역하고 싶은 내용
gem 등을 사용할 때 기록에 약간의 변화가 있을 수 있습니다
devise: ← gem 이름
sessions: ← 컨트롤러 이름
new: ← 동작 명칭
login_친구한테 연락하세요.← 번역하고 싶은 내용
login_메시지 2: "SNS에 연결된 새로운 근육 단련"← 번역하고 싶은 내용
주의해야 할 것은yml 파일의 줄을 바꾸는 것이 매우 중요하다는 것이다
만약 잘못된 축소가 발생한다면 번역은 반영되지 않을 것이다.
요점은 차원 구조로 축진을 나누어 기록하는 것이다!
일본어 영어 시간으로 바꾸고 싶어요.
en.파일도, config>localles>ja입니다.yml
en.파일도, config>localles>en입니다.yml
이렇게 서류 두 개를 만들면 된다.
중국어 등이 추가되면 파일을 중국어판으로 추가하면 된다.
단계:view 파일 쓰기
마지막으로view 파일에 기술하기
조금이나마 공을 들여야 한다.
우선 언어를 전환하려면 전환 링크를 열어 주십시오
언어를 만들어 전환하자.
view/layouts/application.html.erb
<%= link_to('日本語', :locale => 'ja') %>
<%= link_to('English', :locale => 'en') %>
저는 눈썹에 넣고 싶어요.페이지 헤더에서 전환 링크를 실현했습니다.
어디다 두든 하고 싶은 대로 하면 돼.
하면, 만약, 만약...
링크를 클릭하면 언어를 전환할 수 있습니다.
그리고 언어의 전환에 관한 곳
다음 t 방법을 사용하면 언어를 전환할 수 있습니다.
view/layouts/application.html.erb
<%= link_to t('application.application.logout'), destroy_user_session_path, method: :delete, class: 'fas fa-sign-out-alt nav-link text-light mt-1' %>
<%= link_to "Delete", post_comment_path(comment.post, comment), method: :delete, remote: true, "data-confirm" => t('comments.create.delete_confirm'), class: "btn-sm btn-danger" %></td>
rails의 경우view로 표시하면 <%=%>로 표시합니다t('컨트롤러 이름. 동작 이름. 번역하고 싶은 이름') 기술이면 OK.
【ja.yml】
posts:
new:
데이터:날짜 입력
【en.yml】
posts:
new:
date: "date"
예를 들어 이러한 언어 전환을 진행할 때
<%= t('posts.new.date') %>
상술한 기술을 통해
아래 링크를 클릭하면 자동으로 언어를 전환할 수 있습니다.
view/layouts/application.html.erb
<%= link_to('日本語', :locale => 'ja') %>
<%= link_to('English', :locale => 'en') %>
단계 시도 9465:routing에 기재마지막으로...
중요한 걸 까먹어서.
처음에는 기재해야 하는데, 마지막에는 기술해야 한다.
나는 다음 링크에locale가 있다고 생각한다
url에 local을 포함하지 않아서 언어를 전환합니다
안돼.
view/layouts/application.html.erb
<%= link_to('日本語', :locale => 'ja') %>
<%= link_to('English', :locale => 'en') %>
다음은 루트의 기재 예를 소개한다/workout/config/routes.rb
Rails.application.routes.draw do
# これをいれることでlocaleをパスに含められる
# scopeを使用するとurlパターンのみを変更可能
scope '(:locale)' do
devise_for :users
resources :posts
end
end
위에서 말한 바와 같이, 오실로그래프로 locale를 묶으십시오.작용역을 간단하게 설명하면 url에 특정한 텍스트 등만 입력합니다
포함하고 싶을 때 사용하세요.
이번 상황은 local을 URL 언어로 바꾸기 위해서입니다.
포함할 필요가 있어서 locale로 다 묶었어요.
오실로그래프에 local을 포함하면 URL이 바뀝니다.
이런 느낌, url pattern의 시작 부분만 바뀌었죠?
이렇게to에서 전환 가능
끝맺다
어때요?
너는 언어 전환을 간단하게 실현할 수 있다는 것을 아니?
글의 내용이 틀리면 메시지를 남겨 주세요.
그럼!최고!
Reference
이 문제에 관하여([i18n] Rails를 통해 일영을 쉽게 전환할 수 있습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/smallisland-ken/items/ab6c352cbbd85a57b1d4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)