Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dxgettext and Windows 10

Tags:

delphi

gettext

Has anyone got dxgettext running under Windows 10?

I installed dxgettext from the offical homepage under Windows 10, which worked fine.

But whenever I try to run some of the installed tools (e.g. msgfmt.exe), they don't really run, but call themselves again, generating thousands of processes and making the system crawl.

This is what happens:

  • I call msgfmt --help
  • the executable msgfmt hangs, blocking the command window
  • in the TaskManager I see houndreds of msgfmt.exe processes popping up

I think, I have to replace the gettext tools of the dxgettext package with some newer version but before trying to figure it out I first wanted to ask if someone else experienced similar problems and found a working solution.

My questions:

Has anyone got the tools coming with dxgettext running under Windows 10?

What steps have been necessary to get it to run?

like image 581
Alois Heimer Avatar asked Oct 20 '16 19:10

Alois Heimer


People also ask

What is gettext tool?

In computing, gettext is an internationalization and localization (i18n and l10n) system commonly used for writing multilingual programs on Unix-like computer operating systems. One of the main benefits of gettext is that it separates programming from translating.


2 Answers

I resolved the problem in the following way:

  1. I downloaded https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.19.8.1-v1.14/gettext0.19.8.1-iconv1.14-static-32.zip from https://mlocati.github.io/articles/gettext-iconv-windows.html
  2. I replaced the following files from the installation directory of dxgettext with files from the zip archive:

    msgattrib.exe
    msgcat.exe
    msgcmp.exe
    msgcomm.exe
    msgconv.exe
    msgen.exe
    msgexec.exe
    msgfilter.exe
    msgfmt.exe
    msggrep.exe
    msginit.exe
    msgmerge.exe
    msgunfmt.exe
    msguniq.exe
    xgettext.exe
    

Result:

  • Dxgettext and the tools, I use, seem to work fine. I found no problems with my workflow so far, with one exception:
  • If I use assemble to embed mo-files into an exe compiled with JvGnugettext.pas, I get the following error:

    Pach code “6637DB2E-62E1-4A60-AC19-C23867046A89” was not found in .exe file. Are you sure the .exe file has been compiled with the correct libraries?

    This may not be related to the original problem. However, it is resolved by replacing the original assemble.exe with the version from https://sourceforge.net/p/dzlib/code/HEAD/tree/buildtools/trunk/ (see answer by @dummzeuch).

like image 77
Alois Heimer Avatar answered Nov 15 '22 08:11

Alois Heimer


The installer on the official home page is pretty old. Last time I looked it contained several outdated dlls and executables from the original gnugettext project that did not work correctly under recent Windows versions. You could take those from my buildtools repository on OSDN. These work for me. No guarantee that they work for you though.

https://osdn.net/projects/dzlib-tools/scm/svn/tree/head/buildtools/trunk/

like image 31
dummzeuch Avatar answered Nov 15 '22 08:11

dummzeuch