运行django make messages
时:
./manage.py makemessages -l pt
我明白了:
CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.
我尝试安装但是我在Instalation Setup中找到的最新版本是0.14。我在哪里可以找到最新版本以及如何安装它?
答案 0 :(得分:12)
Django从最近的文档中删除了这个解释,我花了一些时间才找到它,所以我在这个旧文档下线之前粘贴它:
下载以下zip文件X是版本号(需要为0.15或更高)
将两个文件中的bin\
目录的内容解压缩到系统上的同一文件夹(即C:\Program Files\gettext-utils
)
更新系统路径:
Control Panel > System > Advanced > Environment Variables
在“系统变量”列表中,单击“路径”,单击“编辑”,然后单击“新建”
添加C:\Program Files\gettext-utils\bin
值。
您也可以使用在其他地方获得的gettext二进制文件,只要xgettext --version命令正常工作即可。如果在Windows命令提示符下输入的命令xgettext --version导致弹出窗口显示“xgettext.exe已生成错误并将被Windows关闭”,请不要尝试将Django转换实用程序与gettext包一起使用。
执行此操作后,我测试了./manage.py makemessages -l pt
答案 1 :(得分:4)
最简单的方法是下载precompiled binary installer。下载操作系统的“静态”风格(32位或64位)并简单地运行安装程序。
更新系统路径:
Control Panel > System > Advanced > Environment Variables
在“系统变量”列表中,单击“路径”,单击“编辑”,然后单击“新建”
添加C:\Program Files\gettext-iconv\bin
值。
要检查它是否正常工作,请转到cmd,导航到项目文件夹并输入
"manage makemessages -l de".
您可能必须配置存储翻译的路径。在项目目录中创建一个名为“locale”的目录,并在settings.py
指向它还要确保在settings.py文件中设置本地路径:
LOCALE_PATHS = (
BASE_DIR + 'locale/', )
答案 2 :(得分:1)
我也有同样的问题。之后,我下载并安装了此文件,一切正常。https://mlocati.github.io/articles/gettext-iconv-windows.html。
答案 3 :(得分:1)
让我节省许多时间来解决这个问题。
一种可能性是,在您成功完成以上所有操作之后,
pip install python-gettext
您可能未正确配置IDE或venv。为了绕过此操作,请转到命令提示符,导航到您的根文件夹并从此处运行py manage.py makemessages
。它将起作用。
答案 4 :(得分:0)
提取相关文件并将其位置添加到路径后,我仍然遇到相同的问题。但是后来我在命令提示符而不是powershell中运行了django-admin makemessages -l sr-Latn命令,它起作用了。更确切地讲,我首先收到libstdc ++-6.dll丢失的通知,并且按照https://www.dll-files.com/support/#200924305所述将其安装在相关目录中后,它可以正常工作。
答案 5 :(得分:0)
感谢您分享经验。 最好的答案是linear time。 经过许多努力,值得一提的是: 如果要在Pycharm IDE中使用此工具,使其在不同的环境下工作(更改python路径和路径变量(例如:OSGeo)),则必须制作一个批处理文件并将这两个目录添加到更改的路径中:
path %PATH%;C:\Program Files\gettext-iconv\bin
path %path%;C:\Program Files\gettext-iconv\lib\gettext
SET PYCHARM="D:\Program Files\JetBrains\PyCharm 2020.2.2\bin\pycharm64.exe"
start "PyCharm aware of get text" /B %PYCHARM% %*
使用此批处理文件运行Pycharm后,转到工具/运行manage.py任务。在出现的窗口中,如下所示编写命令: makemessages -l'fa_IR' 有关更多信息,请参考: [1] https://stackoverflow.com/a/45574890/3786145 [2] https://www.jetbrains.com/help/idea/creating-message-files.html