Django

Django の国際化

i18n、gettext、翻訳文字列、locale ミドルウェア、言語検出、翻訳ファイル

20 面接問題·
Senior
1

Django で文字列を翻訳可能としてマークするには、どの関数を使用しますか?

回答

gettext 関数は、一般的に _ (アンダースコア) というエイリアスでインポートされ、Django で翻訳可能な文字列をマークする標準的な方法です。アクティブな言語に対応するメッセージカタログから文字列の翻訳を検索し、利用可能であれば翻訳されたバージョンを返します。

2

Django における gettext() と gettext_lazy() の違いは何ですか?

回答

gettext_lazy() は文字列に変換されたときにのみ評価されるプロキシオブジェクトを返します。これはモジュールレベルで定義される翻訳(models や forms など)にとって不可欠です。gettext() は呼び出し時に即座に翻訳を評価するため、言語がまだ決定されていない場合に問題となります。

3

各リクエストの言語を有効化する役割を担う Django のミドルウェアはどれですか?

回答

LocaleMiddleware は、URL のプレフィックス、cookie、ブラウザの Accept-Language ヘッダー、LANGUAGE_CODE 設定といった複数のソースを確認して、ユーザーが希望する言語を判定するためにリクエストを調べます。その後、リクエスト全体の間、対応する言語を有効化します。

4

ソースコードから翻訳可能な文字列を抽出する Django のコマンドはどれですか?

5

翻訳ファイルの .po をバイナリの .mo ファイルにコンパイルするコマンドはどれですか?

+17 面接問題

次の面接に向けてDjangoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める