[루비온레일즈] devise-i18n gem (devise 뷰 한글처리)
오늘 포스팅에서는 devise-i18n gem을 이용해 devise 를 한글 처리해보도록 하겠습니다.
이것저것 찾아보다가 우선 rails guides에서 i18n에 대한 참고할 만한 설명이 있어 링크를 걸어두겠습니다.
guides.rubyonrails.org/i18n.html
설명을 살펴보면, i18n은 다국어 처리를 쉽게 해준다고 보면 될 것 같습니다.
그리고 깃허브에서 devise i18n 사용법을 찾아보았습니다.
github.com/tigrish/devise-i18n
원래 devise는 유저 인증 시 뷰 파일에서 다국어처리를 지원하지 않고 영어를 디폴트 값으로 지정해두었지만, devise-i18n을 사용해 해당 locale(지역)을 설정함으로써 로그인, 회원가입 등 devise 와 관련한 뷰를 특정 언어로 번역해서 보여줄 수 있습니다.
devise-i18n에 대해 살펴보았으니, 프로젝트에서 설치하고 구현해보겠습니다.
처음에 rails guides와 github 내용만 보고 실제로 어떻게 코드를 작성해야 할지 몰라서 한참 헤맸는데 '나른한 하루'님의 블로그를 많이 참고했습니다! 포스팅 마지막에 링크 남겨두겠습니다.
1. devise i18n gem 설치하기
Gemfile에 가서 devise-i18n 젬을 추가합니다.
gem 'devise-i18n'
그리고 터미널에서 bundle install을 입력해 젬 파일을 설치합니다.
2. locale 설정하기
이제 config/application.rb에 가서 locale을 지정합니다.
config.i18n.default_locale = :ko
config.time_zone = 'Seoul'
다음으로 터미널에 rails g devise:i18n:locale ko 를 입력해 locale 설정을 실행합니다.
그러면 config/locales/devise.views.ko.yml 이라는 파일이 생성되고 아래처럼 devise 관련 사항들이 어떤 한국어로 바뀌는지 코드가 작성되어 있네요.
3. devise 뷰 파일 변경하기
다음 단계는 기존의 devise 뷰 파일을 새로운 뷰로 바꿔주는 작업입니다.
터미널에 rails g devise:i18n:views 라고 입력합니다. 그러면 기존의 뷰 파일들를 덮어쓰겠냐는 메세지가 나오는데 저는 기존의 devise 뷰를 초기 상태에서 수정한 게 없기 때문에 모두 덮어쓰겠습니다.
전부 y를 입력해 덮어쓰기 했습니다.
이제 서버를 재실행하고 한글화가 적용되었는지 확인하겠습니다:)
기존의 왼쪽 이미지였던 화면에서 오른쪽으로 devise 뷰들이 한국어 처리 되었습니다!
이렇게 devise-i18n을 이용해 한국어 처리를 해보았습니다~~ 루비온레일즈를 공부하기 시작한 지 한달이 넘어가는데요, 생각했던 것보다 이것저것 많이 배우고 있는 것 같아 뿌듯하네요😁
devise-i18n 적용을 상세히 설명해주신 '나른한 하루'님께 감사합니다. 루비온레일즈를 공부하는 입장에서 포스팅들이 도움이 많이 됩니다!