aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-06-10 14:38:27 -0400
committerSam Ravnborg <sam@ravnborg.org>2007-07-16 15:15:53 -0400
commitb70e325cfe824ea0f6a1666b8b8db986e99c9603 (patch)
tree96f4be83537b3daa37c42a96c688550c435ea13f
parent4c6f2eb979c314b6362e655f3ff15749af565f86 (diff)
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: Sam Ravnborg <sam@ravnborg.org> Cc: Massimo Maiurana <maiurana@gmail.com> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
-rw-r--r--scripts/kconfig/Makefile35
-rw-r--r--scripts/kconfig/kxgettext.c4
2 files changed, 21 insertions, 18 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index fb2bb3099dd9..8986a48c8c49 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -22,24 +22,25 @@ oldconfig: $(obj)/conf
22silentoldconfig: $(obj)/conf 22silentoldconfig: $(obj)/conf
23 $< -s arch/$(ARCH)/Kconfig 23 $< -s arch/$(ARCH)/Kconfig
24 24
25# Create new linux.po file
26# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
27# The symlink is used to repair a deficiency in arch/um
25update-po-config: $(obj)/kxgettext 28update-po-config: $(obj)/kxgettext
26 xgettext --default-domain=linux \ 29 xgettext --default-domain=linux \
27 --add-comments --keyword=_ --keyword=N_ \ 30 --add-comments --keyword=_ --keyword=N_ \
28 --files-from=scripts/kconfig/POTFILES.in \ 31 --from-code=UTF-8 \
29 --output scripts/kconfig/config.pot 32 --files-from=scripts/kconfig/POTFILES.in \
30 $(Q)ln -fs Kconfig_i386 arch/um/Kconfig_arch 33 --output $(obj)/config.pot
31 $(Q)for i in `ls arch/`; \ 34 $(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
32 do \ 35 $(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch
33 scripts/kconfig/kxgettext arch/$$i/Kconfig \ 36 (for i in `ls arch/`; \
34 | msguniq -o scripts/kconfig/linux_$${i}.pot; \ 37 do \
35 done 38 $(obj)/kxgettext arch/$$i/Kconfig; \
36 $(Q)msgcat scripts/kconfig/config.pot \ 39 done ) >> $(obj)/config.pot
37 `find scripts/kconfig/ -type f -name linux_*.pot` \ 40 msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
38 --output scripts/kconfig/linux_raw.pot 41 --output $(obj)/linux.pot
39 $(Q)msguniq --sort-by-file scripts/kconfig/linux_raw.pot \ 42 $(Q)rm -f arch/um/Kconfig.arch
40 --output scripts/kconfig/linux.pot 43 $(Q)rm -f $(obj)/config.pot
41 $(Q)rm -f arch/um/Kconfig_arch
42 $(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot
43 44
44PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig 45PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig
45 46
diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c
index abee55ca6174..11f7dab94715 100644
--- a/scripts/kconfig/kxgettext.c
+++ b/scripts/kconfig/kxgettext.c
@@ -212,7 +212,9 @@ void menu__xgettext(void)
212 struct message *m = message__list; 212 struct message *m = message__list;
213 213
214 while (m != NULL) { 214 while (m != NULL) {
215 message__print_gettext_msgid_msgstr(m); 215 /* skip empty lines ("") */
216 if (strlen(m->msg) > sizeof("\"\""))
217 message__print_gettext_msgid_msgstr(m);
216 m = m->next; 218 m = m->next;
217 } 219 }
218} 220}