3

世界にI18n代替手段はありますか?

I18n が翻訳キーを保存する方法が気に入らないだけです。Magento と同じように保存して使用したいと思います。キーは、たとえば、英語のロケールを使用して表示したい単なる文字列です。

したがって、翻訳したい場合は、ファイルに適切なロケール名 ( nl_NL.csv) を単純なキーと値の形式で指定するだけです。キーは英語の文字列で、オランダ語 (nl_NLロケールの場合) に翻訳し、値は私のフレーズのオランダ語版です。また、Magento が翻訳ファイルまたは翻訳キーのいずれも見つからない場合は、キー自体が表示されます。キーは英語のフレーズですが、私の HTMl は英語のロケールに「フォールバック」します。

デフォルトの I18n 動作 ( fast-gettextgem またはカスタム I18n バックエンド) をオーバーライドする方法をいくつか見てきましたが、上記のような gem はありませんか?

4

2 に答える 2

3

次のようにfast_gettext翻訳できます: _("Hello world!") オプションの Web インターフェイスhttp://github.com/grosser/translation_db_engine (スクリーンショット: http://renderedtext.com/images/blog/2012- 10-02/welcome_translations.png ) であり、いくつかのバックエンドをサポートしているため、.csv バックエンドを追加することはおそらく可能です。

高度なオプション:

その他のアイデアはhttp://ruby-i18n.org/wikiにあります

于 2013-04-10T11:06:22.243 に答える
3

Ruby i18n は、gettext 実装を含む、すぐに使用できる一連のバックエンドを提供します。のように単純なはずです。

I18n::Backend::Simple.include(I18n::Backend::Gettext)

デフォルトの gettext 実装が気に入らない場合は、少なくとも独自の実装を作成するための出発点を提供する必要があります。バックエンドを拡張または置き換えて、キーを保存したり、ルックアップを別の方法で実行したりしたい場合はSimple、それも実行できるはずです。シンプルなバックエンドは実際には非常にシンプルで、100 loc 未満です。

于 2012-11-09T19:28:35.773 に答える