Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使在编译消息之后,Django 1.5中的翻译也不起作用_Django_Django 1.5 - Fatal编程技术网

即使在编译消息之后,Django 1.5中的翻译也不起作用

即使在编译消息之后,Django 1.5中的翻译也不起作用,django,django-1.5,Django,Django 1.5,我正在使用Django 1.5 我必须在我的应用程序中启用国际化。为此,我在settings.py文件中添加了一些内容 MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', ... )

我正在使用Django 1.5

我必须在我的应用程序中启用国际化。为此,我在settings.py文件中添加了一些内容

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
)

from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    '...local context processrors...'
)

# global_settings.TEMPLATE_CONTEXT_PROCESSORS contains 
# TEMPLATE_CONTEXT_PROCESSORS = (
#     'django.contrib.auth.context_processors.auth',
#     'django.core.context_processors.debug',
#     'django.core.context_processors.i18n',
#     ...
# )

USE_I18N = True
USE_L10N = True

LANGUAGE_CODE = 'es'

# List of languages available for translation
ugettext = lambda s: s
LANGUAGES = (
    ('en', ugettext('English')),
    ('es', ugettext('Spanish'))
)
LOCALE_PATHS = (
    os.path.join(PROJECT_ROOT, 'locale/'),
)
区域设置路径的位置输出为

('/media/path_to_project/workbench/workbench/settings/../locale/',)
但在运行
/manage.py makemessages-l时,它会在

/media/path_to_project/workbench/workbench
而不是

/media/path_to_project/workbench/workbench/locale

此外,编译后的语言未显示在模板中。

您需要检查以下内容

  • 确保已将
    USE_L10N=True
    USE_I18N=True
    添加到
    settings.py
    文件中
  • 检查
    PROJECT\u ROOT
    LOCALE\u路径
    并确保其正确
  • django.core.context\u processors.i18n
    添加到
    setting.py中的
    TEMPLATE\u context\u processors
翻译和格式设置分别由使用I18N使用10n设置控制。但是,这两个功能都涉及国际化和本地化。设置名称是Django历史的不幸结果


您需要检查以下内容

  • 确保已将
    USE_L10N=True
    USE_I18N=True
    添加到
    settings.py
    文件中
  • 检查
    PROJECT\u ROOT
    LOCALE\u路径
    并确保其正确
  • django.core.context\u processors.i18n
    添加到
    setting.py中的
    TEMPLATE\u context\u processors
翻译和格式设置分别由使用I18N使用10n设置控制。但是,这两个功能都涉及国际化和本地化。设置名称是Django历史的不幸结果


一切都配置正确
USE\u I18N=True
位于settings.py和
django.core.context\u处理器中。I18N
已从
django.conf
的全局设置中导入。能否将
settings.py
文件共享给我?是否更新了settings.py文件中与翻译相关的问题
PROJECT\u ROOT
“/media/path\u to\u PROJECT/workbench/workbench/settings/。/”
所有配置都正确
USE\u I18N=True
位于settings.py和
django.core.context\u处理器中。I18N
已从
django.conf
的全局设置中导入。能否将
settings.py
文件共享给我?是否更新了settings.py文件中与翻译相关的问题
PROJECT\u ROOT
“/media/path\u to\u PROJECT/workbench/workbench/settings/。/”