我只在模板中存储了翻译字符串(存储在project_dir / Templates中),我尝试在项目根目录和使用trans模板的app目录中运行$ django-admin.py createmessages -l ru
。字符串。它创建了文件夹locale / ru / LC_MESSAGES,但文件夹为空。我尝试手动添加django.po文件(使用l10n文档中提到的语法)。并运行createmessages -a和compilemessages命令。它创建了.mo文件,但翻译没有出现在浏览器中。
答案 0 :(得分:9)
python manage.py makemessages -a
来自项目根目录和应用程序?
这应该创建一个你必须编辑的.po。 一定要在任何地方删除“模糊”的东西。
然后:
python manage.py compilemessages
您需要重新启动服务器
答案 1 :(得分:0)
对于较新版本的 Django(例如 3.2):
在根目录下创建文件夹“locale”
运行命令django-admin makemessages -l ru
更新您的语言文件(位于语言环境文件夹中)
运行django-admin compilemessages
在 settings.py 中配置 LOCALE_PATHS,否则你将看不到翻译:
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
LANGUAGE_CODE = 'ru'
答案 2 :(得分:0)
修复空的 po 文件:
locale
目录中添加一个 templates
目录并将其路径添加到 LOCALE_PATHS
列表中。 (可选,但有助于确保模板目录包含在步骤 4 中)django-admin makemessages -l ru