私はこれについて狂ったように検索しています。django翻訳テンプレート{%trans "something"%}
私はこの問題は、Djangoは私のテンプレートで簡単な{%のトランス「仕事」%}を翻訳しないだろうということですDjangoの1.4
を使用しています。
これは私がやっていることです:
Settings.py:
LANGUAGE_CODE = 'en-us'
USE_I18N = True
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.request",
)
LOCALE_PATHS = (
'/home/m00p/PycharmProjects/astrid/locale'
)
これは私のマップ構造である:
/
myproject/
apps/
locale/
template/
だから私は
django-をrunned admin.py makemessages -l nl -i settings.py
、それが正常にロケールフォルダに作成なかったNL/LC_MESSAGES/django.po、私はそれはdjango.poで見つかった翻訳を編集
#: templates/base.html:22
msgid "work"
msgstr "ddddddddddddd"
私は、コンパイルコマンドを実行します
django-admin.py compilemessages
、それはまた、正常に正しい倍でdjango.moファイルを作成えー
私はだから私は行くときの言語に
<form action="/i18n/setlang/" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="/" />
<select name="language">
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
を変更できるようにbase.htmlファイルでこれを追加でmyproject/urls.py
urlpatterns = patterns('',
url(r'^i18n/', include('django.conf.urls.i18n')),
)
urlpatterns += i18n_patterns('',
url(r'^$', 'front.views.home', name='home'),
)
でも、これを追加ウェブサイトには127.0.0.1:8000/en/というURLがありますが、englischがデフォルトの言語であるため、フォームでNLに変更すると正しいです。127.0.0.1:8000/nl/にリダイレクトされますが私が翻訳したテキストは変わらなかった。また、{LANGUAGE_CODE}を表示するとNLと表示されるので、言語がNLであることも確信しています。
なぜ変わらないのですか?私はそれを動作させるために、私は忘れてしまった事を加えるたときm00p
PROBLEM
おかげでプロセス中
を解決し、私は私の展開サーバーを再起動しますが、私はは私のキャッシュをクリアしていませんでしたブラウザまだ古いページを使用していたので、Chromeでブラウザデータを消去してページを再訪し、言語を変更したときに正しく翻訳されました。とにかくおかげさまで、ありがとう!
私はこの多言語のコンセプトも使用していますが、私が行ったことを正確に行いましたが、私のdjango.poファイルにはテンプレートファイルの行が含まれていません。あなたの.poファイルには '#:templates/base.html:22 が含まれていますので、作業は' '....ですが、サイトパッケージ/ django **内のすべてのファイルが含まれているのではなく**(i.ie、 admin part)私はこれらの管理ファイルを編集したくないですが、気象翻訳が動作しているかどうかを編集しますが、この管理部分でも機能しません。 ....私の主な問題は、私が編集できるテンプレートデータを表示する方法です。 – Inforian
.poファイルがそれを選ぶように、 '{%load i18n%} {%trans" Hello "%}' をテンプレート内に指定しました。私は.poファイルに翻訳されたデータを追加することができますが... .poファイルの中でこれらのテンプレートを選択しません..... ??? – Inforian