Ruby on Rails 의 국제 화 에 대해 논 하 다.

1718 단어 Rails국제 화
보기,모델,컨트롤 러 에 서 는 언어 관련 설정 과 문자열 을 사용 해 서 는 안 됩 니 다.이 글 들 은 config/locales 의 언어 파일 로 옮 겨 야 합 니 다.
Active Record 모델 의 탭 이 번역 되 어야 할 때 activerecord 역할 영역 을 사용 합 니 다.

en:
 activerecord:
  models:
   user: Member
  attributes:
   user:
    name: "Full name"

그리고 User.modelname.human 은"Member"로 돌아 가 고 User.humanattribute_name("name")은"Full name"을 되 돌려 줍 니 다.이 속성의 번역 은 보기 로 탭 으로 사 용 됩 니 다.
보기 에 사용 할 텍스트 와 ActiveRecord 의 속성 번역 을 분리 합 니 다.모델 에 사용 할 언어 파일 을 models 라 는 폴 더 에 두 고 보기 에 사용 할 텍스트 를 views 라 는 폴 더 에 두 십시오.
    추가 디 렉 터 리 를 사용 하 는 언어 파일 조직 이 완료 되 었 을 때 이 디 렉 터 리 를 불 러 오기 위해 서 는 application.rb 파일 에서 이 디 렉 터 리 를 설명 해 야 합 니 다.

  # config/application.rb
  config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]

공 유 된 현지 화 옵션 을 날짜 나 화폐 형식 처럼 locales 루트 디 렉 터 리 에 놓 습 니 다.
간단 한 형식의 I18n 방법 사용:I18n.t 로 I18n.translate 를 대체 하고 I18n.localize 대신 I18n.l 을 사용 합 니 다.
"게 으 름"을 사용 하여 보기 에 사용 할 텍스트 를 조회 합 니 다.우리 가 다음 과 같은 구조 가 있다 고 가정 하면:

en:
 users:
  show:
   title: "User details page"

users.show.title 의 수 치 는 app/views/users/show.html.haml 에서 조회 할 수 있 습 니 다.

= t '.title'

컨트롤 러 와 모델 에 점 으로 구 분 된 키 를 사용 하여 지정 한 scope 옵션 을 대체 합 니 다.점 구분 호출 은 읽 기 쉽 고 추적 하기 쉽다.

#      
I18n.t 'activerecord.errors.messages.record_invalid'

#      
I18n.t :record_invalid, :scope => [:activerecord, :errors, :messages]


좋은 웹페이지 즐겨찾기