代码之家  ›  专栏  ›  技术社区  ›  NBajanca

如何在windows上安装gnugettext(>0.15)?所以我可以制作.po/。Django中的mo文件

  •  13
  • NBajanca  · 技术社区  · 8 年前

    运行时 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。在哪里可以找到最新版本,如何安装?

    6 回复  |  直到 8 年前
        1
  •  23
  •   NBajanca    8 年前

    Django从最近的文档中删除了此解释,我花了一些时间才找到它,因此我在旧文档脱机之前将其粘贴到了这里:

    资料来源: Django Docs 1.7

    从下载以下zip文件 GNOME servers

    • gettext-runtime-X.zip格式
    • gettext-tools-X.zip

    X是版本号(需要为0.15或更高)

    提取 bin\ 将两个文件中的目录放到系统上的同一文件夹中(即。 C:\Program Files\gettext-utils )

    更新系统路径:

    Control Panel > System > Advanced > Environment Variables

    在“系统变量”列表中,单击“路径”,单击“编辑”,然后单击“新建”。 添加 C:\Program Files\gettext-utils\bin 价值

    只要xgettext--version命令工作正常,您还可以使用在其他地方获得的gettext二进制文件。如果在Windows命令提示符下输入的命令xgettext--version导致弹出窗口显示xgettext,请不要尝试将Django翻译实用程序与gettext包一起使用。exe已生成错误,将由Windows关闭。

    在做了这些之后,我测试并 ./manage.py makemessages -l pt 作品

        2
  •  15
  •   Искрен Станиславов Bruno Lucena    7 年前

    最简单的方法是下载 precompiled binary installer 。下载“静态”风格的操作系统(32位或64位),然后简单运行安装程序。

    更新系统路径:

    Control Panel > System > Advanced > Environment Variables

    在“系统变量”列表中,单击“路径”,单击“编辑”,然后单击“新建”。 添加 C:\Program Files\gettext-iconv\bin 价值

    "manage makemessages -l de".

    您可能需要配置存储翻译的路径。在项目目录中创建一个名为“locale”的目录,并将其指向settings.py

    还请确保在设置中设置本地路径。py文件:

    LOCALE_PATHS = (
        BASE_DIR + 'locale/', )
    
        3
  •  2
  •   Peter M    6 年前

    我也有同样的问题。之后,我下载并安装了这个,一切正常。 https://mlocati.github.io/articles/gettext-iconv-windows.html .

        4
  •  2
  •   David Louda    4 年前

    其中一种可能性是,在您成功完成上述所有工作并完成之后

    pip install python-gettext
    

    您可能没有正确配置IDE或venv。为了绕过这个问题,请转到命令提示符,导航到根文件夹并运行 py manage.py makemessages 从那里开始。它会起作用的。

        5
  •  0
  •   Damir Čičić    5 年前

    在提取相关文件并将其位置添加到路径后,我仍然遇到了相同的问题。但是,然后我在命令提示符下运行了django admin makemessages-l sr Latn命令,而不是powershell,它工作了。更准确地说,我首先收到libstdc++-6.dll丢失的通知,然后将其安装到相关目录中,如下所述 https://www.dll-files.com/support/#200924305 ,它奏效了。

        6
  •  0
  •   user3786145    4 年前

    谢谢你分享你的经历。 最好的答案是 https://stackoverflow.com/a/45574890/3786145 . 经过许多努力后,值得一提的是: 如果您想在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任务。在出现的窗口中,如下所示编写命令: 生成消息-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/