Не удалось получить какие-либо из моих файлов перевода после того, как compilemessages
вступит в силу.Открытие перевода Django с первого взгляда на сайт-пакеты
копания в коде я пришел:
django.utils.translation.trans_real.check_for_language
def check_for_language(lang_code):
# First, a quick check to make sure lang_code is well-formed (#21458)
if not language_code_re.search(lang_code):
return False
for path in all_locale_paths():
if gettext_module.find('django', path, [to_locale(lang_code)]) is not None:
return True
return False
Который использует:
django.utils.translation. trans_real.all_locale_paths
def all_locale_paths():
from django.conf import settings
globalpath = os.path.join(
os.path.dirname(upath(sys.modules[settings.__module__].__file__)), 'locale')
return [globalpath] + list(settings.LOCALE_PATHS)
Который возвращает:
[
u'/data/.venv/mysite/local/lib/python2.7/site-packages/django/conf/locale',
'/data/www/locale/'
]
Это такой код ядра, испытанный, вероятно, миллион раз, я уверен, что я настройке неправильно, но я не могу увидеть любой путь, что мои LOCALE_PATHS будет когда-нибудь предшествования?
/данные/WWW/локаль/содержание
/data/www/locale/
|-- en-us
| `-- LC_MESSAGES
| |-- django.mo
| `-- django.po
|-- zh-hans
| `-- LC_MESSAGES
| |-- django.mo
| `-- django.po
`-- zh-hant
`-- LC_MESSAGES
|-- django.mo
`-- django.po
settings.py
LANGUAGES_DICT = {
'en-us': _('English'),
'zh-hant': _('Traditional Chinese'),
'zh-hans': _('Simplified Chinese'),
}
LANGUAGES = LANGUAGES_DICT.items()
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
path = lambda *a: os.path.join(BASE_DIR, *a)
LOCALE_PATHS = (
path(u'locale'),
)
# Outputs: (u'/data/www/locale',)
Из взгляда функции 'check_for_language()', однако, похоже, он ищет только первый допустимый путь и затем возвращает True? Это не помешает загрузке всех последующих языковых файлов? В настоящее время я не пытаюсь переопределить значение Django. – DanH
@sthzg Ahh right, заканчивается терпение, полностью не читающее все :) Я обновлю вопрос с моей текущей конфигурацией и структурой – DanH
@sthzg Конечно, спасибо! Изменено для unicode, но никаких изменений.Обновлен OP с «ЯЗЫКАМИ» и «LOCALE_PATHS». – DanH