Почему Джанго Розетта не переводит все подряд? Там не хватает какой-то строки

#django #django-rosetta

#django #django-rosetta

Вопрос:

Я использую Django Rosetta v 0.7.6 (для сопоставления с библиотеками и версией Django, чтобы заставить его работать с веб-приложением). Он переводится с en-us на ar (арабский) и работает практически во всем, но некоторые строки отсутствуют, и я не могу найти, что не так, и почему не переводятся все из них.

Это часть языков в settings.py документ и путь к локали на случай, если что-то должно быть изменено (или в другом порядке, как должно быть):

  TEMPLATE_DIRS = (os.path.join(PACKAGE_ROOT, 'templates'),os.path.join(PACKAGE_ROOT, 'templatetags'))   TEMPLATE_DIRS
LOCALE_PATHS = (os.path.join(PACKAGE_ROOT, '../locale'),)

    # If the rosetta library has been installed, and add to INSTALLED_APPS
try:
    import rosetta
    INSTALLED_APPS  = ('rosetta',)
except ImportError:
    pass


ugettext = lambda s: s
LANGUAGES = (
             ('en-us', ugettext('English')),
             ('ar', ugettext('Arabic')) #Your second language
             )
LANGUAGE_CODE = 'en-us' #Your default language
USE_L10N = True
 

Документ .po генерирует в начале эти строки с нечеткой и пустой строкой, а после этого немного мамбо-джамбо о датах года версии… а затем весь список со связью между документом, переведшим строки, и двумя языками (#: documet/translated/form.htm:1234, msgid «Строка в en-us» msgstr «строка в ar»).

 # SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""`
 

Во всем документе .po просто отсутствуют те, которые не переведены на странице, но ни в одном из них не упоминается исходная строка в en-us, поэтому я предполагаю, что это даже не пытается их перевести, потому что их нет в документе .po.

На следующем рисунке представлены журналы этих строк, файлы… непереведено. И позже раздел code .htm для первой формы на странице django Rosetta, которая не переведена и показана на картинке.

введите описание изображения здесь

     {% extends "views/forms/base.htm" %}
{% load i18n %}

{% block form_content %}
<!-- Resource Type CRUD Form -->
<hr class="divider arches-RDM-divider">

<div id="site_ID-section">
    <!-- Name CRUD Form -->
    <div class="row">
        <div class="col-xs-12">
            <div class="padding-left-10">
                
                <dl>
                    <!-- Title -->
                    <dt>
                        <h5 id="arches-names-form" class="section-headline">{% trans "National ID" %}</h5>
                    </dt>
                    
                    <!-- Form -->
                    <dd>
                        <div class="row">
                            
                            <div class="col-xs-12 hidden-xs">
                                
                                <input class="form-control arches-form-input" id="resource-name" style="width: 18%;" placeholder='{% trans "National ID" %}' data-bind='value: getEditedNode("SITE_ID.E42", "value")'>
                                    
                                    
                                    {% include 'views/components/add-item-button.htm' %}
                                    
                                    </div>
                            
                            <div class="col-xs-12 hidden-sm hidden-md hidden-lg">
                                
                                <input class="form-control arches-form-input" id="resource-name" style="width: 33%;" placeholder='{% trans "National ID" %}' data-bind='value: getEditedNode("SITE_ID.E42", "value")'>
                                    <div class="margin-top-5"></div>
                                    >
                                    
                                    <!-- Spacer (for xs screens) -->
                                    <div class="margin-top-5"></div>
                                    
                                    {% include 'views/components/add-item-button.htm' %}
                                    
                            </div>
                            
                            
                        </div>
                    </dd>
                    <!-- End Form -->
                    
                </dl>
                
            </div>
        </div>
    </div>
    <!-- End Name CRUD Form Container -->
    
    <!-- Name Records -->
    <div class="row">
        <div class="col-xs-12">
            
            <!--  -->
            <div class="arches-crud-child-section">
                <dl>
                    <dd class="arches-CRUD-child-title">
                        {% trans "This resource has the following ID code:" %}
                    </dd>
                    
                    <dd class="margin-left-5" style="display: none;" data-bind="visible: true">
                        <div data-bind="visible: getBranchLists().length == 0" class="txt-color-blue">{% trans "No ID Defined" %}</div>
                        
                        <div data-bind='foreach: getBranchLists()'>
                            <div class="arches-crud-record">
                                <a href="javascript:void(0)" class="arches-CRUD-child" title="{% trans "Delete this name" %}"><i data-bind="click: $parent.deleteItem.bind($parent)" class="arches-CRUD-delete fa fa-times-circle"></i></a>
                                <a href="javascript:void(0)" class="arches-CRUD-child arches-CRUD-edit" data-bind="click: $parent.editItem.bind($parent)" title="{% trans "Edit this name" %}"><span data-bind='text: nodes.get("SITE_ID.E42", "value")' style="padding-right:2px;"></span><span class="text-muted arches-crud-type-identifier"></span>
                                </a>
                            </div>
                        </div>
                    </dd>
                    
                </dl>
            </div>
        </div>
    </div>
 

Пожалуйста, вот как это выглядит при переводе и на языке оригинала, на всякий случай, если это поможет локализовать, что не так, я перезагрузил экземпляр, а также сервер, но тот же ответ после этого:

В en-us

На арабском

Комментарии:

1. Возможно, следует добавить USE_I18N? не уверен, будет ли это иметь эффект, поскольку я только что добавил USE_L10N = True? Какие-нибудь идеи?

2. Вы обновили свой каталог переводов (документ PO) после изменения шаблонов? Вы упоминаете, что оригинальные английские строки отсутствуют в каталоге, что означает, что вы не запускали python manage.py makemessages -a обновление каталога из своих шаблонов и исходного кода python.