레일즈 3.1에서 헬퍼를 이용한 액티브 레코드 라벨 번역하는 방법입니다.

레일즈 3.1에서 액티브 레코드 라벨 번역하기

ror-'레일즈 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.text
field :name %>
  <%= f.submit %>
<% end %>

Handle

이 출력됩니다.

레일즈 3.1에서 다국어 어플리케이션 개발 편하게 하세요.:D
by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    광고를 클릭해주시면,
    블로그 운영에 큰 도움이 됩니다!