Kayのログインフォームをカスタマイズする(2) 文言の日本語化する

前回の記事「Kayのログインフォームをカスタマイズする(1) 継承元のテンプレートファイルを変更する « 山本隆の開発日誌」の続き。

Google App Engine用フレームワークKayのデータストアを利用した認証を使用したときのログインフォームをカスタマイズする方法を紹介します。

文言の日本語化する

初期値の状態では、ログインフォームの文言は「user name」や「password」のように英語になっています。

ログインフォームの文言を日本語化するには、Kayのメッセージ国際化の機能を使用します。
※参考:12. メッセージ国際化 — Kay v0.10.0 documentation
※参考:Google App Engine用フレームワーク Kay の国際化の機能を有効にする « 山本隆の開発日誌

settings.py

USE_I18N = True

これだけでログインフォームの文言が日本語化されます。

メッセージを変更したい場合は、メッセージ国際化の機能を使って変更します。

たとえばフォームのタイトル「Kay ログインフォーム」を変更したい場合は次のようにします。

  1. カタログファイルの雛型を作成します。

    python manage.py extract_messages myapp
    

    カタログファイルが myapp/i18n/messages.pot に作成されます。

  2. カタログファイルを編集します。

    myapp/i18n/messages.pot に次の行を追加します。

    msgid "Kay Login Form"
    msgstr ""
    

    変更したい文言のmsgidは myproject/kay/auth/templates/loginform.html を参照して確認します。

  3. 雛型から日本語の翻訳を追加します。

    python manage.py add_translations myapp -l ja
    

    日本語の翻訳ファイルが myapp/i18n/ja/LC_MESSAGES/messages.po に作成されます。

  4. 日本語の翻訳ファイルを編集します。

    msgid "Kay Login Form"
    msgstr "MyApp ログインフォーム"
    

    ファイルの文字コードはUTF-8で保存します。

  5. 翻訳ファイルをコンパイルします。

    python manage.py compile_translations myapp
    

    コンパイルされたファイルが myapp/i18n/ja/LC_MESSAGES/messages.mo に作成されます。

ログインフォームにアクセスすると、文言が変わっていること確認できます。

コメント

  1. Pingback: 山本隆の開発日誌

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です