Railsアプリでメッセージ/フラッシュなどのギリシャ語をサポートしたい. I18nフレームワークをざっと見てみたが、とても単純なもののために多くの設定が必要なようだ. このようなことを行うための非常に簡単な方法があるはずだと思いますが、(どうやら)私はそれを知りません。誰かが私を助けてくれるなら、私は喜んでいます。ありがとう。
2 に答える
Rails には規則があるため、構成する必要はありません。
次の内容で config/locales/el.yml にファイルを作成します。
el:
flash_messages:
success: "επιτυχία"
fail: "αποτυγχάνουν"
次に、コントローラーで:
flash[:notice] = t('flash_messages.success')
ビューに翻訳された文字列が表示されます。
次のようにロケールを変更できます。
I18n.locale = :el
どうすれば簡単になるかわかりません。「Rails I18n ガイド」: http://guides.rubyonrails.org/i18n.htmlには、慣習と戦いたい場合や単純なものを超えたい場合に、すべての詳細が記載されています。
国際化が難しい理由のいくつかを次に示します。
まず、ユーザーに表示される可能性のあるすべてのテキストは、潜在的な翻訳候補です。これは、コンポーネントのプロパティ (メニュー項目やボタン ラベルなど) だけでなく、ストローク描画呼び出しで描画されたテキストや、ピクセル イメージに埋め込まれたテキスト (MIT EECS Web ページから取得したものなど) も意味します。翻訳では、テキストのサイズや縦横比を簡単に変更できます。たとえば、ドイツ語のラベルは英語のラベルよりもはるかに長い傾向があります。
もちろん、エラー メッセージも翻訳する必要があります。これは、エラー メッセージで内部システム名を公開しないもう 1 つの理由です。英語を読むユーザーは FileNotFoundException の意味を理解できるかもしれませんが、うまく国際化できません。
Ruby を知らないので、これ以上お手伝いできません。