2014-01-29 5 views
0

Я новичок Джанго веб-приложение,не в состоянии создать django.po

моя структура проекта выглядит следующим образом: х -> х -> settings.py

в settings.py У меня есть следующая запись:

from django.utils.translation import ugettext_lazy as _ 
LOCALE_PATHS = ( 
join (BASE_DIR, 'locale'), 
) 

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'django.middleware.locale.LocaleMiddleware', 
) 

LANGUAGE_CODE = 'en-us' 
LANGUAGES = (
    ('en', _('English')), 
    #('en-us', ugettext('English US')), 
    ('es', _('Spanish')), 
    ('en-Gb', _('English UK')), 
) 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 

Я установил получить текст на моем MAC OSX 10.7.5

в моем шаблоне:

{% load i18n %} 
{% trans "Login To UI Mirror" %} 

Используя следующую команду

django-admin.py makemessages -a 

кажется его способен генерировать django.po

, но он отсутствует с идентификатором

сообщения, определенного в шаблоне.

вот что он имеет:

#: settings.py:156 
msgid "English" 
msgstr "" 

#: settings.py:158 
msgid "Spanish" 
msgstr "" 

#: settings.py:159 
msgid "English UK" 
msgstr "" 

Любая помощь будет оценена.

Благодаря

шаблона коды:

_base.html: 

{% load compress %} 
{% load i18n %} 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
     {# Mobile meta tag #} 
     <meta name="HandheldFriendly" content="True"> 
     <meta name="MobileOptimized" content="320"> 
     <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"> 
     <meta http-equiv="cleartype" content="on"> 
     {# Favicons #} 
     <link rel="icon" href="{{static}}images/uimirror.ico" type="image/x-icon"> 
     {% block title %} 
      {% include "core/_title.html" with location='lgn_reg' %} 
     {% endblock title %} 

     {# Tile icon for Win8 (144x144 + tile color) #} 
     {% block css_media %} 
      {% include "core/_media.html" with location='lgn_reg' %} 
     {% endblock css_media %} 
    </head> 

    <body> 
     {% block content %} 

     {% endblock content %} 

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
     {% block script_media %} 
      {% include "core/_script_media.html" with location='lgn' %} 
     {% endblock script_media %} 

    </body> 
</html> 

первый удлиняет:

login_register.html 

{% extends 'core/_base.html' %} 

{% block css_media %} 
    {% include "core/_media.html" with location=location %} 
{% endblock css_media %} 

{% block content %} 
    <div class="uimmaincontainer" id="uimmaincontainer"> 
    {% include "core/login_register/_login_register_theme.html" with location=location %} 
    {% include "core/login_register/_login.html" with location=location%} 
    {% include "core/login_register/_register.html" with location=location%} 
    </div> 
{% endblock content %} 

Trans блок:

_login_register_theme.html 

{% load i18n %} 
<div class="pt15 {% if location == 'lgn' %} active {% else %} hidden {% endif %}" id="_ui_lgn_them"> 
    <h4 aria-hidden="true" class=""> 
     <img width="15" height="15" alt="" 
      src="#" 
      class="uiHeaderImage img">{% trans "Login To UI Mirror" %} 
    </h4> 
    <div class="clearfix"> 
     <div class="mb5 uiHeaderSubTitle f-left fsm tc-3">Enter to the most existing virtual world.</div> 
    </div> 
</div> 
+0

ли ваш settings.py содержит: TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', ) ? –

+0

Да Его место .... –

+0

Извините, тогда у меня больше нет идеи. Вы смотрите этот вопрос? Http: // StackOverflow.com/questions/7054082/why-would-the-makemessages-function-for-django-language-localization-ignore-html –

ответ

1

Я думаю, что есть проблема с шаблоном каталога STRUC р. Django template loader ищет каталог под названием «шаблоны» в вашем приложении.

Ваши шаблоны представлены под размером файла core/login_register/, поэтому django не может найти их.

Вы можете использовать следующую структуру для ваших шаблонов:

└── yourapp 
    └── templates 
     └── yourapp 
      ├── base.html 
      └── index.html 

Таким образом, Джанго найти шаблоны, и вы даже сможете изменить эти шаблоны в других приложениях:

└── yourapp 
    └── templates 
     └── yourapp 
      ├── base.html 
      └── index.html 
└── anotherapp 
    └── templates 
     └── yourapp 
      ├── base.html # it will override the template yourapp/templates/yourapp/base.html 

Это common structure for django projects.

Смежные вопросы