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

kconfig: fix update-po-config

Massimo Maiurana <> 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 <>
Cc:  Massimo Maiurana <>
Cc: Arnaldo Carvalho de Melo <>
parent 4c6f2eb9
......@@ -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_ \
--files-from=scripts/kconfig/ \
--output scripts/kconfig/config.pot
$(Q)ln -fs Kconfig_i386 arch/um/Kconfig_arch
$(Q)for i in `ls arch/`; \
do \
scripts/kconfig/kxgettext arch/$$i/Kconfig \
| msguniq -o scripts/kconfig/linux_$${i}.pot; \
$(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
xgettext --default-domain=linux \
--add-comments --keyword=_ --keyword=N_ \
--from-code=UTF-8 \
--files-from=scripts/kconfig/ \
--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 \
$(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
......@@ -212,7 +212,9 @@ void menu__xgettext(void)
struct message *m = message__list;
while (m != NULL) {
/* skip empty lines ("") */
if (strlen(m->msg) > sizeof("\"\""))
m = m->next;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment