레일즈 3.1에서 헬퍼를 이용한 액티브 레코드 라벨 번역하는 방법입니다.
레일즈 3.1에서 액티브 레코드 라벨 번역하기
루비 온 레일즈 국제화(i18n) 가이드의 액티브 레코드 모델 번역 부분을 보면,
다음과 같은 방식으로 액티브 레코드 번역을 할 수 있다고 합니다.
en.yml
en:
activerecord:
models:
user: Dude
attributes:
user:
login: "Handle"
# will translate User attribute "login" as "Handle"
User.humanattributename("login") 를 사용하면 Handle이 출력된다고 설명되어 있군요.
f.label :login 을 이용해 값을 출력하면?
Login
이라고 출력되네요.
그렇다면 label이 자동으로 번역되도록 하려면 어떻게 해야 할까요?
en.yml에 다음과 같이 추가해주면 아주 잘 동작합니다.
en:
helpers:
label:
user:
name: "Handle"
label 헬퍼에 라벨값을 넣어 주는거에요.
이제 아래 코드를 레일즈 뷰에 입력해 보죠.
<% formfor @users do |f| %>
<%= f.label :name %>
<%= f.textfield :name %>
<%= f.submit %>
<% end %>
Handle
이 출력됩니다.
레일즈 3.1에서 다국어 어플리케이션 개발 편하게 하세요.:D
by 月風
by 月風