0

管理しているRails2.2.2アプリで使用するローカリゼーションシステムを探しています。私は前にそれが私が望むことを正確に行うのを見たことがあると思いますが、私はグーグルでそれを見つけることができません。

私が念頭に置いているシステムは次のように機能します:任意のActiveRecordモデル(または、たとえば構成ファイルにリストされている指定されたモデルのリスト)には、ロケールと1つの新しい値を指定する翻訳レコードを関連付けることができますリストされたロケールについて、そのレコード内のより多くのフィールド。これは、i18nによって解決される問題とは別の種類の問題であることに注意してください。これは、フィールドのロケール固有の名前や同様の「システムレベル」の文字列ではなく、ロケール固有のデータを設定する方法です。

たとえば、私のサイトが音楽のレッスンを提供しているとしましょう。英国(デフォルトのロケール)では、最後の1つの「ビート」が続く音符は「四分音符」*と呼ばれ、米国では「四分音符」と呼ばれます。だから、私はこのデータを持っているレッスンを持っているかもしれません:

#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-この例では、「crotchets」から「quarternotes」への単純な文字列置換を行いました。これにより、読者は、ある種の単純な文字列置換変換が必要だと思われるかもしれません。しかし、そうではありません。米国固有の名前/説明の一部は、英国のものとはかなり異なるため、完全にカスタマイズ可能な米国向けの名前、説明などが必要です。

*これはすべての場合に音楽的に正確に当てはまるとは限りませんが、それはこの質問の範囲外です:)

4

1 に答える 1

1

Globalize2は、ロケール固有のデータ ソリューションを求めているものかもしれないと思います ( Rails 3.2 アプリにGlobalize3を使用して成功しました)。そうでない場合は、Globalize2 の Github リポジトリ README ファイルの代替ソリューション セクションで、Rails 2.2 で動作する別の方法が提供されることを願っています。幸運を!

于 2013-01-07T11:25:07.963 に答える