如何在 windows 上安装 gnu gettext (>0.15)?所以我可以在 Django 中生成 .po/.mo 文件
How to install gnu gettext (>0.15) on windows? So I can produce .po/.mo files in Django
运行时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.
我尝试安装,但我在安装设置中找到的最后一个版本是 0.14。我在哪里可以找到最新版本以及如何安装它?
Django 从最近的文档中删除了这个解释,我花了一些时间才找到它,所以我在这个旧文档下线之前将它粘贴在这里:
下载以下 zip 文件
- gettext-runtime-X.zip
- gettext-tools-X.zip
X is the version number (It needs to be 0.15 or higher)
将两个文件中 bin\
目录的内容提取到系统上的同一文件夹(即 C:\Program Files\gettext-utils
)
更新系统PATH:
Control Panel > System > Advanced > Environment Variables
在“系统变量”列表中,依次单击“路径”、“编辑”和“新建”。
添加 C:\Program Files\gettext-utils\bin
值。
You may also use gettext binaries you have obtained elsewhere, so long as the xgettext --version command works properly. Do not attempt to use Django translation utilities with a gettext package if the command xgettext --version entered at a Windows command prompt causes a popup window saying “xgettext.exe has generated errors and will be closed by Windows”.
完成后我进行了测试,./manage.py makemessages -l pt
有效
最简单的方法是下载precompiled binary installer。下载 "static" 风格的操作系统(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/', )
我也遇到了同样的问题。之后我下载并安装了它,一切正常。https://mlocati.github.io/articles/gettext-iconv-windows.html。
提取相关文件并将其位置添加到路径后,我仍然遇到同样的问题。但是后来我 运行 命令提示符中的 django-admin makemessages -l sr-Latn 命令而不是 powershell 并且它起作用了。更准确地说,我首先收到 libstdc++-6.dll 丢失的通知,并且按照此处 https://www.dll-files.com/support/#200924305 的说明将其安装在相关目录中后,它起作用了。
让我为您节省很多时间来解决这个问题。
其中一种可能是,在您成功完成上述所有操作后,完成
pip install python-gettext
您可能未正确配置 IDE 或 venv。为了绕过这个,请转到命令提示符,导航到您的根文件夹,然后从那里 运行 py manage.py makemessages
。它会起作用。
感谢您分享您的经验。
最佳答案是 。
经过许多努力,值得一提的是:
如果您想在 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 使用此批处理文件后,转到 tools/Run manage.py 任务。在出现的 window 中这样写你的命令:
makemessages -l 'fa_IR'
有关详细信息,请参阅:
[1] https://www.jetbrains.com/help/idea/creating-message-files.html
[2] https://silverspringenergy.com/using-pycharm-as-an-ide-for-qgis-3-plugin-development-2/
运行时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.
我尝试安装,但我在安装设置中找到的最后一个版本是 0.14。我在哪里可以找到最新版本以及如何安装它?
Django 从最近的文档中删除了这个解释,我花了一些时间才找到它,所以我在这个旧文档下线之前将它粘贴在这里:
下载以下 zip 文件- gettext-runtime-X.zip
- gettext-tools-X.zip
X is the version number (It needs to be 0.15 or higher)
将两个文件中 bin\
目录的内容提取到系统上的同一文件夹(即 C:\Program Files\gettext-utils
)
更新系统PATH:
Control Panel > System > Advanced > Environment Variables
在“系统变量”列表中,依次单击“路径”、“编辑”和“新建”。
添加 C:\Program Files\gettext-utils\bin
值。
You may also use gettext binaries you have obtained elsewhere, so long as the xgettext --version command works properly. Do not attempt to use Django translation utilities with a gettext package if the command xgettext --version entered at a Windows command prompt causes a popup window saying “xgettext.exe has generated errors and will be closed by Windows”.
完成后我进行了测试,./manage.py makemessages -l pt
有效
最简单的方法是下载precompiled binary installer。下载 "static" 风格的操作系统(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/', )
我也遇到了同样的问题。之后我下载并安装了它,一切正常。https://mlocati.github.io/articles/gettext-iconv-windows.html。
提取相关文件并将其位置添加到路径后,我仍然遇到同样的问题。但是后来我 运行 命令提示符中的 django-admin makemessages -l sr-Latn 命令而不是 powershell 并且它起作用了。更准确地说,我首先收到 libstdc++-6.dll 丢失的通知,并且按照此处 https://www.dll-files.com/support/#200924305 的说明将其安装在相关目录中后,它起作用了。
让我为您节省很多时间来解决这个问题。
其中一种可能是,在您成功完成上述所有操作后,完成
pip install python-gettext
您可能未正确配置 IDE 或 venv。为了绕过这个,请转到命令提示符,导航到您的根文件夹,然后从那里 运行 py manage.py makemessages
。它会起作用。
感谢您分享您的经验。
最佳答案是
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 使用此批处理文件后,转到 tools/Run manage.py 任务。在出现的 window 中这样写你的命令: makemessages -l 'fa_IR' 有关详细信息,请参阅: [1] https://www.jetbrains.com/help/idea/creating-message-files.html [2] https://silverspringenergy.com/using-pycharm-as-an-ide-for-qgis-3-plugin-development-2/