Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b70e325c authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

kconfig: fix update-po-config



Massimo Maiurana <maiurana@gmail.com> reported that
update-po-config was broken:
1) spelling errors in Makefile so arch/um failed
2) UTF-8 was not supported

The following patch address the above problems.
kxgettext now append the output to the .pot file
generated by xgettext - so we have a header.
In all places UFT-8 is specifed so we now flawlessly
support UTF-8.
The Kconfig files had an empty string in a few cases -
these are now supressed in kxgettext.

With this the translators can now pick up where they left
and get it all translated.
There are ~11000 strings to be translated...

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc:  Massimo Maiurana <maiurana@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
parent 4c6f2eb9
Loading
Loading
Loading
Loading
+18 −17
Original line number Diff line number Diff line
@@ -22,24 +22,25 @@ oldconfig: $(obj)/conf
silentoldconfig: $(obj)/conf
	$< -s arch/$(ARCH)/Kconfig

# Create new linux.po file
# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
# The symlink is used to repair a deficiency in arch/um
update-po-config: $(obj)/kxgettext
	xgettext --default-domain=linux                  \
	    --add-comments --keyword=_ --keyword=N_      \
	    --from-code=UTF-8                            \
	    --files-from=scripts/kconfig/POTFILES.in     \
          --output scripts/kconfig/config.pot
	$(Q)ln -fs Kconfig_i386 arch/um/Kconfig_arch
	$(Q)for i in `ls arch/`; \
	    --output $(obj)/config.pot
	$(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
	$(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch
	(for i in `ls arch/`;                            \
	do                                               \
	  scripts/kconfig/kxgettext arch/$$i/Kconfig \
	    | msguniq -o scripts/kconfig/linux_$${i}.pot; \
	done
	$(Q)msgcat scripts/kconfig/config.pot \
	  `find scripts/kconfig/ -type f -name linux_*.pot` \
	  --output scripts/kconfig/linux_raw.pot
	$(Q)msguniq --sort-by-file scripts/kconfig/linux_raw.pot \
	    --output scripts/kconfig/linux.pot
	$(Q)rm -f arch/um/Kconfig_arch
	$(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot
	    $(obj)/kxgettext arch/$$i/Kconfig;           \
	done ) >> $(obj)/config.pot
	msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
	    --output $(obj)/linux.pot
	$(Q)rm -f arch/um/Kconfig.arch
	$(Q)rm -f $(obj)/config.pot

PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig

+3 −1
Original line number Diff line number Diff line
@@ -212,6 +212,8 @@ void menu__xgettext(void)
	struct message *m = message__list;

	while (m != NULL) {
		/* skip empty lines ("") */
		if (strlen(m->msg) > sizeof("\"\""))
			message__print_gettext_msgid_msgstr(m);
		m = m->next;
	}