サポートクラスと関数

♪the babel.support モジュールは、Babelをアプリケーションまたはフレームワークに統合し、全体的な国際化を達成することを容易にする多くのクラスおよび関数を含む。このモジュールにおけるコードは,Babel自身が使用するのではなく,国際化すべきアプリケーションの一般的なニーズを解決するために提供される.

怠惰評価

そのような要求の一つは翻訳に対する怠惰評価だ。多くのWebベースのアプリケーションは、モジュールレベルでいくつかの局所化可能なメッセージを定義するか、または一般に、遠隔ユーザの領域にまだ知られていないあるレベルを設定して、いくつかの局所化可能なメッセージを定義する。この場合,Webフレームワークは通常“怠惰”なものを提供する. gettext 関数、これらの関数は基本的にメッセージを変換するものであり、 gettext 関数であるが、何らかの方法で文字列にアクセスする場合。

翻訳クラスを拡張する

多くのWebベースのアプリケーションは、様々な異なるコンポーネントから構成され(ある種のプラグインシステムを使用する可能性がある)、いくつかのコンポーネントは、それら自身のメッセージディレクトリを提供する可能性があり、より大きなシステムに統合する必要がある。

この使用パターンを支援するためにBabelは Translations 類派生の GNUTranslations 中の類 gettext モジュールです。この種類は1つ追加されています merge() 別の方法を受け入れる方法 Translations インスタンスは、後者のコンテンツをホームディレクトリに統合する:

translations = Translations.load('main')
translations.merge(Translations.load('plugin1'))