私のアプリケーションではpython3とdjango1.10を使用し、djangoではkinndaを使用しています。
私はdjango管理パネル用に多くの言語を使用する予定です。 私はDjango documantionのルールに従うように、私はローカライズにmiddleware
を使用する必要があることを知る...ここに私の設定アプリがあるdjangoを使用した多言語版の問題
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
また、私はこの
LANGUAGES = (
('fa', ugettext('Farsi')),
('en', ugettext('English')),
)
と
を追加LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
もちろん、GNU gettext
がインストールされ、ロケールフォルダがdjango-admin.py makemessages -l fa
のコンマで作成されますそして、.po
ファイルを翻訳してコンパイルして、.mo
ファイルを取得します。 これまでのところすべてのことがうまく見えます。ファイルを入力するだけで言語を変更すると、すべてのことが機能します。
ここで私の質問は、どのように私は管理パネルからアプリケーションの言語を変更する機能を追加することができますか? 私のurls
ファイルにurl((r'^i18n/', include('django.conf.urls.i18n'))),
を追加します。しかし、私はちょうど今何をすべきかわかりません。私を助けてください。次のステップは何ですか ?このフォームを追加するにはどうしたらいいですか、sholudを使って言語を変更するにはこのフォームを追加しますか?ビューで
<form action="/i18n/setlang/" method="post">
<input name="next" type="hidden" value="/next/page/" />
<select name="language">
{% for lang in LANGUAGES %}
<option value="{{ lang.0 }}">{{ lang.1 }}</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
私は私のビューにこのコードを追加します。しかし、私が 'request.LANGUAGE_CODE'をプリントアウトしても、同じものが得られます。im在庫と混乱しています:(@Cody Parker –
)申し訳ありませんが、あなたも手動でセッションを変更する必要があります。 –
管理パネルで変更する方法を見つけようとしています。私のアプリケーションには、正面からのビューもビューもありません... ここにある[質問]アプリケーションの言語は正しくありますが、私が提供している言語ファイルも変更されています。どのようにしてその言語を読み込むことができますか?あなたは私を助けることができますか?[私の質問](http://stackoverflow.com/questions/39102538/language-file-dosent- load-automaticaly-in-django) –