I've pushed this. The final patches ended up with a compromise of the first patches and the second patches. That is, msgfmt --desktop has now two operation modes: iterative and bulk, to support both use-cases from the command-line and from a Makefile. See msgfmt.texi for the detail.
Also, I gave up dissecting list values, as I heard that the number of list elements are not necessarily same after translation. The update of the hello-gnome example using this will follow. Daiki Ueno (2): xgettext: Add support for Desktop Entry files msgfmt: Add support for Desktop Entry files gettext-tools/doc/msgfmt.texi | 58 ++++ gettext-tools/doc/xgettext.texi | 8 +- gettext-tools/src/Makefile.am | 9 +- gettext-tools/src/msgfmt.c | 327 +++++++++++++++++++- gettext-tools/src/read-desktop.c | 528 +++++++++++++++++++++++++++++++++ gettext-tools/src/read-desktop.h | 121 ++++++++ gettext-tools/src/write-desktop.c | 225 ++++++++++++++ gettext-tools/src/write-desktop.h | 51 ++++ gettext-tools/src/x-desktop.c | 177 +++++++++++ gettext-tools/src/x-desktop.h | 47 +++ gettext-tools/src/xgettext.c | 8 +- gettext-tools/tests/Makefile.am | 2 + gettext-tools/tests/msgfmt-desktop-1 | 85 ++++++ gettext-tools/tests/msgfmt-desktop-2 | 149 ++++++++++ gettext-tools/tests/xgettext-desktop-1 | 56 ++++ 15 files changed, 1840 insertions(+), 11 deletions(-) create mode 100644 gettext-tools/src/read-desktop.c create mode 100644 gettext-tools/src/read-desktop.h create mode 100644 gettext-tools/src/write-desktop.c create mode 100644 gettext-tools/src/write-desktop.h create mode 100644 gettext-tools/src/x-desktop.c create mode 100644 gettext-tools/src/x-desktop.h create mode 100755 gettext-tools/tests/msgfmt-desktop-1 create mode 100755 gettext-tools/tests/msgfmt-desktop-2 create mode 100755 gettext-tools/tests/xgettext-desktop-1 -- 1.8.4.2
