生成的.po文件在makemessages之后有msgstr“”

2024-10-06 12:57:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django本地化API为我的网站提供多语言功能。但生成.po文件后,所有msgstr都为空。我没有得到任何翻译字符串。你知道吗

以下是设置.py配置

MIDDLEWARE_CLASSES = (
    'framework.botdetection_middleware.AvoidBotsMiddleware',
    'framework.cl_redirect.MainSiteRedirect',
    'framework.ssl_redirect.SSLRedirect',
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.common.CommonMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',    
    'framework.wlabel_middleware.CustomDomainMiddleware',    
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    'social.apps.django_app.middleware.SocialAuthExceptionMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.locale.LocaleMiddleware',
)

# Implementation of Localiztion

# Path to locale folder
LOCALE_PATHS = (
     os.path.join(APP_DIR, 'locale').replace('\\', '/'),
)

# The language your website is starting in
LANGUAGE_CODE = 'en'

# The languages you are supporting
ugettext = lambda s: s
LANGUAGES = (
    ('en', ugettext('English')),
    ('fr', ugettext('French')),
    ('pl', ugettext('Polish')),
)

# Use internationalization
USE_I18N = True

# Use localization
USE_L10N = True

我使用以下命令创建.po文件。你知道吗

django-admin makemessages --locale=fr --extension=html --ignore=env --ignore=*.py

下面是我得到的结果

msgid "Change Payment Method"
msgstr ""

msgid "Return to Purchase Details"
msgstr 

我错过了什么吗。另外,我如何加载我的网站翻译版本不使用网址.py你知道吗


Tags: 文件thetodjangopycache网站framework