Я попытался follow the guide, но это не совсем ясно.Django JavaScript translation not working
Я добавил это к моему urls.py
urlpatterns = patterns('', (r'^jsi18n/(?P<packages>\S+?)/$', 'django.views.i18n.javascript_catalog'), )
сгенерированных файлы Ланг, используя следующую команду:
django-admin.py makemessages -d djangojs -l fr
root_folder/locale/fr/LC_MESSAGES
теперь содержат django.po
& djangojs.po
и alert(gettext('this is to be translated'));
в один из моих файлов js wa s подняли в djangojs.po
.
Я запустил
django-admin.py compilemessages
и перезапустил сервер.Добавлено это мой base.html:
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' 'locale' %}" ></script>
Обратите внимание, что я добавил «локаль», чтобы избежать исключения из не передавая имя пакета при динамической загрузке переводов.
посетили
/jsi18n/locale/
из браузера и все, что я получаю Django функции перевода:/* gettext library */ var catalog = new Array(); function pluralidx(count) { return (count == 1) ? 0 : 1; } function gettext(msgid) { ....
Почему «это должно быть переведено как» не показывает и на основании которого он покажет конкретный язык, не передавая его с URL-адресом?
Спасибо, действительно, я потратил много времени на это. Я открыл соответствующий [билет] (https://code.djangoproject.com/ticket/25751), чтобы исправить документы, которые, как мне кажется, не работают. – raratiru
Для тех, кто наткнулся на это: из того, что я понимаю, читаю комментарии в вышеупомянутом билете https://code.djangoproject.com/ticket/25751, похоже, это происходит только тогда, когда ваш _root_ url использует 'i18n_patterns' (может кто-то подтвердить - или немощный - это?) –