2013-01-07 2 views
0

내가 관리하는 레일 2.2.2 앱에서 사용할 현지화 시스템을 찾고 있습니다. 나는 나가 나가 원하는 무엇을 정확하게하기 전에 1 개를 보았다는 것을 그러나 나는 google로 그것을 발견하는 것을 처리 할다는 것을 생각한다.레일 2.2 번역 플러그인/보석

내가 생각하는 시스템은 다음과 같이 작동합니다. 모든 ActiveRecord 모델 (또는 예를 들어 구성 파일에 나열된 특정 모델 목록)은 연관된 로캘과 새 버전을 지정하는 변환 레코드를 가질 수 있습니다 나열된 로케일의 해당 레코드에있는 하나 이상의 필드 값. 이는 i18n에서 해결할 수있는 개별적인 문제입니다. 이는 로캘 별 필드 이름이나 유사한 "시스템 수준"문자열이 아닌 로캘 별 데이터를 설정하는 방법입니다.

예를 들어 내 사이트에서 음악 수업을 제공한다고 가정 해 보겠습니다. 영국에서 (기본 로케일) 마지막으로 "박자"가되는 음표는 "crotchets"*라고하며 미국에서는 "4 분 음표"라고합니다. 그래서,이 데이터가 교훈이있을 수 있습니다

#a Lesson object, with an entry in the "lessons" table in the db 
id: 1234 
name: "My Lesson" 
description: "In this lesson you'll learn about crotchets." 

을 내가 그와 관련된이 번역 기록 원하는 : 내가 교훈을 볼 때 지금

id: 1 
translatable_type: "Lesson" 
translatable_id: 1234 
locale: "US" 
data: {:description => "In this lesson you'll learn about quarter notes"} 

을, 시스템은 현재 로케일을 확인 이 레슨에 대한 현재 로케일 특정 데이터가 있는지 확인하고 표준 설명 대신 (설명이 있음)보고 표시합니다.

이런 시스템을 본 사람이 있습니까? 최대

덕분에,

는 PS -이 예제에서 난 그냥 간단한 문자열 대체 어떤 종류의 필요가 있다고 생각하는 독자를 유혹 할 수 "음표를"을 "분 음표"의 간단한 문자열 대체를 완료했습니다 번역. 하지만 그 경우는 아닙니다. 미국 고유의 이름/설명 중 일부는 영국의 다른 이름/설명과 완전히 다를 수 있으므로 완전히 맞춤 설정할 수있는 미국 측의 이름, 설명 등이 필요합니다.

* 음악적으로 정확하지 않을 수 있습니다. 모든 경우에이 질문의 범위를 벗어납니다.

답변

1

Globalize2은 로케일 관련 데이터 솔루션 (내가 Rails 3.2 응용 프로그램에 대해 Globalize3을 사용하여 성공 했음)에 대한 것일 수 있습니다. 그렇지 않다면, Globalize2의 Github repo README 파일에있는 alternative solutions section은 Rails 2.2에서 사용할 수있는 다른 것을 제공 할 것입니다. 행운을 빕니다!

+0

그냥 내가 뭘 찾고 있었는지, 고마워 폴 : 그리고 레일 2.2.2 (나는 이미 설치되어 있었어)와 잘 작동하는 것 같다. –