首页 > 解决方案 > Django 翻译:找不到 msguniq

问题描述

我想在 Django 应用程序中进行翻译。

我正在关注本教程,但遇到了问题。

在我运行代码之后

python manage.py makemessages -l 'de'

我得到错误

CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.

奇怪的是,我已经安装了 gettext

Warning: gettext 0.19.8.1 is already installed and up-to-date
To reinstall 0.19.8.1, run `brew reinstall gettext`

我将设置设置为:

# Translations
# Provide a lists of languages which your site supports.
LANGUAGES = (
    ('en', _('English')),
    ('de', _('German')),
)
# Set the default language for your site.
LANGUAGE_CODE = 'en'
# Tell Django where the project's translation files should be.
LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)
print(LOCALE_PATHS)

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

有谁知道会出什么问题?

标签: pythondjangogettextdjango-i18n

解决方案


检查是否可以msguniq手动运行:

$ msguniq --help

如果这给您一个 command not found 错误,请确保PATH为 brew 正确设置了环境变量。


推荐阅读