From bad2db76ff644da6cbe9e19e28e7ac3e7189edd7 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Tue, 28 Sep 2010 17:39:16 +0200 Subject: [PATCH] Install gettext-0.18.1.1.tar.gz Signed-off-by: Erik Faye-Lund --- mingw/bin/autopoint | 717 + mingw/bin/envsubst.exe | Bin 0 -> 194561 bytes mingw/bin/gettext.exe | Bin 0 -> 190842 bytes mingw/bin/gettext.sh | 123 + mingw/bin/gettextize | 1281 ++ mingw/bin/libasprintf-0.dll | Bin 0 -> 989383 bytes mingw/bin/libgettextlib-0-18-1.dll | Bin 0 -> 3272666 bytes mingw/bin/libgettextpo-0.dll | Bin 0 -> 984507 bytes mingw/bin/libgettextsrc-0-18-1.dll | Bin 0 -> 784872 bytes mingw/bin/libintl-8.dll | Bin 0 -> 293380 bytes mingw/bin/msgattrib.exe | Bin 0 -> 55199 bytes mingw/bin/msgcat.exe | Bin 0 -> 54071 bytes mingw/bin/msgcmp.exe | Bin 0 -> 66783 bytes mingw/bin/msgcomm.exe | Bin 0 -> 53694 bytes mingw/bin/msgconv.exe | Bin 0 -> 50296 bytes mingw/bin/msgen.exe | Bin 0 -> 50779 bytes mingw/bin/msgexec.exe | Bin 0 -> 46802 bytes mingw/bin/msgfilter.exe | Bin 0 -> 63567 bytes mingw/bin/msgfmt.exe | Bin 0 -> 178535 bytes mingw/bin/msggrep.exe | Bin 0 -> 303050 bytes mingw/bin/msginit.exe | Bin 0 -> 113724 bytes mingw/bin/msgmerge.exe | Bin 0 -> 123607 bytes mingw/bin/msgunfmt.exe | Bin 0 -> 95665 bytes mingw/bin/msguniq.exe | Bin 0 -> 52664 bytes mingw/bin/ngettext.exe | Bin 0 -> 190990 bytes mingw/bin/recode-sr-latin.exe | Bin 0 -> 43641 bytes mingw/bin/xgettext.exe | Bin 0 -> 955631 bytes mingw/include/autosprintf.h | 66 + mingw/include/gettext-po.h | 357 + mingw/include/libintl.h | 464 + mingw/lib/charset.alias | 2 +- mingw/lib/gettext/hostname.exe | Bin 0 -> 35945 bytes mingw/lib/gettext/project-id | 86 + mingw/lib/gettext/urlget.exe | Bin 0 -> 40842 bytes mingw/lib/gettext/user-email | 436 + mingw/lib/libasprintf.a | Bin 0 -> 82904 bytes mingw/lib/libasprintf.dll.a | Bin 0 -> 21646 bytes mingw/lib/libasprintf.la | 41 + mingw/lib/libgettextlib.dll.a | Bin 0 -> 1077114 bytes mingw/lib/libgettextlib.la | 41 + mingw/lib/libgettextpo.a | Bin 0 -> 1171414 bytes mingw/lib/libgettextpo.dll.a | Bin 0 -> 270796 bytes mingw/lib/libgettextpo.la | 41 + mingw/lib/libgettextsrc.dll.a | Bin 0 -> 134110 bytes mingw/lib/libgettextsrc.la | 41 + mingw/lib/libintl.a | Bin 0 -> 291656 bytes mingw/lib/libintl.dll.a | Bin 0 -> 54748 bytes mingw/share/aclocal/codeset.m4 | 21 + mingw/share/aclocal/fcntl-o.m4 | 81 + mingw/share/aclocal/gettext.m4 | 383 + mingw/share/aclocal/glibc2.m4 | 30 + mingw/share/aclocal/glibc21.m4 | 30 + mingw/share/aclocal/iconv.m4 | 214 + mingw/share/aclocal/intdiv0.m4 | 84 + mingw/share/aclocal/intl.m4 | 294 + mingw/share/aclocal/intldir.m4 | 19 + mingw/share/aclocal/intlmacosx.m4 | 51 + mingw/share/aclocal/intmax.m4 | 33 + mingw/share/aclocal/inttypes-pri.m4 | 36 + mingw/share/aclocal/inttypes_h.m4 | 26 + mingw/share/aclocal/lcmessage.m4 | 31 + mingw/share/aclocal/lib-ld.m4 | 110 + mingw/share/aclocal/lib-link.m4 | 774 + mingw/share/aclocal/lib-prefix.m4 | 224 + mingw/share/aclocal/lock.m4 | 37 + mingw/share/aclocal/longlong.m4 | 106 + mingw/share/aclocal/nls.m4 | 32 + mingw/share/aclocal/po.m4 | 449 + mingw/share/aclocal/printf-posix.m4 | 45 + mingw/share/aclocal/progtest.m4 | 92 + mingw/share/aclocal/size_max.m4 | 75 + mingw/share/aclocal/stdint_h.m4 | 26 + mingw/share/aclocal/threadlib.m4 | 347 + mingw/share/aclocal/uintmax_t.m4 | 30 + mingw/share/aclocal/visibility.m4 | 74 + mingw/share/aclocal/wchar_t.m4 | 20 + mingw/share/aclocal/wint_t.m4 | 28 + mingw/share/aclocal/xsize.m4 | 13 + mingw/share/doc/gettext/FAQ.html | 843 + mingw/share/doc/gettext/autopoint.1.html | 189 + .../doc/gettext/bind_textdomain_codeset.3.html | 165 + mingw/share/doc/gettext/bindtextdomain.3.html | 160 + mingw/share/doc/gettext/csharpdoc/GNU_Gettext.html | 8 + .../GNU_Gettext_GettextResourceManager.html | 305 + .../csharpdoc/GNU_Gettext_GettextResourceSet.html | 356 + mingw/share/doc/gettext/csharpdoc/begin.html | 11 + mingw/share/doc/gettext/csharpdoc/index.html | 10 + mingw/share/doc/gettext/csharpdoc/namespaces.html | 6 + mingw/share/doc/gettext/envsubst.1.html | 213 + mingw/share/doc/gettext/examples/README | 49 + .../doc/gettext/examples/build-aux/csharpcomp.m4 | 78 + .../gettext/examples/build-aux/csharpcomp.sh.in | 158 + .../gettext/examples/build-aux/csharpexec-test.exe | Bin 0 -> 2560 bytes .../doc/gettext/examples/build-aux/csharpexec.m4 | 86 + .../gettext/examples/build-aux/csharpexec.sh.in | 95 + mingw/share/doc/gettext/examples/build-aux/gcj.m4 | 74 + .../doc/gettext/examples/build-aux/javacomp.m4 | 637 + .../doc/gettext/examples/build-aux/javacomp.sh.in | 75 + .../doc/gettext/examples/build-aux/javaexec.m4 | 104 + .../doc/gettext/examples/build-aux/javaexec.sh.in | 70 + .../doc/gettext/examples/hello-c++-gnome/INSTALL | 19 + .../gettext/examples/hello-c++-gnome/Makefile.am | 29 + .../gettext/examples/hello-c++-gnome/autoclean.sh | 59 + .../gettext/examples/hello-c++-gnome/autogen.sh | 29 + .../gettext/examples/hello-c++-gnome/configure.ac | 25 + .../doc/gettext/examples/hello-c++-gnome/hello.cc | 87 + .../examples/hello-c++-gnome/m4/Makefile.am | 7 + .../hello-c++-gnome/m4/gnome-gnorba-check.m4 | 35 + .../hello-c++-gnome/m4/gnome-orbit-check.m4 | 33 + .../gettext/examples/hello-c++-gnome/m4/gnome.m4 | 128 + .../gettext/examples/hello-c++-gnome/m4/gtk--.m4 | 195 + .../doc/gettext/examples/hello-c++-gnome/m4/gtk.m4 | 194 + .../gettext/examples/hello-c++-gnome/po/LINGUAS | 5 + .../gettext/examples/hello-c++-gnome/po/Makevars | 67 + .../examples/hello-c++-gnome/po/POTFILES.in | 5 + .../doc/gettext/examples/hello-c++-gnome/po/af.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/ast.po | 26 + .../doc/gettext/examples/hello-c++-gnome/po/bg.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/ca.po | 26 + .../doc/gettext/examples/hello-c++-gnome/po/de.po | 27 + .../doc/gettext/examples/hello-c++-gnome/po/el.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/eo.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/es.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/fi.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/fr.po | 26 + .../doc/gettext/examples/hello-c++-gnome/po/ga.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/hu.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/id.po | 26 + .../doc/gettext/examples/hello-c++-gnome/po/it.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/ja.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/ky.po | 27 + .../doc/gettext/examples/hello-c++-gnome/po/lv.po | 29 + .../doc/gettext/examples/hello-c++-gnome/po/ms.po | 26 + .../doc/gettext/examples/hello-c++-gnome/po/mt.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/nl.po | 27 + .../doc/gettext/examples/hello-c++-gnome/po/pl.po | 27 + .../doc/gettext/examples/hello-c++-gnome/po/pt.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/ro.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/ru.po | 27 + .../doc/gettext/examples/hello-c++-gnome/po/sk.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/sl.po | 26 + .../doc/gettext/examples/hello-c++-gnome/po/sr.po | 24 + .../doc/gettext/examples/hello-c++-gnome/po/sv.po | 24 + .../doc/gettext/examples/hello-c++-gnome/po/tr.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/uk.po | 25 + .../doc/gettext/examples/hello-c++-gnome/po/vi.po | 28 + .../gettext/examples/hello-c++-gnome/po/zh_CN.po | 25 + .../gettext/examples/hello-c++-gnome/po/zh_HK.po | 24 + .../gettext/examples/hello-c++-gnome/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-c++-kde/BUGS | 4 + .../doc/gettext/examples/hello-c++-kde/INSTALL | 13 + .../doc/gettext/examples/hello-c++-kde/Makefile.am | 56 + .../gettext/examples/hello-c++-kde/admin/ChangeLog | 761 + .../examples/hello-c++-kde/admin/Doxyfile.am | 163 + .../examples/hello-c++-kde/admin/Doxyfile.global | 950 + .../examples/hello-c++-kde/admin/Makefile.common | 34 + .../examples/hello-c++-kde/admin/acinclude.m4.in | 5395 ++++++ .../gettext/examples/hello-c++-kde/admin/am_edit | 2037 ++ .../gettext/examples/hello-c++-kde/admin/compile | 99 + .../examples/hello-c++-kde/admin/conf.change.pl | 177 + .../examples/hello-c++-kde/admin/config.guess | 1363 ++ .../gettext/examples/hello-c++-kde/admin/config.pl | 235 + .../examples/hello-c++-kde/admin/config.sub | 1470 ++ .../hello-c++-kde/admin/configure.in.bot.end | 12 + .../examples/hello-c++-kde/admin/configure.in.min | 57 + .../examples/hello-c++-kde/admin/cvs-clean.pl | 87 + .../gettext/examples/hello-c++-kde/admin/cvs.sh | 506 + .../examples/hello-c++-kde/admin/debianrules | 114 + .../gettext/examples/hello-c++-kde/admin/depcomp | 411 + .../hello-c++-kde/admin/detect-autoconf.sh | 81 + .../examples/hello-c++-kde/admin/install-sh | 251 + .../examples/hello-c++-kde/admin/libtool.m4.in | 5402 ++++++ .../gettext/examples/hello-c++-kde/admin/ltmain.sh | 5572 ++++++ .../gettext/examples/hello-c++-kde/admin/missing | 336 + .../examples/hello-c++-kde/admin/mkinstalldirs | 111 + .../gettext/examples/hello-c++-kde/admin/ylwrap | 143 + .../gettext/examples/hello-c++-kde/autoclean.sh | 66 + .../doc/gettext/examples/hello-c++-kde/autogen.sh | 48 + .../gettext/examples/hello-c++-kde/configure.in.in | 6 + .../doc/gettext/examples/hello-c++-kde/hello.cc | 73 + .../gettext/examples/hello-c++-kde/hellowindow.cc | 63 + .../gettext/examples/hello-c++-kde/hellowindow.h | 20 + .../gettext/examples/hello-c++-kde/m4/Makefile.am | 5 + .../doc/gettext/examples/hello-c++-kde/po/LINGUAS | 5 + .../doc/gettext/examples/hello-c++-kde/po/Makevars | 63 + .../gettext/examples/hello-c++-kde/po/POTFILES.in | 6 + .../doc/gettext/examples/hello-c++-kde/po/af.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/ast.po | 34 + .../doc/gettext/examples/hello-c++-kde/po/bg.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/ca.po | 34 + .../doc/gettext/examples/hello-c++-kde/po/de.po | 35 + .../doc/gettext/examples/hello-c++-kde/po/el.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/eo.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/es.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/fi.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/fr.po | 34 + .../doc/gettext/examples/hello-c++-kde/po/ga.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/hu.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/id.po | 34 + .../doc/gettext/examples/hello-c++-kde/po/it.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/ja.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/ky.po | 35 + .../doc/gettext/examples/hello-c++-kde/po/lv.po | 37 + .../doc/gettext/examples/hello-c++-kde/po/ms.po | 34 + .../doc/gettext/examples/hello-c++-kde/po/mt.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/nl.po | 35 + .../doc/gettext/examples/hello-c++-kde/po/pl.po | 35 + .../doc/gettext/examples/hello-c++-kde/po/pt.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/ro.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/ru.po | 35 + .../doc/gettext/examples/hello-c++-kde/po/sk.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/sl.po | 34 + .../doc/gettext/examples/hello-c++-kde/po/sr.po | 32 + .../doc/gettext/examples/hello-c++-kde/po/sv.po | 32 + .../doc/gettext/examples/hello-c++-kde/po/tr.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/uk.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/vi.po | 36 + .../doc/gettext/examples/hello-c++-kde/po/zh_CN.po | 33 + .../doc/gettext/examples/hello-c++-kde/po/zh_HK.po | 32 + .../doc/gettext/examples/hello-c++-kde/po/zh_TW.po | 32 + mingw/share/doc/gettext/examples/hello-c++-qt/BUGS | 3 + .../doc/gettext/examples/hello-c++-qt/INSTALL | 12 + .../doc/gettext/examples/hello-c++-qt/Makefile.am | 31 + .../doc/gettext/examples/hello-c++-qt/autoclean.sh | 31 + .../doc/gettext/examples/hello-c++-qt/autogen.sh | 44 + .../doc/gettext/examples/hello-c++-qt/configure.ac | 23 + .../doc/gettext/examples/hello-c++-qt/hello.cc | 73 + .../gettext/examples/hello-c++-qt/m4/Makefile.am | 3 + .../doc/gettext/examples/hello-c++-qt/m4/qt.m4 | 466 + .../doc/gettext/examples/hello-c++-qt/po/LINGUAS | 5 + .../gettext/examples/hello-c++-qt/po/Makefile.am | 289 + .../doc/gettext/examples/hello-c++-qt/po/af.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/ast.po | 26 + .../doc/gettext/examples/hello-c++-qt/po/bg.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/ca.po | 26 + .../doc/gettext/examples/hello-c++-qt/po/de.po | 27 + .../doc/gettext/examples/hello-c++-qt/po/el.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/eo.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/es.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/fi.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/fr.po | 26 + .../doc/gettext/examples/hello-c++-qt/po/ga.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/hu.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/id.po | 26 + .../doc/gettext/examples/hello-c++-qt/po/it.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/ja.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/ky.po | 27 + .../doc/gettext/examples/hello-c++-qt/po/lv.po | 29 + .../doc/gettext/examples/hello-c++-qt/po/ms.po | 26 + .../doc/gettext/examples/hello-c++-qt/po/mt.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/nl.po | 27 + .../doc/gettext/examples/hello-c++-qt/po/pl.po | 27 + .../doc/gettext/examples/hello-c++-qt/po/pt.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/ro.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/ru.po | 27 + .../doc/gettext/examples/hello-c++-qt/po/sk.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/sl.po | 26 + .../doc/gettext/examples/hello-c++-qt/po/sr.po | 24 + .../doc/gettext/examples/hello-c++-qt/po/sv.po | 24 + .../doc/gettext/examples/hello-c++-qt/po/tr.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/uk.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/vi.po | 28 + .../doc/gettext/examples/hello-c++-qt/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-c++-qt/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-c++-qt/po/zh_TW.po | 24 + .../gettext/examples/hello-c++-wxwidgets/INSTALL | 12 + .../examples/hello-c++-wxwidgets/Makefile.am | 31 + .../examples/hello-c++-wxwidgets/autoclean.sh | 35 + .../examples/hello-c++-wxwidgets/autogen.sh | 48 + .../examples/hello-c++-wxwidgets/configure.ac | 23 + .../gettext/examples/hello-c++-wxwidgets/hello.cc | 80 + .../examples/hello-c++-wxwidgets/m4/Makefile.am | 3 + .../examples/hello-c++-wxwidgets/m4/wxwidgets.m4 | 345 + .../examples/hello-c++-wxwidgets/po/LINGUAS | 5 + .../examples/hello-c++-wxwidgets/po/Makefile.am | 362 + .../gettext/examples/hello-c++-wxwidgets/po/af.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/ast.po | 26 + .../gettext/examples/hello-c++-wxwidgets/po/bg.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/ca.po | 26 + .../gettext/examples/hello-c++-wxwidgets/po/de.po | 27 + .../gettext/examples/hello-c++-wxwidgets/po/el.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/eo.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/es.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/fi.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/fr.po | 26 + .../gettext/examples/hello-c++-wxwidgets/po/ga.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/hu.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/id.po | 26 + .../gettext/examples/hello-c++-wxwidgets/po/it.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/ja.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/ky.po | 27 + .../gettext/examples/hello-c++-wxwidgets/po/lv.po | 29 + .../gettext/examples/hello-c++-wxwidgets/po/ms.po | 26 + .../gettext/examples/hello-c++-wxwidgets/po/mt.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/nl.po | 27 + .../gettext/examples/hello-c++-wxwidgets/po/pl.po | 27 + .../gettext/examples/hello-c++-wxwidgets/po/pt.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/ro.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/ru.po | 27 + .../gettext/examples/hello-c++-wxwidgets/po/sk.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/sl.po | 26 + .../gettext/examples/hello-c++-wxwidgets/po/sr.po | 24 + .../gettext/examples/hello-c++-wxwidgets/po/sv.po | 24 + .../gettext/examples/hello-c++-wxwidgets/po/tr.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/uk.po | 25 + .../gettext/examples/hello-c++-wxwidgets/po/vi.po | 28 + .../examples/hello-c++-wxwidgets/po/zh_CN.po | 25 + .../examples/hello-c++-wxwidgets/po/zh_HK.po | 24 + .../examples/hello-c++-wxwidgets/po/zh_TW.po | 24 + mingw/share/doc/gettext/examples/hello-c++/INSTALL | 10 + .../doc/gettext/examples/hello-c++/Makefile.am | 29 + .../doc/gettext/examples/hello-c++/autoclean.sh | 62 + .../doc/gettext/examples/hello-c++/autogen.sh | 48 + .../doc/gettext/examples/hello-c++/configure.ac | 19 + .../share/doc/gettext/examples/hello-c++/hello.cc | 43 + .../doc/gettext/examples/hello-c++/m4/Makefile.am | 5 + .../doc/gettext/examples/hello-c++/po/LINGUAS | 5 + .../doc/gettext/examples/hello-c++/po/Makevars | 56 + .../doc/gettext/examples/hello-c++/po/POTFILES.in | 5 + .../share/doc/gettext/examples/hello-c++/po/af.po | 25 + .../share/doc/gettext/examples/hello-c++/po/ast.po | 26 + .../share/doc/gettext/examples/hello-c++/po/bg.po | 25 + .../share/doc/gettext/examples/hello-c++/po/ca.po | 26 + .../share/doc/gettext/examples/hello-c++/po/de.po | 27 + .../share/doc/gettext/examples/hello-c++/po/el.po | 25 + .../share/doc/gettext/examples/hello-c++/po/eo.po | 25 + .../share/doc/gettext/examples/hello-c++/po/es.po | 25 + .../share/doc/gettext/examples/hello-c++/po/fi.po | 25 + .../share/doc/gettext/examples/hello-c++/po/fr.po | 26 + .../share/doc/gettext/examples/hello-c++/po/ga.po | 25 + .../share/doc/gettext/examples/hello-c++/po/hu.po | 25 + .../share/doc/gettext/examples/hello-c++/po/id.po | 26 + .../share/doc/gettext/examples/hello-c++/po/it.po | 25 + .../share/doc/gettext/examples/hello-c++/po/ja.po | 25 + .../share/doc/gettext/examples/hello-c++/po/ky.po | 27 + .../share/doc/gettext/examples/hello-c++/po/lv.po | 29 + .../share/doc/gettext/examples/hello-c++/po/ms.po | 26 + .../share/doc/gettext/examples/hello-c++/po/mt.po | 25 + .../share/doc/gettext/examples/hello-c++/po/nl.po | 27 + .../share/doc/gettext/examples/hello-c++/po/pl.po | 27 + .../share/doc/gettext/examples/hello-c++/po/pt.po | 25 + .../share/doc/gettext/examples/hello-c++/po/ro.po | 25 + .../share/doc/gettext/examples/hello-c++/po/ru.po | 27 + .../share/doc/gettext/examples/hello-c++/po/sk.po | 25 + .../share/doc/gettext/examples/hello-c++/po/sl.po | 26 + .../share/doc/gettext/examples/hello-c++/po/sr.po | 24 + .../share/doc/gettext/examples/hello-c++/po/sv.po | 24 + .../share/doc/gettext/examples/hello-c++/po/tr.po | 25 + .../share/doc/gettext/examples/hello-c++/po/uk.po | 25 + .../share/doc/gettext/examples/hello-c++/po/vi.po | 28 + .../doc/gettext/examples/hello-c++/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-c++/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-c++/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-c-gnome/INSTALL | 16 + .../doc/gettext/examples/hello-c-gnome/Makefile.am | 29 + .../gettext/examples/hello-c-gnome/autoclean.sh | 59 + .../doc/gettext/examples/hello-c-gnome/autogen.sh | 29 + .../gettext/examples/hello-c-gnome/configure.ac | 19 + .../doc/gettext/examples/hello-c-gnome/hello.c | 87 + .../gettext/examples/hello-c-gnome/m4/Makefile.am | 6 + .../hello-c-gnome/m4/gnome-gnorba-check.m4 | 35 + .../examples/hello-c-gnome/m4/gnome-orbit-check.m4 | 33 + .../doc/gettext/examples/hello-c-gnome/m4/gnome.m4 | 128 + .../doc/gettext/examples/hello-c-gnome/po/LINGUAS | 5 + .../doc/gettext/examples/hello-c-gnome/po/Makevars | 67 + .../gettext/examples/hello-c-gnome/po/POTFILES.in | 5 + .../doc/gettext/examples/hello-c-gnome/po/af.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/ast.po | 26 + .../doc/gettext/examples/hello-c-gnome/po/bg.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/ca.po | 26 + .../doc/gettext/examples/hello-c-gnome/po/de.po | 27 + .../doc/gettext/examples/hello-c-gnome/po/el.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/eo.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/es.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/fi.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/fr.po | 26 + .../doc/gettext/examples/hello-c-gnome/po/ga.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/hu.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/id.po | 26 + .../doc/gettext/examples/hello-c-gnome/po/it.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/ja.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/ky.po | 27 + .../doc/gettext/examples/hello-c-gnome/po/lv.po | 29 + .../doc/gettext/examples/hello-c-gnome/po/ms.po | 26 + .../doc/gettext/examples/hello-c-gnome/po/mt.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/nl.po | 27 + .../doc/gettext/examples/hello-c-gnome/po/pl.po | 27 + .../doc/gettext/examples/hello-c-gnome/po/pt.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/ro.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/ru.po | 27 + .../doc/gettext/examples/hello-c-gnome/po/sk.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/sl.po | 26 + .../doc/gettext/examples/hello-c-gnome/po/sr.po | 24 + .../doc/gettext/examples/hello-c-gnome/po/sv.po | 24 + .../doc/gettext/examples/hello-c-gnome/po/tr.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/uk.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/vi.po | 28 + .../doc/gettext/examples/hello-c-gnome/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-c-gnome/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-c-gnome/po/zh_TW.po | 24 + mingw/share/doc/gettext/examples/hello-c/INSTALL | 10 + .../share/doc/gettext/examples/hello-c/Makefile.am | 29 + .../doc/gettext/examples/hello-c/autoclean.sh | 62 + .../share/doc/gettext/examples/hello-c/autogen.sh | 50 + .../doc/gettext/examples/hello-c/configure.ac | 18 + mingw/share/doc/gettext/examples/hello-c/hello.c | 35 + .../doc/gettext/examples/hello-c/m4/Makefile.am | 5 + .../share/doc/gettext/examples/hello-c/po/LINGUAS | 5 + .../share/doc/gettext/examples/hello-c/po/Makevars | 55 + .../doc/gettext/examples/hello-c/po/POTFILES.in | 5 + mingw/share/doc/gettext/examples/hello-c/po/af.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/ast.po | 26 + mingw/share/doc/gettext/examples/hello-c/po/bg.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/ca.po | 26 + mingw/share/doc/gettext/examples/hello-c/po/de.po | 27 + mingw/share/doc/gettext/examples/hello-c/po/el.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/eo.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/es.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/fi.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/fr.po | 26 + mingw/share/doc/gettext/examples/hello-c/po/ga.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/hu.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/id.po | 26 + mingw/share/doc/gettext/examples/hello-c/po/it.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/ja.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/ky.po | 27 + mingw/share/doc/gettext/examples/hello-c/po/lv.po | 29 + mingw/share/doc/gettext/examples/hello-c/po/ms.po | 26 + mingw/share/doc/gettext/examples/hello-c/po/mt.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/nl.po | 27 + mingw/share/doc/gettext/examples/hello-c/po/pl.po | 27 + mingw/share/doc/gettext/examples/hello-c/po/pt.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/ro.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/ru.po | 27 + mingw/share/doc/gettext/examples/hello-c/po/sk.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/sl.po | 26 + mingw/share/doc/gettext/examples/hello-c/po/sr.po | 24 + mingw/share/doc/gettext/examples/hello-c/po/sv.po | 24 + mingw/share/doc/gettext/examples/hello-c/po/tr.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/uk.po | 25 + mingw/share/doc/gettext/examples/hello-c/po/vi.po | 28 + .../share/doc/gettext/examples/hello-c/po/zh_CN.po | 25 + .../share/doc/gettext/examples/hello-c/po/zh_HK.po | 24 + .../share/doc/gettext/examples/hello-c/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-clisp/INSTALL | 10 + .../doc/gettext/examples/hello-clisp/Makefile.am | 29 + .../doc/gettext/examples/hello-clisp/autoclean.sh | 29 + .../doc/gettext/examples/hello-clisp/autogen.sh | 44 + .../doc/gettext/examples/hello-clisp/configure.ac | 38 + .../doc/gettext/examples/hello-clisp/hello.lisp.in | 15 + .../gettext/examples/hello-clisp/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-clisp/po/LINGUAS | 5 + .../gettext/examples/hello-clisp/po/Makefile.am | 356 + .../doc/gettext/examples/hello-clisp/po/af.po | 25 + .../doc/gettext/examples/hello-clisp/po/ast.po | 26 + .../doc/gettext/examples/hello-clisp/po/bg.po | 25 + .../doc/gettext/examples/hello-clisp/po/ca.po | 26 + .../doc/gettext/examples/hello-clisp/po/de.po | 27 + .../doc/gettext/examples/hello-clisp/po/el.po | 25 + .../doc/gettext/examples/hello-clisp/po/eo.po | 25 + .../doc/gettext/examples/hello-clisp/po/es.po | 25 + .../doc/gettext/examples/hello-clisp/po/fi.po | 25 + .../doc/gettext/examples/hello-clisp/po/fr.po | 26 + .../doc/gettext/examples/hello-clisp/po/ga.po | 25 + .../doc/gettext/examples/hello-clisp/po/hu.po | 25 + .../doc/gettext/examples/hello-clisp/po/id.po | 26 + .../doc/gettext/examples/hello-clisp/po/it.po | 25 + .../doc/gettext/examples/hello-clisp/po/ja.po | 25 + .../doc/gettext/examples/hello-clisp/po/ky.po | 27 + .../doc/gettext/examples/hello-clisp/po/lv.po | 29 + .../doc/gettext/examples/hello-clisp/po/ms.po | 26 + .../doc/gettext/examples/hello-clisp/po/mt.po | 25 + .../doc/gettext/examples/hello-clisp/po/nl.po | 27 + .../doc/gettext/examples/hello-clisp/po/pl.po | 27 + .../doc/gettext/examples/hello-clisp/po/pt.po | 25 + .../doc/gettext/examples/hello-clisp/po/ro.po | 25 + .../doc/gettext/examples/hello-clisp/po/ru.po | 27 + .../doc/gettext/examples/hello-clisp/po/sk.po | 25 + .../doc/gettext/examples/hello-clisp/po/sl.po | 26 + .../doc/gettext/examples/hello-clisp/po/sr.po | 24 + .../doc/gettext/examples/hello-clisp/po/sv.po | 24 + .../doc/gettext/examples/hello-clisp/po/tr.po | 25 + .../doc/gettext/examples/hello-clisp/po/uk.po | 25 + .../doc/gettext/examples/hello-clisp/po/vi.po | 28 + .../doc/gettext/examples/hello-clisp/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-clisp/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-clisp/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-csharp-forms/BUGS | 2 + .../gettext/examples/hello-csharp-forms/INSTALL | 11 + .../examples/hello-csharp-forms/Makefile.am | 74 + .../doc/gettext/examples/hello-csharp-forms/README | 81 + .../examples/hello-csharp-forms/autoclean.sh | 39 + .../gettext/examples/hello-csharp-forms/autogen.sh | 48 + .../examples/hello-csharp-forms/configure.ac | 52 + .../gettext/examples/hello-csharp-forms/hello.cs | 81 + .../examples/hello-csharp-forms/m4/Makefile.am | 3 + .../gettext/examples/hello-csharp-forms/po/LINGUAS | 5 + .../examples/hello-csharp-forms/po/Makefile.am | 280 + .../gettext/examples/hello-csharp-forms/po/af.po | 25 + .../gettext/examples/hello-csharp-forms/po/ast.po | 26 + .../gettext/examples/hello-csharp-forms/po/bg.po | 25 + .../gettext/examples/hello-csharp-forms/po/ca.po | 26 + .../gettext/examples/hello-csharp-forms/po/de.po | 27 + .../gettext/examples/hello-csharp-forms/po/el.po | 25 + .../gettext/examples/hello-csharp-forms/po/eo.po | 25 + .../gettext/examples/hello-csharp-forms/po/es.po | 25 + .../gettext/examples/hello-csharp-forms/po/fi.po | 25 + .../gettext/examples/hello-csharp-forms/po/fr.po | 26 + .../gettext/examples/hello-csharp-forms/po/ga.po | 25 + .../gettext/examples/hello-csharp-forms/po/hu.po | 25 + .../gettext/examples/hello-csharp-forms/po/id.po | 26 + .../gettext/examples/hello-csharp-forms/po/it.po | 25 + .../gettext/examples/hello-csharp-forms/po/ja.po | 25 + .../gettext/examples/hello-csharp-forms/po/ky.po | 27 + .../gettext/examples/hello-csharp-forms/po/lv.po | 29 + .../gettext/examples/hello-csharp-forms/po/ms.po | 26 + .../gettext/examples/hello-csharp-forms/po/mt.po | 25 + .../gettext/examples/hello-csharp-forms/po/nl.po | 27 + .../gettext/examples/hello-csharp-forms/po/pl.po | 27 + .../gettext/examples/hello-csharp-forms/po/pt.po | 25 + .../gettext/examples/hello-csharp-forms/po/ro.po | 25 + .../gettext/examples/hello-csharp-forms/po/ru.po | 27 + .../gettext/examples/hello-csharp-forms/po/sk.po | 25 + .../gettext/examples/hello-csharp-forms/po/sl.po | 26 + .../gettext/examples/hello-csharp-forms/po/sr.po | 24 + .../gettext/examples/hello-csharp-forms/po/sv.po | 24 + .../gettext/examples/hello-csharp-forms/po/tr.po | 25 + .../gettext/examples/hello-csharp-forms/po/uk.po | 25 + .../gettext/examples/hello-csharp-forms/po/vi.po | 28 + .../examples/hello-csharp-forms/po/zh_CN.po | 25 + .../examples/hello-csharp-forms/po/zh_HK.po | 24 + .../examples/hello-csharp-forms/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-csharp/INSTALL | 11 + .../doc/gettext/examples/hello-csharp/Makefile.am | 74 + .../doc/gettext/examples/hello-csharp/autoclean.sh | 39 + .../doc/gettext/examples/hello-csharp/autogen.sh | 48 + .../doc/gettext/examples/hello-csharp/configure.ac | 52 + .../doc/gettext/examples/hello-csharp/hello.cs | 20 + .../gettext/examples/hello-csharp/m4/Makefile.am | 3 + .../doc/gettext/examples/hello-csharp/po/LINGUAS | 5 + .../gettext/examples/hello-csharp/po/Makefile.am | 280 + .../doc/gettext/examples/hello-csharp/po/af.po | 25 + .../doc/gettext/examples/hello-csharp/po/ast.po | 26 + .../doc/gettext/examples/hello-csharp/po/bg.po | 25 + .../doc/gettext/examples/hello-csharp/po/ca.po | 26 + .../doc/gettext/examples/hello-csharp/po/de.po | 27 + .../doc/gettext/examples/hello-csharp/po/el.po | 25 + .../doc/gettext/examples/hello-csharp/po/eo.po | 25 + .../doc/gettext/examples/hello-csharp/po/es.po | 25 + .../doc/gettext/examples/hello-csharp/po/fi.po | 25 + .../doc/gettext/examples/hello-csharp/po/fr.po | 26 + .../doc/gettext/examples/hello-csharp/po/ga.po | 25 + .../doc/gettext/examples/hello-csharp/po/hu.po | 25 + .../doc/gettext/examples/hello-csharp/po/id.po | 26 + .../doc/gettext/examples/hello-csharp/po/it.po | 25 + .../doc/gettext/examples/hello-csharp/po/ja.po | 25 + .../doc/gettext/examples/hello-csharp/po/ky.po | 27 + .../doc/gettext/examples/hello-csharp/po/lv.po | 29 + .../doc/gettext/examples/hello-csharp/po/ms.po | 26 + .../doc/gettext/examples/hello-csharp/po/mt.po | 25 + .../doc/gettext/examples/hello-csharp/po/nl.po | 27 + .../doc/gettext/examples/hello-csharp/po/pl.po | 27 + .../doc/gettext/examples/hello-csharp/po/pt.po | 25 + .../doc/gettext/examples/hello-csharp/po/ro.po | 25 + .../doc/gettext/examples/hello-csharp/po/ru.po | 27 + .../doc/gettext/examples/hello-csharp/po/sk.po | 25 + .../doc/gettext/examples/hello-csharp/po/sl.po | 26 + .../doc/gettext/examples/hello-csharp/po/sr.po | 24 + .../doc/gettext/examples/hello-csharp/po/sv.po | 24 + .../doc/gettext/examples/hello-csharp/po/tr.po | 25 + .../doc/gettext/examples/hello-csharp/po/uk.po | 25 + .../doc/gettext/examples/hello-csharp/po/vi.po | 28 + .../doc/gettext/examples/hello-csharp/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-csharp/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-csharp/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-gawk/INSTALL | 10 + .../doc/gettext/examples/hello-gawk/Makefile.am | 17 + .../doc/gettext/examples/hello-gawk/autoclean.sh | 29 + .../doc/gettext/examples/hello-gawk/autogen.sh | 44 + .../doc/gettext/examples/hello-gawk/configure.ac | 39 + .../doc/gettext/examples/hello-gawk/hello.awk | 14 + .../doc/gettext/examples/hello-gawk/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-gawk/po/LINGUAS | 5 + .../doc/gettext/examples/hello-gawk/po/Makefile.am | 356 + .../share/doc/gettext/examples/hello-gawk/po/af.po | 25 + .../doc/gettext/examples/hello-gawk/po/ast.po | 26 + .../share/doc/gettext/examples/hello-gawk/po/bg.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/ca.po | 26 + .../share/doc/gettext/examples/hello-gawk/po/de.po | 27 + .../share/doc/gettext/examples/hello-gawk/po/el.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/eo.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/es.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/fi.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/fr.po | 26 + .../share/doc/gettext/examples/hello-gawk/po/ga.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/hu.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/id.po | 26 + .../share/doc/gettext/examples/hello-gawk/po/it.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/ja.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/ky.po | 27 + .../share/doc/gettext/examples/hello-gawk/po/lv.po | 29 + .../share/doc/gettext/examples/hello-gawk/po/ms.po | 26 + .../share/doc/gettext/examples/hello-gawk/po/mt.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/nl.po | 27 + .../share/doc/gettext/examples/hello-gawk/po/pl.po | 27 + .../share/doc/gettext/examples/hello-gawk/po/pt.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/ro.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/ru.po | 27 + .../share/doc/gettext/examples/hello-gawk/po/sk.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/sl.po | 26 + .../share/doc/gettext/examples/hello-gawk/po/sr.po | 24 + .../share/doc/gettext/examples/hello-gawk/po/sv.po | 24 + .../share/doc/gettext/examples/hello-gawk/po/tr.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/uk.po | 25 + .../share/doc/gettext/examples/hello-gawk/po/vi.po | 28 + .../doc/gettext/examples/hello-gawk/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-gawk/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-gawk/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-guile/INSTALL | 10 + .../doc/gettext/examples/hello-guile/Makefile.am | 17 + .../doc/gettext/examples/hello-guile/autoclean.sh | 29 + .../doc/gettext/examples/hello-guile/autogen.sh | 44 + .../doc/gettext/examples/hello-guile/configure.ac | 39 + .../doc/gettext/examples/hello-guile/hello.scm | 18 + .../gettext/examples/hello-guile/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-guile/po/LINGUAS | 5 + .../gettext/examples/hello-guile/po/Makefile.am | 356 + .../doc/gettext/examples/hello-guile/po/af.po | 25 + .../doc/gettext/examples/hello-guile/po/ast.po | 26 + .../doc/gettext/examples/hello-guile/po/bg.po | 25 + .../doc/gettext/examples/hello-guile/po/ca.po | 26 + .../doc/gettext/examples/hello-guile/po/de.po | 27 + .../doc/gettext/examples/hello-guile/po/el.po | 25 + .../doc/gettext/examples/hello-guile/po/eo.po | 25 + .../doc/gettext/examples/hello-guile/po/es.po | 25 + .../doc/gettext/examples/hello-guile/po/fi.po | 25 + .../doc/gettext/examples/hello-guile/po/fr.po | 26 + .../doc/gettext/examples/hello-guile/po/ga.po | 25 + .../doc/gettext/examples/hello-guile/po/hu.po | 25 + .../doc/gettext/examples/hello-guile/po/id.po | 26 + .../doc/gettext/examples/hello-guile/po/it.po | 25 + .../doc/gettext/examples/hello-guile/po/ja.po | 25 + .../doc/gettext/examples/hello-guile/po/ky.po | 27 + .../doc/gettext/examples/hello-guile/po/lv.po | 29 + .../doc/gettext/examples/hello-guile/po/ms.po | 26 + .../doc/gettext/examples/hello-guile/po/mt.po | 25 + .../doc/gettext/examples/hello-guile/po/nl.po | 27 + .../doc/gettext/examples/hello-guile/po/pl.po | 27 + .../doc/gettext/examples/hello-guile/po/pt.po | 25 + .../doc/gettext/examples/hello-guile/po/ro.po | 25 + .../doc/gettext/examples/hello-guile/po/ru.po | 27 + .../doc/gettext/examples/hello-guile/po/sk.po | 25 + .../doc/gettext/examples/hello-guile/po/sl.po | 26 + .../doc/gettext/examples/hello-guile/po/sr.po | 24 + .../doc/gettext/examples/hello-guile/po/sv.po | 24 + .../doc/gettext/examples/hello-guile/po/tr.po | 25 + .../doc/gettext/examples/hello-guile/po/uk.po | 25 + .../doc/gettext/examples/hello-guile/po/vi.po | 28 + .../doc/gettext/examples/hello-guile/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-guile/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-guile/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-java-awt/BUGS | 5 + .../doc/gettext/examples/hello-java-awt/Hello.java | 66 + .../doc/gettext/examples/hello-java-awt/INSTALL | 11 + .../gettext/examples/hello-java-awt/Makefile.am | 165 + .../gettext/examples/hello-java-awt/autoclean.sh | 36 + .../doc/gettext/examples/hello-java-awt/autogen.sh | 47 + .../gettext/examples/hello-java-awt/configure.ac | 67 + .../gettext/examples/hello-java-awt/m4/Makefile.am | 3 + .../examples/hello-java-awt/m4/TestAWT.class | Bin 0 -> 449 bytes .../examples/hello-java-awt/m4/TestAWT.java | 11 + .../doc/gettext/examples/hello-java-awt/po/LINGUAS | 5 + .../gettext/examples/hello-java-awt/po/Makefile.am | 271 + .../doc/gettext/examples/hello-java-awt/po/af.po | 25 + .../doc/gettext/examples/hello-java-awt/po/ast.po | 26 + .../doc/gettext/examples/hello-java-awt/po/bg.po | 25 + .../doc/gettext/examples/hello-java-awt/po/ca.po | 26 + .../doc/gettext/examples/hello-java-awt/po/de.po | 27 + .../doc/gettext/examples/hello-java-awt/po/el.po | 25 + .../doc/gettext/examples/hello-java-awt/po/eo.po | 25 + .../doc/gettext/examples/hello-java-awt/po/es.po | 25 + .../doc/gettext/examples/hello-java-awt/po/fi.po | 25 + .../doc/gettext/examples/hello-java-awt/po/fr.po | 26 + .../doc/gettext/examples/hello-java-awt/po/ga.po | 25 + .../doc/gettext/examples/hello-java-awt/po/hu.po | 25 + .../doc/gettext/examples/hello-java-awt/po/id.po | 26 + .../doc/gettext/examples/hello-java-awt/po/it.po | 25 + .../doc/gettext/examples/hello-java-awt/po/ja.po | 25 + .../doc/gettext/examples/hello-java-awt/po/ky.po | 27 + .../doc/gettext/examples/hello-java-awt/po/lv.po | 29 + .../doc/gettext/examples/hello-java-awt/po/ms.po | 26 + .../doc/gettext/examples/hello-java-awt/po/mt.po | 25 + .../doc/gettext/examples/hello-java-awt/po/nl.po | 27 + .../doc/gettext/examples/hello-java-awt/po/pl.po | 27 + .../doc/gettext/examples/hello-java-awt/po/pt.po | 25 + .../doc/gettext/examples/hello-java-awt/po/ro.po | 25 + .../doc/gettext/examples/hello-java-awt/po/ru.po | 27 + .../doc/gettext/examples/hello-java-awt/po/sk.po | 25 + .../doc/gettext/examples/hello-java-awt/po/sl.po | 26 + .../doc/gettext/examples/hello-java-awt/po/sr.po | 24 + .../doc/gettext/examples/hello-java-awt/po/sv.po | 24 + .../doc/gettext/examples/hello-java-awt/po/tr.po | 25 + .../doc/gettext/examples/hello-java-awt/po/uk.po | 25 + .../doc/gettext/examples/hello-java-awt/po/vi.po | 28 + .../gettext/examples/hello-java-awt/po/zh_CN.po | 25 + .../gettext/examples/hello-java-awt/po/zh_HK.po | 24 + .../gettext/examples/hello-java-awt/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-java-qtjambi/BUGS | 2 + .../gettext/examples/hello-java-qtjambi/Hello.java | 73 + .../gettext/examples/hello-java-qtjambi/INSTALL | 17 + .../examples/hello-java-qtjambi/Makefile.am | 165 + .../examples/hello-java-qtjambi/autoclean.sh | 36 + .../gettext/examples/hello-java-qtjambi/autogen.sh | 47 + .../examples/hello-java-qtjambi/configure.ac | 69 + .../examples/hello-java-qtjambi/m4/Makefile.am | 3 + .../examples/hello-java-qtjambi/m4/Test15.class | Bin 0 -> 1125 bytes .../examples/hello-java-qtjambi/m4/Test15.java | 26 + .../gettext/examples/hello-java-qtjambi/po/LINGUAS | 5 + .../examples/hello-java-qtjambi/po/Makefile.am | 271 + .../gettext/examples/hello-java-qtjambi/po/af.po | 25 + .../gettext/examples/hello-java-qtjambi/po/ast.po | 26 + .../gettext/examples/hello-java-qtjambi/po/bg.po | 25 + .../gettext/examples/hello-java-qtjambi/po/ca.po | 26 + .../gettext/examples/hello-java-qtjambi/po/de.po | 27 + .../gettext/examples/hello-java-qtjambi/po/el.po | 25 + .../gettext/examples/hello-java-qtjambi/po/eo.po | 25 + .../gettext/examples/hello-java-qtjambi/po/es.po | 25 + .../gettext/examples/hello-java-qtjambi/po/fi.po | 25 + .../gettext/examples/hello-java-qtjambi/po/fr.po | 26 + .../gettext/examples/hello-java-qtjambi/po/ga.po | 25 + .../gettext/examples/hello-java-qtjambi/po/hu.po | 25 + .../gettext/examples/hello-java-qtjambi/po/id.po | 26 + .../gettext/examples/hello-java-qtjambi/po/it.po | 25 + .../gettext/examples/hello-java-qtjambi/po/ja.po | 25 + .../gettext/examples/hello-java-qtjambi/po/ky.po | 27 + .../gettext/examples/hello-java-qtjambi/po/lv.po | 29 + .../gettext/examples/hello-java-qtjambi/po/ms.po | 26 + .../gettext/examples/hello-java-qtjambi/po/mt.po | 25 + .../gettext/examples/hello-java-qtjambi/po/nl.po | 27 + .../gettext/examples/hello-java-qtjambi/po/pl.po | 27 + .../gettext/examples/hello-java-qtjambi/po/pt.po | 25 + .../gettext/examples/hello-java-qtjambi/po/ro.po | 25 + .../gettext/examples/hello-java-qtjambi/po/ru.po | 27 + .../gettext/examples/hello-java-qtjambi/po/sk.po | 25 + .../gettext/examples/hello-java-qtjambi/po/sl.po | 26 + .../gettext/examples/hello-java-qtjambi/po/sr.po | 24 + .../gettext/examples/hello-java-qtjambi/po/sv.po | 24 + .../gettext/examples/hello-java-qtjambi/po/tr.po | 25 + .../gettext/examples/hello-java-qtjambi/po/uk.po | 25 + .../gettext/examples/hello-java-qtjambi/po/vi.po | 28 + .../examples/hello-java-qtjambi/po/zh_CN.po | 25 + .../examples/hello-java-qtjambi/po/zh_HK.po | 24 + .../examples/hello-java-qtjambi/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-java-swing/BUGS | 5 + .../gettext/examples/hello-java-swing/Hello.java | 63 + .../doc/gettext/examples/hello-java-swing/INSTALL | 12 + .../gettext/examples/hello-java-swing/Makefile.am | 165 + .../gettext/examples/hello-java-swing/autoclean.sh | 36 + .../gettext/examples/hello-java-swing/autogen.sh | 47 + .../gettext/examples/hello-java-swing/configure.ac | 67 + .../examples/hello-java-swing/m4/Makefile.am | 3 + .../examples/hello-java-swing/m4/TestAWT.class | Bin 0 -> 449 bytes .../examples/hello-java-swing/m4/TestAWT.java | 11 + .../gettext/examples/hello-java-swing/po/LINGUAS | 5 + .../examples/hello-java-swing/po/Makefile.am | 271 + .../doc/gettext/examples/hello-java-swing/po/af.po | 25 + .../gettext/examples/hello-java-swing/po/ast.po | 26 + .../doc/gettext/examples/hello-java-swing/po/bg.po | 25 + .../doc/gettext/examples/hello-java-swing/po/ca.po | 26 + .../doc/gettext/examples/hello-java-swing/po/de.po | 27 + .../doc/gettext/examples/hello-java-swing/po/el.po | 25 + .../doc/gettext/examples/hello-java-swing/po/eo.po | 25 + .../doc/gettext/examples/hello-java-swing/po/es.po | 25 + .../doc/gettext/examples/hello-java-swing/po/fi.po | 25 + .../doc/gettext/examples/hello-java-swing/po/fr.po | 26 + .../doc/gettext/examples/hello-java-swing/po/ga.po | 25 + .../doc/gettext/examples/hello-java-swing/po/hu.po | 25 + .../doc/gettext/examples/hello-java-swing/po/id.po | 26 + .../doc/gettext/examples/hello-java-swing/po/it.po | 25 + .../doc/gettext/examples/hello-java-swing/po/ja.po | 25 + .../doc/gettext/examples/hello-java-swing/po/ky.po | 27 + .../doc/gettext/examples/hello-java-swing/po/lv.po | 29 + .../doc/gettext/examples/hello-java-swing/po/ms.po | 26 + .../doc/gettext/examples/hello-java-swing/po/mt.po | 25 + .../doc/gettext/examples/hello-java-swing/po/nl.po | 27 + .../doc/gettext/examples/hello-java-swing/po/pl.po | 27 + .../doc/gettext/examples/hello-java-swing/po/pt.po | 25 + .../doc/gettext/examples/hello-java-swing/po/ro.po | 25 + .../doc/gettext/examples/hello-java-swing/po/ru.po | 27 + .../doc/gettext/examples/hello-java-swing/po/sk.po | 25 + .../doc/gettext/examples/hello-java-swing/po/sl.po | 26 + .../doc/gettext/examples/hello-java-swing/po/sr.po | 24 + .../doc/gettext/examples/hello-java-swing/po/sv.po | 24 + .../doc/gettext/examples/hello-java-swing/po/tr.po | 25 + .../doc/gettext/examples/hello-java-swing/po/uk.po | 25 + .../doc/gettext/examples/hello-java-swing/po/vi.po | 28 + .../gettext/examples/hello-java-swing/po/zh_CN.po | 25 + .../gettext/examples/hello-java-swing/po/zh_HK.po | 24 + .../gettext/examples/hello-java-swing/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-java/Hello.java | 37 + .../share/doc/gettext/examples/hello-java/INSTALL | 11 + .../doc/gettext/examples/hello-java/Makefile.am | 165 + .../doc/gettext/examples/hello-java/autoclean.sh | 36 + .../doc/gettext/examples/hello-java/autogen.sh | 47 + .../doc/gettext/examples/hello-java/configure.ac | 67 + .../doc/gettext/examples/hello-java/m4/Makefile.am | 3 + .../doc/gettext/examples/hello-java/po/LINGUAS | 5 + .../doc/gettext/examples/hello-java/po/Makefile.am | 271 + .../share/doc/gettext/examples/hello-java/po/af.po | 25 + .../doc/gettext/examples/hello-java/po/ast.po | 26 + .../share/doc/gettext/examples/hello-java/po/bg.po | 25 + .../share/doc/gettext/examples/hello-java/po/ca.po | 26 + .../share/doc/gettext/examples/hello-java/po/de.po | 27 + .../share/doc/gettext/examples/hello-java/po/el.po | 25 + .../share/doc/gettext/examples/hello-java/po/eo.po | 25 + .../share/doc/gettext/examples/hello-java/po/es.po | 25 + .../share/doc/gettext/examples/hello-java/po/fi.po | 25 + .../share/doc/gettext/examples/hello-java/po/fr.po | 26 + .../share/doc/gettext/examples/hello-java/po/ga.po | 25 + .../share/doc/gettext/examples/hello-java/po/hu.po | 25 + .../share/doc/gettext/examples/hello-java/po/id.po | 26 + .../share/doc/gettext/examples/hello-java/po/it.po | 25 + .../share/doc/gettext/examples/hello-java/po/ja.po | 25 + .../share/doc/gettext/examples/hello-java/po/ky.po | 27 + .../share/doc/gettext/examples/hello-java/po/lv.po | 29 + .../share/doc/gettext/examples/hello-java/po/ms.po | 26 + .../share/doc/gettext/examples/hello-java/po/mt.po | 25 + .../share/doc/gettext/examples/hello-java/po/nl.po | 27 + .../share/doc/gettext/examples/hello-java/po/pl.po | 27 + .../share/doc/gettext/examples/hello-java/po/pt.po | 25 + .../share/doc/gettext/examples/hello-java/po/ro.po | 25 + .../share/doc/gettext/examples/hello-java/po/ru.po | 27 + .../share/doc/gettext/examples/hello-java/po/sk.po | 25 + .../share/doc/gettext/examples/hello-java/po/sl.po | 26 + .../share/doc/gettext/examples/hello-java/po/sr.po | 24 + .../share/doc/gettext/examples/hello-java/po/sv.po | 24 + .../share/doc/gettext/examples/hello-java/po/tr.po | 25 + .../share/doc/gettext/examples/hello-java/po/uk.po | 25 + .../share/doc/gettext/examples/hello-java/po/vi.po | 28 + .../doc/gettext/examples/hello-java/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-java/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-java/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-librep/INSTALL | 10 + .../doc/gettext/examples/hello-librep/Makefile.am | 29 + .../doc/gettext/examples/hello-librep/autoclean.sh | 29 + .../doc/gettext/examples/hello-librep/autogen.sh | 44 + .../doc/gettext/examples/hello-librep/configure.ac | 38 + .../doc/gettext/examples/hello-librep/hello.jl.in | 16 + .../gettext/examples/hello-librep/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-librep/po/LINGUAS | 5 + .../gettext/examples/hello-librep/po/Makefile.am | 356 + .../doc/gettext/examples/hello-librep/po/af.po | 25 + .../doc/gettext/examples/hello-librep/po/ast.po | 26 + .../doc/gettext/examples/hello-librep/po/bg.po | 25 + .../doc/gettext/examples/hello-librep/po/ca.po | 26 + .../doc/gettext/examples/hello-librep/po/de.po | 27 + .../doc/gettext/examples/hello-librep/po/el.po | 25 + .../doc/gettext/examples/hello-librep/po/eo.po | 25 + .../doc/gettext/examples/hello-librep/po/es.po | 25 + .../doc/gettext/examples/hello-librep/po/fi.po | 25 + .../doc/gettext/examples/hello-librep/po/fr.po | 26 + .../doc/gettext/examples/hello-librep/po/ga.po | 25 + .../doc/gettext/examples/hello-librep/po/hu.po | 25 + .../doc/gettext/examples/hello-librep/po/id.po | 26 + .../doc/gettext/examples/hello-librep/po/it.po | 25 + .../doc/gettext/examples/hello-librep/po/ja.po | 25 + .../doc/gettext/examples/hello-librep/po/ky.po | 27 + .../doc/gettext/examples/hello-librep/po/lv.po | 29 + .../doc/gettext/examples/hello-librep/po/ms.po | 26 + .../doc/gettext/examples/hello-librep/po/mt.po | 25 + .../doc/gettext/examples/hello-librep/po/nl.po | 27 + .../doc/gettext/examples/hello-librep/po/pl.po | 27 + .../doc/gettext/examples/hello-librep/po/pt.po | 25 + .../doc/gettext/examples/hello-librep/po/ro.po | 25 + .../doc/gettext/examples/hello-librep/po/ru.po | 27 + .../doc/gettext/examples/hello-librep/po/sk.po | 25 + .../doc/gettext/examples/hello-librep/po/sl.po | 26 + .../doc/gettext/examples/hello-librep/po/sr.po | 24 + .../doc/gettext/examples/hello-librep/po/sv.po | 24 + .../doc/gettext/examples/hello-librep/po/tr.po | 25 + .../doc/gettext/examples/hello-librep/po/uk.po | 25 + .../doc/gettext/examples/hello-librep/po/vi.po | 28 + .../doc/gettext/examples/hello-librep/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-librep/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-librep/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-objc-gnome/INSTALL | 19 + .../gettext/examples/hello-objc-gnome/Makefile.am | 29 + .../gettext/examples/hello-objc-gnome/autoclean.sh | 59 + .../gettext/examples/hello-objc-gnome/autogen.sh | 29 + .../gettext/examples/hello-objc-gnome/configure.ac | 29 + .../doc/gettext/examples/hello-objc-gnome/hello.m | 88 + .../examples/hello-objc-gnome/m4/Makefile.am | 6 + .../hello-objc-gnome/m4/gnome-gnorba-check.m4 | 35 + .../hello-objc-gnome/m4/gnome-orbit-check.m4 | 33 + .../gettext/examples/hello-objc-gnome/m4/gnome.m4 | 128 + .../gettext/examples/hello-objc-gnome/po/LINGUAS | 5 + .../gettext/examples/hello-objc-gnome/po/Makevars | 67 + .../examples/hello-objc-gnome/po/POTFILES.in | 5 + .../doc/gettext/examples/hello-objc-gnome/po/af.po | 25 + .../gettext/examples/hello-objc-gnome/po/ast.po | 26 + .../doc/gettext/examples/hello-objc-gnome/po/bg.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/ca.po | 26 + .../doc/gettext/examples/hello-objc-gnome/po/de.po | 27 + .../doc/gettext/examples/hello-objc-gnome/po/el.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/eo.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/es.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/fi.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/fr.po | 26 + .../doc/gettext/examples/hello-objc-gnome/po/ga.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/hu.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/id.po | 26 + .../doc/gettext/examples/hello-objc-gnome/po/it.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/ja.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/ky.po | 27 + .../doc/gettext/examples/hello-objc-gnome/po/lv.po | 29 + .../doc/gettext/examples/hello-objc-gnome/po/ms.po | 26 + .../doc/gettext/examples/hello-objc-gnome/po/mt.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/nl.po | 27 + .../doc/gettext/examples/hello-objc-gnome/po/pl.po | 27 + .../doc/gettext/examples/hello-objc-gnome/po/pt.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/ro.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/ru.po | 27 + .../doc/gettext/examples/hello-objc-gnome/po/sk.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/sl.po | 26 + .../doc/gettext/examples/hello-objc-gnome/po/sr.po | 24 + .../doc/gettext/examples/hello-objc-gnome/po/sv.po | 24 + .../doc/gettext/examples/hello-objc-gnome/po/tr.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/uk.po | 25 + .../doc/gettext/examples/hello-objc-gnome/po/vi.po | 28 + .../gettext/examples/hello-objc-gnome/po/zh_CN.po | 25 + .../gettext/examples/hello-objc-gnome/po/zh_HK.po | 24 + .../gettext/examples/hello-objc-gnome/po/zh_TW.po | 24 + .../examples/hello-objc-gnustep/AppController.h | 35 + .../examples/hello-objc-gnustep/AppController.m | 81 + .../doc/gettext/examples/hello-objc-gnustep/BUGS | 3 + .../examples/hello-objc-gnustep/GNUmakefile | 36 + .../gettext/examples/hello-objc-gnustep/Hello.h | 31 + .../gettext/examples/hello-objc-gnustep/Hello.m | 99 + .../gettext/examples/hello-objc-gnustep/INSTALL | 14 + .../examples/hello-objc-gnustep/autoclean.sh | 12 + .../gettext/examples/hello-objc-gnustep/autogen.sh | 26 + .../doc/gettext/examples/hello-objc-gnustep/main.m | 113 + .../examples/hello-objc-gnustep/po/GNUmakefile | 224 + .../gettext/examples/hello-objc-gnustep/po/LINGUAS | 5 + .../examples/hello-objc-gnustep/po/LocaleAliases | 380 + .../gettext/examples/hello-objc-gnustep/po/af.po | 25 + .../gettext/examples/hello-objc-gnustep/po/ast.po | 26 + .../gettext/examples/hello-objc-gnustep/po/bg.po | 25 + .../gettext/examples/hello-objc-gnustep/po/ca.po | 26 + .../gettext/examples/hello-objc-gnustep/po/de.po | 27 + .../gettext/examples/hello-objc-gnustep/po/el.po | 25 + .../gettext/examples/hello-objc-gnustep/po/eo.po | 25 + .../gettext/examples/hello-objc-gnustep/po/es.po | 25 + .../gettext/examples/hello-objc-gnustep/po/fi.po | 25 + .../gettext/examples/hello-objc-gnustep/po/fr.po | 26 + .../gettext/examples/hello-objc-gnustep/po/ga.po | 25 + .../gettext/examples/hello-objc-gnustep/po/hu.po | 25 + .../gettext/examples/hello-objc-gnustep/po/id.po | 26 + .../gettext/examples/hello-objc-gnustep/po/it.po | 25 + .../gettext/examples/hello-objc-gnustep/po/ja.po | 25 + .../gettext/examples/hello-objc-gnustep/po/ky.po | 27 + .../gettext/examples/hello-objc-gnustep/po/lv.po | 29 + .../gettext/examples/hello-objc-gnustep/po/ms.po | 26 + .../gettext/examples/hello-objc-gnustep/po/mt.po | 25 + .../gettext/examples/hello-objc-gnustep/po/nl.po | 27 + .../gettext/examples/hello-objc-gnustep/po/pl.po | 27 + .../gettext/examples/hello-objc-gnustep/po/pt.po | 25 + .../gettext/examples/hello-objc-gnustep/po/ro.po | 25 + .../gettext/examples/hello-objc-gnustep/po/ru.po | 27 + .../gettext/examples/hello-objc-gnustep/po/sk.po | 25 + .../gettext/examples/hello-objc-gnustep/po/sl.po | 26 + .../gettext/examples/hello-objc-gnustep/po/sr.po | 24 + .../gettext/examples/hello-objc-gnustep/po/sv.po | 24 + .../gettext/examples/hello-objc-gnustep/po/tr.po | 25 + .../gettext/examples/hello-objc-gnustep/po/uk.po | 25 + .../gettext/examples/hello-objc-gnustep/po/vi.po | 28 + .../examples/hello-objc-gnustep/po/zh_CN.po | 25 + .../examples/hello-objc-gnustep/po/zh_HK.po | 24 + .../examples/hello-objc-gnustep/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-objc/INSTALL | 11 + .../doc/gettext/examples/hello-objc/Makefile.am | 29 + .../doc/gettext/examples/hello-objc/autoclean.sh | 62 + .../doc/gettext/examples/hello-objc/autogen.sh | 50 + .../doc/gettext/examples/hello-objc/configure.ac | 19 + .../share/doc/gettext/examples/hello-objc/hello.m | 35 + .../doc/gettext/examples/hello-objc/m4/Makefile.am | 5 + .../doc/gettext/examples/hello-objc/po/LINGUAS | 5 + .../doc/gettext/examples/hello-objc/po/Makevars | 55 + .../doc/gettext/examples/hello-objc/po/POTFILES.in | 5 + .../share/doc/gettext/examples/hello-objc/po/af.po | 25 + .../doc/gettext/examples/hello-objc/po/ast.po | 26 + .../share/doc/gettext/examples/hello-objc/po/bg.po | 25 + .../share/doc/gettext/examples/hello-objc/po/ca.po | 26 + .../share/doc/gettext/examples/hello-objc/po/de.po | 27 + .../share/doc/gettext/examples/hello-objc/po/el.po | 25 + .../share/doc/gettext/examples/hello-objc/po/eo.po | 25 + .../share/doc/gettext/examples/hello-objc/po/es.po | 25 + .../share/doc/gettext/examples/hello-objc/po/fi.po | 25 + .../share/doc/gettext/examples/hello-objc/po/fr.po | 26 + .../share/doc/gettext/examples/hello-objc/po/ga.po | 25 + .../share/doc/gettext/examples/hello-objc/po/hu.po | 25 + .../share/doc/gettext/examples/hello-objc/po/id.po | 26 + .../share/doc/gettext/examples/hello-objc/po/it.po | 25 + .../share/doc/gettext/examples/hello-objc/po/ja.po | 25 + .../share/doc/gettext/examples/hello-objc/po/ky.po | 27 + .../share/doc/gettext/examples/hello-objc/po/lv.po | 29 + .../share/doc/gettext/examples/hello-objc/po/ms.po | 26 + .../share/doc/gettext/examples/hello-objc/po/mt.po | 25 + .../share/doc/gettext/examples/hello-objc/po/nl.po | 27 + .../share/doc/gettext/examples/hello-objc/po/pl.po | 27 + .../share/doc/gettext/examples/hello-objc/po/pt.po | 25 + .../share/doc/gettext/examples/hello-objc/po/ro.po | 25 + .../share/doc/gettext/examples/hello-objc/po/ru.po | 27 + .../share/doc/gettext/examples/hello-objc/po/sk.po | 25 + .../share/doc/gettext/examples/hello-objc/po/sl.po | 26 + .../share/doc/gettext/examples/hello-objc/po/sr.po | 24 + .../share/doc/gettext/examples/hello-objc/po/sv.po | 24 + .../share/doc/gettext/examples/hello-objc/po/tr.po | 25 + .../share/doc/gettext/examples/hello-objc/po/uk.po | 25 + .../share/doc/gettext/examples/hello-objc/po/vi.po | 28 + .../doc/gettext/examples/hello-objc/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-objc/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-objc/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-pascal/INSTALL | 11 + .../doc/gettext/examples/hello-pascal/Makefile.am | 45 + .../doc/gettext/examples/hello-pascal/autoclean.sh | 29 + .../doc/gettext/examples/hello-pascal/autogen.sh | 44 + .../doc/gettext/examples/hello-pascal/configure.ac | 38 + .../doc/gettext/examples/hello-pascal/hello.pas | 20 + .../doc/gettext/examples/hello-pascal/hello.rst | 8 + .../gettext/examples/hello-pascal/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-pascal/po/LINGUAS | 5 + .../gettext/examples/hello-pascal/po/Makefile.am | 356 + .../doc/gettext/examples/hello-pascal/po/af.po | 25 + .../doc/gettext/examples/hello-pascal/po/ast.po | 26 + .../doc/gettext/examples/hello-pascal/po/bg.po | 25 + .../doc/gettext/examples/hello-pascal/po/ca.po | 26 + .../doc/gettext/examples/hello-pascal/po/de.po | 27 + .../doc/gettext/examples/hello-pascal/po/el.po | 25 + .../doc/gettext/examples/hello-pascal/po/eo.po | 25 + .../doc/gettext/examples/hello-pascal/po/es.po | 25 + .../doc/gettext/examples/hello-pascal/po/fi.po | 25 + .../doc/gettext/examples/hello-pascal/po/fr.po | 26 + .../doc/gettext/examples/hello-pascal/po/ga.po | 25 + .../doc/gettext/examples/hello-pascal/po/hu.po | 25 + .../doc/gettext/examples/hello-pascal/po/id.po | 26 + .../doc/gettext/examples/hello-pascal/po/it.po | 25 + .../doc/gettext/examples/hello-pascal/po/ja.po | 25 + .../doc/gettext/examples/hello-pascal/po/ky.po | 27 + .../doc/gettext/examples/hello-pascal/po/lv.po | 29 + .../doc/gettext/examples/hello-pascal/po/ms.po | 26 + .../doc/gettext/examples/hello-pascal/po/mt.po | 25 + .../doc/gettext/examples/hello-pascal/po/nl.po | 27 + .../doc/gettext/examples/hello-pascal/po/pl.po | 27 + .../doc/gettext/examples/hello-pascal/po/pt.po | 25 + .../doc/gettext/examples/hello-pascal/po/ro.po | 25 + .../doc/gettext/examples/hello-pascal/po/ru.po | 27 + .../doc/gettext/examples/hello-pascal/po/sk.po | 25 + .../doc/gettext/examples/hello-pascal/po/sl.po | 26 + .../doc/gettext/examples/hello-pascal/po/sr.po | 24 + .../doc/gettext/examples/hello-pascal/po/sv.po | 24 + .../doc/gettext/examples/hello-pascal/po/tr.po | 25 + .../doc/gettext/examples/hello-pascal/po/uk.po | 25 + .../doc/gettext/examples/hello-pascal/po/vi.po | 28 + .../doc/gettext/examples/hello-pascal/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-pascal/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-pascal/po/zh_TW.po | 24 + .../share/doc/gettext/examples/hello-perl/INSTALL | 12 + .../doc/gettext/examples/hello-perl/Makefile.am | 17 + .../doc/gettext/examples/hello-perl/autoclean.sh | 29 + .../doc/gettext/examples/hello-perl/autogen.sh | 44 + .../doc/gettext/examples/hello-perl/configure.ac | 40 + .../doc/gettext/examples/hello-perl/hello-1.pl.in | 20 + .../doc/gettext/examples/hello-perl/hello-2.pl.in | 15 + .../doc/gettext/examples/hello-perl/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-perl/po/LINGUAS | 5 + .../doc/gettext/examples/hello-perl/po/Makefile.am | 366 + .../share/doc/gettext/examples/hello-perl/po/af.po | 30 + .../doc/gettext/examples/hello-perl/po/ast.po | 31 + .../share/doc/gettext/examples/hello-perl/po/bg.po | 30 + .../share/doc/gettext/examples/hello-perl/po/ca.po | 31 + .../share/doc/gettext/examples/hello-perl/po/de.po | 32 + .../share/doc/gettext/examples/hello-perl/po/el.po | 30 + .../share/doc/gettext/examples/hello-perl/po/eo.po | 30 + .../share/doc/gettext/examples/hello-perl/po/es.po | 30 + .../share/doc/gettext/examples/hello-perl/po/fi.po | 30 + .../share/doc/gettext/examples/hello-perl/po/fr.po | 31 + .../share/doc/gettext/examples/hello-perl/po/ga.po | 30 + .../share/doc/gettext/examples/hello-perl/po/hu.po | 30 + .../share/doc/gettext/examples/hello-perl/po/id.po | 31 + .../share/doc/gettext/examples/hello-perl/po/it.po | 30 + .../share/doc/gettext/examples/hello-perl/po/ja.po | 30 + .../share/doc/gettext/examples/hello-perl/po/ky.po | 32 + .../share/doc/gettext/examples/hello-perl/po/lv.po | 34 + .../share/doc/gettext/examples/hello-perl/po/ms.po | 31 + .../share/doc/gettext/examples/hello-perl/po/mt.po | 30 + .../share/doc/gettext/examples/hello-perl/po/nl.po | 32 + .../share/doc/gettext/examples/hello-perl/po/pl.po | 32 + .../share/doc/gettext/examples/hello-perl/po/pt.po | 30 + .../share/doc/gettext/examples/hello-perl/po/ro.po | 30 + .../share/doc/gettext/examples/hello-perl/po/ru.po | 32 + .../share/doc/gettext/examples/hello-perl/po/sk.po | 30 + .../share/doc/gettext/examples/hello-perl/po/sl.po | 31 + .../share/doc/gettext/examples/hello-perl/po/sr.po | 29 + .../share/doc/gettext/examples/hello-perl/po/sv.po | 29 + .../share/doc/gettext/examples/hello-perl/po/tr.po | 30 + .../share/doc/gettext/examples/hello-perl/po/uk.po | 30 + .../share/doc/gettext/examples/hello-perl/po/vi.po | 33 + .../doc/gettext/examples/hello-perl/po/zh_CN.po | 30 + .../doc/gettext/examples/hello-perl/po/zh_HK.po | 29 + .../doc/gettext/examples/hello-perl/po/zh_TW.po | 29 + mingw/share/doc/gettext/examples/hello-php/INSTALL | 10 + .../doc/gettext/examples/hello-php/Makefile.am | 17 + mingw/share/doc/gettext/examples/hello-php/README | 5 + .../doc/gettext/examples/hello-php/autoclean.sh | 29 + .../doc/gettext/examples/hello-php/autogen.sh | 44 + .../doc/gettext/examples/hello-php/configure.ac | 39 + .../share/doc/gettext/examples/hello-php/hello.php | 17 + .../doc/gettext/examples/hello-php/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-php/po/LINGUAS | 5 + .../doc/gettext/examples/hello-php/po/Makefile.am | 356 + .../share/doc/gettext/examples/hello-php/po/af.po | 25 + .../share/doc/gettext/examples/hello-php/po/ast.po | 26 + .../share/doc/gettext/examples/hello-php/po/bg.po | 25 + .../share/doc/gettext/examples/hello-php/po/ca.po | 26 + .../share/doc/gettext/examples/hello-php/po/de.po | 27 + .../share/doc/gettext/examples/hello-php/po/el.po | 25 + .../share/doc/gettext/examples/hello-php/po/eo.po | 25 + .../share/doc/gettext/examples/hello-php/po/es.po | 25 + .../share/doc/gettext/examples/hello-php/po/fi.po | 25 + .../share/doc/gettext/examples/hello-php/po/fr.po | 26 + .../share/doc/gettext/examples/hello-php/po/ga.po | 25 + .../share/doc/gettext/examples/hello-php/po/hu.po | 25 + .../share/doc/gettext/examples/hello-php/po/id.po | 26 + .../share/doc/gettext/examples/hello-php/po/it.po | 25 + .../share/doc/gettext/examples/hello-php/po/ja.po | 25 + .../share/doc/gettext/examples/hello-php/po/ky.po | 27 + .../share/doc/gettext/examples/hello-php/po/lv.po | 29 + .../share/doc/gettext/examples/hello-php/po/ms.po | 26 + .../share/doc/gettext/examples/hello-php/po/mt.po | 25 + .../share/doc/gettext/examples/hello-php/po/nl.po | 27 + .../share/doc/gettext/examples/hello-php/po/pl.po | 27 + .../share/doc/gettext/examples/hello-php/po/pt.po | 25 + .../share/doc/gettext/examples/hello-php/po/ro.po | 25 + .../share/doc/gettext/examples/hello-php/po/ru.po | 27 + .../share/doc/gettext/examples/hello-php/po/sk.po | 25 + .../share/doc/gettext/examples/hello-php/po/sl.po | 26 + .../share/doc/gettext/examples/hello-php/po/sr.po | 24 + .../share/doc/gettext/examples/hello-php/po/sv.po | 24 + .../share/doc/gettext/examples/hello-php/po/tr.po | 25 + .../share/doc/gettext/examples/hello-php/po/uk.po | 25 + .../share/doc/gettext/examples/hello-php/po/vi.po | 28 + .../doc/gettext/examples/hello-php/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-php/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-php/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-python/INSTALL | 10 + .../doc/gettext/examples/hello-python/Makefile.am | 26 + .../doc/gettext/examples/hello-python/autoclean.sh | 29 + .../doc/gettext/examples/hello-python/autogen.sh | 44 + .../doc/gettext/examples/hello-python/configure.ac | 37 + .../doc/gettext/examples/hello-python/hello.py.in | 14 + .../gettext/examples/hello-python/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-python/po/LINGUAS | 5 + .../gettext/examples/hello-python/po/Makefile.am | 356 + .../doc/gettext/examples/hello-python/po/af.po | 25 + .../doc/gettext/examples/hello-python/po/ast.po | 26 + .../doc/gettext/examples/hello-python/po/bg.po | 25 + .../doc/gettext/examples/hello-python/po/ca.po | 26 + .../doc/gettext/examples/hello-python/po/de.po | 27 + .../doc/gettext/examples/hello-python/po/el.po | 25 + .../doc/gettext/examples/hello-python/po/eo.po | 25 + .../doc/gettext/examples/hello-python/po/es.po | 25 + .../doc/gettext/examples/hello-python/po/fi.po | 25 + .../doc/gettext/examples/hello-python/po/fr.po | 26 + .../doc/gettext/examples/hello-python/po/ga.po | 25 + .../doc/gettext/examples/hello-python/po/hu.po | 25 + .../doc/gettext/examples/hello-python/po/id.po | 26 + .../doc/gettext/examples/hello-python/po/it.po | 25 + .../doc/gettext/examples/hello-python/po/ja.po | 25 + .../doc/gettext/examples/hello-python/po/ky.po | 27 + .../doc/gettext/examples/hello-python/po/lv.po | 29 + .../doc/gettext/examples/hello-python/po/ms.po | 26 + .../doc/gettext/examples/hello-python/po/mt.po | 25 + .../doc/gettext/examples/hello-python/po/nl.po | 27 + .../doc/gettext/examples/hello-python/po/pl.po | 27 + .../doc/gettext/examples/hello-python/po/pt.po | 25 + .../doc/gettext/examples/hello-python/po/ro.po | 25 + .../doc/gettext/examples/hello-python/po/ru.po | 27 + .../doc/gettext/examples/hello-python/po/sk.po | 25 + .../doc/gettext/examples/hello-python/po/sl.po | 26 + .../doc/gettext/examples/hello-python/po/sr.po | 24 + .../doc/gettext/examples/hello-python/po/sv.po | 24 + .../doc/gettext/examples/hello-python/po/tr.po | 25 + .../doc/gettext/examples/hello-python/po/uk.po | 25 + .../doc/gettext/examples/hello-python/po/vi.po | 28 + .../doc/gettext/examples/hello-python/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-python/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-python/po/zh_TW.po | 24 + mingw/share/doc/gettext/examples/hello-sh/INSTALL | 10 + .../doc/gettext/examples/hello-sh/Makefile.am | 17 + .../doc/gettext/examples/hello-sh/autoclean.sh | 29 + .../share/doc/gettext/examples/hello-sh/autogen.sh | 44 + .../doc/gettext/examples/hello-sh/configure.ac | 31 + mingw/share/doc/gettext/examples/hello-sh/hello.sh | 17 + .../doc/gettext/examples/hello-sh/m4/Makefile.am | 2 + .../share/doc/gettext/examples/hello-sh/po/LINGUAS | 5 + .../doc/gettext/examples/hello-sh/po/Makefile.am | 356 + mingw/share/doc/gettext/examples/hello-sh/po/af.po | 25 + .../share/doc/gettext/examples/hello-sh/po/ast.po | 26 + mingw/share/doc/gettext/examples/hello-sh/po/bg.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/ca.po | 26 + mingw/share/doc/gettext/examples/hello-sh/po/de.po | 27 + mingw/share/doc/gettext/examples/hello-sh/po/el.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/eo.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/es.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/fi.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/fr.po | 26 + mingw/share/doc/gettext/examples/hello-sh/po/ga.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/hu.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/id.po | 26 + mingw/share/doc/gettext/examples/hello-sh/po/it.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/ja.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/ky.po | 27 + mingw/share/doc/gettext/examples/hello-sh/po/lv.po | 29 + mingw/share/doc/gettext/examples/hello-sh/po/ms.po | 26 + mingw/share/doc/gettext/examples/hello-sh/po/mt.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/nl.po | 27 + mingw/share/doc/gettext/examples/hello-sh/po/pl.po | 27 + mingw/share/doc/gettext/examples/hello-sh/po/pt.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/ro.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/ru.po | 27 + mingw/share/doc/gettext/examples/hello-sh/po/sk.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/sl.po | 26 + mingw/share/doc/gettext/examples/hello-sh/po/sr.po | 24 + mingw/share/doc/gettext/examples/hello-sh/po/sv.po | 24 + mingw/share/doc/gettext/examples/hello-sh/po/tr.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/uk.po | 25 + mingw/share/doc/gettext/examples/hello-sh/po/vi.po | 28 + .../doc/gettext/examples/hello-sh/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-sh/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-sh/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-smalltalk/INSTALL | 10 + .../gettext/examples/hello-smalltalk/Makefile.am | 26 + .../gettext/examples/hello-smalltalk/autoclean.sh | 29 + .../gettext/examples/hello-smalltalk/autogen.sh | 44 + .../gettext/examples/hello-smalltalk/configure.ac | 38 + .../gettext/examples/hello-smalltalk/hello.st.in | 58 + .../examples/hello-smalltalk/m4/Makefile.am | 2 + .../gettext/examples/hello-smalltalk/po/LINGUAS | 5 + .../examples/hello-smalltalk/po/Makefile.am | 356 + .../doc/gettext/examples/hello-smalltalk/po/af.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/ast.po | 26 + .../doc/gettext/examples/hello-smalltalk/po/bg.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/ca.po | 26 + .../doc/gettext/examples/hello-smalltalk/po/de.po | 27 + .../doc/gettext/examples/hello-smalltalk/po/el.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/eo.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/es.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/fi.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/fr.po | 26 + .../doc/gettext/examples/hello-smalltalk/po/ga.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/hu.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/id.po | 26 + .../doc/gettext/examples/hello-smalltalk/po/it.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/ja.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/ky.po | 27 + .../doc/gettext/examples/hello-smalltalk/po/lv.po | 29 + .../doc/gettext/examples/hello-smalltalk/po/ms.po | 26 + .../doc/gettext/examples/hello-smalltalk/po/mt.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/nl.po | 27 + .../doc/gettext/examples/hello-smalltalk/po/pl.po | 27 + .../doc/gettext/examples/hello-smalltalk/po/pt.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/ro.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/ru.po | 27 + .../doc/gettext/examples/hello-smalltalk/po/sk.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/sl.po | 26 + .../doc/gettext/examples/hello-smalltalk/po/sr.po | 24 + .../doc/gettext/examples/hello-smalltalk/po/sv.po | 24 + .../doc/gettext/examples/hello-smalltalk/po/tr.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/uk.po | 25 + .../doc/gettext/examples/hello-smalltalk/po/vi.po | 28 + .../gettext/examples/hello-smalltalk/po/zh_CN.po | 25 + .../gettext/examples/hello-smalltalk/po/zh_HK.po | 24 + .../gettext/examples/hello-smalltalk/po/zh_TW.po | 24 + .../doc/gettext/examples/hello-tcl-tk/INSTALL | 12 + .../doc/gettext/examples/hello-tcl-tk/Makefile.am | 17 + .../doc/gettext/examples/hello-tcl-tk/autoclean.sh | 29 + .../doc/gettext/examples/hello-tcl-tk/autogen.sh | 44 + .../doc/gettext/examples/hello-tcl-tk/configure.ac | 38 + .../doc/gettext/examples/hello-tcl-tk/hello.tcl | 19 + .../gettext/examples/hello-tcl-tk/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-tcl-tk/po/LINGUAS | 5 + .../gettext/examples/hello-tcl-tk/po/Makefile.am | 276 + .../doc/gettext/examples/hello-tcl-tk/po/af.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/ast.po | 26 + .../doc/gettext/examples/hello-tcl-tk/po/bg.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/ca.po | 26 + .../doc/gettext/examples/hello-tcl-tk/po/de.po | 27 + .../doc/gettext/examples/hello-tcl-tk/po/el.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/eo.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/es.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/fi.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/fr.po | 26 + .../doc/gettext/examples/hello-tcl-tk/po/ga.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/hu.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/id.po | 26 + .../doc/gettext/examples/hello-tcl-tk/po/it.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/ja.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/ky.po | 27 + .../doc/gettext/examples/hello-tcl-tk/po/lv.po | 29 + .../doc/gettext/examples/hello-tcl-tk/po/ms.po | 26 + .../doc/gettext/examples/hello-tcl-tk/po/mt.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/nl.po | 27 + .../doc/gettext/examples/hello-tcl-tk/po/pl.po | 27 + .../doc/gettext/examples/hello-tcl-tk/po/pt.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/ro.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/ru.po | 27 + .../doc/gettext/examples/hello-tcl-tk/po/sk.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/sl.po | 26 + .../doc/gettext/examples/hello-tcl-tk/po/sr.po | 24 + .../doc/gettext/examples/hello-tcl-tk/po/sv.po | 24 + .../doc/gettext/examples/hello-tcl-tk/po/tr.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/uk.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/vi.po | 28 + .../doc/gettext/examples/hello-tcl-tk/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-tcl-tk/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-tcl-tk/po/zh_TW.po | 24 + mingw/share/doc/gettext/examples/hello-tcl/INSTALL | 11 + .../doc/gettext/examples/hello-tcl/Makefile.am | 17 + .../doc/gettext/examples/hello-tcl/autoclean.sh | 29 + .../doc/gettext/examples/hello-tcl/autogen.sh | 44 + .../doc/gettext/examples/hello-tcl/configure.ac | 38 + .../share/doc/gettext/examples/hello-tcl/hello.tcl | 12 + .../doc/gettext/examples/hello-tcl/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-tcl/po/LINGUAS | 5 + .../doc/gettext/examples/hello-tcl/po/Makefile.am | 276 + .../share/doc/gettext/examples/hello-tcl/po/af.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/ast.po | 26 + .../share/doc/gettext/examples/hello-tcl/po/bg.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/ca.po | 26 + .../share/doc/gettext/examples/hello-tcl/po/de.po | 27 + .../share/doc/gettext/examples/hello-tcl/po/el.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/eo.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/es.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/fi.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/fr.po | 26 + .../share/doc/gettext/examples/hello-tcl/po/ga.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/hu.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/id.po | 26 + .../share/doc/gettext/examples/hello-tcl/po/it.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/ja.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/ky.po | 27 + .../share/doc/gettext/examples/hello-tcl/po/lv.po | 29 + .../share/doc/gettext/examples/hello-tcl/po/ms.po | 26 + .../share/doc/gettext/examples/hello-tcl/po/mt.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/nl.po | 27 + .../share/doc/gettext/examples/hello-tcl/po/pl.po | 27 + .../share/doc/gettext/examples/hello-tcl/po/pt.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/ro.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/ru.po | 27 + .../share/doc/gettext/examples/hello-tcl/po/sk.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/sl.po | 26 + .../share/doc/gettext/examples/hello-tcl/po/sr.po | 24 + .../share/doc/gettext/examples/hello-tcl/po/sv.po | 24 + .../share/doc/gettext/examples/hello-tcl/po/tr.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/uk.po | 25 + .../share/doc/gettext/examples/hello-tcl/po/vi.po | 28 + .../doc/gettext/examples/hello-tcl/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-tcl/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-tcl/po/zh_TW.po | 24 + mingw/share/doc/gettext/examples/hello-ycp/INSTALL | 16 + .../doc/gettext/examples/hello-ycp/Makefile.am | 30 + .../doc/gettext/examples/hello-ycp/autoclean.sh | 29 + .../doc/gettext/examples/hello-ycp/autogen.sh | 44 + .../doc/gettext/examples/hello-ycp/configure.ac | 27 + .../share/doc/gettext/examples/hello-ycp/hello.ycp | 30 + .../doc/gettext/examples/hello-ycp/m4/Makefile.am | 2 + .../doc/gettext/examples/hello-ycp/po/LINGUAS | 5 + .../doc/gettext/examples/hello-ycp/po/Makefile.am | 356 + .../share/doc/gettext/examples/hello-ycp/po/af.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/ast.po | 26 + .../share/doc/gettext/examples/hello-ycp/po/bg.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/ca.po | 26 + .../share/doc/gettext/examples/hello-ycp/po/de.po | 27 + .../share/doc/gettext/examples/hello-ycp/po/el.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/eo.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/es.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/fi.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/fr.po | 26 + .../share/doc/gettext/examples/hello-ycp/po/ga.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/hu.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/id.po | 26 + .../share/doc/gettext/examples/hello-ycp/po/it.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/ja.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/ky.po | 27 + .../share/doc/gettext/examples/hello-ycp/po/lv.po | 29 + .../share/doc/gettext/examples/hello-ycp/po/ms.po | 26 + .../share/doc/gettext/examples/hello-ycp/po/mt.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/nl.po | 27 + .../share/doc/gettext/examples/hello-ycp/po/pl.po | 27 + .../share/doc/gettext/examples/hello-ycp/po/pt.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/ro.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/ru.po | 27 + .../share/doc/gettext/examples/hello-ycp/po/sk.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/sl.po | 26 + .../share/doc/gettext/examples/hello-ycp/po/sr.po | 24 + .../share/doc/gettext/examples/hello-ycp/po/sv.po | 24 + .../share/doc/gettext/examples/hello-ycp/po/tr.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/uk.po | 25 + .../share/doc/gettext/examples/hello-ycp/po/vi.po | 28 + .../doc/gettext/examples/hello-ycp/po/zh_CN.po | 25 + .../doc/gettext/examples/hello-ycp/po/zh_HK.po | 24 + .../doc/gettext/examples/hello-ycp/po/zh_TW.po | 24 + mingw/share/doc/gettext/examples/installpaths | 9 + mingw/share/doc/gettext/gettext.1.html | 266 + mingw/share/doc/gettext/gettext.3.html | 186 + mingw/share/doc/gettext/gettext_1.html | 700 + mingw/share/doc/gettext/gettext_10.html | 903 + mingw/share/doc/gettext/gettext_11.html | 1745 ++ mingw/share/doc/gettext/gettext_12.html | 813 + mingw/share/doc/gettext/gettext_13.html | 1876 ++ mingw/share/doc/gettext/gettext_14.html | 51 + mingw/share/doc/gettext/gettext_15.html | 4023 ++++ mingw/share/doc/gettext/gettext_16.html | 195 + mingw/share/doc/gettext/gettext_17.html | 793 + mingw/share/doc/gettext/gettext_18.html | 765 + mingw/share/doc/gettext/gettext_19.html | 1607 ++ mingw/share/doc/gettext/gettext_2.html | 349 + mingw/share/doc/gettext/gettext_20.html | 79 + mingw/share/doc/gettext/gettext_21.html | 609 + mingw/share/doc/gettext/gettext_22.html | 69 + mingw/share/doc/gettext/gettext_23.html | 114 + mingw/share/doc/gettext/gettext_24.html | 35 + mingw/share/doc/gettext/gettext_25.html | 504 + mingw/share/doc/gettext/gettext_3.html | 509 + mingw/share/doc/gettext/gettext_4.html | 1302 ++ mingw/share/doc/gettext/gettext_5.html | 695 + mingw/share/doc/gettext/gettext_6.html | 503 + mingw/share/doc/gettext/gettext_7.html | 389 + mingw/share/doc/gettext/gettext_8.html | 1836 ++ mingw/share/doc/gettext/gettext_9.html | 3468 ++++ mingw/share/doc/gettext/gettext_foot.html | 44 + mingw/share/doc/gettext/gettext_toc.html | 470 + mingw/share/doc/gettext/gettextize.1.html | 265 + .../doc/gettext/javadoc2/allclasses-frame.html | 25 + .../doc/gettext/javadoc2/deprecated-list.html | 87 + .../javadoc2/gnu/gettext/GettextResource.html | 321 + .../javadoc2/gnu/gettext/package-frame.html | 26 + .../javadoc2/gnu/gettext/package-summary.html | 103 + .../gettext/javadoc2/gnu/gettext/package-tree.html | 99 + mingw/share/doc/gettext/javadoc2/help-doc.html | 136 + mingw/share/doc/gettext/javadoc2/index-all.html | 111 + mingw/share/doc/gettext/javadoc2/index.html | 22 + .../share/doc/gettext/javadoc2/overview-tree.html | 96 + mingw/share/doc/gettext/javadoc2/package-list | 1 + mingw/share/doc/gettext/javadoc2/packages.html | 26 + .../doc/gettext/javadoc2/serialized-form.html | 87 + mingw/share/doc/gettext/javadoc2/stylesheet.css | 29 + mingw/share/doc/gettext/msgattrib.1.html | 871 + mingw/share/doc/gettext/msgcat.1.html | 740 + mingw/share/doc/gettext/msgcmp.1.html | 358 + mingw/share/doc/gettext/msgcomm.1.html | 703 + mingw/share/doc/gettext/msgconv.1.html | 630 + mingw/share/doc/gettext/msgen.1.html | 611 + mingw/share/doc/gettext/msgexec.1.html | 279 + mingw/share/doc/gettext/msgfilter.1.html | 680 + mingw/share/doc/gettext/msgfmt.1.html | 838 + mingw/share/doc/gettext/msggrep.1.html | 886 + mingw/share/doc/gettext/msginit.1.html | 457 + mingw/share/doc/gettext/msgmerge.1.html | 896 + mingw/share/doc/gettext/msgunfmt.1.html | 754 + mingw/share/doc/gettext/msguniq.1.html | 683 + mingw/share/doc/gettext/ngettext.1.html | 280 + mingw/share/doc/gettext/ngettext.3.html | 143 + mingw/share/doc/gettext/recode-sr-latin.1.html | 170 + mingw/share/doc/gettext/textdomain.3.html | 150 + mingw/share/doc/gettext/tutorial.html | 735 + mingw/share/doc/gettext/xgettext.1.html | 1095 ++ mingw/share/doc/libasprintf/autosprintf_all.html | 174 + mingw/share/gettext/ABOUT-NLS | 1282 ++ mingw/share/gettext/archive.git.tar.gz | Bin 0 -> 591021 bytes mingw/share/gettext/config.rpath | 672 + mingw/share/gettext/gettext.h | 280 + mingw/share/gettext/intl/COPYING.LIB-2.0 | 482 + mingw/share/gettext/intl/COPYING.LIB-2.1 | 516 + mingw/share/gettext/intl/ChangeLog | 4 + mingw/share/gettext/intl/Makefile.in | 659 + mingw/share/gettext/intl/VERSION | 1 + mingw/share/gettext/intl/bindtextdom.c | 340 + mingw/share/gettext/intl/config.charset | 684 + mingw/share/gettext/intl/dcgettext.c | 56 + mingw/share/gettext/intl/dcigettext.c | 1705 ++ mingw/share/gettext/intl/dcngettext.c | 57 + mingw/share/gettext/intl/dgettext.c | 58 + mingw/share/gettext/intl/dngettext.c | 59 + mingw/share/gettext/intl/eval-plural.h | 108 + mingw/share/gettext/intl/explodename.c | 135 + mingw/share/gettext/intl/export.h | 6 + mingw/share/gettext/intl/finddomain.c | 212 + mingw/share/gettext/intl/gettext.c | 63 + mingw/share/gettext/intl/gettextP.h | 311 + mingw/share/gettext/intl/gmo.h | 152 + mingw/share/gettext/intl/hash-string.c | 51 + mingw/share/gettext/intl/hash-string.h | 36 + mingw/share/gettext/intl/intl-compat.c | 133 + mingw/share/gettext/intl/intl-exports.c | 36 + mingw/share/gettext/intl/l10nflist.c | 400 + mingw/share/gettext/intl/langprefs.c | 355 + mingw/share/gettext/intl/libgnuintl.h.in | 466 + mingw/share/gettext/intl/libintl.rc | 38 + mingw/share/gettext/intl/loadinfo.h | 132 + mingw/share/gettext/intl/loadmsgcat.c | 1333 ++ mingw/share/gettext/intl/localcharset.c | 549 + mingw/share/gettext/intl/localcharset.h | 42 + mingw/share/gettext/intl/locale.alias | 77 + mingw/share/gettext/intl/localealias.c | 439 + mingw/share/gettext/intl/localename.c | 2959 +++ mingw/share/gettext/intl/lock.c | 1059 ++ mingw/share/gettext/intl/lock.h | 928 + mingw/share/gettext/intl/log.c | 128 + mingw/share/gettext/intl/ngettext.c | 65 + mingw/share/gettext/intl/os2compat.c | 98 + mingw/share/gettext/intl/os2compat.h | 46 + mingw/share/gettext/intl/osdep.c | 26 + mingw/share/gettext/intl/plural-exp.c | 155 + mingw/share/gettext/intl/plural-exp.h | 129 + mingw/share/gettext/intl/plural.c | 1961 ++ mingw/share/gettext/intl/plural.y | 385 + mingw/share/gettext/intl/printf-args.c | 188 + mingw/share/gettext/intl/printf-args.h | 155 + mingw/share/gettext/intl/printf-parse.c | 628 + mingw/share/gettext/intl/printf-parse.h | 75 + mingw/share/gettext/intl/printf.c | 429 + mingw/share/gettext/intl/ref-add.sin | 31 + mingw/share/gettext/intl/ref-del.sin | 26 + mingw/share/gettext/intl/relocatable.c | 493 + mingw/share/gettext/intl/relocatable.h | 83 + mingw/share/gettext/intl/setlocale.c | 1015 + mingw/share/gettext/intl/textdomain.c | 127 + mingw/share/gettext/intl/threadlib.c | 75 + mingw/share/gettext/intl/tsearch.c | 684 + mingw/share/gettext/intl/tsearch.h | 83 + mingw/share/gettext/intl/vasnprintf.c | 5568 ++++++ mingw/share/gettext/intl/vasnprintf.h | 78 + mingw/share/gettext/intl/vasnwprintf.h | 46 + mingw/share/gettext/intl/version.c | 26 + mingw/share/gettext/intl/wprintf-parse.h | 75 + mingw/share/gettext/intl/xsize.h | 109 + mingw/share/gettext/javaversion.class | Bin 0 -> 510 bytes mingw/share/gettext/msgunfmt.tcl | 82 + mingw/share/gettext/po/Makefile.in.in | 444 + mingw/share/gettext/po/Makevars.template | 41 + mingw/share/gettext/po/Rules-quot | 47 + mingw/share/gettext/po/boldquot.sed | 10 + mingw/share/gettext/po/en@boldquot.header | 25 + mingw/share/gettext/po/en@quot.header | 22 + mingw/share/gettext/po/insert-header.sin | 23 + mingw/share/gettext/po/quot.sed | 6 + mingw/share/gettext/po/remove-potcdate.sin | 19 + mingw/share/gettext/projects/GNOME/team-address | 152 + mingw/share/gettext/projects/GNOME/teams.html | 3104 ++++ mingw/share/gettext/projects/GNOME/teams.url | 1 + mingw/share/gettext/projects/GNOME/trigger | 38 + mingw/share/gettext/projects/KDE/team-address | 115 + mingw/share/gettext/projects/KDE/teams.html | 2039 ++ mingw/share/gettext/projects/KDE/teams.url | 1 + mingw/share/gettext/projects/KDE/trigger | 40 + mingw/share/gettext/projects/TP/team-address | 61 + mingw/share/gettext/projects/TP/teams.html | 533 + mingw/share/gettext/projects/TP/teams.url | 1 + mingw/share/gettext/projects/TP/trigger | 3 + mingw/share/gettext/projects/index | 3 + mingw/share/gettext/projects/team-address | 16 + mingw/share/gettext/styles/po-default.css | 26 + mingw/share/gettext/styles/po-emacs-x.css | 24 + mingw/share/gettext/styles/po-emacs-xterm.css | 22 + mingw/share/gettext/styles/po-emacs-xterm16.css | 24 + mingw/share/gettext/styles/po-emacs-xterm256.css | 24 + mingw/share/gettext/styles/po-vim.css | 24 + mingw/share/info/autosprintf.info | 134 + mingw/share/info/dir | 48 + mingw/share/info/gettext.info | 18374 +++++++++++++++++++ .../share/locale/be/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 5784 bytes mingw/share/locale/be/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 31604 bytes .../share/locale/bg/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 11891 bytes mingw/share/locale/bg/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 129642 bytes .../share/locale/ca/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8430 bytes mingw/share/locale/ca/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 102257 bytes .../share/locale/cs/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 1054 bytes mingw/share/locale/cs/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 8052 bytes .../share/locale/da/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 5431 bytes mingw/share/locale/da/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 31664 bytes .../share/locale/de/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8696 bytes mingw/share/locale/de/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 101583 bytes .../share/locale/el/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 959 bytes mingw/share/locale/el/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 4988 bytes .../en@boldquot/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9292 bytes .../en@boldquot/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 101106 bytes .../locale/en@quot/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9176 bytes .../locale/en@quot/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 99502 bytes .../share/locale/eo/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7997 bytes .../share/locale/es/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8005 bytes mingw/share/locale/es/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 81923 bytes .../share/locale/et/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 992 bytes mingw/share/locale/et/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 7969 bytes mingw/share/locale/eu/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 57759 bytes .../share/locale/fi/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8426 bytes mingw/share/locale/fi/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 14815 bytes .../share/locale/fr/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8250 bytes mingw/share/locale/fr/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 103957 bytes .../share/locale/ga/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8135 bytes .../share/locale/gl/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 992 bytes mingw/share/locale/gl/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 8213 bytes .../share/locale/id/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9265 bytes mingw/share/locale/id/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 102054 bytes .../share/locale/it/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8262 bytes mingw/share/locale/it/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 97156 bytes .../share/locale/ja/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9008 bytes mingw/share/locale/ja/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 97382 bytes .../share/locale/ko/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9673 bytes mingw/share/locale/ko/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 109713 bytes mingw/share/locale/locale.alias | 77 + .../share/locale/nb/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 984 bytes mingw/share/locale/nb/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 7677 bytes .../share/locale/nl/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8276 bytes mingw/share/locale/nl/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 34920 bytes .../share/locale/nn/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8165 bytes mingw/share/locale/nn/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 13884 bytes .../share/locale/pl/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9505 bytes mingw/share/locale/pl/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 103727 bytes .../share/locale/pt/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 8536 bytes mingw/share/locale/pt/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 3481 bytes .../locale/pt_BR/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 1040 bytes .../locale/pt_BR/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 6840 bytes .../share/locale/ro/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7654 bytes mingw/share/locale/ro/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 72732 bytes .../share/locale/ru/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7715 bytes mingw/share/locale/ru/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 92606 bytes .../share/locale/sk/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9741 bytes mingw/share/locale/sk/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 104212 bytes .../share/locale/sl/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7991 bytes mingw/share/locale/sl/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 95598 bytes .../share/locale/sr/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9458 bytes mingw/share/locale/sr/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 90759 bytes .../share/locale/sv/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9123 bytes mingw/share/locale/sv/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 99754 bytes .../share/locale/tr/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7633 bytes mingw/share/locale/tr/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 93994 bytes .../share/locale/uk/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 9896 bytes mingw/share/locale/uk/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 119503 bytes .../share/locale/vi/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 10351 bytes mingw/share/locale/vi/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 114038 bytes .../locale/zh_CN/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7896 bytes .../locale/zh_CN/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 90183 bytes .../locale/zh_HK/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7386 bytes .../locale/zh_TW/LC_MESSAGES/gettext-runtime.mo | Bin 0 -> 7385 bytes .../locale/zh_TW/LC_MESSAGES/gettext-tools.mo | Bin 0 -> 69110 bytes mingw/share/man/man1/autopoint.1 | 46 + mingw/share/man/man1/envsubst.1 | 54 + mingw/share/man/man1/gettext.1 | 69 + mingw/share/man/man1/gettextize.1 | 58 + mingw/share/man/man1/msgattrib.1 | 164 + mingw/share/man/man1/msgcat.1 | 151 + mingw/share/man/man1/msgcmp.1 | 78 + mingw/share/man/man1/msgcomm.1 | 143 + mingw/share/man/man1/msgconv.1 | 122 + mingw/share/man/man1/msgen.1 | 122 + mingw/share/man/man1/msgexec.1 | 65 + mingw/share/man/man1/msgfilter.1 | 133 + mingw/share/man/man1/msgfmt.1 | 163 + mingw/share/man/man1/msggrep.1 | 181 + mingw/share/man/man1/msginit.1 | 94 + mingw/share/man/man1/msgmerge.1 | 181 + mingw/share/man/man1/msgunfmt.1 | 146 + mingw/share/man/man1/msguniq.1 | 137 + mingw/share/man/man1/ngettext.1 | 68 + mingw/share/man/man1/recode-sr-latin.1 | 42 + mingw/share/man/man1/xgettext.1 | 222 + mingw/share/man/man3/bind_textdomain_codeset.3 | 72 + mingw/share/man/man3/bindtextdomain.3 | 69 + mingw/share/man/man3/dcgettext.3 | 1 + mingw/share/man/man3/dcngettext.3 | 1 + mingw/share/man/man3/dgettext.3 | 1 + mingw/share/man/man3/dngettext.3 | 1 + mingw/share/man/man3/gettext.3 | 99 + mingw/share/man/man3/ngettext.3 | 60 + mingw/share/man/man3/textdomain.3 | 57 + 1687 files changed, 176239 insertions(+), 1 deletion(-) create mode 100644 mingw/bin/autopoint create mode 100644 mingw/bin/envsubst.exe create mode 100644 mingw/bin/gettext.exe create mode 100644 mingw/bin/gettext.sh create mode 100644 mingw/bin/gettextize create mode 100644 mingw/bin/libasprintf-0.dll create mode 100644 mingw/bin/libgettextlib-0-18-1.dll create mode 100644 mingw/bin/libgettextpo-0.dll create mode 100644 mingw/bin/libgettextsrc-0-18-1.dll create mode 100644 mingw/bin/libintl-8.dll create mode 100644 mingw/bin/msgattrib.exe create mode 100644 mingw/bin/msgcat.exe create mode 100644 mingw/bin/msgcmp.exe create mode 100644 mingw/bin/msgcomm.exe create mode 100644 mingw/bin/msgconv.exe create mode 100644 mingw/bin/msgen.exe create mode 100644 mingw/bin/msgexec.exe create mode 100644 mingw/bin/msgfilter.exe create mode 100644 mingw/bin/msgfmt.exe create mode 100644 mingw/bin/msggrep.exe create mode 100644 mingw/bin/msginit.exe create mode 100644 mingw/bin/msgmerge.exe create mode 100644 mingw/bin/msgunfmt.exe create mode 100644 mingw/bin/msguniq.exe create mode 100644 mingw/bin/ngettext.exe create mode 100644 mingw/bin/recode-sr-latin.exe create mode 100644 mingw/bin/xgettext.exe create mode 100644 mingw/include/autosprintf.h create mode 100644 mingw/include/gettext-po.h create mode 100644 mingw/include/libintl.h create mode 100644 mingw/lib/gettext/hostname.exe create mode 100644 mingw/lib/gettext/project-id create mode 100644 mingw/lib/gettext/urlget.exe create mode 100644 mingw/lib/gettext/user-email create mode 100644 mingw/lib/libasprintf.a create mode 100644 mingw/lib/libasprintf.dll.a create mode 100644 mingw/lib/libasprintf.la create mode 100644 mingw/lib/libgettextlib.dll.a create mode 100644 mingw/lib/libgettextlib.la create mode 100644 mingw/lib/libgettextpo.a create mode 100644 mingw/lib/libgettextpo.dll.a create mode 100644 mingw/lib/libgettextpo.la create mode 100644 mingw/lib/libgettextsrc.dll.a create mode 100644 mingw/lib/libgettextsrc.la create mode 100644 mingw/lib/libintl.a create mode 100644 mingw/lib/libintl.dll.a create mode 100644 mingw/share/aclocal/codeset.m4 create mode 100644 mingw/share/aclocal/fcntl-o.m4 create mode 100644 mingw/share/aclocal/gettext.m4 create mode 100644 mingw/share/aclocal/glibc2.m4 create mode 100644 mingw/share/aclocal/glibc21.m4 create mode 100644 mingw/share/aclocal/iconv.m4 create mode 100644 mingw/share/aclocal/intdiv0.m4 create mode 100644 mingw/share/aclocal/intl.m4 create mode 100644 mingw/share/aclocal/intldir.m4 create mode 100644 mingw/share/aclocal/intlmacosx.m4 create mode 100644 mingw/share/aclocal/intmax.m4 create mode 100644 mingw/share/aclocal/inttypes-pri.m4 create mode 100644 mingw/share/aclocal/inttypes_h.m4 create mode 100644 mingw/share/aclocal/lcmessage.m4 create mode 100644 mingw/share/aclocal/lib-ld.m4 create mode 100644 mingw/share/aclocal/lib-link.m4 create mode 100644 mingw/share/aclocal/lib-prefix.m4 create mode 100644 mingw/share/aclocal/lock.m4 create mode 100644 mingw/share/aclocal/longlong.m4 create mode 100644 mingw/share/aclocal/nls.m4 create mode 100644 mingw/share/aclocal/po.m4 create mode 100644 mingw/share/aclocal/printf-posix.m4 create mode 100644 mingw/share/aclocal/progtest.m4 create mode 100644 mingw/share/aclocal/size_max.m4 create mode 100644 mingw/share/aclocal/stdint_h.m4 create mode 100644 mingw/share/aclocal/threadlib.m4 create mode 100644 mingw/share/aclocal/uintmax_t.m4 create mode 100644 mingw/share/aclocal/visibility.m4 create mode 100644 mingw/share/aclocal/wchar_t.m4 create mode 100644 mingw/share/aclocal/wint_t.m4 create mode 100644 mingw/share/aclocal/xsize.m4 create mode 100644 mingw/share/doc/gettext/FAQ.html create mode 100644 mingw/share/doc/gettext/autopoint.1.html create mode 100644 mingw/share/doc/gettext/bind_textdomain_codeset.3.html create mode 100644 mingw/share/doc/gettext/bindtextdomain.3.html create mode 100644 mingw/share/doc/gettext/csharpdoc/GNU_Gettext.html create mode 100644 mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html create mode 100644 mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html create mode 100644 mingw/share/doc/gettext/csharpdoc/begin.html create mode 100644 mingw/share/doc/gettext/csharpdoc/index.html create mode 100644 mingw/share/doc/gettext/csharpdoc/namespaces.html create mode 100644 mingw/share/doc/gettext/envsubst.1.html create mode 100644 mingw/share/doc/gettext/examples/README create mode 100644 mingw/share/doc/gettext/examples/build-aux/csharpcomp.m4 create mode 100644 mingw/share/doc/gettext/examples/build-aux/csharpcomp.sh.in create mode 100644 mingw/share/doc/gettext/examples/build-aux/csharpexec-test.exe create mode 100644 mingw/share/doc/gettext/examples/build-aux/csharpexec.m4 create mode 100644 mingw/share/doc/gettext/examples/build-aux/csharpexec.sh.in create mode 100644 mingw/share/doc/gettext/examples/build-aux/gcj.m4 create mode 100644 mingw/share/doc/gettext/examples/build-aux/javacomp.m4 create mode 100644 mingw/share/doc/gettext/examples/build-aux/javacomp.sh.in create mode 100644 mingw/share/doc/gettext/examples/build-aux/javaexec.m4 create mode 100644 mingw/share/doc/gettext/examples/build-aux/javaexec.sh.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/hello.cc create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-gnorba-check.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-orbit-check.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk--.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/ChangeLog create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.global create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/Makefile.common create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/acinclude.m4.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/am_edit create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/compile create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/conf.change.pl create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.guess create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.pl create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.sub create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.bot.end create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.min create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs-clean.pl create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/debianrules create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/depcomp create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/detect-autoconf.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/install-sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/libtool.m4.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/ltmain.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/missing create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/mkinstalldirs create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/admin/ylwrap create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/configure.in.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/hello.cc create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.cc create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.h create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/hello.cc create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/m4/qt.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/hello.cc create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/wxwidgets.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c++/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c++/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-c++/hello.cc create mode 100644 mingw/share/doc/gettext/examples/hello-c++/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c++/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/hello.c create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-gnorba-check.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-orbit-check.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-c/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-c/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-c/hello.c create mode 100644 mingw/share/doc/gettext/examples/hello-c/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-c/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/hello.lisp.in create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-clisp/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/README create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/hello.cs create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/hello.cs create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-csharp/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/hello.awk create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-gawk/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-guile/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-guile/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-guile/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-guile/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-guile/hello.scm create mode 100644 mingw/share/doc/gettext/examples/hello-guile/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-guile/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/Hello.java create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.class create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.java create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-awt/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/Hello.java create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.class create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.java create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/Hello.java create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.class create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.java create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-java-swing/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/Hello.java create mode 100644 mingw/share/doc/gettext/examples/hello-java/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-java/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-java/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-java/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-java/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-librep/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-librep/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-librep/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-librep/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-librep/hello.jl.in create mode 100644 mingw/share/doc/gettext/examples/hello-librep/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-librep/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/hello.m create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-gnorba-check.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-orbit-check.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome.m4 create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.h create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.m create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/BUGS create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/GNUmakefile create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.h create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.m create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/main.m create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/GNUmakefile create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LocaleAliases create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-objc/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-objc/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-objc/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-objc/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-objc/hello.m create mode 100644 mingw/share/doc/gettext/examples/hello-objc/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/Makevars create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/POTFILES.in create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-objc/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/hello.pas create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/hello.rst create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-pascal/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-perl/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-perl/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-perl/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-perl/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-perl/hello-1.pl.in create mode 100644 mingw/share/doc/gettext/examples/hello-perl/hello-2.pl.in create mode 100644 mingw/share/doc/gettext/examples/hello-perl/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-perl/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-php/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-php/README create mode 100644 mingw/share/doc/gettext/examples/hello-php/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-php/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-php/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-php/hello.php create mode 100644 mingw/share/doc/gettext/examples/hello-php/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-php/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-python/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-python/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-python/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-python/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-python/hello.py.in create mode 100644 mingw/share/doc/gettext/examples/hello-python/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-python/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-sh/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-sh/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-sh/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-sh/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-sh/hello.sh create mode 100644 mingw/share/doc/gettext/examples/hello-sh/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-sh/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/hello.st.in create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/hello.tcl create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/hello.tcl create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-tcl/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/INSTALL create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/autoclean.sh create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/autogen.sh create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/configure.ac create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/hello.ycp create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/m4/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/LINGUAS create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/Makefile.am create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/af.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ast.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/bg.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ca.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/de.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/el.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/eo.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/es.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/fi.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/fr.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ga.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/hu.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/id.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/it.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ja.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ky.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/lv.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ms.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/mt.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/nl.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/pl.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/pt.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ro.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/ru.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/sk.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/sl.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/sr.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/sv.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/tr.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/uk.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/vi.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/zh_CN.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/zh_HK.po create mode 100644 mingw/share/doc/gettext/examples/hello-ycp/po/zh_TW.po create mode 100644 mingw/share/doc/gettext/examples/installpaths create mode 100644 mingw/share/doc/gettext/gettext.1.html create mode 100644 mingw/share/doc/gettext/gettext.3.html create mode 100644 mingw/share/doc/gettext/gettext_1.html create mode 100644 mingw/share/doc/gettext/gettext_10.html create mode 100644 mingw/share/doc/gettext/gettext_11.html create mode 100644 mingw/share/doc/gettext/gettext_12.html create mode 100644 mingw/share/doc/gettext/gettext_13.html create mode 100644 mingw/share/doc/gettext/gettext_14.html create mode 100644 mingw/share/doc/gettext/gettext_15.html create mode 100644 mingw/share/doc/gettext/gettext_16.html create mode 100644 mingw/share/doc/gettext/gettext_17.html create mode 100644 mingw/share/doc/gettext/gettext_18.html create mode 100644 mingw/share/doc/gettext/gettext_19.html create mode 100644 mingw/share/doc/gettext/gettext_2.html create mode 100644 mingw/share/doc/gettext/gettext_20.html create mode 100644 mingw/share/doc/gettext/gettext_21.html create mode 100644 mingw/share/doc/gettext/gettext_22.html create mode 100644 mingw/share/doc/gettext/gettext_23.html create mode 100644 mingw/share/doc/gettext/gettext_24.html create mode 100644 mingw/share/doc/gettext/gettext_25.html create mode 100644 mingw/share/doc/gettext/gettext_3.html create mode 100644 mingw/share/doc/gettext/gettext_4.html create mode 100644 mingw/share/doc/gettext/gettext_5.html create mode 100644 mingw/share/doc/gettext/gettext_6.html create mode 100644 mingw/share/doc/gettext/gettext_7.html create mode 100644 mingw/share/doc/gettext/gettext_8.html create mode 100644 mingw/share/doc/gettext/gettext_9.html create mode 100644 mingw/share/doc/gettext/gettext_foot.html create mode 100644 mingw/share/doc/gettext/gettext_toc.html create mode 100644 mingw/share/doc/gettext/gettextize.1.html create mode 100644 mingw/share/doc/gettext/javadoc2/allclasses-frame.html create mode 100644 mingw/share/doc/gettext/javadoc2/deprecated-list.html create mode 100644 mingw/share/doc/gettext/javadoc2/gnu/gettext/GettextResource.html create mode 100644 mingw/share/doc/gettext/javadoc2/gnu/gettext/package-frame.html create mode 100644 mingw/share/doc/gettext/javadoc2/gnu/gettext/package-summary.html create mode 100644 mingw/share/doc/gettext/javadoc2/gnu/gettext/package-tree.html create mode 100644 mingw/share/doc/gettext/javadoc2/help-doc.html create mode 100644 mingw/share/doc/gettext/javadoc2/index-all.html create mode 100644 mingw/share/doc/gettext/javadoc2/index.html create mode 100644 mingw/share/doc/gettext/javadoc2/overview-tree.html create mode 100644 mingw/share/doc/gettext/javadoc2/package-list create mode 100644 mingw/share/doc/gettext/javadoc2/packages.html create mode 100644 mingw/share/doc/gettext/javadoc2/serialized-form.html create mode 100644 mingw/share/doc/gettext/javadoc2/stylesheet.css create mode 100644 mingw/share/doc/gettext/msgattrib.1.html create mode 100644 mingw/share/doc/gettext/msgcat.1.html create mode 100644 mingw/share/doc/gettext/msgcmp.1.html create mode 100644 mingw/share/doc/gettext/msgcomm.1.html create mode 100644 mingw/share/doc/gettext/msgconv.1.html create mode 100644 mingw/share/doc/gettext/msgen.1.html create mode 100644 mingw/share/doc/gettext/msgexec.1.html create mode 100644 mingw/share/doc/gettext/msgfilter.1.html create mode 100644 mingw/share/doc/gettext/msgfmt.1.html create mode 100644 mingw/share/doc/gettext/msggrep.1.html create mode 100644 mingw/share/doc/gettext/msginit.1.html create mode 100644 mingw/share/doc/gettext/msgmerge.1.html create mode 100644 mingw/share/doc/gettext/msgunfmt.1.html create mode 100644 mingw/share/doc/gettext/msguniq.1.html create mode 100644 mingw/share/doc/gettext/ngettext.1.html create mode 100644 mingw/share/doc/gettext/ngettext.3.html create mode 100644 mingw/share/doc/gettext/recode-sr-latin.1.html create mode 100644 mingw/share/doc/gettext/textdomain.3.html create mode 100644 mingw/share/doc/gettext/tutorial.html create mode 100644 mingw/share/doc/gettext/xgettext.1.html create mode 100644 mingw/share/doc/libasprintf/autosprintf_all.html create mode 100644 mingw/share/gettext/ABOUT-NLS create mode 100644 mingw/share/gettext/archive.git.tar.gz create mode 100644 mingw/share/gettext/config.rpath create mode 100644 mingw/share/gettext/gettext.h create mode 100644 mingw/share/gettext/intl/COPYING.LIB-2.0 create mode 100644 mingw/share/gettext/intl/COPYING.LIB-2.1 create mode 100644 mingw/share/gettext/intl/ChangeLog create mode 100644 mingw/share/gettext/intl/Makefile.in create mode 100644 mingw/share/gettext/intl/VERSION create mode 100644 mingw/share/gettext/intl/bindtextdom.c create mode 100644 mingw/share/gettext/intl/config.charset create mode 100644 mingw/share/gettext/intl/dcgettext.c create mode 100644 mingw/share/gettext/intl/dcigettext.c create mode 100644 mingw/share/gettext/intl/dcngettext.c create mode 100644 mingw/share/gettext/intl/dgettext.c create mode 100644 mingw/share/gettext/intl/dngettext.c create mode 100644 mingw/share/gettext/intl/eval-plural.h create mode 100644 mingw/share/gettext/intl/explodename.c create mode 100644 mingw/share/gettext/intl/export.h create mode 100644 mingw/share/gettext/intl/finddomain.c create mode 100644 mingw/share/gettext/intl/gettext.c create mode 100644 mingw/share/gettext/intl/gettextP.h create mode 100644 mingw/share/gettext/intl/gmo.h create mode 100644 mingw/share/gettext/intl/hash-string.c create mode 100644 mingw/share/gettext/intl/hash-string.h create mode 100644 mingw/share/gettext/intl/intl-compat.c create mode 100644 mingw/share/gettext/intl/intl-exports.c create mode 100644 mingw/share/gettext/intl/l10nflist.c create mode 100644 mingw/share/gettext/intl/langprefs.c create mode 100644 mingw/share/gettext/intl/libgnuintl.h.in create mode 100644 mingw/share/gettext/intl/libintl.rc create mode 100644 mingw/share/gettext/intl/loadinfo.h create mode 100644 mingw/share/gettext/intl/loadmsgcat.c create mode 100644 mingw/share/gettext/intl/localcharset.c create mode 100644 mingw/share/gettext/intl/localcharset.h create mode 100644 mingw/share/gettext/intl/locale.alias create mode 100644 mingw/share/gettext/intl/localealias.c create mode 100644 mingw/share/gettext/intl/localename.c create mode 100644 mingw/share/gettext/intl/lock.c create mode 100644 mingw/share/gettext/intl/lock.h create mode 100644 mingw/share/gettext/intl/log.c create mode 100644 mingw/share/gettext/intl/ngettext.c create mode 100644 mingw/share/gettext/intl/os2compat.c create mode 100644 mingw/share/gettext/intl/os2compat.h create mode 100644 mingw/share/gettext/intl/osdep.c create mode 100644 mingw/share/gettext/intl/plural-exp.c create mode 100644 mingw/share/gettext/intl/plural-exp.h create mode 100644 mingw/share/gettext/intl/plural.c create mode 100644 mingw/share/gettext/intl/plural.y create mode 100644 mingw/share/gettext/intl/printf-args.c create mode 100644 mingw/share/gettext/intl/printf-args.h create mode 100644 mingw/share/gettext/intl/printf-parse.c create mode 100644 mingw/share/gettext/intl/printf-parse.h create mode 100644 mingw/share/gettext/intl/printf.c create mode 100644 mingw/share/gettext/intl/ref-add.sin create mode 100644 mingw/share/gettext/intl/ref-del.sin create mode 100644 mingw/share/gettext/intl/relocatable.c create mode 100644 mingw/share/gettext/intl/relocatable.h create mode 100644 mingw/share/gettext/intl/setlocale.c create mode 100644 mingw/share/gettext/intl/textdomain.c create mode 100644 mingw/share/gettext/intl/threadlib.c create mode 100644 mingw/share/gettext/intl/tsearch.c create mode 100644 mingw/share/gettext/intl/tsearch.h create mode 100644 mingw/share/gettext/intl/vasnprintf.c create mode 100644 mingw/share/gettext/intl/vasnprintf.h create mode 100644 mingw/share/gettext/intl/vasnwprintf.h create mode 100644 mingw/share/gettext/intl/version.c create mode 100644 mingw/share/gettext/intl/wprintf-parse.h create mode 100644 mingw/share/gettext/intl/xsize.h create mode 100644 mingw/share/gettext/javaversion.class create mode 100644 mingw/share/gettext/msgunfmt.tcl create mode 100644 mingw/share/gettext/po/Makefile.in.in create mode 100644 mingw/share/gettext/po/Makevars.template create mode 100644 mingw/share/gettext/po/Rules-quot create mode 100644 mingw/share/gettext/po/boldquot.sed create mode 100644 mingw/share/gettext/po/en@boldquot.header create mode 100644 mingw/share/gettext/po/en@quot.header create mode 100644 mingw/share/gettext/po/insert-header.sin create mode 100644 mingw/share/gettext/po/quot.sed create mode 100644 mingw/share/gettext/po/remove-potcdate.sin create mode 100644 mingw/share/gettext/projects/GNOME/team-address create mode 100644 mingw/share/gettext/projects/GNOME/teams.html create mode 100644 mingw/share/gettext/projects/GNOME/teams.url create mode 100644 mingw/share/gettext/projects/GNOME/trigger create mode 100644 mingw/share/gettext/projects/KDE/team-address create mode 100644 mingw/share/gettext/projects/KDE/teams.html create mode 100644 mingw/share/gettext/projects/KDE/teams.url create mode 100644 mingw/share/gettext/projects/KDE/trigger create mode 100644 mingw/share/gettext/projects/TP/team-address create mode 100644 mingw/share/gettext/projects/TP/teams.html create mode 100644 mingw/share/gettext/projects/TP/teams.url create mode 100644 mingw/share/gettext/projects/TP/trigger create mode 100644 mingw/share/gettext/projects/index create mode 100644 mingw/share/gettext/projects/team-address create mode 100644 mingw/share/gettext/styles/po-default.css create mode 100644 mingw/share/gettext/styles/po-emacs-x.css create mode 100644 mingw/share/gettext/styles/po-emacs-xterm.css create mode 100644 mingw/share/gettext/styles/po-emacs-xterm16.css create mode 100644 mingw/share/gettext/styles/po-emacs-xterm256.css create mode 100644 mingw/share/gettext/styles/po-vim.css create mode 100644 mingw/share/info/autosprintf.info create mode 100644 mingw/share/info/gettext.info create mode 100644 mingw/share/locale/be/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/be/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/bg/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/bg/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/ca/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/ca/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/cs/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/cs/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/da/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/da/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/de/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/de/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/el/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/el/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/eo/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/es/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/es/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/et/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/et/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/eu/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/fi/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/fi/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/fr/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/fr/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/ga/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/gl/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/gl/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/id/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/id/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/it/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/it/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/ja/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/ja/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/ko/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/ko/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/locale.alias create mode 100644 mingw/share/locale/nb/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/nb/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/nl/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/nl/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/nn/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/nn/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/pl/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/pl/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/pt/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/pt/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/ro/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/ro/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/ru/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/ru/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/sk/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/sk/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/sl/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/sl/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/sr/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/sr/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/sv/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/sv/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/tr/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/tr/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/uk/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/uk/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/vi/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/vi/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo create mode 100644 mingw/share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo create mode 100644 mingw/share/man/man1/autopoint.1 create mode 100644 mingw/share/man/man1/envsubst.1 create mode 100644 mingw/share/man/man1/gettext.1 create mode 100644 mingw/share/man/man1/gettextize.1 create mode 100644 mingw/share/man/man1/msgattrib.1 create mode 100644 mingw/share/man/man1/msgcat.1 create mode 100644 mingw/share/man/man1/msgcmp.1 create mode 100644 mingw/share/man/man1/msgcomm.1 create mode 100644 mingw/share/man/man1/msgconv.1 create mode 100644 mingw/share/man/man1/msgen.1 create mode 100644 mingw/share/man/man1/msgexec.1 create mode 100644 mingw/share/man/man1/msgfilter.1 create mode 100644 mingw/share/man/man1/msgfmt.1 create mode 100644 mingw/share/man/man1/msggrep.1 create mode 100644 mingw/share/man/man1/msginit.1 create mode 100644 mingw/share/man/man1/msgmerge.1 create mode 100644 mingw/share/man/man1/msgunfmt.1 create mode 100644 mingw/share/man/man1/msguniq.1 create mode 100644 mingw/share/man/man1/ngettext.1 create mode 100644 mingw/share/man/man1/recode-sr-latin.1 create mode 100644 mingw/share/man/man1/xgettext.1 create mode 100644 mingw/share/man/man3/bind_textdomain_codeset.3 create mode 100644 mingw/share/man/man3/bindtextdomain.3 create mode 100644 mingw/share/man/man3/dcgettext.3 create mode 100644 mingw/share/man/man3/dcngettext.3 create mode 100644 mingw/share/man/man3/dgettext.3 create mode 100644 mingw/share/man/man3/dngettext.3 create mode 100644 mingw/share/man/man3/gettext.3 create mode 100644 mingw/share/man/man3/ngettext.3 create mode 100644 mingw/share/man/man3/textdomain.3 diff --git a/mingw/bin/autopoint b/mingw/bin/autopoint new file mode 100644 index 00000000..616e4450 --- /dev/null +++ b/mingw/bin/autopoint @@ -0,0 +1,717 @@ +#! /bin/sh +# +# Copyright (C) 2002-2010 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# This file is meant for authors, maintainers, co-maintainers or installers +# of packages which are internationalized with the help of GNU gettext. For +# further information how to use it consult the GNU gettext manual. + +progname=$0 +package=gettext-tools +version=0.18.1 + +# Set variables +# - gettext_dir directory where the sources are stored. +prefix="/mingw" +datarootdir="${prefix}/share" +gettext_dir="${datarootdir}/gettext" + +# func_tmpdir +# creates a temporary directory. +# Sets variable +# - tmp pathname of freshly created temporary directory +func_tmpdir () +{ + # Use the environment variable TMPDIR, falling back to /tmp. This allows + # users to specify a different temporary directory, for example, if their + # /tmp is filled up or too small. + : ${TMPDIR=/tmp} + { + # Use the mktemp program if available. If not available, hide the error + # message. + tmp=`(umask 077 && mktemp -d "$TMPDIR/gtXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { + # Use a simple mkdir command. It is guaranteed to fail if the directory + # already exists. $RANDOM is bash specific and expands to empty in shells + # other than bash, ksh and zsh. Its use does not increase security; + # rather, it minimizes the probability of failure in a very cluttered /tmp + # directory. + tmp=$TMPDIR/gt$$-$RANDOM + (umask 077 && mkdir "$tmp") + } || + { + echo "$0: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } + } +} + +# Support for relocatability. +func_find_curr_installdir () +{ + # Determine curr_installdir, even taking into account symlinks. + curr_executable="$0" + case "$curr_executable" in + */* | *\\*) ;; + *) # Need to look in the PATH. + if test "${PATH_SEPARATOR+set}" != set; then + func_tmpdir + { echo "#! /bin/sh"; echo "exit 0"; } > "$tmp"/conf.sh + chmod +x "$tmp"/conf.sh + if (PATH="/nonexistent;$tmp"; conf.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -rf "$tmp" + fi + save_IFS="$IFS"; IFS="$PATH_SEPARATOR" + for dir in $PATH; do + IFS="$save_IFS" + test -z "$dir" && dir=. + for exec_ext in ''; do + if test -f "$dir/$curr_executable$exec_ext"; then + curr_executable="$dir/$curr_executable$exec_ext" + break 2 + fi + done + done + IFS="$save_IFS" + ;; + esac + # Make absolute. + case "$curr_executable" in + /* | ?:/* | ?:\\*) ;; + *) curr_executable=`pwd`/"$curr_executable" ;; + esac + # Resolve symlinks. + sed_dirname='s,/[^/]*$,,' + sed_linkdest='s,^.* -> \(.*\),\1,p' + while : ; do + lsline=`LC_ALL=C ls -l "$curr_executable"` + case "$lsline" in + *" -> "*) + linkdest=`echo "$lsline" | sed -n -e "$sed_linkdest"` + case "$linkdest" in + /* | ?:/* | ?:\\*) curr_executable="$linkdest" ;; + *) curr_executable=`echo "$curr_executable" | sed -e "$sed_dirname"`/"$linkdest" ;; + esac ;; + *) break ;; + esac + done + curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'` + # Canonicalize. + curr_installdir=`cd "$curr_installdir" && pwd` +} +func_find_prefixes () +{ + # Compute the original/current installation prefixes by stripping the + # trailing directories off the original/current installation directories. + orig_installprefix="$orig_installdir" + curr_installprefix="$curr_installdir" + while true; do + orig_last=`echo "$orig_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + curr_last=`echo "$curr_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + if test -z "$orig_last" || test -z "$curr_last"; then + break + fi + if test "$orig_last" != "$curr_last"; then + break + fi + orig_installprefix=`echo "$orig_installprefix" | sed -e 's,/[^/]*$,,'` + curr_installprefix=`echo "$curr_installprefix" | sed -e 's,/[^/]*$,,'` + done +} +if test "yes" = yes; then + exec_prefix="${prefix}" + bindir="${exec_prefix}/bin" + orig_installdir="$bindir" # see Makefile.am's *_SCRIPTS variables + func_find_curr_installdir # determine curr_installdir + func_find_prefixes + # Relocate the directory variables that we use. + gettext_dir=`echo "$gettext_dir/" | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" | sed -e 's,/$,,'` +fi + +# func_usage +# outputs to stdout the --help usage message. +func_usage () +{ + echo "\ +Usage: autopoint [OPTION]... + +Copies standard gettext infrastructure files into a source package. + +Options: + --help print this help and exit + --version print version information and exit + -f, --force force overwriting of files that already exist + -n, --dry-run print modifications but don't perform them" +# echo "\ +# -V version copy the infrastructure of the specified gettext version +# (dangerous)" + echo " +Report bugs to ." +} + +# func_version +# outputs to stdout the --version message. +func_version () +{ + echo "$progname (GNU $package) $version" + echo "Uses a versions archive in git format." + echo "Copyright (C) 2002-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + echo "Written by" "Bruno Haible" +} + +# func_fatal_error message +# outputs to stderr a fatal error message, and terminates the program. +func_fatal_error () +{ + echo "autopoint: *** $1" 1>&2 + echo "autopoint: *** Stop." 1>&2 + exit 1 +} + +# Command-line option processing. +# Removes the OPTIONS from the arguments. Sets the variables: +# - force yes if --force was given, empty otherwise +# - ver gettext version if -V was given, empty otherwise +# - doit false if --dry-run was given, : otherwise +{ + force= + ver= + doit=: + + while test $# -gt 0; do + case "$1" in + -n | --dry-run | --dry-ru | --dry-r | --dry- | --dry | --dr | --d ) + shift + doit=false ;; + -f | --force | --forc | --for | --fo | --f ) + shift + force=yes ;; + --help | --hel | --he | --h ) + func_usage; exit 0 ;; +# -V ) # Some people put a space between -V and the version number. +# shift +# if test $# = 0; then +# func_usage 1>&2 +# exit 1 +# fi +# ver=$1; +# shift ;; +# -V*) # Some people omit the space between -V and the version number. +# ver=`echo "X$1" | sed -e 's/^X-V//'` +# shift ;; + --version | --versio | --versi | --vers | --ver | --ve | --v ) + func_version + exit 0 ;; + -- ) # Stop option prcessing + shift; break ;; + -* ) + echo "autopoint: unknown option $1" 1>&2 + echo "Try 'autopoint --help' for more information." 1>&2 + exit 1 ;; + * ) + break ;; + esac + done +} + +# Command-line argument processing. +# Analyzes the remaining arguments. +{ + if test $# -gt 0; then + func_usage 1>&2 + exit 1 + fi +} + +srcdir=`pwd` +# The current directory is now $srcdir. + +# Check integrity of package: A configure.in/ac must be present. Sets variable +# - configure_in name of configure.in/ac file. +if test -f configure.in; then + configure_in=configure.in +else + if test -f configure.ac; then + configure_in=configure.ac + else + # KDE specific convention: configure.in.in + if test -f configure.in.in; then + configure_in=configure.in.in + else + func_fatal_error "Missing configure.in or configure.ac, please cd to your package first." + fi + fi +fi + +# Check whether the -V option and the version number in configure.in match. +# At least one of the two must be given. If both are given, they must agree. +sed_extract_AM_GNU_GETTEXT_VERSION_argument='s/^AM_GNU_GETTEXT_VERSION(\([^()]*\)).*$/\1/' +sed_remove_outer_brackets='s/^\[\(.*\)\]$/\1/' +xver=`cat "$configure_in" | grep '^AM_GNU_GETTEXT_VERSION(' | sed -n -e "$sed_extract_AM_GNU_GETTEXT_VERSION_argument"p | sed -e "$sed_remove_outer_brackets" | sed -e 1q` +if test -z "$xver" && test -f intl/VERSION; then + xver=`cat intl/VERSION | LC_ALL=C sed -n -e 's/^.*gettext-\([-+_.0-9A-Za-z]*\).*$/\1/p'` +fi +if test -n "$xver"; then + if test -n "$ver"; then + if test "X$ver" != "X$xver"; then + func_fatal_error "Version mismatch: specified -V $ver but the package uses gettext version $xver" + fi + else + ver="$xver" + fi +else + if test -z "$ver"; then + func_fatal_error "Missing version: please specify in $configure_in through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using" + fi +fi + +# Check whether the version number is supported. +case "$ver" in + 0.10.35 | 0.10.36 | 0.10.37 | 0.10.38 | 0.10.39 | 0.10.40 | \ + 0.11 | 0.11.1 | 0.11.2 | 0.11.3 | 0.11.4 | 0.11.5 | \ + 0.12 | 0.12.1 | \ + 0.13 | 0.13.1 | \ + 0.14 | 0.14.1 | 0.14.2 | 0.14.3 | 0.14.4 | 0.14.5 | 0.14.6 | \ + 0.15 | \ + 0.16 | 0.16.1 | \ + 0.17 | \ + 0.18 | 0.18.1 ) + ;; + *) + func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in + file requires the infrastructure from gettext-$ver but this version + is older. Please upgrade to gettext-$ver or newer." + ;; +esac + +# Check in which directory config.rpath, mkinstalldirs etc. belong. +auxdir=`cat "$configure_in" | grep '^AC_CONFIG_AUX_DIR' | sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` +if test -n "$auxdir"; then + auxdir="$auxdir/" +fi + +# Check in which directory the *.m4 macros belong. +m4dir=m4 +if test -f Makefile.am; then + # A package using automake. + # Extract the macro directory name from Makefile.am. + aclocal_amflags=`grep '^ACLOCAL_AMFLAGS[ ]*=' Makefile.am | sed -e 's/^ACLOCAL_AMFLAGS[ ]*=\(.*\)$/\1/'` + m4dir_is_next= + for arg in $aclocal_amflags; do + if test -n "$m4dir_is_next"; then + m4dir="$arg" + break + else + if test "X$arg" = "X-I"; then + m4dir_is_next=yes + else + m4dir_is_next= + fi + fi + done +fi + +# Check whether to omit the intl/ directory. +omitintl=`cat "$configure_in" | grep '^AM_GNU_GETTEXT' | sed -n -e 's/^AM_GNU_GETTEXT(\([^(),]*\).*$/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` +omitintl=`if test 'external' = "$omitintl"; then echo yes; fi` + +# Check in which directory or directories the po/* infrastructure belongs. +sed_extract_config_files='s,#.*$,, +s,^dnl .*$,, +s, dnl .*$,, +/AC_CONFIG_FILES(/ { + ta + :a + s/)/)/ + tb + s/\\$// + N + ba + :b + s,^.*AC_CONFIG_FILES([[ ]*\([^]"$`\\)]*\).*$,\1,p +}' +configfiles=`cat "$configure_in" | sed -n -e "$sed_extract_config_files"` +# PO directories have a Makefile.in generated from Makefile.in.in. +# Treat a directory as a PO directory if and only if it has a +# POTFILES.in file. This allows packages to have multiple PO +# directories under different names or in different locations. +sed_remove_Makefile_in='s,/Makefile\.in$,,' +podirs=`for f in $configfiles; do case "$f" in */Makefile.in) echo $f;; esac; done | sed -e "$sed_remove_Makefile_in"` +if test -z "$podirs"; then + # If we cannot get the list of PO directories from configure.ac, assume the + # common default. + podirs="po" +fi + +# Set up a temporary checkout directory. +# Set variables +# - work_dir directory containing the temporary checkout +work_dir=tmpwrk$$ +mkdir "$work_dir" || { + if test -d "$work_dir"; then + func_fatal_error "directory $work_dir already exists" + else + func_fatal_error "cannot create directory $work_dir" + fi +} + +# We support three archive formats. +# +# Format | Size (KiB) for gettext-0.17 | Extra tools needed | +# -------+-----------------------------+--------------------+ +# dir | 3000 | -- | +# cvs | 356 | cvs | +# git | 484 | git | +# -------+-----------------------------+--------------------+ + +case "git" in + dir) + # The archive of different versions is very large, but using it does not + # require special tools. + gzip -d -c < "$gettext_dir/archive.dir.tar.gz" | (cd "$work_dir" && tar xf - "gettext-$ver") + if test `find "$work_dir" -type f -print | wc -l` = 0; then + rm -rf "$work_dir" + func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version" + fi + mv "$work_dir/gettext-$ver" "$work_dir/archive" + ;; + + cvs) + # We distributed the many different versions of the files in a CVS + # repository. This guaranteed a good compression rate: + # + # Including version size in KB of + # "du autopoint-files/archive" + # 0.10.35 240 + # 0.10.36 428 + # 0.10.37 436 + # 0.10.38 488 + # 0.10.39 500 + # 0.10.40 528 + # 0.11 720 + # 0.11.1 740 + # 0.11.2 748 + # 0.11.3 804 + # 0.11.4 864 + # 0.11.5 880 + # 0.12 1032 + # 0.12.1 1032 + # 0.13 1220 + # 0.13.1 1236 + # 0.14 1296 + # 0.14.1 1300 + # 0.14.2 1420 + # 0.14.3 1428 + # 0.14.4 1464 + # 0.14.5 1508 + # 0.14.6 1580 + # 0.15 1760 + # 0.16 1808 + # 0.16.1 1812 + # 0.17 2128 + # 0.18 2656 + # + # The requirement that the user must have the CVS program available is not + # a severe restrictions, because most of the people who use autopoint are + # users of CVS. + # + # But the CVS format is now deprecated, because "cvs init" does not work in + # all circumstances + # (see ) + # and we are not allowed to distribute the cvs infrastructure files + # ourselves + # (see ). + # + # Check availability of the CVS program. + (cvs -v) >/dev/null 2>/dev/null || func_fatal_error "cvs program not found" + + # Set up a temporary CVS repository. + # We need the temporary CVS repository because any checkout needs write + # access to the CVSROOT/history file, so it cannot be under $gettext_dir. + # We need the temporary checkout directory because when --force was not + # given, we need to compare the existing files with the checked out ones. + # Set variables + # - cvs_dir directory containing the temporary repository + cvs_dir=tmpcvs$$ + # Use an umask of 077, to avoid attacks that work by overwriting files in + # the "$CVSROOT"/CVSROOT directory. + (umask 077 && mkdir "$cvs_dir") || { + if test -d "$cvs_dir"; then + func_fatal_error "directory $cvs_dir already exists" + else + func_fatal_error "cannot create directory $cvs_dir" + fi + } + CVSROOT="$srcdir/$cvs_dir" + unset CVS_CLIENT_LOG + unset CVS_CLIENT_PORT + unset CVS_IGNORE_REMOTE_ROOT + unset CVS_LOCAL_BRANCH_NUM + unset CVS_NOBASES + unset CVS_PASSFILE + unset CVS_PASSWORD + unset CVS_PROXY_PORT + unset CVS_RCMD_PORT + unset CVS_RSH + unset CVS_SERVER + unset CVS_SERVER_SLEEP + CVS_SIGN_COMMITS= + export CVS_SIGN_COMMITS + unset CVS_SSH + unset CVS_VERIFY_CHECKOUTS + unset CVS_VERIFY_TEMPLATE + unset CVSIGNORE + unset CVSREAD + unset CVSREADONLYFS + unset CVSUMASK + unset CVSWRAPPERS + + # Need to pass -d "$CVSROOT", because there may be a CVS directory in the + # current directory. + cvs -d "$CVSROOT" init + gzip -d -c < "$gettext_dir/archive.cvs.tar.gz" | (cd "$cvs_dir" && tar xf -) + + cd "$work_dir" + cvsver=gettext-`echo "$ver" | sed -e 's/\./_/g'` + (cvs -d "$CVSROOT" checkout -r"$cvsver" archive > /dev/null) 2>&1 | grep -v '^cvs checkout: Updating' + find archive -name CVS -type d -print | xargs rm -rf + cd .. + rm -rf "$cvs_dir" + # Check that really all CVS directories are gone, otherwise we would overwrite + # the contents of the user's CVS directories. + if test `find $work_dir/archive -name CVS -type d -print | wc -l` != 0; then + rm -rf "$work_dir" + func_fatal_error "failed to remove all CVS subdirectories" + fi + if test `find $work_dir/archive -type f -print | wc -l` = 0; then + rm -rf "$work_dir" + func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version" + fi + ;; + + git) + # Check availability of the git program. + (git --version) >/dev/null 2>/dev/null || func_fatal_error "git program not found" + mkdir "$work_dir/archive" + gzip -d -c < "$gettext_dir/archive.git.tar.gz" | (cd "$work_dir/archive" && tar xf -) + (cd "$work_dir/archive" && git checkout -q "gettext-$ver") || { + rm -rf "$work_dir" + func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version" + } + (cd "$work_dir/archive" && rm -rf .git .gitignore) + ;; +esac + +# func_destfile file +# determines the destination file, relative to the package's top level +# directory, for a given file name, relative to archive. +# Sets variables +# - destfile relative destination file name, or +# empty if the file shall be omitted +# - sharedowner yes if the file is not only owned by GNU gettext but may +# be installed by automake or other tools, otherwise empty +# - allpodirs yes if the file is to be installed in every dir in $podirs +func_destfile () +{ + # There are five categories of files: + # ABOUT_NLS -> top level directory + # config.rpath mkinstalldirs -> $auxdir + # m4/* -> $m4dir/ + # intl/* -> intl/ + # po/* -> + sharedowner= + allpodirs= + case `echo "$1" | sed -e 's,[^/]*$,,'` in + "" ) + case "$1" in + config.rpath ) destfile="$auxdir$1" ;; + mkinstalldirs ) destfile="$auxdir$1" sharedowner=yes ;; + * ) destfile="$1" ;; + esac + ;; + m4/ ) destfile=`echo "$1" | sed -e "s,^m4/,$m4dir/,"` ;; + intl/ ) if test -n "$omitintl"; then destfile=""; else destfile="$1"; fi ;; + po/ ) destfile=`echo "$1" | sed -e "s,^po/,,"` allpodirs=yes ;; + * ) destfile="$1" ;; + esac +} + +# func_compare existingfile gettextfile +# compares the existing file and the file from gettext, and decides whether the +# existing file should be overwritten with the file from gettext. Returns 0 if +# it should be overwritten, or 1 if it should be skipped. +sed_extract_serial='s/^#.* serial \([^ ]*\).*/\1/p +1q' +func_compare () +{ + if cmp -s "$1" "$2"; then + false + else + case "$2" in + *.m4) + # For interoperability with gnulib. gnulib often has newer versions of + # the *.m4 files than the latest gettext release. Don't overwrite a + # newer version from gnulib with an older version from the gettext + # release. The version can be retrieved from the first line, which + # looks like this: # file.m4 serial NN ... + existing_serial=`sed -n -e "$sed_extract_serial" < "$1"` + gettext_serial=`sed -n -e "$sed_extract_serial" < "$2"` + if test -n "$existing_serial" && test -n "$gettext_serial" \ + && test "$existing_serial" -ge "$gettext_serial" 2> /dev/null; then + false + else + true + fi + ;; + *) + true + ;; + esac + fi +} + +# If some files have been locally modified and we have not been requested +# to overwrite them, then bail out. This is better than leaving a source +# package around where half of the files are locally modified and half are +# original - too great risk of version mismatch. +if test -z "$force"; then + mismatch= + func_tmpdir + mismatchfile="$tmp"/autopoint.diff + for file in `find "$work_dir/archive" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do + func_destfile "$file" + if test -n "$destfile"; then + func_compare_to_destfile () + { + finaldestfile="$1" + if test -f "$finaldestfile"; then + if func_compare "$finaldestfile" "$work_dir/archive/$file"; then + if test -n "$sharedowner"; then + echo "autopoint: warning: File $finaldestfile has been locally modified." 1>&2 + else + echo "autopoint: File $finaldestfile has been locally modified." 1>&2 + mismatch=yes + diff -c "$work_dir/archive/$file" "$finaldestfile" | sed -e "1s,$work_dir/archive/,," >> "$mismatchfile" + fi + fi + fi + } + if test -n "$allpodirs"; then + for dir in $podirs; do + func_compare_to_destfile "$dir/$destfile" + done + else + func_compare_to_destfile "$destfile" + fi + fi + done + if test -n "$mismatch"; then + rm -rf "$work_dir" + func_fatal_error "Some files have been locally modified. Not overwriting them because --force has not been specified. For your convenience, you find the local modifications in the file '$mismatchfile'." + fi + rm -rf "$tmp" +fi + +# func_mkdir_for to +# ensures the directory that would the given file exists. +# 'to' is a relative pathname, relative to the current directory. +func_mkdir_for () +{ + base=`echo "$1" | sed -e 's,/[^/]*$,,'` + if test "X$base" != "X$1" && test -n "$base"; then + func_mkdir_for "$base" + # Recompute base. It was clobbered by the recursive call. + base=`echo "$1" | sed -e 's,/[^/]*$,,'` + test -d "$base" || { echo "Creating directory $base"; mkdir "$base"; } + fi +} + +# func_copy from to +# copies a file. +# 'from' is a relative pathname, relative to the current directory. +# 'to' is a relative pathname, relative to the current directory. +func_copy () +{ + if $doit; then + func_mkdir_for "$2" + rm -f "$2" + echo "Copying file $2" + cp "$1" "$2" + else + echo "Copy file $2" + fi +} + +# func_backup to +# makes a backup of a file that is about to be overwritten or replaced. +# 'to' is a relative pathname, relative to the current directory. +func_backup () +{ + if $doit; then + if test -f "$1"; then + rm -f "$1~" + cp -p "$1" "$1~" + fi + fi +} + +# Now copy the files. +for file in `find "$work_dir/archive" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do + func_destfile "$file" + if test -n "$destfile"; then + func_copy_to_destfile () + { + finaldestfile="$1" + mustcopy= + if test -f "$finaldestfile"; then + if func_compare "$finaldestfile" "$work_dir/archive/$file"; then + if test -n "$force"; then + # Overwrite locally modified file. + mustcopy=yes + fi + # If --force is not specified, don't overwrite locally modified files + # for which GNU gettext is a shared owner. + fi + else + mustcopy=yes + fi + if test -n "$mustcopy"; then + func_backup "$finaldestfile" + func_copy "$work_dir/archive/$file" "$finaldestfile" + fi + } + if test -n "$allpodirs"; then + for dir in $podirs; do + func_copy_to_destfile "$dir/$destfile" + done + else + func_copy_to_destfile "$destfile" + fi + fi +done + +# That's it. +rm -rf "$work_dir" +exit 0 diff --git a/mingw/bin/envsubst.exe b/mingw/bin/envsubst.exe new file mode 100644 index 0000000000000000000000000000000000000000..314d32f2025bd939ba22cf2e95cadc1a9fbea877 GIT binary patch literal 194561 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 u2{rpUQOM*`oZ@zFMn{>c?Y2hX#dH)m_J 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 i!)7dfR9o1Kq(oFc-Pe=-U{~~#BuqY! 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 G{C@yLNd9C1 literal 0 HcwPel00001 diff --git a/mingw/bin/gettext.exe b/mingw/bin/gettext.exe new file mode 100644 index 0000000000000000000000000000000000000000..9b83676bd0e3dcfadc578b96abe3137f9b932f78 GIT binary patch literal 190842 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/dev/null`" = 'X\t'; then + echo='echo' +else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + echo='printf %s\n' + else + echo_func () { + cat < +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + echo "Written by" "Bruno Haible" + } + if test $# = 1; then + case "$1" in + --help | --hel | --he | --h ) + func_usage; exit 0 ;; + --version | --versio | --versi | --vers | --ver | --ve | --v ) + func_version; exit 0 ;; + esac + fi + func_usage 1>&2 + exit 1 + ;; + esac +fi + +# eval_gettext MSGID +# looks up the translation of MSGID and substitutes shell variables in the +# result. +eval_gettext () { + gettext "$1" | (export PATH `envsubst --variables "$1"`; envsubst "$1") +} + +# eval_ngettext MSGID MSGID-PLURAL COUNT +# looks up the translation of MSGID / MSGID-PLURAL for COUNT and substitutes +# shell variables in the result. +eval_ngettext () { + ngettext "$1" "$2" "$3" | (export PATH `envsubst --variables "$1 $2"`; envsubst "$1 $2") +} + +# Note: This use of envsubst is much safer than using the shell built-in 'eval' +# would be. +# 1) The security problem with Chinese translations that happen to use a +# character such as \xe0\x60 is avoided. +# 2) The security problem with malevolent translators who put in command lists +# like "$(...)" or "`...`" is avoided. +# 3) The translations can only refer to shell variables that are already +# mentioned in MSGID or MSGID-PLURAL. +# +# Note: "export PATH" above is a dummy; this is for the case when +# `envsubst --variables ...` returns nothing. +# +# Note: In eval_ngettext above, "$1 $2" means a string whose variables set is +# the union of the variables set of "$1" and "$2". +# +# Note: The minimal use of backquote above ensures that trailing newlines are +# not dropped, not from the gettext invocation and not from the value of any +# shell variable. +# +# Note: Field splitting on the `envsubst --variables ...` result is desired, +# since envsubst outputs the variables, separated by newlines. Pathname +# wildcard expansion or tilde expansion has no effect here, since the words +# output by "envsubst --variables ..." consist solely of alphanumeric +# characters and underscore. diff --git a/mingw/bin/gettextize b/mingw/bin/gettextize new file mode 100644 index 00000000..77fc29b0 --- /dev/null +++ b/mingw/bin/gettextize @@ -0,0 +1,1281 @@ +#! /bin/sh +# +# Copyright (C) 1995-1998, 2000-2010 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# This file is meant for authors or maintainers which want to +# internationalize their package with the help of GNU gettext. For +# further information how to use it consult the GNU gettext manual. + +progname=$0 +package=gettext-tools +version=0.18.1 + +# Set variables +# - gettext_dir directory where the sources are stored. +prefix="/mingw" +datarootdir="${prefix}/share" +gettext_dir="${datarootdir}/gettext" + +# func_tmpdir +# creates a temporary directory. +# Sets variable +# - tmp pathname of freshly created temporary directory +func_tmpdir () +{ + # Use the environment variable TMPDIR, falling back to /tmp. This allows + # users to specify a different temporary directory, for example, if their + # /tmp is filled up or too small. + : ${TMPDIR=/tmp} + { + # Use the mktemp program if available. If not available, hide the error + # message. + tmp=`(umask 077 && mktemp -d "$TMPDIR/gtXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { + # Use a simple mkdir command. It is guaranteed to fail if the directory + # already exists. $RANDOM is bash specific and expands to empty in shells + # other than bash, ksh and zsh. Its use does not increase security; + # rather, it minimizes the probability of failure in a very cluttered /tmp + # directory. + tmp=$TMPDIR/gt$$-$RANDOM + (umask 077 && mkdir "$tmp") + } || + { + echo "$0: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } + } +} + +# Support for relocatability. +func_find_curr_installdir () +{ + # Determine curr_installdir, even taking into account symlinks. + curr_executable="$0" + case "$curr_executable" in + */* | *\\*) ;; + *) # Need to look in the PATH. + if test "${PATH_SEPARATOR+set}" != set; then + func_tmpdir + { echo "#! /bin/sh"; echo "exit 0"; } > "$tmp"/conf.sh + chmod +x "$tmp"/conf.sh + if (PATH="/nonexistent;$tmp"; conf.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -rf "$tmp" + fi + save_IFS="$IFS"; IFS="$PATH_SEPARATOR" + for dir in $PATH; do + IFS="$save_IFS" + test -z "$dir" && dir=. + for exec_ext in ''; do + if test -f "$dir/$curr_executable$exec_ext"; then + curr_executable="$dir/$curr_executable$exec_ext" + break 2 + fi + done + done + IFS="$save_IFS" + ;; + esac + # Make absolute. + case "$curr_executable" in + /* | ?:/* | ?:\\*) ;; + *) curr_executable=`pwd`/"$curr_executable" ;; + esac + # Resolve symlinks. + sed_dirname='s,/[^/]*$,,' + sed_linkdest='s,^.* -> \(.*\),\1,p' + while : ; do + lsline=`LC_ALL=C ls -l "$curr_executable"` + case "$lsline" in + *" -> "*) + linkdest=`echo "$lsline" | sed -n -e "$sed_linkdest"` + case "$linkdest" in + /* | ?:/* | ?:\\*) curr_executable="$linkdest" ;; + *) curr_executable=`echo "$curr_executable" | sed -e "$sed_dirname"`/"$linkdest" ;; + esac ;; + *) break ;; + esac + done + curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'` + # Canonicalize. + curr_installdir=`cd "$curr_installdir" && pwd` +} +func_find_prefixes () +{ + # Compute the original/current installation prefixes by stripping the + # trailing directories off the original/current installation directories. + orig_installprefix="$orig_installdir" + curr_installprefix="$curr_installdir" + while true; do + orig_last=`echo "$orig_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + curr_last=`echo "$curr_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + if test -z "$orig_last" || test -z "$curr_last"; then + break + fi + if test "$orig_last" != "$curr_last"; then + break + fi + orig_installprefix=`echo "$orig_installprefix" | sed -e 's,/[^/]*$,,'` + curr_installprefix=`echo "$curr_installprefix" | sed -e 's,/[^/]*$,,'` + done +} +if test "yes" = yes; then + exec_prefix="${prefix}" + bindir="${exec_prefix}/bin" + orig_installdir="$bindir" # see Makefile.am's *_SCRIPTS variables + func_find_curr_installdir # determine curr_installdir + func_find_prefixes + # Relocate the directory variables that we use. + gettext_dir=`echo "$gettext_dir/" | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" | sed -e 's,/$,,'` +fi + +# func_usage +# outputs to stdout the --help usage message. +func_usage () +{ + echo "\ +Usage: gettextize [OPTION]... [package-dir] + +Prepares a source package to use gettext. + +Options: + --help print this help and exit + --version print version information and exit + -f, --force force writing of new files even if old exist + --intl install libintl in a subdirectory (deprecated) + --po-dir=DIR specify directory with PO files + --no-changelog don't update or create ChangeLog files + --symlink make symbolic links instead of copying files + -n, --dry-run print modifications but don't perform them + +Report bugs to ." +} + +# func_version +# outputs to stdout the --version message. +func_version () +{ + echo "$progname (GNU $package) $version" + echo "Copyright (C) 1995-1998, 2000-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + echo "Written by" "Ulrich Drepper" +} + +# func_fatal_error message +# outputs to stderr a fatal error message, and terminates the program. +func_fatal_error () +{ + echo "gettextize: *** $1" 1>&2 + echo "gettextize: *** Stop." 1>&2 + exit 1 +} + +# Nuisances. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Command-line option processing. +# Removes the OPTIONS from the arguments. Sets the variables: +# - force 1 if --force was given, 0 otherwise +# - intldir yes if --intl was given, empty otherwise +# - podirs list of directories specified with --po-dir +# - try_ln_s : if --symlink was given, false otherwise +# - do_changelog false if --no-changelog was given, : otherwise +# - doit false if --dry-run was given, : otherwise +{ + force=0 + intldir= + podirs= + try_ln_s=false + do_changelog=: + doit=: + + while test $# -gt 0; do + case "$1" in + -c | --copy | --cop | --co | --c ) # accepted for backward compatibility + shift ;; + -n | --dry-run | --dry-ru | --dry-r | --dry- | --dry | --dr | --d ) + shift + doit=false ;; + -f | --force | --forc | --for | --fo | --f ) + shift + force=1 ;; + --help | --hel | --he | --h ) + func_usage; exit 0 ;; + --intl | --int | --in | --i ) + shift + intldir=yes ;; + --po-dir | --po-di | --po-d | --po- | --po | --p ) + shift + if test $# = 0; then + func_fatal_error "missing argument for --po-dir" + fi + case "$1" in + -*) func_fatal_error "missing argument for --po-dir" ;; + esac + podirs="$podirs $1" + shift ;; + --po-dir=* ) + arg=`echo "X$1" | sed -e 's/^X--po-dir=//'` + podirs="$podirs $arg" + shift ;; + --no-changelog | --no-changelo | --no-changel | --no-change | --no-chang | --no-chan | --no-cha | --no-ch | --no-c ) + shift + do_changelog=false ;; + --symlink | --symlin | --symli | --syml | --sym | --sy | --s ) + shift + try_ln_s=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v ) + func_version + exit 0 ;; + -- ) # Stop option prcessing + shift; break ;; + -* ) + echo "gettextize: unknown option $1" 1>&2 + echo "Try 'gettextize --help' for more information." 1>&2 + exit 1 ;; + * ) + break ;; + esac + done + # podirs defaults to "po". + test -n "$podirs" || podirs="po" +} + +# Warn about deprecated options. +if test -n "$intldir"; then + echo "gettextize: warning: the option '--intl' is deprecated and will be removed" 1>&2 +fi + +# Command-line argument processing. +# Analyzes the remaining arguments. +# Sets the variables +# - origdir to the original directory, +# - srcdir to the package directory, and cd-s into it. +{ + if test $# -gt 1; then + func_usage 1>&2 + exit 1 + fi + origdir=`pwd` + if test $# -eq 1; then + srcdir=$1 + if cd "$srcdir"; then + srcdir=`pwd` + else + func_fatal_error "Cannot change directory to '$srcdir'." + fi + else + srcdir=$origdir + fi +} + +# The current directory is now $srcdir. + +# Check integrity of package: A configure.in/ac must be present. Sets variable +# - configure_in name of configure.in/ac file. +test -f configure.in || test -f configure.ac || + func_fatal_error "Missing configure.in or configure.ac, please cd to your package first." +configure_in=NONE +if test -f configure.in; then + configure_in=configure.in +else + if test -f configure.ac; then + configure_in=configure.ac + fi +fi + +# Check whether the --force option is needed but has not been specified. +if test $force -eq 0; then + if test -d intl; then + func_fatal_error "intl/ subdirectory exists: use option -f if you really want to delete it." + fi + for podir in $podirs; do + if test -f "$podir/Makefile.in.in"; then + func_fatal_error "$podir/Makefile.in.in exists: use option -f if you really want to delete it." + fi + done + if test -f ABOUT-NLS; then + func_fatal_error "ABOUT-NLS exists: use option -f if you really want to delete it." + fi +fi + +# Check in which directory config.rpath etc. belong. +auxdir=`cat "$configure_in" | grep '^AC_CONFIG_AUX_DIR' | sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q` +if test -n "$auxdir"; then + auxdir="$auxdir/" +fi + +# For simplicity we change to the gettext source directory. +cd "$gettext_dir" || + func_fatal_error "gettext source directory '${gettext_dir}' doesn't exist" + +# Variables which keep track what has been modified. +added_directories= +removed_directory= +added_extradist= +added_acoutput= +removed_acoutput=" intl/intlh.inst" + +# Variable: +# - please accumulates instructions for the user. +please= + +# Variable: +# - date current date, for use in ChangeLog entries. +date=`date +%Y-%m-%d` + +# func_copy from to +# copies a file. +# 'from' is a relative pathname, relative to the current directory. +# 'to' is a relative pathname, relative to $srcdir. +func_copy () +{ + if $doit; then + rm -f "$srcdir/$2" + echo "Copying file $2" + cp "$1" "$srcdir/$2" + else + echo "Copy file $2" + fi +} + +# func_linkorcopy from absfrom to +# links or copies a file. +# 'from' is a relative pathname, relative to the current directory. +# 'absfrom' is the corresponding absolute pathname. +# 'to' is a relative pathname, relative to $srcdir. +func_linkorcopy () +{ + if $doit; then + rm -f "$srcdir/$3" + ($try_ln_s && ln -s "$2" "$srcdir/$3" && echo "Symlinking file $3") 2>/dev/null || + { echo "Copying file $3"; cp "$1" "$srcdir/$3"; } + else + if $try_ln_s; then + echo "Symlink file $3" + else + echo "Copy file $3" + fi + fi +} + +# func_backup to +# makes a backup of a file that is about to be overwritten or replaced. +# 'to' is a relative pathname, relative to $srcdir. +func_backup () +{ + if $doit; then + if test -f "$srcdir/$1"; then + rm -f "$srcdir/$1~" + cp -p "$srcdir/$1" "$srcdir/$1~" + fi + fi +} + +# func_remove to +# removes a file. +# 'to' is a relative pathname, relative to $srcdir. +func_remove () +{ + if $doit; then + echo "Removing $1" + rm -f "$srcdir/$1" + else + echo "Remove $1" + fi +} + +# func_ChangeLog_init +# func_ChangeLog_add_entry line +# func_ChangeLog_finish +# manage the ChangeLog file, relative to $srcdir. +func_ChangeLog_init () +{ + modified_ChangeLog= +} +func_ChangeLog_add_entry () +{ + if $doit; then + if test -z "$modified_ChangeLog"; then + echo "$date gettextize " > "$srcdir/ChangeLog.tmp" + echo >> "$srcdir/ChangeLog.tmp" + modified_ChangeLog=yes + fi + echo "$1" >> "$srcdir/ChangeLog.tmp" + else + modified_ChangeLog=yes + fi +} +func_ChangeLog_finish () +{ + if test -n "$modified_ChangeLog"; then + if $doit; then + echo >> "$srcdir/ChangeLog.tmp" + if test -f "$srcdir/ChangeLog"; then + echo "Adding an entry to ChangeLog (backup is in ChangeLog~)" + cat "$srcdir/ChangeLog" >> "$srcdir/ChangeLog.tmp" + rm -f "$srcdir/ChangeLog~" + cp -p "$srcdir/ChangeLog" "$srcdir/ChangeLog~" + else + echo "Creating ChangeLog" + fi + cp "$srcdir/ChangeLog.tmp" "$srcdir/ChangeLog" + rm -f "$srcdir/ChangeLog.tmp" + else + if test -f "$srcdir/ChangeLog"; then + echo "Add an entry to ChangeLog" + else + echo "Create ChangeLog" + fi + fi + fi +} + +# func_poChangeLog_init +# func_poChangeLog_add_entry line +# func_poChangeLog_finish +# manage the $podir/ChangeLog file, relative to $srcdir. +func_poChangeLog_init () +{ + modified_poChangeLog= +} +func_poChangeLog_add_entry () +{ + if $doit; then + if test -z "$modified_poChangeLog"; then + echo "$date gettextize " > "$srcdir/$podir/ChangeLog.tmp" + echo >> "$srcdir/$podir/ChangeLog.tmp" + modified_poChangeLog=yes + fi + echo "$1" >> "$srcdir/$podir/ChangeLog.tmp" + else + modified_poChangeLog=yes + fi +} +func_poChangeLog_finish () +{ + if test -n "$modified_poChangeLog"; then + if $doit; then + echo >> "$srcdir/$podir/ChangeLog.tmp" + if test -f "$srcdir/$podir/ChangeLog"; then + echo "Adding an entry to $podir/ChangeLog (backup is in $podir/ChangeLog~)" + cat "$srcdir/$podir/ChangeLog" >> "$srcdir/$podir/ChangeLog.tmp" + rm -f "$srcdir/$podir/ChangeLog~" + cp -p "$srcdir/$podir/ChangeLog" "$srcdir/$podir/ChangeLog~" + else + echo "Creating $podir/ChangeLog" + fi + cp "$srcdir/$podir/ChangeLog.tmp" "$srcdir/$podir/ChangeLog" + rm -f "$srcdir/$podir/ChangeLog.tmp" + else + if test -f "$srcdir/$podir/ChangeLog"; then + echo "Add an entry to $podir/ChangeLog" + else + echo "Create $podir/ChangeLog" + fi + fi + fi +} + +# func_m4ChangeLog_init +# func_m4ChangeLog_add_entry line +# func_m4ChangeLog_finish +# manage the $m4dir/ChangeLog file, relative to $srcdir. +func_m4ChangeLog_init () +{ + if test -n "$using_m4ChangeLog"; then + modified_m4ChangeLog= + created_m4ChangeLog= + fi +} +func_m4ChangeLog_add_entry () +{ + if test -n "$using_m4ChangeLog"; then + if $doit; then + if test -z "$modified_m4ChangeLog"; then + echo "$date gettextize " > "$srcdir/$m4dir/ChangeLog.tmp" + echo >> "$srcdir/$m4dir/ChangeLog.tmp" + modified_m4ChangeLog=yes + fi + echo "$1" >> "$srcdir/$m4dir/ChangeLog.tmp" + else + modified_m4ChangeLog=yes + fi + else + line="$1" + line=`echo "$line" | sed -e "s%^ \\* % * $m4dir/%"` + func_ChangeLog_add_entry "$line" + fi +} +func_m4ChangeLog_finish () +{ + if test -n "$using_m4ChangeLog"; then + if test -n "$modified_m4ChangeLog"; then + if $doit; then + echo >> "$srcdir/$m4dir/ChangeLog.tmp" + if test -f "$srcdir/$m4dir/ChangeLog"; then + echo "Adding an entry to $m4dir/ChangeLog (backup is in $m4dir/ChangeLog~)" + cat "$srcdir/$m4dir/ChangeLog" >> "$srcdir/$m4dir/ChangeLog.tmp" + rm -f "$srcdir/$m4dir/ChangeLog~" + cp -p "$srcdir/$m4dir/ChangeLog" "$srcdir/$m4dir/ChangeLog~" + else + echo "Creating $m4dir/ChangeLog" + created_m4ChangeLog=yes + fi + cp "$srcdir/$m4dir/ChangeLog.tmp" "$srcdir/$m4dir/ChangeLog" + rm -f "$srcdir/$m4dir/ChangeLog.tmp" + else + if test -f "$srcdir/$m4dir/ChangeLog"; then + echo "Add an entry to $m4dir/ChangeLog" + else + echo "Create $m4dir/ChangeLog" + created_m4ChangeLog=yes + fi + fi + fi + fi +} +using_m4ChangeLog=yes + +if test ! -f "$srcdir/intl/Makefile.in" && test -n "$intldir"; then + added_acoutput="$added_acoutput intl/Makefile" +fi +if test -f "$srcdir/intl/Makefile.in" && test -z "$intldir"; then + removed_acoutput="$removed_acoutput intl/Makefile" +fi +if test -d "$srcdir/intl"; then + # Remove everything inside intl except for RCS and CVS subdirs and invisible + # files. + if $doit; then + echo "Wiping out intl/ subdirectory" + (cd "$srcdir/intl" && + for f in *; do + if test CVS != "$f" && test RCS != "$f"; then + rm -rf "$f" + fi + done) + else + echo "Wipe out intl/ subdirectory" + fi + if test -z "$intldir"; then + removed_directory=intl + fi +else + if test -n "$intldir"; then + if $doit; then + echo "Creating intl/ subdirectory" + mkdir "$srcdir/intl" || func_fatal_error "failed to create intl/ subdirectory" + else + echo "Create intl/ subdirectory" + fi + added_directories="$added_directories intl" + fi +fi + +$do_changelog && func_ChangeLog_init + +for podir in $podirs; do + test -d "$srcdir/$podir" || { + if $doit; then + echo "Creating $podir/ subdirectory" + mkdir "$srcdir/$podir" || func_fatal_error "failed to create $podir/ subdirectory" + else + echo "Create $podir/ subdirectory" + fi + added_directories="$added_directories $podir" + } +done + +# Create the directory for config.rpath, if needed. +# This is for consistency with autoreconf and automake. +# Note that $auxdir is either empty or ends in a slash. +test -d "$srcdir/$auxdir" || { + if $doit; then + echo "Creating $auxdir subdirectory" + mkdir "$srcdir/$auxdir" || func_fatal_error "failed to create $auxdir subdirectory" + else + echo "Create $auxdir subdirectory" + fi +} + +# Now copy all files. Take care for the destination directories. +for file in *; do + case $file in + ABOUT-NLS) + func_linkorcopy $file "$gettext_dir/$file" $file + ;; + config.rpath) + if test -f "$srcdir/$auxdir$file"; then + : + else + added_extradist="$added_extradist $auxdir$file" + fi + func_linkorcopy $file "$gettext_dir/$file" "$auxdir$file" + ;; + esac +done + +# Copy files to intl/ subdirectory. +if test -n "$intldir"; then + cd intl + for file in *; do + if test $file != COPYING.LIB-2.0 && test $file != COPYING.LIB-2.1; then + if test $file != plural.c; then + func_linkorcopy $file "$gettext_dir/intl/$file" intl/$file + else + # plural.c is a generated file; it must be copied and touched. + func_copy $file intl/$file + if $doit; then + (sleep 2; touch "$srcdir/intl/$file") & + fi + fi + fi + done + cd .. +else + echo "Not copying intl/ directory." + # Tell the user what to put into configure.ac, if it is not already there. + if grep '^AM_GNU_GETTEXT([[]\?external[]]\?[ ]*[,)]' "$srcdir/$configure_in" > /dev/null; then + : + else + please="$please +Please use AM_GNU_GETTEXT([external]) in order to cause autoconfiguration +to look for an external libintl. +" + fi +fi + +# Copy files to po/ subdirectory. +cd po +for podir in $podirs; do + $do_changelog && func_poChangeLog_init + for file in Makefile.in.in; do + same=no + if test -f "$srcdir/$podir/$file"; then + if cmp -s $file "$srcdir/$podir/$file"; then + same=yes + fi + else + added_acoutput="$added_acoutput $podir/Makefile.in" + fi + if $do_changelog && test $same = no; then + if test -f "$srcdir/$podir/$file"; then + func_poChangeLog_add_entry " * $file: Upgrade to gettext-${version}." + else + func_poChangeLog_add_entry " * $file: New file, from gettext-${version}." + fi + fi + func_backup "$podir/$file" + func_linkorcopy $file "$gettext_dir/po/$file" "$podir/$file" + done + for file in *; do + case $file in + Makefile.in.in) + # Already handled above. + ;; + Makevars.template) + func_linkorcopy Makevars.template "$gettext_dir/po/Makevars.template" "$podir/Makevars.template" + if test -f "$srcdir/po/Makevars"; then + LC_ALL=C sed -n -e 's/[ ]*\([A-Za-z0-9_]*\)[ ]*=.*/\1/p' < "$srcdir/$podir/Makevars" | LC_ALL=C sort > "$srcdir/$podir/Makevars.tmp1" + LC_ALL=C sed -n -e 's/[ ]*\([A-Za-z0-9_]*\)[ ]*=.*/\1/p' < "$srcdir/$podir/Makevars.template" | LC_ALL=C sort > "$srcdir/$podir/Makevars.tmp2" + missingvars=`LC_ALL=C comm -13 "$srcdir/$podir/Makevars.tmp1" "$srcdir/$podir/Makevars.tmp2"` + rm -f "$srcdir/$podir/Makevars.tmp1" "$srcdir/$podir/Makevars.tmp2" + if test -n "$missingvars"; then + please="$please +Please update $podir/Makevars so that it defines all the variables mentioned +in $podir/Makevars.template. +You can then remove $podir/Makevars.template. +" + fi + else + please="$please +Please create $podir/Makevars from the template in $podir/Makevars.template. +You can then remove $podir/Makevars.template. +" + fi + ;; + *) + same=no + if test -f "$srcdir/$podir/$file"; then + if cmp -s $file "$srcdir/$podir/$file"; then + same=yes + fi + fi + if $do_changelog && test $same = no; then + if test -f "$srcdir/$podir/$file"; then + func_poChangeLog_add_entry " * $file: Upgrade to gettext-${version}." + else + func_poChangeLog_add_entry " * $file: New file, from gettext-${version}." + fi + fi + func_backup "$podir/$file" + func_linkorcopy $file "$gettext_dir/po/$file" "$podir/$file" + ;; + esac + done + if test -f "$srcdir/$podir/cat-id-tbl.c"; then + func_remove "$podir/cat-id-tbl.c" + $do_changelog && func_poChangeLog_add_entry " * cat-id-tbl.c: Remove file." + fi + if test -f "$srcdir/$podir/stamp-cat-id"; then + func_remove "$podir/stamp-cat-id" + $do_changelog && func_poChangeLog_add_entry " * stamp-cat-id: Remove file." + fi + if test ! -f "$srcdir/$podir/POTFILES.in"; then + if $doit; then + echo "Creating initial $podir/POTFILES.in" + echo '# List of source files which contain translatable strings.' > "$srcdir/$podir/POTFILES.in" + else + echo "Create initial $podir/POTFILES.in" + fi + $do_changelog && func_poChangeLog_add_entry " * POTFILES.in: New file." + please="$please +Please fill $podir/POTFILES.in as described in the documentation. +" + fi + $do_changelog && func_poChangeLog_finish +done + +# Determine whether we can assume automake 1.9 or newer. +have_automake19= +if (aclocal --version) >/dev/null 2>/dev/null; then + aclocal_version=`aclocal --version | sed -n -e 1p | sed -e 's/^[^0-9]*//'` + case $aclocal_version in + 1.9* | 1.[1-9][0-9]* | [2-9]*) have_automake19=yes ;; + esac +fi + +m4filelist='gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 + po.m4 progtest.m4' +# With aclocal versions < 1.9 we need all m4 files, otherwise "aclocal -I m4" +# might give an error. (aclocal < 1.9 didn't know which macros are really +# needed, it looked which macros are potentially needed.) +min_automake_version=1.9 +if test -n "$intldir" || test -z "$have_automake19"; then + # Add intldir.m4, intl.m4 and its dependencies. + m4filelist=$m4filelist' codeset.m4 fcntl-o.m4 glibc2.m4 glibc21.m4 intdiv0.m4 + intl.m4 intldir.m4 intlmacosx.m4 intmax.m4 inttypes_h.m4 inttypes-pri.m4 + lcmessage.m4 lock.m4 longlong.m4 printf-posix.m4 size_max.m4 stdint_h.m4 + threadlib.m4 uintmax_t.m4 visibility.m4 wchar_t.m4 wint_t.m4 xsize.m4' + min_automake_version=1.8 +fi + +# All sorts of bugs could occur if the configure file was remade with the wrong +# version of gettext.m4 et al. (because then the configure and the po/Makefile.in.in +# don't fit together). It is therefore important that the package carries the +# right versions of gettext.m4 et al. with it. +if test -f "$srcdir/Makefile.am"; then + # A package using automake. + + # Determine whether it's using automake 1.8 or newer. + have_automake18= + if (aclocal --version) >/dev/null 2>/dev/null; then + aclocal_version=`aclocal --version | sed -n -e 1p | sed -e 's/^[^0-9]*//'` + case $aclocal_version in + 1.[8-9]* | 1.[1-9][0-9]* | [2-9]*) have_automake18=yes ;; + esac + fi + + # Extract the macro directory name from Makefile.am. + aclocal_amflags=`grep '^ACLOCAL_AMFLAGS[ ]*=' "$srcdir/Makefile.am" | sed -e 's/^ACLOCAL_AMFLAGS[ ]*=\(.*\)$/\1/'` + m4dir=m4 + m4dir_defaulted=yes + m4dir_is_next= + for arg in $aclocal_amflags; do + if test -n "$m4dir_is_next"; then + # Ignore absolute directory pathnames, like /usr/local/share/aclocal. + case "$arg" in + /*) ;; + *) + m4dir="$arg" + m4dir_defaulted= + break + ;; + esac + m4dir_is_next= + else + if test "X$arg" = "X-I"; then + m4dir_is_next=yes + else + m4dir_is_next= + fi + fi + done + + # Decide whether to use $m4dir/ChangeLog, or to use ChangeLog instead. + if test -d "$srcdir/$m4dir" && test -f "$srcdir/ChangeLog" && test ! -f "$srcdir/$m4dir/ChangeLog"; then + # The programmer has no $m4dir/ChangeLog so far. Don't introduce one. + using_m4ChangeLog= + fi + + # Update the *.m4 files and the corresponding Makefile.am. + $do_changelog && func_m4ChangeLog_init + added_m4dir= + added_m4files= + if test -d "$srcdir/$m4dir"; then + : + else + if $doit; then + echo "Creating directory $m4dir" + mkdir "$srcdir/$m4dir" + else + echo "Create directory $m4dir" + fi + added_m4dir=yes + fi + for file in $m4filelist; do + same=no + if test -f "$srcdir/$m4dir/$file"; then + if cmp -s "${datarootdir}/aclocal/$file" "$srcdir/$m4dir/$file"; then + same=yes + fi + else + added_m4files="$added_m4files $file" + fi + if $do_changelog && test $same = no; then + if test -f "$srcdir/$m4dir/$file"; then + func_m4ChangeLog_add_entry " * $file: Upgrade to gettext-${version}." + else + func_m4ChangeLog_add_entry " * $file: New file, from gettext-${version}." + fi + fi + func_backup "$m4dir/$file" + func_linkorcopy "${datarootdir}/aclocal/$file" "${datarootdir}/aclocal/$file" "$m4dir/$file" + done + missing_m4Makefileam= + if test -n "$added_m4files"; then + if test -f "$srcdir/$m4dir/Makefile.am"; then + if $doit; then + echo "Updating EXTRA_DIST in $m4dir/Makefile.am (backup is in $m4dir/Makefile.am~)" + func_backup "$m4dir/Makefile.am" + rm -f "$srcdir/$m4dir/Makefile.am" + if grep '^EXTRA_DIST[ ]*=' "$srcdir/$m4dir/Makefile.am~" > /dev/null; then + sed -e "s%^\(EXTRA_DIST[ ]*=\) \\?%\\1$added_m4files %" < "$srcdir/$m4dir/Makefile.am~" > "$srcdir/$m4dir/Makefile.am" + $do_changelog && func_m4ChangeLog_add_entry " * Makefile.am (EXTRA_DIST): Add the new files." + else + (cat "$srcdir/$m4dir/Makefile.am~"; echo; echo "EXTRA_DIST =$added_m4files") > "$srcdir/$m4dir/Makefile.am" + $do_changelog && func_m4ChangeLog_add_entry " * Makefile.am (EXTRA_DIST): New variable." + fi + else + echo "Update EXTRA_DIST in $m4dir/Makefile.am" + $do_changelog && func_m4ChangeLog_add_entry " * Makefile.am (EXTRA_DIST)." + fi + else + # $m4dir/Makefile.am is not needed any more when aclocal 1.8 or newer + # is used. + if test -z "$have_automake18"; then + if $doit; then + echo "Creating $m4dir/Makefile.am" + echo "EXTRA_DIST =$added_m4files" > "$srcdir/$m4dir/Makefile.am" + else + echo "Create $m4dir/Makefile.am" + fi + $do_changelog && func_m4ChangeLog_add_entry " * Makefile.am: New file." + added_acoutput="$added_acoutput $m4dir/Makefile" + else + missing_m4Makefileam=yes + fi + fi + fi + if test -n "$added_m4dir" && test -z "$missing_m4Makefileam"; then + added_directories="$added_directories $m4dir" + fi + $do_changelog && func_m4ChangeLog_finish + # automake will arrange for $m4dir/ChangeLog to be distributed if a + # $m4dir/Makefile.am exists. If not, we need to add it to Makefile.am's + # EXTRA_DIST explicitly. + if test -n "$created_m4ChangeLog" && test -n "$missing_m4Makefileam"; then + added_extradist="$added_extradist $m4dir/ChangeLog" + fi + + # Update the top-level Makefile.am. + modified_Makefile_am= + # func_modify_Makefile_am changelog_comment + # assumes a modified copy of $srcdir/Makefile.am in $srcdir/Makefile.am.tmp + # and replaces the original Makefile.am file with the modified one if + # the two files differ. Then it removes the modified copy. + func_modify_Makefile_am () + { + if cmp -s "$srcdir/Makefile.am" "$srcdir/Makefile.am.tmp"; then + : + else + if test -z "$modified_Makefile_am"; then + if $doit; then + echo "Updating Makefile.am (backup is in Makefile.am~)" + func_backup Makefile.am + else + echo "Update Makefile.am" + fi + fi + if $doit; then + rm -f "$srcdir/Makefile.am" + cp "$srcdir/Makefile.am.tmp" "$srcdir/Makefile.am" + fi + if $do_changelog; then + if test -z "$modified_Makefile_am"; then + func_ChangeLog_add_entry " * Makefile.am $1" + else + func_ChangeLog_add_entry " $1" + fi + fi + modified_Makefile_am=yes + fi + rm -f "$srcdir/Makefile.am.tmp" + } + + if test -n "$added_directories"; then + if grep '^SUBDIRS[ ]*=' "$srcdir/Makefile.am" > /dev/null; then + sed -e "s%^\(SUBDIRS[ ]*=\) \\?%\\1$added_directories %" < "$srcdir/Makefile.am" > "$srcdir/Makefile.am.tmp" + added_directories_pretty=`echo $added_directories | sed -e 's/ /, /g'` + func_modify_Makefile_am "(SUBDIRS): Add $added_directories_pretty." + else + (cat "$srcdir/Makefile.am"; echo; echo "SUBDIRS =$added_directories") > "$srcdir/Makefile.am.tmp" + func_modify_Makefile_am "(SUBDIRS): New variable." + fi + fi + if test -n "$removed_directory"; then + sed -e '/^SUBDIRS[ ]*=/ { + :a + s%\([ ]\)'"$removed_directory"'[ ]%\1% + s%[ ]'"$removed_directory"'$%% + tb + :b + s%\\$%\\% + tc + bd + :c + n + ba + :d + }' < "$srcdir/Makefile.am" > "$srcdir/Makefile.am.tmp" + func_modify_Makefile_am "(SUBDIRS): Remove $removed_directory." + fi + if test -n "$added_directories"; then + if grep '^DIST_SUBDIRS[ ]*=' "$srcdir/Makefile.am" > /dev/null; then + sed -e "s%^\(DIST_SUBDIRS[ ]*=\) \\?%\\1$added_directories %" < "$srcdir/Makefile.am" > "$srcdir/Makefile.am.tmp" + added_directories_pretty=`echo $added_directories | sed -e 's/ /, /g'` + func_modify_Makefile_am "(DIST_SUBDIRS): Add $added_directories_pretty." + fi + fi + if test -n "$removed_directory"; then + sed -e '/^DIST_SUBDIRS[ ]*=/ { + :a + s%\([ ]\)'"$removed_directory"'[ ]%\1% + s%[ ]'"$removed_directory"'$%% + tb + :b + s%\\$%\\% + tc + bd + :c + n + ba + :d + }' < "$srcdir/Makefile.am" > "$srcdir/Makefile.am.tmp" + func_modify_Makefile_am "(DIST_SUBDIRS): Remove $removed_directory." + fi + if test -n "$m4dir_defaulted"; then + if grep '^ACLOCAL_AMFLAGS[ ]*=' "$srcdir/Makefile.am" > /dev/null; then + sed -e "s%^\(ACLOCAL_AMFLAGS[ ]*=\) \\?%\\1 -I $m4dir %" < "$srcdir/Makefile.am" > "$srcdir/Makefile.am.tmp" + func_modify_Makefile_am "(ACLOCAL_AMFLAGS): Add -I $m4dir." + else + (cat "$srcdir/Makefile.am"; echo; echo "ACLOCAL_AMFLAGS = -I $m4dir") > "$srcdir/Makefile.am.tmp" + func_modify_Makefile_am "(ACLOCAL_AMFLAGS): New variable." + fi + # Also update Makefile.in and, if existent, Makefile. Otherwise they + # would take into account the new flags only after a few rounds of + # "./configure", "make", "touch configure.in", "make distclean". + if $doit; then + for file in Makefile.in Makefile; do + if test -f "$srcdir/$file"; then + func_backup $file + rm -f "$srcdir/$file" + sed -e "s%(ACLOCAL)%(ACLOCAL) -I $m4dir%" < "$srcdir/$file~" > "$srcdir/$file" + fi + done + fi + fi + if test -n "$added_extradist"; then + if grep '^EXTRA_DIST[ ]*=' "$srcdir/Makefile.am" > /dev/null; then + sed -e "s%^\(EXTRA_DIST[ ]*=\)%\\1$added_extradist %" < "$srcdir/Makefile.am" > "$srcdir/Makefile.am.tmp" + added_extradist_pretty=`echo $added_extradist | sed -e 's/ /, /g'` + func_modify_Makefile_am "(EXTRA_DIST): Add $added_extradist_pretty." + else + (cat "$srcdir/Makefile.am"; echo; echo "EXTRA_DIST =$added_extradist") > "$srcdir/Makefile.am.tmp" + func_modify_Makefile_am "(EXTRA_DIST): New variable." + fi + fi + # Extract the aclocal options name from Makefile.am. + aclocal_amflags=`grep '^ACLOCAL_AMFLAGS[ ]*=' "$srcdir/Makefile.am" | sed -e 's/^ACLOCAL_AMFLAGS[ ]*=\(.*\)$/\1/'` + aclocal_options= + m4dir_is_next= + for arg in $aclocal_amflags; do + if test -n "$m4dir_is_next"; then + aclocal_options="$aclocal_options -I $arg" + m4dir_is_next= + else + if test "X$arg" = "X-I"; then + m4dir_is_next=yes + else + m4dir_is_next= + fi + fi + done + please="$please +Please run 'aclocal$aclocal_options' to regenerate the aclocal.m4 file. +You need aclocal from GNU automake $min_automake_version (or newer) to do this. +Then run 'autoconf' to regenerate the configure file. +" + + # Also create $m4dir/Makefile.in from $m4dir/Makefile.am, because automake + # doesn't do it by itself. + if $doit; then + case "$added_acoutput" in + *" $m4dir/Makefile") + (cd "$srcdir" && automake "$m4dir/Makefile") 2>/dev/null || + please="$please +Please run 'automake $m4dir/Makefile' to create $m4dir/Makefile.in +" + ;; + esac + fi +else + please="$please +Please add the files +$m4filelist +from the ${datarootdir}/aclocal directory to your aclocal.m4 file. +" +fi + +modified_configure_in= +# func_modify_configure_in changelog_comment +# assumes a modified copy of $srcdir/$configure_in in $srcdir/$configure_in.tmp +# and replaces the original configure.in/ac file with the modified one if +# the two files differ. Then it removes the modified copy. +func_modify_configure_in () +{ + if cmp -s "$srcdir/$configure_in" "$srcdir/$configure_in.tmp"; then + : + else + if test -z "$modified_configure_in"; then + if $doit; then + echo "Updating $configure_in (backup is in $configure_in~)" + func_backup $configure_in + else + echo "Update $configure_in" + fi + fi + if $doit; then + rm -f "$srcdir/$configure_in" + cp "$srcdir/$configure_in.tmp" "$srcdir/$configure_in" + fi + if $do_changelog; then + if test -z "$modified_configure_in"; then + func_ChangeLog_add_entry " * $configure_in $1" + else + func_ChangeLog_add_entry " $1" + fi + fi + modified_configure_in=yes + fi + rm -f "$srcdir/$configure_in.tmp" +} + +if test -n "$added_acoutput"; then + if grep '^AC_CONFIG_FILES(' "$srcdir/$configure_in" > /dev/null; then + sedprog=' +ta +b +:a +n +ba' + sed -e "s%^\\(AC_CONFIG_FILES([^])\\,]*\\)%\\1$added_acoutput%$sedprog" < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" + added_acoutput_pretty=`echo $added_acoutput | sed -e 's/ /, /g'` + func_modify_configure_in "(AC_CONFIG_FILES): Add $added_acoutput_pretty." + else + if grep '^AC_OUTPUT(' "$srcdir/$configure_in" > /dev/null; then + sed -e "s%^\\(AC_OUTPUT([^])\\,]*\\)%\\1$added_acoutput%" < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" + added_acoutput_pretty=`echo $added_acoutput | sed -e 's/ /, /g'` + func_modify_configure_in "(AC_OUTPUT): Add $added_acoutput_pretty." + else + please="$please +Please add$added_acoutput to the AC_OUTPUT or AC_CONFIG_FILES invocation in the $configure_in file. +" + fi + fi +fi +if test -n "$removed_acoutput"; then + for file in $removed_acoutput; do + tag= + sedprog='{ + s%\([[ ]\)'"$file"'[ ]%\1% + s%\([[ ]\)'"$file"'\([]),]\)%\1\2% + s%[[ ]'"$file"'$%% + :a + tb + :b + s%\\$%\\% + tc + bd + :c + n + s%\([ ]\)'"$file"'[ ]%\1% + s%\([ ]\)'"$file"'\([]),]\)%\1\2% + s%[ ]'"$file"'$%% + ba + :d + }' + sed -e '/^AC_CONFIG_FILES(/'"$sedprog" < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" + if cmp -s "$srcdir/$configure_in" "$srcdir/$configure_in.tmp"; then + sed -e '/^AC_OUTPUT(/'"$sedprog" < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" + if cmp -s "$srcdir/$configure_in" "$srcdir/$configure_in.tmp"; then + : + else + tag=AC_OUTPUT + fi + else + tag=AC_CONFIG_FILES + fi + if test -n "$tag"; then + func_modify_configure_in "($tag): Remove $file." + else + rm -f "$srcdir/$configure_in.tmp" + if test "$file" != intl/intlh.inst; then + please="$please +Please remove $file from the AC_OUTPUT or AC_CONFIG_FILES invocation +in the $configure_in file. +" + fi + fi + done +fi +sed -e 's%sed -e "/POTFILES =/r po/POTFILES" po/Makefile\.in > po/Makefile *;* *%%' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" +func_modify_configure_in "(AC_OUTPUT): Remove command that created po/Makefile." +sed -e '/^\(dnl \|\)AC_LINK_FILES(\$nls_cv_header_libgt, \$nls_cv_header_intl)$/d' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" +func_modify_configure_in "(AC_LINK_FILES): Remove invocation." +sed -e 's/^AM_GNU_GETTEXT_VERSION([^()]*)/AM_GNU_GETTEXT_VERSION(['"$version"'])/' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp" +func_modify_configure_in "(AM_GNU_GETTEXT_VERSION): Bump to $version." +$do_changelog && func_ChangeLog_finish + +# Recommend replacement for deprecated Makefile variables. +use_libtool=`cat "$srcdir/$configure_in" | grep '^A[CM]_PROG_LIBTOOL'` +for file in `(cd "$srcdir"; find . -name Makefile.am -print; find . -name Makefile.in -print) | sed -e 's,^\./,,'`; do + if test -f "$srcdir/$file"; then + if test `echo "$file" | sed -e 's,^.*/,,'` = Makefile.in && grep automake "$srcdir/$file" >/dev/null 2>&1; then + continue; + fi + # INTLLIBS is deprecated because it doesn't distinguish the two + # cases: with libtool, without libtool. + if grep '@''INTLLIBS''@' "$srcdir/$file" >/dev/null 2>&1; then + if test -n "$use_libtool"; then + please="$please +Please change $file to use @""LTLIBINTL""@ or @""LIBINTL""@ instead of +@""INTLLIBS""@. Which one, depends whether it is used with libtool or not. +@""INTLLIBS""@ will go away. +" + else + please="$please +Please change $file to use @""LIBINTL""@ instead of @""INTLLIBS""@. +@""INTLLIBS""@ will go away. +" + fi + fi + # DATADIRNAME is deprecated because we install only .gmo files nowadays, + # which can be stored in the platform independent $prefix/share hierarchy. + if grep '@''DATADIRNAME''@' "$srcdir/$file" >/dev/null 2>&1; then + please="$please +Please change $file to use the constant string \"share\" instead of +@""DATADIRNAME""@. @""DATADIRNAME""@ will go away. +" + fi + # INSTOBJEXT is deprecated because we install only .gmo files nowadays, + # no catgets .cat catalogs. + if grep '@''INSTOBJEXT''@' "$srcdir/$file" >/dev/null 2>&1; then + please="$please +Please change $file to use the constant string \".mo\" instead of +@""INSTOBJEXT""@. @""INSTOBJEXT""@ will go away. +" + fi + # GENCAT is deprecated because we install no catgets catalogs anymore. + if grep '@''GENCAT''@' "$srcdir/$file" >/dev/null 2>&1; then + please="$please +Please change $file to use the constant string \"gencat\" instead of +@""GENCAT""@. @""GENCAT""@ will go away. Maybe you don't even need it any more? +" + fi + # POSUB is deprecated because it causes "./configure --disable-nls", "make", + # "make dist" to create a buggy tarfile. + if grep '@''POSUB''@' "$srcdir/$file" >/dev/null 2>&1; then + please="$please +Please change $file to use the constant string \"po\" instead of +@""POSUB""@. @""POSUB""@ will go away. +" + fi + fi +done + +# Recommend replacement for deprecated configure variables. +if grep '\$nls_cv_header_' "$srcdir/$configure_in" >/dev/null 2>&1; then + please="$please +Please stop using \$nls_cv_header_intl or \$nls_cv_header_libgt in the +$configure_in file. Both will go away. Use or \"gettext.h\" instead. +" +fi + +# Recommend fetching config.guess and config.sub. +if test -f "$srcdir/$auxdir"config.guess && test -f "$srcdir/$auxdir"config.sub; then + : +else + please="$please +You will also need config.guess and config.sub, which you can get from the CVS +of the 'config' project at http://savannah.gnu.org/. The commands to fetch them +are +\$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess' +\$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub' +" +fi + +if $doit; then + echo "$please" + echo "You might also want to copy the convenience header file gettext.h" + echo "from the $gettext_dir directory into your package." + echo "It is a wrapper around that implements the configure --disable-nls" + echo "option." + echo + count=`echo "$please" | grep '^$' | wc -l` + count=`echo "$count" | sed -e 's/[ ]//g'` + case "$count" in + 1) count="paragraph";; + 2) count="two paragraphs";; + 3) count="three paragraphs";; + 4) count="four paragraphs";; + 5) count="five paragraphs";; + *) count="$count paragraphs";; + esac + echo "Press Return to acknowledge the previous $count." + # Read from /dev/tty, not stdin, so that gettextize cannot be abused by + # non-interactive tools. + read dummy < /dev/tty +fi + +exit 0 diff --git a/mingw/bin/libasprintf-0.dll b/mingw/bin/libasprintf-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..dea82ef975c1cf13311ff52676232fb22ca92178 GIT binary patch literal 989383 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ࠔZ$-2D8IX1KHT;o)9pwaDfk*0VuMcY!$h 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 z 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%0DA1W);1mqfT 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

#XoNQN*j+0Z>|{=2uAR(Htg@4Ni3N6YaN-avqzd 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

5)$X3tlBn;z(VY^ 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

!7D}DU zdy$*o&61CkL6Y(joMfy-j^LRiV{%kkxa^h4;YWOv?oJ$C>Czbe$ z%67pJmh;8`FMiFA4kY0)@>HLhdEeuuGm$UD53^0M&H`iJi2&w~yiew*rOO*Ht)i>GiSDacT`l;QL{f{aI6W;-C z03rs5D|`p2WDY}t#1wE2{-;)r$N7*4rPNnGrF7L))t2!|W5YjWTDGCl$fg!sVIE_2 zUQm5A6q976N>X5GI>{)Nq`OE$iNTYMl~FXi_y-7PgxL<%_GVPi-;r5E+v;R)2W({q^2?LWth7XdaWc>$7&%L0iS-1#y1(t?Uh04ihdxuF_~k^%g3tO=KGW!uQ?tX+c`<(GLvcgNSz{D$-(o)3OL9xo-K#y;tJ(ET zF+VrUQWO%6`(D!KR_asoBIjytKp*rj;q#)-)!GQ8)6O8( zTy7&$766HnyBXojOA)!_fyQ}PrFFH4^*TeSAVM0~(oLwP>i}{!-HdAb5J0Y{TToAr z0_2MNQ&iNV_5^ZGy$mj?ATUE8*|ilPu-f5UR%M{>ZsWSUZEn8WZSWrXaxRTi=aM^K z$2UrZ`XwU4-bVbPvf7Gj%o}gLi$5%yo~h%byt=ZCn$yxSO%`v5>N_dFOdayk#5+Lz z8xhm%;qV50m+_Yp43SgF*NCH)l>L=-$q%yIlg~OCxJx!c#VL}VTmU8K zVb46>O8lCgb_Owag}8T#@hgbCSN0}eCDR~T=J_nM8<+)2OruNQFBPLfFyl&9R2h^8G{}_)rnK-N}B5qdQNPZbK;|g zwm4Zd&o>Qfcfx6b-~rL_*6k@uC>dPO$xE3Hcu-Mp`~HYhmi zeWkTgp(5`qtxFXq`hBIfNeRX#HQ2?{r;k%a<@PJL2`A1Yk5sZ z*(T!kYpY)1Ovf|Xgcf_S)N(W>MD}1Q;b?N4^+X6fN+~7~B1q}fIeNpGEdBub;*Lpe z$5b&tkvkcYHIYj85{A?N|BNi0U+7UbQBNs_%#}cza-Bmy*@1Y2*K*nZgg>GD(O(-YX!J8+v6ALC$aUK2Yw^3g-%@1=4uo=^*3 z0xC*QZ|z6jvz-hlzD#N^?Gg-~d$u@H@3s8o#ac56<8ECm2dP@==vp~~LG#IrwO*0U zCok3|if%r6u{J0;>XR31qe4YKd9f~4nCMSltWAS-t@Joo3pXCUx^mtC)Cqt2@}EbQ zPhyiL_@|+)M(;w>O&S}YM^WIncvpZ$%gB%209=ZI;U~R5$jNb6Gf744|=Qipc^La)YrBZNA;BrCo7VgsDxMb4u-x# zB$*{Jo^f(5>D~4lF-xy<@yur?$30NOv(g-Pj(+ciqXtg=h~0nt z^6$7|=cg7ivQEaACV67s=8|v+pHam@*QgI=8ZGxjnSh!JyC2Hz*1c-fhcb<7Hmp9B z;XRVv4`o&|DG>E_4076n@cpaAl5ode5^mqs(GqQZEpyC@{aU6`D`dWwc~5&b`fC}Z zk@{MuqgKLc{k6}^|C<#LXr*}LJVFH#we0XP{M!Txi*(!2!n>Zj36Ar(g=r*9-U4-1m2 zNsIg>&2>_Dk-3+cE~g|JyzK|K82T&;Wv_}Yti(gB@=GbjpDFR{bjixpWh{U* z-&Yt69Yp2}_Pd#XVlv;;Q)hmVxLzoX$vnA-5M^H1>RjrxRHbcY(ttN+`kG0dxQPx;qRfV^q#BnE4(xTG=xu1|((-AKB19Z~y zkVJ3h$lJX?1awD2XYj%Sy$@eq?XpVVdPY9XT|#(X$F|5+Kg((xtMMZIciX?MZ)8o18ChV3CxZvVHEq* zU>99>7E{e5OS-2+#Y+&DXULWg5OO=)KCibL3tUAk4;tGO5wu4$jDfG^h9VO$7>Rca zUD+mwUvSQ%FlNB)%tLc2WntvQyub1^+UKk#=J*Dpe&)w2_Co!Rfp>e8@fc5FDSlVc zt@Rgsg?Jbv<0SnP_~_UY$x~VlmH3tW$rvSVr&7K|SLgHGLF$POyKSg|maegB1=ibI z`Rhnor<(h>>e5&$jio}B)h)47W6P?W%T_eDAX-j&3ye*enz9uODqG+kr?RoUtiC1M zqzK!lVusQ*c zrJp|MPju(UhGAx&5~t(|S;*2J(hjI4X*zYGN=*_+ro#VM9moGPY(E(x@G|9|HHtKd zguuyIQ101Db;|MOUkei*CoH^ehK2Ws!ou4sEWF1F3vb(D;cYuCyvGR(?{UJyXAo-s z?f9Pk90fgdOzDKllg3XdojQB+k zwO)xI*J>qxT=YtOB{*BeJ0Y~pdL=%VZzr7aO8meUd{g54cst6Y1FYXeoS6vDL$hC^ z%M-jE(2(t_G{MDyhVN#mdvG^iL_SV2TVeG_xk|Qn>E8>#jpen_#WXf0#|fw{XGI+SEZ}(5pYYTypsMUXH$kL zCi?5@p+=+HI#!$ab~z3uz(_mQpjh!bA@2l9WJoG>%W7XM!GzZ6Q@VCgd)Ur{UCW4q zo5u-3DjZHq%w0jl}Dad@w*zeRVXRrWn#k3S5FXloc z{T#YZqa<%?85cuFBOx-&34oJtgFqU#U96V)`#Xh+vKEW3|4ft)G@n?9#GUlVvRoq$ z6QvW4j=4H~mBod*gl!RB82vPFoBGy(6j@DIFk6a2UZu=7C^Ix$<-bjTVgR{6;}qDy zP?;yT-4b%Ags8oAEhDB)THH>EyNM7v9Pig5nw|o<+69k6X0F@i=;hz{S`xB`^$mu) zbdq8}$;)e8Mj>k9b{e7bNWtG)DB^-nT-slguzXhx)%=Bg{t)|*qI|zZ4H-cKzZnt? zg(;0gI%Fz7BBR3GNZ6b(RND{cM+nR$VM0CyO}_(m0jN)bdPfd{=!N6~INp~_AlLW< zFjY5zT;-oeK1*_q4Gu!o-MPjF&j3uwBj-_ho`c**06buQ9^k=z0@WD7OgUdbnkPHA zz?X8G7m?;OqIGuHRFK_c%1D`D4KsNaBzWet?DBRc!&*Yi4 zCpd2*&RyVaC!@IbM!2ZnV2xWc55&x4tYWto)tVL<`_M^L5mcVd!-Ao+Ny~0ni&YB} zB7Qw#dUI`g#zKH@C%6w+muI+KcYyASd)7kg-x01W8T)ybV1=jmt)=1Ti(IX_zQ4rv z{V1^&93-t@C2?JGM(;bSzYACNt#7DQ+iCG+@?8rq6+Jc$4TdI?nt7^w{FK=z^&ro2 z|M*Yt9~TkakE`raoqt8%QkCFyPH;gF$tEf$Rr{l-NB1y5Mwv%9gZv>$xy=^ZLfJk~ z*Ugj|XRMUef~1;KF_7DUa+|yQZO%Y$11dD=FJbdlYA`U6tygJtQMV;`r3Q78J&tLk zqt%F3qDd(M1)Sl*(9@(u_khs(HfhO1gZ-#}X>7V=z`5i%*E>ubvB z@_;Jsxv`}^H@39%VoPhlKAf=CN(MrH;mnD!17xw>v4P z19V+aiFdiV&5q4&w#luf;zCYRVh)ms&**v*=5WPKGGbWENv!1;#L-G6A*U%hM@dG~ zh+wEgFRB-bM$R-NC)V%W)~nJKspQF&bS_q{B|=n;_;TpSx;#U{QG z*L`f%F*4wwYcMP%si)9I=i)-jt+@To_&C!q_4gnj)i&-D1kPg~Z&0 zGIrBtG>9K6BTXlC2oU2x>G~rn^1d!#No@H_O!;C9#8yht0YDOxPoWVpNjW816(_|l z4ogXiwNgr3R$`I4Iw(k7f4VvqNwGHB#8hr)xru4^L9WvUAYxUHU3$RsnaP^e%)RDo^jgpO{ zTe*MulHlH|!`Nzpxv&_09F3g0cRRBf>#b<)%+SVS)z@9A`nOS z;<0y+P7QU{({4{NbD1BQ`un0eIfUD!DlhM zj-8JM-k#$;JM^^q?9lT=&kjAUo*jCQ^X$;m_OnAz+s_U?$9Z<>InJ{~FK;$a^S)Lg zoext^psPRC0iTQ%k%~4_eoE$;NW^V)olgva{STn#j{Kf(H{n~^IOku{51SniRg8F` zVx*}}!(<7IypqIyO4lQl{!Bbvqq5rRPkwOaSrYiTNyv8Esu1X%#Fh8m06)UCzI~^2m(vo zcV_DIo|A*{23WkN&?^DVt=mPI#W&=XU}NN88wTrBp_?UBUeiY`db! z{|no$D8X2{vQI=F_C5j56J9ChKk0h}`<%~Esi0Ck99&vnQOX9z^D3weNBv@KFtmX} z>r+H7`I~4T6Y1B4N+`#Ztvf0Cp9l)Pg$nT{(tU=wRIeA+jt}xHMDWD^Q8E2BFjo*J zv8t9gaQ+5jX%ZZ)Qd_g&RPC~=T7KsAEtvNZa}t(hW2$|TTtbQ^e?rsp7x84etiHaX zZh2|r(uStenUl_$P&#GITpWmvgd*8rB*Z;bfcAfbj+tDzgCs7cF5J{Avn)>ZHIY+C zj0uLGpsUj6&lS*!F;PxWn@i}c=t>DULZ4oYPZ~fnYb%>op^F&TnQ$F{&vOpW7w^`K zjJPwjxb)G4(xT2}+!-;VW-#u2SJX@`N~E4nW|&Xci#DFm;{$v3;E`YLE>mo2u+>_+ z+W!TKSMvkdl>f!K7Ytoa9M8~nAd}s`MZ!T35-yV;h?~Fg1)+3}L@eD)1jV?68NVYqwFmKxqw6=2 z!iCt&g_t-HQb2(eMfo45EF8!NikCFJjtcA|Ce9zHTA&rg^qSWMb`cc*1)%`)^UNYx z{f`56s24%KltBcU?FeNtQeOs?iff?WCe)jR$}*we7gAL9=!X&w8!Sb(`nKSAS)@gB zJ=te6rApKr@{T|PJN$fUCy^{i;hd5j-ceP^QD`1>cvwE_Fr^TQ)XLEP9s8(m*6GN>z!Hq_cdkdJ3Dx%=qn7#{264es|z zA{T2QZ0h{-MQ1(81X;??W>D%`*x4s|{R1AuigR+%Q7)Z%+>WyHq-=;bkHX{adBMJx=B2Pt+Eb>%v%py;P zieBWYFtLj~m0)z0j|$UOdN)5Q{ujDRJ50zSSjCzB9CB^72o&@I{lSpOw*G;hl(%Am z#_`I|Rn?7^OH0+)K{WD6=(HSzPaPThlcor~G+fz;F&Pcm8ep3Qtj z$mF*nrd|8e(sE%BMEYor@h?!W}0N1hx48q8&UOw>C#qnjEelp6>?NvTbG*7>OWcB)J22@Y z42;|kirfy4+z!#VNs~xk@Z7eO!|rMI2LU5wYK0A-;c9k%IV%H zOa7##CCOeJlqGw`X-jT!Eots>tF1F2a$6F)9T>SC6uBK7xgDZ!lR8l@$qyh3?#9n8 z__+o@m*HnEepcY8j((D`P4S6%APBy;Jg~vIA;|-l<9gs*d`a1s2R;X(g$F(c?mzHA z3bv?mJ#lGEPmtw*t~~Koy!OP;T~C-hAhk*RM{Wm1Zc8G!10%PCBDaGhw?p)8(hWK z2Tqsy8&wMz@)>g zU*xubpFmgL6ayvM3J4D|my+nB@--6nF4Sp`e5B7;kUXGs{{4BuF9Q;hd z&p7%?dK$@oREYlxDSkM_>r9*{Jp$$v2=U*7?}tPDZm=9T#BT+)tq{Kfgcc!wHE<^( z#8WO^xNt%Ni;dhO4Vrl=c(yC5hm{ylnny!BF8)Dc(-R7XTGR!jSt+ z!gQ>vb|hF3l&%qB2of#DS}+)iKyZ`%FpX9QZ?{Fyve z)}ML^`8wk8N#e@7097VSy|n|@fOdi!t=9I03Cw z8}H39rz$JQ3a+|Z#S3}AA(mWiuS^MpJwcc}Hdv;FL0$ugu~?Rb$^H%&Hdz+4Bo3D% zpKX>cwb44WadM=#L>DezE^F7DxI43D@}x4&^e$|gd?rsOaseBsGsBAsF8riOh^|-( z*^L__vUfqPklnelxE=|xf{LN{hhse!iMxl4;4dbzr^vBngXCp|OJ0JXGWrqS(Fc~1 zk@CRPMWAXD^m0is;JExE9OP+TkJBEu{r`#Z*;R?LOwLVK*Kod0qNIel5f4W2NXCwK}Vg zwRFO}9$D381K8>rF=-sJ@ds7rdEHXYc;zFjdR5g{R5etVHz8mrS~JfGhI*;9ah|Zp zPY;HQ{FCU1t}g9`D5w&0J*Q2bK=~I>ClCIe@Lf0*x3Mp}5k>!ryK;o?V!E7Ou&AM~S;!li{3jw81xUM8x*j40I-_xu zpK+kbvqbR|l;4X`>`UOk<2j_^% z(a^iGx~>`CILq3RhB`^D5C_X#>jr|IZ8tx%ssKoSfO|Ge_!&u{py|gC9M7@fht$&* zN!ri1{0ku;qn0zNgIW|}yYi6Jh%2Bprt}3E%7h$?^uwTIvc4&eq-b<7Pq(cF<=F0B-S=qhBq4ao)_4o@? z6dvpw&G{yCen6DI%=s2`3egWkM%0A<*vb6+BoPO9Fm{i@ie!b@M~DGH#3}fofhiSe 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 IR<;p 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 KQ76%h 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

p&oS z5@HJrC5baJ*>#YU!(t76X0&7RHc^C8;q)HrxaX}II<0>BM%N({1kmA-YP6AHsE!Crp>)ehs(lH6h5JF?kbys^OWtx z!3>f8nOdLt2vu|yHKKudvy@kQi+150&6kD@ua%ONap(#G^*H2Swr~r7(v;DT_izi3 zSi;oBk!=LbN2l7{A`A|~j9~I?wgrw0q`+SjxUE0-XGE-1Nt(h%(Uul=yq@pvkzR)# zLIl+*ArhyBjrzO)`OQa$$t?H{$#3|uF(=j|yW_+C7pCBy#vFY2!d&+g!sL;K-BJgk z93!ehMjlB~YRh*68Da7WG{<(qPpza6N-`>rLw7|>9&Tkjj9U6uQwE;dN}?oe_UX4@ z@q<3FIn#wttWI1CqT!GmKbqZVdjH)4t{uH1|GAf;0+?^ z$F@a@WAq9bNcL$i{t&1~y2K=!gYUIxcHba90cTyhLp)6Q-c0B z!!rW^rK%3m+qF{T+P9_@oZk$uTtI>to@tcfk5t#5CUmyx9i+I%qMU_k8TMo*YySye zyo25J_-}$|wjh?mPoE309dP_dJfUa$QwMQeYu3aUAnxb$uL<;i?R}4o3mK9xA8nHb z$7p)yPLi7aGkrr+YQW-5N1>&M{E0nn3aaXf!aPJ0-m>JNE(TYlQ#DAfW+2Rs=wQ6% z(4NrQg!<#bK#u7eenHCIiJRfULnH)SUSuE`vu1?pqlGEO@bU#2cz$akNnGN9Ne?2* z`w>f&BYqx)<_j?;lvu3Rk^k`jiremALR`|Tgq0}fR;B1p@xJ+@W3VSyP*~L*6ww-sHTq*3Zk|Fd(r$sNg**`Ik6X>fZ z++!UL8yzq-F^djM;j=+b&X`g6IgCQbGTvWcPl+R{PZo|x* z$y∨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

Fw9A8TrG78#(KcrNG8S?KC%8)yns4`>` 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 L7Ko@yc6a>`y7rZN literal 0 HcwPel00001 diff --git a/mingw/bin/libgettextpo-0.dll b/mingw/bin/libgettextpo-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..b0cebc6333e7c92e1e3691b71832022e7e385540 GIT binary patch literal 984507 zcwX$ieRxwv_BfuK-nMBQxB&tbEmGGiMNk{X-3E%5mJ~!HRS2R|-&Wa`^=)a=B2Wz6 z1afnY#ue0cbp=t^UH!P|DqCNmP+B10bI#nG+_XjA-T!{i zkLRKH-pS0FbIzPO=giER8T-vaU5ZYp6{SP>E@4P#AzU%(nd+yJjG<`Sqy4y{V8UGWu+vd@` zp5e{u*pvPp?x)kG>2$w#36xW(%T>yml&A72;C0Uw!Sg|0cY6jr-Mns0ny&Z1Ag{~K z?IZnv{CBDI?gdVG?%1zq2qCRK>c3rAe*2|&-Qm0g-e;y_N(##p)+gmF*43o*4 z{um^fAm4F#e%mWw@uhcGR?^2n%opcc(myxCyPLry9s#d(SHZI*B`IIAuAunRdssf= zA@EX{3C~|7!-af+U*-H?!#nX9c&#(wM_>8wzV`vhNIVDL>wW>xvAyz@TsD@y*Z0Fe z@OyuF&gw}|vHmiPmEQJ@hd<5mJJNGk&wM8RWmjBDZ{EE?qY0QDg6HZ!@{Ro!y_LNT ze+~l?ufWr7=$-GE7J3WpfIq8&IUm6@KcjcPUtK|OhpvM^4+8Vb;d#7gz5@Mag}LH&Qo@JRm@&P<6!*Abn(Dott{m<~cxsQC7f~^%FUK~Z=0~P-rMY&>^<%>%KZqjCRdrIO==C?-FeHc6`PGZsK$-e zY-rc()>4jo=jcYFXf5I&b^_G!bodhugtKF@SoF=ndO|D6hJuYcly^&g^p!xB zPNCOPOXPnk9?C`>YY{fQ@Cve*K(QvVlN(mQg~9uY{HNO>|CV6lpM$c7{|_*e`<16| z2hyAtWSVLFyzn4k+6_R-FB$IsF>@dhB zkk6HFsc+f>B*{~a{`&mFq1J}K}$M=g#-@T1`4M$2V@FzKhsj&NAlur!ghza& zr3gZLe5Hb)x8q<^MiS6UHJi< zQSC(_Edkpx%=?C<*8yo389pcF8KGuFsfjQlQ>OIJ7@;S#BJ(~&5yc#Nn3K=D5=F7l z54{pfYf2(7!}-@ims&%#--sQ%2&JRK=xtk&E-%cpcF)fgw-()U>ut!N>C(cyz}P)R zdP%;_7eIBAqa)nes@GY&Wk*Nlt^mIWZKr%gzErV0X4@?r_3|7&FBvbF=3LH;4F<8^ zFurDYb%zR-=_|8bVUSCSJFfyTslp&`HQ&+{`7?aXRojBZRyIie%t&l8zcw45?srkX zbgs$RI7FDzIPlC?o@V7~Ql3VRJ;}-kO3cV_)O)*kW5XbHX9=`&D#C9r-ZoE>4dBnx zLysVJ6^hWwnF=yD@Y3LHCLsh=F6XJib+Qg=dJiyy{(d7QgGw%!4WOga=LU z0|&0Pv_aqfPf?K5Wd3QT^V|iflv;1)tKaPlA#rQ&Ew`%rgyb0&H^{R*#Q-)Z6RcYE z&4e!q_z~!xaD+W$3A!a0Qivroj^d>Sa-SxTU+FsL(h}xfNl47Lw7jQ~nI0?=yRw~S^4L{~iS(I*#(4W- z7wFc*)+T^ShRT$uqdF(oib+l6}hEcD#UL-`R{ws9hs<&(>P(DEZ?&x4}5YSlh0o|epm zM_T&gL5%^#2`IFISwmG4b`_%&Dium&^THDmOewGGX7X6m5q{oK_$oCtmeMduYE}8M z@j8&o=vxWg6o<(f*YD&J>Jdh02M5#`LJ=pK1ClKhQa0FrEg?_%qgs(rF~xts|) z=!iU(cUw`;+Vts^j-b1&d@&Ro>0IDV9J^1^d>qI==`NXZ`F zC@_V85u}s*8E=c?{s_e&J(!!+pA>vDwfOA3`bY7(`A6{iq&XR%OBH;cY*z5eQSn*V zPr)ZA2_Nvq$%R9_)5+YrGHP!ER^snk`;w{Hmm3wY{K2faFRQ}HAsAD5XtbXPV@v`D z;|n5a3!(XOm?TF#86m+loWqVS_y)sMeh^HPiTfTDqV*GD`DTP@Yel&j@9L<$7_xbA z;^$pOFJ=TWr31OOlc_}Rqie0Mj_R=NXb0C~UR>k0lg2e>$xuJoxJ^(2xTn1A2!XgE zvTG**OYI?PqEWuy#BBzF6)g48R=ghN)pdgVJQZ5mr?C8&Xw$%_+6vW3wsy(Z8o8Kg&{(^`O|gKnzt!F$tauB}ye%~P zL8J7bNo`T6*&B22P>5G4hEmc_1*vNkdQOaL&%BQ8LEtNw7xNp z7e~NYgoYC{@ImN&2Bt1nY9w!Yi|RL_Cyfd!g?XP729lbKZi@T(agKuGBsQXS>{QJ( zkOOn1?F;{?wEg%aw@@M{+Pb-V29fN}p~ z=$9k z(sQ{Wc7aKmdi>2K+pz&%yBj85uFsTfb~NzgbW*cAz(9QrgG5J%d+~r+rr@ar(n};q zGxxdVXiagnOOD;*<`l`H!KSb$Hm;5az92JlFE;U<^EmhTTxX?LZH?H0LLP!9x=s3Q zG!97(DYgy}lTqMXf~V6S$gvRh#W-TJZwr57#TsP$HmU?`U{nP7Y)lEUYKdMADWy?A z>plCZou*~QBzq_t(AYtjF}Z_16a(Rjrr~tRY!2GZfW{9ozI!{hPMW)D{5aL5tL+ z{;_D2Mz&M1?3`gJw?5(LAI4q!wKU)@;ny1IX;^Edr*W-`jlz13 zCrra|AYx?w0&Dp7FLatwcw;I8T5t!xA*j$Cd_!Obw|+1WU4y(^G<}lru$g*}bbeOF z2hZ2_Ihax_nX75f3Pat^=po~XPTG6)Wv8ib4t{4T->x~>B)`#&^UD{a60G#f|$#@vx$sjv%!K3vm0e+QYZO)CIcT4NdWf(|Fz4PifkwhhGM!K<)sp?RjO zum}DKY_!?)v|z_iz}lQ^@Q0Jz^qOic$D^`lEHj49KWNDQ1jsgP$cAsh`=O$3w4^&8 zqE1CMNoV8~CL^VajFc)eQmV*E>KOQoQmN2`6B$?k5}60OLW1#od4ej?xukGG>{l*_ ztSO4i_;cllRfc0->lu)50P{nmo*d3Gs*Z~D+Dua_9GcArZ$04R%wi-l``H%VrtvSZ zHyC?}h&fqA1n>X#<`q_P(E=h?Wf$0W{aUlqtFrszP&oHWDA9L&GuN)#3!NCar*AA# z_|sd=lX#JZyofaDsZ_Jd4vpL)qCbr9&5Ls6MN4#hP|+hQiZx>u@yF`J2ePQK0Nn32 za&k#EjR%rFf3%-Td?j6!p`sK7V_M7ujl~n7=Bul(-V`GDzaQ4uAlGz&qcTJuB#*PS z%ni!Mr{oOD_+*LI(NTQ_&~D_Pqp&Twko?RDybpv%!Z3^pLyZgO}sX z{Eyb_x0!slHowE{b9|mWX8;aJ2+j93Jh&*{Cg*6HOtQ4Rhw2smRk`TN_$W6pCo5Jm z-qBH+nNksoeo1-UHEo>O7DE+w$K~XT(l`Pqqi(jeG}_RY)+s&$Cyxy(hRRZ}xI(h6 z9ZWg1YFtG}3Fe!~Tbrvc0(biZ^;a;w;7g<565{L~(Ki!tp?;lnh`Z)eOP30co)rxftkY_GCl{Cq8jkC^gYb%_T8FQ_VZcS=4l1y*C z-~p9O(p!-R=epV+WOoY8{QX5F%}90r5w9@4*ao5{cfB z)QHYW2WJbFSZDCnyOAhIsDU?u3*W91LiI)yx|xHe6i9bIu$Tj@Qn_ zP)H=(vG5;J{A|aVHHJQ|N1Y7m0{})mJ;8tIFu+3UGXMQbz2`Dg;xNw41{9(j zlIMjgc`$p{hRXBg@ygizN&^4SGO3bJ*m;C))=4u|z|2osb{T1%6o3-lgmBm7;d)>y z{*Cuv=;xFS+&)(}L6i1FtiG<->nIuFd|r=iGpxn$o@EAru&P6uzn#GqnQ&cqEJk^w z2NFJ_n*Ty?+d~jXGfs0VGM}gq~ z2KS3gegv*|UW`q>4^#WeB<7wy49uav64BZSC^d$wr(9>o@6t}cgp44UlXlVh@Pzdg6g|YXpvhme?Wx4dZoG$0AW2X5aPB4AB2N&7Y z{na# zNPK*ZOtTr>3yeC~1M(CwJ7fn5dCm&kgbFtWBUKN;K8-v9+MuRe4DkS zau}^PbK3&t`lVg}6m+_3r&ymah7N~s`n_Hkn3Fd`JaAatVvzR9_GZ-8%?*4CAk-X~ zl*P&R9TREX48u*ZUEs-)e>;cPxW#&ExT#-o=-Y!{?EIF~0Z!i8s1z$Y5{N=SBVTn} zc+VxwYu*-p3}{i!H({z)Fb$i>q^zSWb$qoS>xjOfoiC%Q2KiQ;KE27(rdUzcgbaBX zeO$0#OVU7{!gw3Sw`!cy{HSQ-hTwA0CBXE(;sO)r+9sD9-Q#qw`gh4BZB*ca?_dkX z{ktR_sKeZ^RBveu6g`J82)z)X#~emzW&u9Ug*Z`R_MtH^g;Lhm>Rs+7Mx8U&YU`M9 z0vjonX>@p?j0pd~4o=qq!=mJ$mD-|p+VP*u0NQC9YNr=Rkz?D3ev%IRN)e$!>gYUB zO4U?BHHkTG)ou#wT}FV3<-_HpRO6Ad^sAVTjq6b_pm*Gwn9tVQI&#(ap^tF`53K?PVvCjjG93fS|XTC=h3tz|yn$hp73At0DU}2Qml% zh4m#yRZ~qwjJ9ZkFz)RF0W0PEY&+?Q&+#=7hy#r91NjQmIL0)3@HE>No{`VYo3P&Y zwc<^$Mx(I{9f5RWYGWyl=99*0aUCJqTBTj`<=9`h>H6xgA$bum?WA6CJ@^wLt~oG8 zFWK9dp2QwowNQ4oK` z@XtZD*G_Ve>&*66R5b?bQSx{gi)5j20jsQ04xB(ha%H{RanYWTuDIkr&=r$FSA-6W z^#(v7x(xcn4SbT<2?(o_>DS67in%K@F-aufY6>hdVRLDp$?dzk4m5elmzx`ey`&Ch6ntUI(`NiMC-J@ymKPzhxvO!(gXZy zR79#3HC;%nJW@$Mn7SMC0y)hk()D?Y=emgD;4qP&qqxrx=11StuIrkh7r&3a+m#nr zZCJjP$A0>nqT&h=R4G^_vs4O=kSzhfZ8>r|FGI3fnvvaD%0fs=bJ-)0J@WC~tbVfirX?A%1^@uRWW+~jgO$>nxKj_?dBmy<}{sFqXw zAe;v=;S$y&qdda^`d$gr`St>u_DE3&YJ1^3FvE;NP)y^Spz)2UsAej2&XCE0nzeyp za*@1%2e}zx!8H@~-fLAMm<$w8hD_E4eDzn1+zV+D&Uu~%a7)U2;0)!>rM&*qF}|`f zG$$}qERbd{FJNsWQ`^W-P?XkkiVS-a-(_kaX*vFtXXJq;%eTaWAd=VyDW&-=hQ}bs z#WNMU%Vg`Kyy`ZY8dN2I|1b2)a=lE=tEM+m`f5slQIq}#rDF=t&lDxwFx0KW`Z5yv zV<&)Njck~E8R*Z!=yNGX(R7Nr?^Q!sbPUGRxxTL^tx{)Ve5ci;s%e~gK534= z914FKww$j76s}1sF)?@S9;iPX>qj?>*_JPlC@9zgg`%g$8YA~`NcAm_sIk1jw3bX#7QQTLOi;jJljX$IB1=TUS-{fg=Wkm{cQf{>p0Ea56@2=}sJ|Hd-T8RC{{lL)VQx^PJE$+8LBd>-n~+KC zxSO=GIedIbbdjd)IohbaCy6hvuWqGs>$qE!;&Y0?661*4q)t(;uI0DS^Vz<}XoxM~ zl#4ZnnBaL1-_F1buAPw$ae@u0G0?i@H1g0x1HnTNpz3O9NJStRNb%@8l>7-M3NiRjnQS)NlLx1jlrBu?|(|V#>;Tsd4GoIQT(iX2H)2V20CYIt3?E?=}n- z%>mT10W~v=)HMNW6qm~lO2p-YhGsFj3>fEadsvF~Yd(L+JhgIpIITw2m{FNOpOe6M zR~+AX+$}{CQ)Mb2zC%8EQN=byj-ElA&2Y;`3yiCf0|!yur8@Xd!V6cbBELo@Ol8c( zYK4fQeGw7CU=HlRGvf$!Ap$%@U_Ky#I2zW32JcW;CMd&!5tL!}8MQ77ipF{d_F2!r z&(LBM1tv#dBmL2HZom!>Mvh#OC!T@Ud;lY9z_EJ|p}0aYP{{?j;8&OxVLK0-`y@2q zV2ZhM4wh^3y)h-dW(>TU@rM?{^9r?Zt~wopULiJ!F%P^}7V{FmxeR4s zvRQ&L()8>`8*ZzJMLs!0Z7qW%Y|EE#$(Aa{G};R2r`^~*Fp$;ZoD8u#5<8@~FRzR==v50=ui(mHE@J+XnyJ2sQzM$F?&{qS+&Oz0wwdnAy&Cy{1SFkZP zhplQpoHU2e<{kyl%ZxVUAoQtp(SHN?0t(FkI0o#P%;U_^%K+@GL$OIg3|o^z;>~p4Pw~W9tj{(!VOJCm$-~4=r36erv|USN)ZRj{sXn z<3vnyJmwe{@oh88+48JBWa~1N$VE6(oGvfQmuKb6dRb6Hs&HxK+gH@3k&$u4{J$` zHfnsL1iDF;&SsSwlu8XMolr+M)RCjsK_1fRS4dwm;QtO1UeON|HqdX&_SyEiYs@;= z)i_$d8IAE6`EnRbVrb}8UcR1|#HPA(-^8+b_(&ldLJgpwV{E}HJywNF^5PbX z=FF*1>cPN1HV}jhEMU1AOWfGR;gq^34fq-U^UHc=E5+h*H1dp7cTiK`%o}n3ARZfc z_b@#M`x+Eoc>r>TuOIebG9YfZk@xAqxb5FOAqi3o%?VQPnbn() z7#mkX2O@){my);pFgg^6gvc;J-4~#3){-%hjI}{7v>aE+2+I6F<8)jIon#PgOB1~J za*Pn!EQ$*e*ex6*4x?evO`1uJ0bftvhx(;E^ao%I2naOSXK*|MGl@Oo6ORYx5BdDLNi7Fgl(1JA{yj@ zr?g4Wg2+T(P;4}_iD_bIs<5hFnHOkC&4sLNjk6)O#I$1`r@R-(-=W+K6KU}_pv1Rk z%Sn6Ha0L~(8a_5y-y??FVf5QgVyE6&Saqq`nc~b4J9*bgPm^m3I$4O}B}0g{x8okq zXJ_bjwYO7E!70u?;m`|uotp1gntV=8KK1u=G{4V;-=pi_#JM@Z@y_jM!$;=7J}JGE`39!Cqb5JCHGCNgf-FUd!U-)UZf1;*4=}^T1wq zjXDya0E3#!je%-TPHEI^Z<;cM!kpkIaEk6r{%unHH}_RK=QGJamc@UJx|72+px$ZP zI?q-ix+6p+5MnLog%zU!N*`+~3NLbz7cU^?s0RekQwd%~ubCVC-*CufI8@nGwz2|x zrNGoAPOLl|CnD8soT3uJE}MEG!RN(pFtT+hleR*;=EubR*&I+Mej9BE zS(t~zh<`wKPd$5DT7rS1f0Jm~4Ji-h%Ol+5FLlCj9{TeZJ-oZp+>5x&oJZs|ZB6A^ z6D|Y2k8GOElU1BUeQE~wsnr8fM=|a;s@zQ@?y|T$ESA=bFiJ-=I_G&*SMOuolJ)vL zVa04}TpNmE}goxwC~94(g!D6l%?XgXpwAj=9$1`POPcd3oHHx`8ivC zGGS$L1Qj4>VTTGe>1V`yrkW#W+Y0z2OC|zKESUW)EL2$)R87u2_$gr9g{uFX>tGCp zL79lD&1|*R3(Ka)VWlXr9!S7yOp$8pBO_ypIrgQ8@Hh#HR@Ws*Pzo%@@-~`ldU7QG zGABku;!2c-@N*Pp;F*b@UZGC#T#Lil4VVQ!W`S*ySK$ZFrv@+5>3rT9SlavB82blE zQnA@&x3%l^*N7)mg%$g=u$5NoEN$}Jh*8uCV+gT3Tk!0IU*t)DrrmX~x6>ThS8)ht zYQEpcN;Xh6!$37Q2rU%$ zycxU}KotV8dF1D?7B3G$3n(=s4WiFH@?p>XxHY_9S-Celm1SM1wziZYyqMOn_V?g?m`f#MZuxaqN3 zJeVtX-6|}H@qtck-~+dD){2!?*+GAbv@cM8(%r>X*NP2#mR=o^-o`rQ3LkR0I0NZ( zVggl-tv!a)?!vTH3l!PPrZn6QA=!d5`*8ymb3GzGHxtvhMCx=D|JY!2>sY{(&VeI=Z)1pcOo zo5A@FmPsz3Z1Y)dD~08#38V&pnr!!=t*Zotr6Z#qX886S2l(udxKHW@FHXkD0c`E# z`~XhyqMr)%atggG@Vm$$c-#!oj~=(TNTwwW#b^ z>0XHYXRM@VR8i=cjvX^7uR_IzF47=lLbq(dL{cxp`YTH)9vKuzCfLuwv;hWjf9FK^ z1ad#2l{0ZdE?X~nEZC=QIa5Y$lWdPP+I-lbN7;R#ti??R$?lepL~iS)zc8}Z1GWDR zh)r?1#jiS3fCvYAhdFX!4kJCAiK?X8ibXTbjz?(5FR(!2kW5_w+40^94g|4;1kqcG zLzWGg2~GdqH1uAHqw|Zcu16MM7%xv|f`-VpAOacpG}GEwUMnajI0_8`D0@{`7eKaU&d-n#)D0p%D z*Vil^p{BJN0yEPL;uoE=9kO+tX}fyBPUq zYegcNL7M+NsUj#phuNbS1jBz>sn>~xLtHmlYuW{`qZ3`2)?&%l8sO7GKg}N(V8I3f z+T3ak*jllL0*-ctRpC2rdR?*epK?X}sBWpEmD?N084-zg;v9NKFg%68Uo3dLPXOfj zX#a_X>J4+Y|3beaJusLTv7R^QqP4n_>s#^LgFenTkrOxRC411_OQ+sR#2+M<6du9`zmOS1W4^ zn%obRaS}5C%jTgW+%OGk+b12B-=>zi1aJvwJwa_Fc&~;m)`||n`}T2cpAfW9D8<%6 z#V_D+#L&vxsGYS@h_z9N;*N(mmSP+IUD_*k%TyDL0AbvWlVF1PeGakmA&dQXw=YX} zgv2h+IVe!d5%~wf3@;^BOxf3xWk{*lBb7K0@}@KLJA5{z z(YE|c$|4Ov;P2p}Njpbv0v8Nq+<88DXcOV<#5(@y-%?yFrDn)ny$d`!zdkbNILeQj zL4Wjb(LDgaDl&-RLTgW^)<$$`>C3%=yhNudaHHPpSUKMSLq^{co@Bl(QUTCZ%ERj) zS0wTtKuW%{FNu7h2MeO9gp}-*SJo|4maeC6rMppN2{@pZw9Tl6L11G3LNy7A<~2TP`^Ir z+JJIS`c<`bkggavKV@W789&1s$KkSaJxeGi#dYJ4BgG0w?tl(j7MXQ|=KHtLBvAJc=6Ktlj+E_OTu z;_Nf|$~m!K500^9_eK5!Yz{(uEfm?-5gP0E=rP8k^{2CtEij-nh#I#Jr# zV3AzqhDnAqT;z?T6r-ZdH9BzpSXf_UaxWaCa~k9lBMhuvLoN04v}FZ25|hw`olJ!> z6)OFt`Ky6Lm6^156jMh#f)Knx$oB?kX_GpI^_>`^?&t{O6yv043cU5s#bRfwv)a?- z%1)jDI(KM%F6=B*P%^V)n(dehR216oFbLx2|Ja@jrueWVMCG=6xk~p0`aEQ|>FQdptL}po#y~Stb?>qzTu|+fM*2i=i`boc( z^*T!v02ANEa7a+Jt94Yb%|zAOjHCfvc!;1fyBZ4xF}_mp-hpF8s@Yq=pg+R~1`g7# zkRAtj{Ta>NGHX`Ba~GC88-FQ1RY@NlZx6yUGKOMakUvXxKg}P+LG0w5qi`i6H7xn{ zIy!Ue-QfUMVMly!FoFw?@8G)3yBEUG(S3bNMjU$Nwq8W^%7S)NmGQ-Xo0+Y*p)x)~ z?hQr#HrTepD}@3J>+2=ki*ti=&1>G6>s+=q)g)hDcQHVI2hWnl1+8~L$oLtW z22)s;reJZ!Pm6F;x+#&r#(`25RLE&{*y9Znasy(ZdT z0oCvtD0Nz7$;a>-WhX|X4I|f})!#22iu0!R_~o~4jSiX{jM?hP+v|np*|?VPdP_b} zcGSx`Pq^P>3<$w!J6~DZa1LcL)g~5Goq?wg;^sKq5f|?K3SB#+;=+W7eTlPlM)eqw zAzzUN!eDJ-JuUgs`h)T-|1~=FFKUyn$E`PN^z&7+<9!K(;TGqa@b+7)QXmoDL(L)eKIFY=58TXIv(VtLp{oj0%bJ_#y?wC7xahh?ehXP zyHVypzY_QQzEAT#3h8m=ajp$RIkCuStg@ySil|i{`bzPr)ip%!BV45^HKvrBtPS&n z>p0fwlzy=y46dEewiOkJ_Y{VuQRne(j+&|O$gXi|T-G0DDegERey2+jc;5#ltXJaISP4F ziEUpd^^l*Cr@nef0@h<+CiRe?z^ktwl7Ll;u-+pYVd!)RPd$W7>LCR!tUIhsiT9A< zN|INvWSpqz4%{U>?I(MPs}@xFJH|K?8#}N;7)xj_^k;Mul5h=-g&lDrF9j+H*4dEx z&5t2tK|t5i(QaKSNxh{;=`Cm*`s^=%yZk@xFPeJaIq;)hCh#Vg)Dc#kz%Jw18gZP& z`3q1nU==M{I^Foxd>Gyfo)QeTtfY0f!tBI^!x;-jxKJ|=JVyJ1mFWk?zV|u(psZoz zD_dm1+CFycb&<9%idP09gi+rcnTh)Uj<)3rtll{^QT@Z3>Yq6JKUH6j)nC)a;#-01 z0MVkU|E|-0(_f&W|9?Z^g~r z`(T)6>t-~`t92B|?wt%xEI&aV9yFWvBq~TcVLUSSB4a6_Cf7zhD7L_f{(FHFKOBP*tPZ+}bU1vv4HDL)d!DTDG@8Pwc5s{&OYUf@ zVVV(&#Z==HnXAE8>$^pc|A2U&RU`FXPfv{$hPHf@i%dAFiK#AP8?Nid4vPm~8qf`` zhu6Aa4pR<#QW9UqSBJr`FS<_>{(b<@KzW_JYnZU24CM+>HsHnyo;L{p5RyTA z;jvky_i+k^&XU22B1;<#a90ka0j@zgt3%oSHTe)UU?b8pdl+-R?Ia->PWJ?d=l(3l zxlFy_^}-j*+fGP;F>i|N)tD_5eU!ybO=L#q8hC_P;z0rcC>Z4^#7-|?NrzJ%)|}<1 zoPpE>CxCDxLU=RU6RFzoRiwTGdcqDBDLi8nkt$M=`Wu2W=YxroFgzCNia=ik2m%liLfo`hhb&0zN;xrBf zxPkI|ch^-_1AdZLaq|LqSJi)7=3#eNO^-6}q9tc3GecYGSNmMk(ueyD1P|GLMQk$y!7wrQ%D&Y{9tE(OB`0w ziRusH`Re2O*859R*xPH05HR^_Og)^-jxTCV)t$eCj<;(_4PjdRJfL`%HJC%}j5!Bl zPd#sxzOO<7WseeYXu_lCqAkTeV|A;CDF>TN4XBxM%DCE6J(A4qjn}fUJE4c zQ(=bXTsCux{=uOtIwr>ix;V{sAby&55Kn{9oI{dS{xwbc*M44kYNsB|$nU|7?7DDL zqpYe|ZBKpjerh~l2@m^%I>$Mu%445%4+n(MUjoB&g^W{Ct^;DXzUn-&`<&{2Vl+iO za0aqHg4s0ZY;N?Ot4#E74ox_-`wbP}Y>8g4N zvs=I7=!lV;4mPpXffHLaR*SJP4~$q@i-I2)da7pBMS3(ZOU}VP2QFgqHFUCfub!Z| z1>0WcbnzpC*!0@J^5fHM?3|H^D@K0c8mvz-d_kt$z=v0&8 zm>J1@`W&*P4`P8k@g#>ic}B9JbC^ZF|7)D{X0YLN1$gx@Acpajw@*_5V?Xx9zKkgn9F06 z@QiH6b>lv+N=T_125C&X^KxTV5fL0fob6{IkqG5KShS|2zc|teBjN?&{n}Z?i@v#$*zv0FS|UE z$CS++$217cx&TLaiM|qNo zXNRhZg`6`>*=&a2{$gX%i0W&KGMwke&!ek#pSOKpv@R%ikEk9hc4xT0ln3WxZ;CI~ zMc)jRE)_d-tF|wV=I3Ipg4oRoPt`}CDS8<63|?9hRQ698poa}mO_k|<_01fA%T?YQ zQV-!Qa6{^Y1L*O4d^ANaJE@*WuAC8|YZ%E}ae`Bg4UYT)#wlc1d z%DCjp*f|4#?o{HMp}w(DUm)pNHswB}{kaqj=aaB8=}x2G8-3XP4Q)5nN(UF04&|bw zr4QRMuELv~K{ZDDl?Yl(S zgtT5Ar&Y0c!%<2=WFM}?!ya9iTbcsqwoPB?C4WBr;Ge?#{A1w7)8x#Miw)AU0{DoL zXvL4UEo$5JwcbC)=zDA|BuhK5aq-g5XzkKQ{0uy3w6sVS9dm>JIYT(#oS|IFHLhcF zMTcyNt_nBbuV+4hv_(csbiov7o_r;86b8>DPsL)R8YJZtcVuEHS`baYdyz5I^+~KB zay)t<`7S4Ei+cj~0Kxl5Y_7qGthYsYbS->MmFP1twq?^-dU-k02-RNce-v@`U2Bv! zUE>@XSY%w9z}MXuQ%a?Cd`l7J zM2QvY%oIF#>J@Lf(bj>#N%l~{@wDVn1IyGHFpA7GvZ%dy3>b*_yLezjqkJU-l1ubhO8c9fykpdCJ2G+ zVyjIgOSCr^hzX{j~mkG;5@Uao4BXX@$QL6@%7tdi8tpigX;ZbV8y+_}( z>n%7Z-jNX~)mBWc8GQ_eEP4-975g^%q7l&QGshK=*n)SECraTNy@cSHBi*z{r7ldis3i@&U6z2d)XgHbJ zX$JXfnloLIo^YVv2UJ`rv?xJ@2hZ9Gzw}$R8;hs7#H`u`w3*1xshW0k3`e!C9|FUC8zB`j-2Nxq34~Jhmqf$I@iYwD!(Htl}QS|$&ezmx5N!+@aD2I+5%k!FZ zx6dOxFAqirtSv?(HFy&IU5$>^3sc~&wnCREmh50fA7|$$9S&P)I(w@;xC6RDfX}iv z&%bO<7~aLrcS)3}s?;t220ssfNn|g|vVL0m2~My-oq}Oh9J2#{TeCbEb8?^i^w&5C zfF1iZ2zIQWYR6J4wnjy${4HD{acmX4pr9u;?s>W=?58k?)p z`i?bzoF;N1Bk!KUBm4skxiyF!XgP5wU`53Ea!dfjb{azjw{osL;H|s+X5q0XAcMPm zq7Yb3FL{FJDR>bA%W(bfa5#hkcEb@s13w^0TT#F|Z;Ykzt(+TCLi`h>Z99wj`2bTf|Q=60H zAq}QR?}v@#v4aR1Vw4CnA2hc29K1?{J@S#7+SaVT^u>5I`DE<~Y?HWdKA@!0k z?}iaHR-~1-NmTumxU@|}Y3r{M(w`K~TQs5xcEi?;+qa^67FLd@P!!D(y#K^DpMcl| zY^%d7FsiU-H79sCKw-b*wLr<>%@paq=OsE+=C>PYa)m}jHy zwLp2Z*p*S$4}(|ti3cZ&U8&Xc!9m=)X+ICYfx8u$$u)~LD>JIhf$}=`-2~sms(5(& zD?pbV!SJarhKlS6x^n#X*W4$|gvUnkSjQ&!$%!?8XLGAne^K&3jWN%TpwB#_G~zpj zn-*7xJwGu0{gg)GbeNg`K72G5do!1^-vrsEE=^-Dy8?B`l)I#Um>|~QjT(uXOv0m2 zg5h&p)PCv+MzRzu@oP;jOU!yTrVpDb{LB%+?n>6^=aF#IwBOjg@YBDh37U&BZJh=} zQ4a{S;}EdaFA#yBBQmT*al`7xP?l9 zU=b5ZbYHMjOE+Zf*&Wdx@7WzkL9KPz;n>t>JPj$1X(*mLh~|Y1TB`5-Ug;~?WS8vx znMBw21MrbcyI8x_jKHI_ppk0RFgXX%u1&$WfkZoY%@vj1MEeEsc+(KUPVr`XWF0=T zB7en4M&t#2^o#rnADNMr_%KESr)g)Oc(4HF7(~w2$;8%`<)^OT?nZ4{{h<6E1Km|=8pZ6?0mk8i2?c2_s%L>f6zB706S z{o%rTW~_1l|$21}Fl>2#;jKeInr z9s@UVI$0jTspy0P04z%MeQ}f0nIz>(w$DCNBq_Sj?*J}kI#Ye-?C2Jp;`~`{oNSnC z(OZuc;g*|;&ljZ%E50HgY>IfhHNMm|JPV)#&l7S8>)Sxq#(;d}quU@?Q+9ADd!kD>L_~Tq@kQ~6@ z!p6VM4Qayq zZBhU~(eJqv-G%jUybkFSp-4x(H^$Cm-QIeck_68rfI9j)M096&spLhz1&rsyNSTm7`l7h`+)W4dwHIFV zhrAPCAQ3zxqB%ur)=5+u9bX?X{)>LwBvUKMZx;~=nVQ>5jqU6&2k?oJITuvub%9dI zhJXS&WipX9UD|-{8!#`i?h?fNpdA8cFF{Y#Ol?f{M~0%ix&dFs?+S5MWa%^b+Ze1r zFjJ}NK1wSfoG9zJGySu&$K7alVxQuRFCe{sBRsLK<#apir~#wXWSPxGhevSPT~cw&DXmE*KBc$s5y(|-Ig z)Gu$*D@UKw=O?!$omtyRpYhA?YVq@JWD45jzv0&gWCvpTEPi>hQ8tD20W)jDW|^96 z=NF@P$*ZV+X6kdKRdKnMK9%2Qk}H$w3+tDD2qG_r2hEkUgu3sAjlo0k9WW0OyYj0C z%oR4iiQQ+e^?Sk7fIV!ZyBoU*^-6Jzo=FVjt4vZT5lWF%ie&=u#gHAxaML)94JDm{ z{#=(1cO2qZiV~_Hz|suq=(#Xfux=MTI8Q1b%n_q{p)N(E1P+vmXY#A}xHlqloNKqR zemSeh*(7dO=-r44ULpGEOAKSCvv9(UW-tLicL+d6K0=pt0xA}r@aU_YRxKvsB?j;; z2uz^Ki}BB44}re1p;&2@^qWC24lmt`npW|N87OQWOMT>S7UvWr{fko7$)qY3un51N z$-KsQBgxf9G7#7BQ{bkoMOcw^M3D7PFEjXTt>lQrd#l!fFW!z)~yWUq@?C%+gF8J}+Oyqy}Bt{+WU@Af8kWmQotO0}D+S0(Jg7pTPbAZi#b+59$U@L#qk7g_WavYW&A`zAba}8FTpw$* z^Aa4h?#p1VbgiavEM1`y+GzxoS>vV&DE!Oh7AK+pwi2F=(1hAM$L-CEi0zgftt4XY z5lgo!?$F`=C1%F!ab-rQr6;}2D!SF`4=b0m{t4rc>9==M;wD=91XLYyUQTBVF*_25 zHL_AIAqZ|2NLmFFfJGz0RiV`ETc_ zR3iXeGhI-wKyf(q@otZ`+VET9i9udylw7-|npPkH8|e{n|0&*tF_)D)`clMsGSNA5 zP-2PjaV33-TvKWvA{ROk)0q9LKTxNSIJ z(*x<}D6q5R;>K=kF9B5<`M=IMujv~2RWO!}Jl)wtFbU6b6OGO*`) zHsS20ha$J0PS9N#cV7HuMkKwL=2(zi9n-dteSw<8sJ4T#cRNh%3(MJG5GpoOhu;N} zRn2k1x9tYMMV_UKc^QfM!V^htWc-mf`Z%RW8y(!Q)Rt(TMXb(7+iq;O=%X6YW)-xt zH)y8@G!gPx9CR58e3=2!SKAv1*eOFNxxs)JkUK)8;yWU*ACDWtMq4v`Fg*UH!6W-e zNIazPL1OxTHa+mXCR3x5NxAf?BZR1`9$&-tN$%l4uTOFhU%5WXJ^Ukn#(CHMC>{v; zL*KHK-KXpn>HCl!jB7?R71=TMmYvk(VoY7-gczxAO~!UEiPV$(w4}C`Cy~0NJc-l| zNz4xcELLmrJKR57GK3F#Eu{qu>Q%=JO^t@{|!@y^|gXj5`ACTAn}F{1C*Wc*r} zL^Pj7^jFi9i2ihX64BeHClUS5bVl^~0hKHrqqGW#W4IfZXEQQr=270JP^4CF~i&SiV>>C9F$A+6rkN80V3HUO|105nDJgx8>YzUyEQ z`ha@5*bMDrWalU0Es?S2rubcwetUtxVr(L7He|htO_&u3>zkm&7}-7s9{I98A0BzK zJr5qavOQPA z=k6+VrnhcM!LyHEGF_iZ4Gp%AOuxND+7(SH^=CmgfO`_*o&>n=lfV>ICVqp@-cDb| zFif;MLX{)KU?mGZ&?gtVb*R1+D|N6k`GO-&jAvyE#L})`lwl!M!8~ zU~n6Y)I8c2!h655eH_i{ zIl$JBd*kl2?+!fFES*GxS75Aza(E^VQ5yaB-In74e!Z}7$+o_}(L2jVR4Jo+MC)U2G5g+jL@JP2J; z8Zw2)0MZd$vyyfJ$NS>9&)&h-%Y+qA)0_fsrO{#Yz!;*jZ;YXg)Cok%uHAiLjE6%= zo0D*UdwpLxw?^=GFiTq?=TE}Mw7{I%&1Ke4=6^rh9+IGfZE71WSdY7adbE%d9*pGX zor;q?VT#&DS7WQ~#c93&!^Nw8Q9fA8gj|*3G0uVP%oLsAksy!%MlSkkk39Ff+M%!A zYu{O}X<_=S^kza9cm?)5WxjY>Vv4HzEO_Q z1Y?;$5`2JL%h=td{uJM4PrdUasiH&L8_k6LW&Sis7%FT;+aJ$=Ddl&5A-OuNN0no- zT^*zLO0JN2CROl!qQm1XLutZt+(n1?%!bngV^ivWIZ}y2z`GMX*wH~jb?Su`mx6kd zDq3Mcf;d}REcH^wZn>hJ?#wI^yRx0LoS1NT{k{@@cfCqP(XWF+Bsze2tChbZ z1iZrgvC91CdD;ZeA5hJn5H@bna(KriYLRwdMF^NIbyG9s;gy>P=$9#dw8=A*Sey8f z+obcePz+oh{{GZ4gcbL2xIMB1c)K^61GEQtH+G&$6PvyD3kH_>GXpm@ySp>0hfdhB zV~4RSR14)Fjwe?|Bv62t3SMMGV7?yu6MXyyKKxVlYR7!~jM6cq=OwzPw`D4JAAviUBpq?F(?iX$6`lqk=U(V!aYuEHEC z3Y(o*iZ$&9VL4tGP**ZiIVOf0U}B&$1641w#RT#OGKMW2c?z-yW~4}tR_Lu_B$JK- zY$gYIF=`=K2VfLw#2}o`Okp`rSJX`#sqQ+$rFZXC0+9tE#Bde^jgk>5!tzHf^^qME zBGqBtEG%1sHU=CxPP(245`KFsem7YzE`<&!#|hMcF|G!fGur!lZ;;BE3A38wSsPP5 z>KxE;jFR@YIe){B&%-rVFwTa10dq9c%SMvt{}f8hSlrF6>>4S2yLWIHX%l6)LgQJ2 z!#-(DZ9ZQOip!-fN6P-T#uD=@SXl|XOSB}HJ@VLtmWmrnl)FTiY3~wU7Qah$S^O^1 zW$Im`ieISiV-OD+nj$a$pglv&Wt3~ofZpvuefTp}7F!yMd2UUyj+SUvm8Le7rg5u% z7=cup-cSmrvC=3W=5TlejQIOc=4BP_rtu-iANmBgK_V;RF0Rf zV%G4=k08ThaL}p6Xj6_77*G2tP!=jp_?m*o;IQ_t0VW47gIaBX!scnx`N(D@fi=GZ z^Oy<~&uWqy#?u8fFf@deXN&c8t!8eIyQ_1+Hhn@nK5k?Kf;@Iw&TvaC`A*SB|IfdF z^w)mP{iEO->zo#Lljy~Cuj!B6CHjs}y-QTRwiI>oG_gRM_MhBa+WU^r#mY_(TRR>o zfzbhGoD*|ogN>%kxWIDeN{+2^4fLaYoH}!iksRCb-ZERO-!azbs1w$^3ZZ#{@N@c* zg6~8o1&h*A3Tz=d`FtvAR*LFo*HZIxDa{%D)g4p!lV1dR+=~oY%CXg2ZW25g-YieZ zR^qbXVm)&|_DnyX4$y$9-)T~v-%(I!0i=(iUZg}^z%x&I=HioWL(1u^JL3)8XSqcN z>5P4&wkLz)4#fW*V5s@WF%D@hts94gVV z*v{;>-rbUN!5?%a$PXIWUMty+*pxU(MB^>1iMr(`gst4!%Wx>+`eLI4&sd1mq zhF6B+Emh78X||bdkV0k~^Aqj);x}x%s8NZ~s^1<po_UFF=2GBicv5)Q+A&+jE3plEmRNY#Qn)j7UFt1W)GjJ!hVt){UYfeX0=>S za=EfZxjHJB6E8>i*O1~G!xWc*2)?lZi~_r*njt}{f1*_C14Q(AcH`MlylWPy2BU8Aa;lr1MT%7AWnFNrkzt(vij!-(~cfqFBNGNV-9b4I<7o9#n( zFM)2L;ox|cvx{EBYEb7s@|74f@=H(HbL9v(m)jqa0MYh`z`CwPi` z0&S#@nfTUiYZj@&k$t!S4zDCEly*h`jyl9)2A0?m#w!{afe4QM`zjybL{_Du`-l1n z9-KTknD|lMgJ@=V{HiT6qY#vBX}0<~39tB4bwz-_Q4nWHOO@%R;EHW#z) z_Una>oq^k$MHq5i12$MWi$!wPLZ6WAZ&A#D!1$-YoaxOl3K2G*3{*FZXELgycm&nQ zvi&Uy21j7KA$K=L!%s^^Ea;%0z|EZWfp3%49K9~+J~`T1?ml^m^IG@G3!G){lLgL+ z?vo>(Medrfbv~l>5&aHr)u+;C-!^Hdp4}xZuzFUB7&Ia(UMOA&BC;eZBy2!n6@(yGO#l`6E z0w>4S)S{)8R&8y?Hdd_hRuRIbBnZk1sRoD;HNrVAXaGg7+28Yi=A7NLNx0bBPut(? z`v+wA?3|fro_XfE%slg+WO#dPxUO$PuTr+gZjmZSN$JLS7F-;RqBxN?*J&Y3o`b_m z^h>(zZXz*SN>7Vp&aapW@YCG=w9vC8&&yz1bK|j@SVtW%N8fQH@x-q9;uSOP*U8a4 z@qMPFVy5G2IjRAAvdCFE(HZ`1O2vV`^6cq2oxq?pi!V+|x#E9Xdv+VKH`rhzEWNVO zK%NPQTx6r44&+u`WeZBzD*Fcb8XZ2@fKVeAg0u6(Z#(Cb@~I^Ug^>Y#v z8*(dM(Oo%mA#p!7J)HU(N$h^CPxgD*Oe>+J>6c5bnhdQCsSnI13)#2Eax7 zR??J^q33e94)?AQIL1n&cf+*L9}G1SZ?2N(jNtA!Eo-(L5>W9BQbiW$ZN^Qw#9NLj zMs6jB|GFr@v?;hJEiArEq5jq?r7Ni<4HY~IJip=@9v5YFj&gT)Wy#BP$9sUDHQKF~ zu2iOw#aOG{O^j(!hMH1D(@tJ8N-~aWTtajslW2eoy;$iDt(7CUU}!>XRo~(|C!42H zN@#7RL;nbg@}=>-^-7R5S+x>csI04sWj_|1G#;y&@{(n-yG?ypLpo-^N+n9;YH4*r zzu+$cpIgejic@{f;m}%QYBzq+slT3=Zt(VI%>b<*kj0)((UscQ#j2>ZH^ zB^%#ZZY(TpB@IHZu;L)L>Z3^JisU5@!L9O((fuS2%VsZ)-9J8_^pVRQuRKX!vOG3A z9^T)rY@6zDt~fxdJ>bLyXrey;wM&|{E1aFPw(@{Ed!`H`vPh9l%CjRg(S{IUX7XG) z^2s4wR`jx@Z=w$mZf{K{ZQ*s@^j~7}dtbP@wt%&3ZMd#T4|jMrQvaFdElI!4@~x{r zk>iZN5 zPmU=3;Ziwr7k?NcN4sZnjf3T=jXpiNj_eF>vD0xy=~Aqs@!3|4^wXJY?bBwlas1J5 zB?b=7GW50_xs}*I7RoF{3g=9xKHk6_6m#Q-E{58o0sK1$&KN+YpsG+QS*wpdXe3xz z#EMKXwHIs_bJIBXF#C7->Q zFnN3z@-iyNcVYHuCVN(z?D?h1o`Dd4vUD@Rp>qU>Y%bzZR$>@+C^qS2NugLZzN}f? z51mpmg};F|s)g9!aR77;4W32sN*EV=MgEm?^vo_Wl@hG$$oHIjE|(%AzO)%cY~T+= zf>&dFf<^SU3vW9Twct>{%!xO7Ylb!bzR+a)ul7UYi52W-bYg}3;JvhEy5yPmqxslA zsv(~&@mRJZu*5vHmDy*qCD!jj?pVoM3oGn`6^jj4T)u!6GsuzKn4Cd!^d6Eb>XDOs z#M`g*oEUzCcy1TZH;CsnY9o^P1b^dlQNq@jN;vhGc#U;!Y@|(6a4Dl`J7xagd@|K` zxj3SmDk%o6v=-sM5V1#|G{+3$wB&%e>xwT}@x^hmi%_$?-@%4A@KYFFsMrn4P(#I% z7^hUMw3msVB1a!;6GVHM=tGB%$*#X~;Hcyu`gMx@o>14FNSx>Zm5u*8C2>=YDXU$S zG1h}V6jS!%Co^3wGTaO~8HblpN|V;%)Suids;J7W;)|vXaj`vRsP|M&ccg2g_|To@ z)F31Xi4b$ep^?ltrWD(K_XJw^q$W=igzAf>dyv^2pEdZ_WM6e-X|U7dW{ z4Qd*mNy=$W8FOa7=c39` zTtDNhPPsE@v*1qnSM6)C(+k2Eu5jl&^*vwW6aYl&!Om;C!l=pHp{Ccr6h5cH=I6ic zv`dFKWpwGp-?V4WJzsXFAcCYI`UnLv{!20GgU`?m7%t4qfdgW~2V?ZCuXwiY0M8K* zrhZqw(KvKCh0IRMEVQHTwoMt*IBh|DY5WIn-3Z1jt|V*x@*d{68BgecrtjKoPe>iK zqVH+VmD%au3)=JU{ykzGBQC7LA52v$B|9bb^^F;Xu70vTp%J-iPgel4M}NPQl}^v-7mgL@D23x z{YKsswkhOSOWfF>^1HEZ>UX^%7Fx6~j#4IX^=iHDiwtal0^?3(6pi^>jO9%{;R>k| z?eQTGjEg%9y_9sp;9iLi?HS;0myjoA zHmUt~o@A?PzjnlYaI2(d`Icb%>sqZ3Jl~$`|Apj|Fl6l~d`+@bo#2c)hhhEy5u1Pv z#~JUu&3Sv3P)lM+6_%k!xmD+U^56I-B_m!afHCHf$0%AF7C8+s{A-v#tXyW#`MTu(AoB`+o=>yOKkH`&3!KD6SjR6`z$h);+WB~w(|ljM2$8tfu)zbFYT7-VHNh4)EicOrbhX_W}y zId=hTH`(0qU;5dxLbn+!#2-{e_Xf^Vv!7B&zIMn`W?Dbw4NwU=g6rzMd&;s@=TnOF zwPFg|o6Fx;4p7LCEecdkiChR4vegK%k;k$TogFD;EKSB1p@-z z3$6-e6$}ghQD7^-o}L6C{IUjN2lLPY?8K`+4|g2vlF0eQ!b^00@LJ3ZQ|}Og@|-e5 zrw<*x=0}Ma7~9ARw7tzDuTAwe7=9am8S`^$W;s1md~y9eIH$p8;(RWRLao4Oeat2nzZKI`w>* zBd#JoIHQUoMiqlnRg`+7o4E?y3l=L*%bQb25?z(Dk+i74C2&Cz&RAc9qz0NoO*9kE zr*OCWl;wKlLW{wnx(!5Dxq>>1k5mv}m z-e9vl`%%nAB4va}bvCNkdQ|tW)Qa$0&3Bfek=H(OiX6Rz%F-;^RQ`8Zs<=xNY!b1o{q$x`Xf?;V>L z&BV{Ui6#X~hS=yX6b&KzP(a|k=-le5)qyLxT5>Xf|814WF1o;4;gY;@pqG0436 zvvNqf<%V^cn?KgkSVdAtv3~w7u4xM@ea(!Vr5q$Kv6PELRzody%{@w8W@jKIziLbS zXYKux`F-rR4EyV0`#TwvENy>1#$Mc@K56^QM>@{xgF^?|=8nDIOGpLTrAkM^1#;vWdus0q zxwsBe_WMcEe^t;ou&dylz|Mk!0UaA0!0bzHXOy4VZgb;eabG~*>VhB0k(c)0dmTax?YlfZMlJ6^(i+SKsjnWzM9fy~!p&f# z0(IKkDKaSr2t&}D4FNr>Qk`4z-W$1K{Fd@oc<}W7dHSxFt|ak{{@B>C5SSRoX3k=J z#%2z(S6`Bd5%#>*8U5Ztz2!VsdYbOwoHJ893-gDr`B6C3EXlKxKLI!5%Xcli0A$y3 z8@M3qP9kcRZ>#Voh<0e^r>RtI(%1V`_f|3!s@>Q$Qc4zUXXFZ{u{byjEAZ+VD2<%( zekss%G-)$Q+$kVOTFv!lgBLHH4qlMk@sv<7ze8RqyB|5!nD$!*EMBRM&sP0$WwZxN zXSh|ZQ5o&R7Wa53#=~VYjO3f#89CA`f@@Z?vd#&ZEgP<1#$g0G`T`k5zT`DFU8*dCgLtO0J8yNO zM?wF9JLPKldM zm+(?IF!xAx-wubMK0UPSdy~i1m)KRr^FWTeE!F-hRc)Q~=co@=S32@m>sKEVHsV1z<^wy^L}y3xE$XQ-awf$Hva*tXT9uL(Z7LcpLaL4Dvvk6{8R5lckpVp z$dg}`T|R=|@~TBS;w{n(;=POcy&TJXGd<-k-if(EkC_@mvGJ?)FQLsQGE?grFuW&) zXSlis?BpvBcdur&QtfuL401_`v3;R{&xjCXSBOQEy5S;qaJb;rZ~-DYTwqEL7iovX zbHpFc)Y1;N365po*e*AJYz1wUdoH^ztNbK+>lr4U8%9Y_v0fj5CmxSBr5~N4xUJxPrUG`@06Z zE|Nrk&UJ2PWll1cTZK_qCpx|H=~)H~NLLK^E}wR$GSNxxLzSrlTs139Y%X#cxa!LC z#E0B&&K0oTi92_DU>2SS<&eoKvHK|CT(-?g z&aTwTImp2&;M1T|QD>4q87+Xo^dquhUhCA;Lre{z(hE`T-Ph)-D zAYcX)K$ED*sW{Xtsml}UinyY@_1?*DBbkC2M02AkTPgCWlRdEW_1sjBSuj_QexD2G zQp3ZIhRt;mmPC2ZSSnyhqaCf*k<_Xu!oK!_MF${3OWtZ=nl~$Jlwd=mC&_`sLt$cr zw|Ch!6q%|sT*?*A8CNP0H z$0YC_gFs*tnFQvvBk%@K`Afi*{c*G9p8MaXA9{qHMURbFf@S4=M6u8QC4*{qbM*Bukd*9 z^OOx&r{yU7cp_&>Tc|H5qA%BQU#<~-d5``NNcCgAUDTg*9QAKR{bSj`e9Yu zq~NvG2v(~c4i3%K2|4O8B~G5$o0#)?dlTnYX}55tfquo_V2eC^BL@S`>iC@4$kSTY zp)`bftEEjbx18TSup#Md0`=5d`BM*T9ntG z-6t+cogoP?W}=6Fk4>_-Ql;ul*RqeC>LAtaC60J^l{u7Pi#AQX5xqGn&ea4Pi;*Axfaf~=O-gBlvSw;ktiTZ~Z#Bj^l}x zO|O8CY>(PqaRGa171p}PxG3HX-{)h=ftKb#ZWtZ&D!d( zMb}>9Q^t)n9#nnI*?m?Jxa+Hy!$wm#KKIzXL#`-=5Lxrx4dLA_D>Bc9?8r2D| z4)wT=dOoM3dJ+){?wUPcP4l^cDK`GnEMm`Af4|M@w~+6u^#ex9spPQ?!syFq#*+86>NDsuxh`_-(+l=^If=$?R zbzldH{E*OEY>d9lic;9Pl@4EvVZsMEQYQSVazvLzQWI4n&)&)ku8Ac(hnG5|6zCx8&uXFbJHD4++BA*d^EV)W__sniffQ#q zoMvh!*)|uOl#swAXhD)>E3=a(drt)iZo{Dlab4?5nhElY%P7w9H906`_SLIJPOqQQ>(1mR>Sg%iqTZb6RlZi}x$$)euyJz3;LJV)%O zX-yUy;$T;@aM-QbNt#qCHWW5)eZ?s_Uvqz|R=)`9#uK|wqL{>6SAIPr@3D}J*kF$; zQ3WHof)QN7y{Mpq+l>z>a#NI$kLA%KxBm5EAlc~IhW@?%OVMpmuU}7c%qnspsmOgD zx_(-ayRP<3%*I(ZpE=hUI-8usYYq!dd7`M3AwAU*%-w@~Ozxtk_ZjU(+csUYS$!#* zXB)H!zew^yiNhEvM$l)$V1#tbF*=15fjq2c`wMK_Z_Q0%HQ zg4F>zr2L|rgRS)Q)o7^|kvx5w{{2Obj!1! z5M=)hv(wj-?~wUyH*8Fy*ouV>n2CIcOQ>RCJrsMVW38dJ{aQmV1bAW&e$H5HxZhzn zW7fJNvF0S~w0SxZYt6xvF#Md7qN^fbDfIyBH#8osH`GZ3oiKT!mc)rvMl8OOEvDa{ z1L43HnFhUu*FQ+Ej0L(TqD{XjnLdX;PRzS*JIr}kewsQSrha^EqJ&9z{XTQjO}_%0 zuX&{E2dnqGFhjaxzSUyuV?V@+tZgEj=;^;)$o>dVcp0W&4`dH~roCY&Ia5M$nnQd8 zk0Oa1IPiBg=@U+jms)x6w}tc>M~y!hg*ZQkw`JGR2XeN&Yo=e6SIauIiQH+DdF5?P zwpFoNp77@$>#W=`Z5yXQI_`Gn~pSCqnyKhPJM!_KFZ>b0}Tf zB<-Pc`6xG&%gr>(O*7QTESKV`!_@-N@%`gSFCkAih%P93qzOnqRA<-Gaui5T;OA4H z;cs(l>xa8?0U8T6#YSG<3f%a&r*_mW8>a1G5P8uHi2|IXcjP&nNg#OqAS6vdgutdW zDcPo$s`vT2ya}D{EWzD==OF4G8;d{#)+W0e%f%Tref1l;22Ixz1I3u zsHP^UCeopolP9Hn;g2IvaUeBb=j79o`afWz>l2GvXVokImD>89LT%A&53q#!;?h1` zj6+pimSme{lw63CMeRx|2WhxO>8Wkj()Stl5tUz#j29Yx;zJ;Ek+V61zGZg0< zSPw!UVgWO+HgA1mI&4CbO9YVQ2dcejX2;9y@P}IzyRu6;0Lj%IV#oP=aA$iKDm`Ic zT+&##+O>bZ(luHe%%T7$Ns)IJ$;$w8O8C(#dekIRJBG327Pu6?WW4-gI2(oDIC&fK z4&FxfU52;8&I0beZ{T$$WW+@4Y=Y6(@p9lFIEHRUm-0bcxf6qd%XwITY9naIDJ%5F z^niSQB+BOY(`x$iDx2_skp-n)%*M+6-l+9~nV@mJhsU-bY8+qKnYkVuhvXlB< z9_hareoCX(Zx8O~XfyLSRN_!+WBypT7+uV+)96PXdG%G02=ogFE|C>KG2FEVg1 zUB!r{2XU?HkHfW+nIxu;KNe+smrr}Bkp0BvG;+(8iP@<=0ggC!|44+=6FvHOg-=4v z-+xHt0;Wa}T?>8}k~t#f5kzYFhO?goA#p`Q=3F0STFH?itUMdECELX;e04i}11G{} z?_gJB^rxA=lQ?JO3|FKtFlw-(W24~p_75;l?JFpwHOnlB;lZKe^*_ccv-K-;&U zUDy1O#%MX_R}YS4d0f7qWY>j!+k~322Z$a8dXND?sb6wCV!N@>MSSgzpo1L2ePncy z3YI?MO-hG+n%?5a;C2KDySB61UL++pO|7D*f$PI<^xm)OJ@^ECNl>_rK1{)feRh#j z8E&Hw!}y6)j=q4xZC&K(vrLMs3pbijs)#JMD|e#%vy$PYRMsWj<_s>NLX5pnig_rB z-8lAeVsJK#AX%m=|5qW&}(v+S}WRf>n?v;@MmH zvRnJnex?f0K((AsRTZ1n7EU_kIcs3Srn~eA{SCJ{NX@ii8OY^e#^^ucwXl8k{4M&F z*hc*k@BIWT+C?rZGDgt3kC=)$LjR*dH+`Rg?@y$E$99-Lo4;#wKDLmQ)s|^DS5f4r ztW#~;83+beK-~oV6as2E{-O9*Quv6`BBycL_f|S%e&nt=Cc0w2dJXf2l)(V3uM~-J z>2f29x1>QC@22@a^R(D%`oR{H9E z&3tPGh57BtY&^tdUT7h6Xge}rYPOOI`C>Y6-_seL%^#=eeBI)I025nTqXylO+56cp zxUdfO4#d#MxuYMbCx-Xi11E>~I|CDty);-G`?bWmLXOz@Hr|@q%>w8Q^u3n!Ddy4& zSJK}iN6yCQRnElXD%AlAZ)Tv=85>D&Xct3Z*5SDnT!AbD&CAIPV}}9%;W<8$;<7+VloUYvrHqUY);OSgR%&ZU>Q1oni-Os+ZohepOmIy1UG(T#r;MBiW#4dThKF6@7x zU0v&bkg6;3SMnP|&H7DAY_KPuO~sW+RxAaK7vMQ4UY_Vwi=Em#Tg8Gu_QEhu@UuWh zzx*^A6aJV^hD~EuS8R~TAJGS2Q!)1C0cCXRF(C7MY}T*89s2!hr;?ceQ5E4qjp~1Y&5_DgU@jYE60U zZNjZ0NAO-OMBJDM0K@lzfVo0>J8?4BB#373G*8(T=-`wbbxe-5Uph#9b6|C_$Y~hr zdtF_F4Qy!Q+HK7uj4Fv6FPE>tE#4fMC`GyOxyEb}qh7d$9j)ZY{HJkqJAW$`1>wqP zj%TpFoIlq8b2}1B^UW`hdJX~=|6Wugoas=3p)EQ+JRtKiL)KisS3#DZDO z&tkWh4WdSYpQj3bPRoHnljnPHjyeG|8I9vQZ47E35tbzGt~x?2<8M(UbMAIK>sT>N zQ^(ocY{1F-*L?@@O&4#W$y7nA?pQ#)up5Ke>I}xOYot+_(+%1zb?*>inrWl7H5$ES0ExIpcu_@7pT^VA_qaG@Hiq7lP(A)k17SXq~_ zD_bkOB3|&=`QTo`tl&=7hqa*Y142)eovv^XLzZp!;(6Il-f~X*7O5qRmVN9n{hEn4BGt4ymhDmoDfc-m zdxn>}6n}NafeS@qRZ(X3WxuNk)eHz+NdI3HIFJ56UyeWw=+orD?eu?H;3oS29N|ai zVcq><OnGFIwe$&bG=|W6N8e=w4MYJb3a;Ql+CPHZfT+EZ9mvNQqXZq_=|~pZg-EH`gXd zFYE?qC2?&L(a1O6;dWXgPILvQh{Rckf-BejNNH0;3lxfY7OK8^3M)K+l_II3hsoho zuB-^DHsM_^k{(ncLe*@DAB*wa@3?@5tk{P7J2L28ig7Vd-{P)b6Yi$nE9 z+so(|kT{+3^y|ti2ne-jP>BUC=cQ7!vQl#U)W=asj+~AvOGK5us7k#QkC&9Hs5DZL zrs=vT1+&JQ_1%X0O8Uavwsfg|S57y&aw@tK>WicO#M=lCU!fynLg{7Ed7T{HwC zIr6g}!m+pZY{suSzHrU7iQhstaR|KPCZmIbjqtSUr#8GG83`-mG7X9+JbXJE zle}m+*DYB|Zr&wGe(F>>jSH01j6+S@>F*kpzefDu9I-? zmiLaFbTm*o`Pk6_8x4_e%DX|@3mf3)bVxSki2QDMI^Xo__o!TH6J~%MS?5N2S_^%8 zgFh{_$#Y+%PrwUn)cU*!JTZC}z4%mq_k{Q0=3x(3%fiwlaugRPp~rm-)S>$J!^ba7 z#jS!>qfRy3#ZA&l-@?4rYRP<*X!@Lt+`J=HStACU)!&UrD07!6)5Y5Cx-Uet@m^-L zgG969b~w@U?P&S5Z_t^0jau*PWe)R)-HrMm*+8F?{)MEXxN|6ONBw`Z%#cz!;&*kN zA(MY8W(e-8$8V+R?Z!iC@wd{oSoGFmrR$^51zjJXV)izA5+sw+i^bX2g@x)sC0GMB zHw(W}Alb*eNq*=a`VyYyv<0uuTdnx26Q`&*d%T;b^-_zo$t8hz@-WSe{+mX4{WayE zsJ?1As<>C0zRRgaob628ho>?U9c-TK7GyE&du(^su09A(9qw zT6Uq9{Six-{`f(h=z^ra)74;YbaGD{>jyq^>*0$Hk2o;RI|T!>@D5puGu4uZv0ma~ z(0uY)x+-yP&U!S~2qI>ju6_6}FE}kDGGgR??iGvXKZ}Fw3l;J_EpPhy%_cS2m$X8s zN&`biS_%fiq){9_Nh^(py@JLqC!=2+x1XIY#%snY*a*ax1oMY`TLWEFv#n8kXm64+ z#A)8)-0aB;I!5Cf=%TGyhZ)|YPdU)J1Xpx2FJ9XrhJu<=(9Umw ze1Z8T=1$N<@#&-vy{Eow&wnO5jyKqBsw9K{dDy0JAs3xu8DkpJjFfuUhHLGNq_arU zpV-^EakdOWioHcfD|U~~JYL*sV}{KZqn0ttBx9Cc$**ET(iIb@cVoduWpF=o2Gx>z zm}EcOV`SRGxFK~h_`Diipk7ICBLWRl&sDfz5vu~2+r~uGa`y;5bOP9VoI2+&T{QLB zi7B1axp&%0hm61O{^<^x&7eD?FTXeZuo1XsUMPThPyh?jT?w5Cx)4o0tWVzCxv*PY zCH;(Jmq~RE`;FW+8PdLpr0aC7k04l$oMbn)q5c40Pw-Fw$5+Qc+XfqzUnU!~&13Zj z-o>53j!12=r~a0M_p3*Vu<%9tR&Ysh*C_o5U!|v2e>rl{)^S=ntHiXr!1xV(*5@37 zNUPe|Z~(3ldb}4yQ@SY8eXJb8wI|_KuJD!4;4XEtlkt#1>{&!?Vk_#f`s8yS6+U^` zpD~9$BxBd=LlCHA=wM1RC#Pj3Fge}Z#iIEgSft<@-rX&<0KEF4&;qFP2$fklkII&A zG*u?#(@A}3)xEbfU@E%Ei zb+a(y?^7R?(uMjGAZ-bE7+8#*=!?z-q~|svAnSW{CLk~1)?v|$hjB|?9>=p8=K8m9 z8%}>S>g6hOwVkUBRXqlZx=HK8+vD1-dQ&Jm)i|Z;2^tGE16u=ax-Dk?u;F_R?uMqC zsjsyzHt=s!{E{S!9BOGpUaj^9QW;mNWG9dYohEkIYT;Y3);Y3o!8ZqX^evEwvOv4n zpds8nhZnaBB1jBQ?4iGT~4sqMS-Ey6vh1>(yi3lD|e;r*cJ{=oL|8 zxD748;6yU}cq>@r4OYvu|Ax;Koyy}NN_`x}V5RYK6jnINJ4TwB zl9%K>JhjlR#CYjt2~A~{KPn^Kx|3T(1sLK&QZ(WF5Q;npHiN+V^6b$V&p1}+nSQlL zoiD4v79Tm0`PgHGQFjk@rdz60-a?NR`sk~X#Je#xs$Ojp_g0#R`2~66N;b(C zp;|F|=xF}n?qbtV4b^x<)W3V6USC09mThwiv5|JG!<4sf;`(QZJ}5CB+_%sQ3B~2g zE9ihamVN+DUM5q1$i?sA^9c17{16*CMDi}9fn27HHFK_wfjqTXtSrBUCS%z{)wk|S z^~iCrOTAQi1r_lHY)NLe!Fe5^uws1cm<#;ylq4qhT1k$+`nfs9tLalae;j)~`n=C! zpqfdW-K-1MYKf6p^_{Fxq z8pziR{1oc|S5Y67-I4Xd!TjED4UWv{2HhV4_!hql6LN}n`U(;H*J#VO8#T2Eb7T0d zR7b!;gTn@Ae=Uq~4Lop_VllB~y{?VNSN{nM%_4{kLqMs%YW-KpDJLHe*E~6!Eo;s_ zW=pAy(at1Qt*g4}Jyp>s^3&C>6+>-7iD5dQc9i5|UDKai>693zlT6Q>C}*zwj<(eO zVl-X%ic!|Z%V<%850O;p!XFb6g#Kf8xp@($hGHNsYdLixL1LS?T7L`Dd$%WVHCANa zhB*!{N}Q>zS@wz3F(rrQ4e90G(|U$yk}8Y->2v6onh{?AqVgs+xCjRRcB;|4OAdb* zDG%dwQcEz=5LTT=;wg##U0~SF03uUv12v)Q)Kb02VwW2t>7{!8md`8Q8IL({Z{iGPH&uQq)^OMq){XS=`lutgh)Q`|%eN}~Fh6i^g9@Iv zm^jra0``lSf+9}F#892Nfx0&~SMgV~vI{N(uIXc6*%%*ik@8;N`mcA9S3st%QR_;> zsup=14#l@v@zoj|-m~qg4e#F#NA~y1y!D1UNSqQY@bI}GBfl}}s|hdnkSWf;bQ(@G z(BR`D&BSS>-yNZq)}q71z8cPjEb>hING09>B1J+pszteuBJxw}W5LDx7_m4YIQy$@ z)};ge!)-zeD7x*9@m**c-*+EMkMGALi2)Q>WC;O}?qLCc3U5zz8*YKH8f0Ii;tJKwVwqbNq7b0|$%bdacW92GOq(MW4}u|J zk#PW@y_i3sq*^J7&>QRC7TTp}|K<4;v&(ub6SI}L!kaHzn1&Zy*8Gh;0az~oBGNNy zUn_C8`W8MrX6DcsJEpr*T;?L4uy2va>ziM`5xeZcYGryZjR=m8MR0WNjl(QDAG`^f z5!%)QEp)^ za&SrB9}K~zt_YVbwCQ@nGPFxttXn3!og$k4H0MVXN42&$c!nLId8Ivag=7;vzu^$` zys;&H7t}ztG~2+?sq-OM)23|$<9s{ne69Ez^Jy{vj#$Z;BpSpe59x?(Yk0zz$`a1S ze7LMD=5uKuf5bUhj0H20?}AcGT2`B?Eqp+3 zZN1G{)Y!~V>_*7H&nZW~;3xFq5I@P1Be;%$(^XHz2PFBP#82qMBnkHui0s0L@$hpy z>YqJN0vSBKW-4%1I%Qap6-8>4kr}+n$a-yfGnvkMt;3hy+Ki1T=1#my{TBJIWjSah z3j9z!GjdtsR8gCfwN1{2%@sfJp2|Hv$u`QVCh)zXOxknI#MLHD&Xi0L$?0MP!9Kb@DUI}vEn2jcA950R^<;4If8U+ zk`=0XUM;|>id_1;M$XOzx7r=~Mo*zGamWFvlCkkg;&s_+$l^Q&3B8eXK>t3}K#r49 ziPFZo9g`1XT;>4x&Aityf3X#HD%&B5Zid^zejUmA8Is6+JGSNRt)8H(Y3jjE-Y+)Qib+@(7w7-9w11bHufXod7+H zGgfJ2LYxJF%eGT3bE^-yxr0PusDaP)4bLxWnZ91VY1KXon`7<|@_Pq&sQ0frlz*=? zSX`KBPS+?PPQSoSYq`roRNoP4qJsB#0_=%AY$#?%fvg^kYb)aTq&UbOeBkpyA4kos= z2+Tx26Ue@-!N}-q>{qpjD@Ga&U_!9rsUbxAD*cyufff0K_{1QNfNWmM2{k|A#*H!A zZ_5}Hqj7UwsBz?)LOAB8g~K>2`05OZ$VyX0>V{b`4nN^ba0;D#6(wG8v`pgA43Q%v zuCnBpE9qtZNu#NSma-FO2&?WNVhUghA4x%SoE7ac2&aoUa7CSj^CWj;`<}YR;EfF_ z@J5uFc^UJl@<=?qQT)FBe@fTqjAWMGPJgsM<^LtR{%#9VO4)Jg`bCykCYSxwy8iON zTXg+*{(eMV-+XjkANvpJ`il%*4_xG%N!Je~T|a^1la!tKa(RTOX3(MA1F0U3+TYO-tS9~>#RVAX?b+W(M$`>ZQ8T|+_>yU*n#`c zv)X}X(+)hc0(M|~r*>fM5$-W;h8@^$3*zXCX#=wIGHgKek!*mAZydc-=>L}s&JA2% zFi|+bZ21ydRjh{%-bZlo44ASR7O?rq7EliyHnetPF>BE@8x19#H$6iM7hYyj!rM(H zd}>lC)(b47uy0xiCESHx*6(Q(iuB86tVka+^!Gl?#C&U-(8+HM%+$%_+A?)AZiM_V z#Y>&MEScV7H2Z1nv9A1~GQE#alUf01+?c&WEu#CWNHzwjI4 zrMixSmwIT4bZop-*U|A(U#B|$i||ri-xgk~s}sCbH}$pM99cc!*mFb@bAukljXe@FWF;HA309lX>*27TW?UaIR`!Ao8KrexFhU+^EsOLhGp;HB=n zK>B}pss9fz^?x5P)%C65rMkW)yj0h>h?nX*241S`IPp?XI9K`);ibC%d+<_S{{mjB z>wgk2b#IOI@4!p_+1b*63tno&%aZMX0Wa0{pTJ9XePg`TPy0&W2rt$3&*7!I{#CqG z*SC+C`q`P%w~CkgY9H%*-?;X8spY3JUTO-raa{^5^h37;t-5JmJ4VY8tg)aQ4~_j3+!1{uSd18xX~bKWo=lOC9lqZ$|rA2>B*> z!u`>bi6=Z`$5HWw4o`Dh5bH0yi_qRCSGb$E?D>P#7h;IG%{W)ySe`MMWjfR}n5Ain;sc&WBO{;PPYeX^x*fR}oolXqx& zD2{@c>N*-;s;g7HR2T44T^795DsAESKMMraDOLp4IYQr<7^=uULN4UpZ3c$w>upvH)f?JO z4Atk`GB8vj-~vN+NLvacl@9?u)|SFh#fk@SIUBzZ!S`wWJvQqg@k*Y9Tg9n;s^{~= zf`{Vy8T35y+o@IBSS!}*+wFYa6qcz3=m`tf>N{|pj*7KfbeI2(6O^cQ$GvY%TiJ|foY*_~mnzH*#cs|!T^&V81) zUzvb>i1t{kFZMLDBr>s9twi57K@hDNM1%NFu~zR$*YyptR)4-#Y!@hu+f$BMCs?bm{GVd2x&+qh1vG1phPB%F+rU~qzq@2&ts>OdKbnv9VT9|Fwy=dhW5XR$bpN*6OmZ(m#c@>iV~0tqw4#Iy%;B zm#(JzZI88jc?Yc3b2G74w{`i(SgTcv|KTHItyURWs}EbTR_7`20&}!73$X@ct==rK zRzqYM0^Nba0hq@@Ce|uLtQrSbP2|;D0}=Irku`jC-d^NEzZwf%54_cUBYk)$r^F_G z)oMw#1#k6}E=XNn1iaN@$}|&ibx{YrRipOf$6Ljm&fA-pOgtQ$C{>P?=K7zLm#mK6 zgOqG}&J_NY`o1ZaOO)Oak9}8?myD4NR97qB>K1XP!o*uGSx6dVE<3!zh01Q=t#Z<@ z6>oJ7`?U7Fy_|wA@K${_bK`g;XriqyvXQ^wCYb}?>R%aeb*6#0N}gTo+>+;%Ee6=? z&oDgoJu;A1p8#^4d3-x^b=t`~Wt5bGw0dqgEAmiuu~Q(eQeTKZJ{t0Un2n&(4Xj0p zlRSgRz#mBILqjkClC&g$Js zfleACIXe?LtFNSvo7+aGUN=thdW)qDoYkvcM&DF_ZgjPYvx=ZF184P?WEyAn{&c0< zXFe$tXLWy9qrMI}tJbc(>=Rvi(UAdMgIhr|a8@;5W;!Ymmg=ve`M_8c2Ef-#K+xss zcS5WNyta^_? z?xb;ROk|8Sx!VnpRXfNHE>QXy+qc@be?Zt9jpG#-kX2&T{YL>=^{ve~H%w70uq+y5 zB~27moMd3E-poR8!B`#2KzD%Xy0C|ETgjl+85paa2UT)PItn;XI(8Jm#=?rRdT-|# zs~m}2F;-7ujMYW~dUY;CfwtHJ-5DrE86w+Ed^EsLT(0*%0<&Ki%ywij`#u9V^>G6t zQl7gUICBC`0-Gre={ZyhRl{%EPNmc-E;Zl#fjnmuUYY5%1;^&C2CBrVe+1@hlRd*+C(fK z`Q{1g3fOyQP|ruPkm_sE`yXbJEtMnR>DEzXZ!7EwdJ2*Kq0_3nA|nsBLq43Hf(rdI z%MgU96R@8K2--1cU0(ylHNU4J#=r&)xuE0HxGX9pz}FBKSfL*=%%g!7+Mo^LTS>L) zjFP*M)9uo4PT)5ij{-2vFfM$KK8@!^?H3rb4(puW3L*JUUl&#V}(9`1X#@Kv<&Ju9-+(+M42ub++1%UukJj_l+!`a=4ca;B@DX;k~fN#J-r=I}6egwAjdWnKW572D0ip*PekpEHZi8N(1V2I6~YMCTNv`3HmTFLFXBW^@}nARbSl8 z%Cf&4Iqc}DEC*lF5zi9JvLI=*ptM9z-P;Zz@`fXTep+Nmzw7H`4yb%Eu+wz4+S-Rh5bHV;3?o zSfD!G0Z#L6#sgwW6&^mLUuRgf2i6+yT{9{T3pmYp>ys8Z%|`9)?L3oidD|SvBg1J5 znCzIZS@Bg9)hQ4&)A*fg_?hJ?M9rdZYz8fenoW7N+6JUTtz!7kW-Gnx)(8uHWY}E` zs%Odq8?c^@#4!-@nBjjt;YwNHJLw}spG{$;$aavLK2TE!5W0Z|2;Dpjq~<7~e1=-| zQ@%8Hu=Z6lgiVy&2x7<3Hj_=D)WfMU>|EQBez|scGHLkAPkzDPjPRBF zGbCn{0f`x>o@rODG9fWP<&FwS%vb2M0f{*ukeC9x&+xKqfsFOfuC<3l^J$C&Xsg(j zw?1z*&@h2f$YsQmgYq~41{H=lO#E1YD@t$UCW`LJ`x?V}Ut^4fLFB)s&@h7$Ww0F} zj6J03ZYfwTeJy|zsVx&@aiARGWTarVH#lFO{a38-0t%BsGam;f426lpQXDY)75&?Q zq#2w)0IvW5GZ^tQGNU|)Ar<-6*vONm5#IXgcBQ_xn@5EFwQHS4JQe%&WR482_q--8rkO?Vi|&(Bi!_j_0bwW20ohYcmD z8b(dDy5U&C5rBy$&46D;p^W+cMV+CKIQnci%{#?RG$F(JD7uNAYtHnAhU@eP&wVKFvZs(8Rs#V@D|{fBr%M6f4N z9ol)MX!J$9tc2>gS_MbT8nxG#nYWT$k;T#WbIW)Tups|*W72XfiN1hzub91G%EB<*1*nS@hd6^3}@vlO_R=0H=n(`%DfT*hh>m$5o+^}SIc)PF=A#dyV?AT;7JBQz%B znUJ8Tn~(Qi81XQ)qHOQH>az<~OkZ-M%J?ipJK)F;!!XrEWF zNOpquxzv{0a;@26GtoZTbs@JR|I+DY9Uwoe!^=I1j{(wpV81b%(W`c|YW*Ffsn)1B zFmUU6`-G0>W&h!pq3d%=df8t;!HU}YG?mix4hUTktOl59evxPTS)?yI;)zxxS1_?v z`+fqj$bHZn7c(PWDcsgSY|nt8)Ujth1E{u1IkFmdEM!Hs%~wcY z9WYUCpHDzwstr`z5HCW0MLqZKm%}^30V}HQ{a7>kKx6D&te;pxF>O0da(eNexrsS? z88AmLVQd5K_P3IqfOJ-8fOJ-O0O_ng7D(r%fb_i;3!wlAozDQF)hU3`a}FI9XY(&h zlHUr><~DY~I>Fg|>62s%XY;aEX`IcIKEpik3}@3dE-hY5FBB2#n^gK(IGZq(9dI`B zkaIF|RUzkOHrb5WADO_MlZib$#@RfFpE$))6HaryjGxelLVnU!j`;YAfwRf!qBrsr zmpE%}=9&Q~z(n4Bf(hd>Gm}cGA04naOEA4fmT9ArFFBVaCY3Ka6JK^~Kfs1I#pG6S1)jag=STN<0wo;0yJUuk1(PBX{yMNtTgjXG*Kb1a`mv29b+7@o*#F)%y< z2qG{%%YHxu7Py14J4YouV0S*;mWkb2iaG>#=XGtJVRt%`9kDw{wP6nyd8k*k{V(CP ztrQc<(C)P1Hvh92ZX8t(I5*a)I>E;4WiRz*Hl@G(ZG_6@kR%GTX~`TD&F z_rE6FY&5x`q(__=Zf@1?|Bhsf1^S&H-qspk<*IZjyDRTjmuZ`EF?V;>ubSRF!2ZIsIm6SB0IX?N;3*wr=lN-xr%!|>$ll}4u`Y6RYmAwv=4pc zPZ6v(0B%f2j8HLC3I@&;)iJOOw3_SD!1^;UNxYC9kI|(VsY+LB>pE z>>;(?l=Zt5A20?;*eQAijA^1z6|_pwT`)6naY0Cq3^R^MO|c_$riIK;C5=^Z6M#DL zDG;v+ej+8_M!sD`baUVYQWXPyYgKI7~l|6au`3ze@ zC@`f6S8D~RvEZ&k{v7;L*@8|E9-r=HT|Z&>SA2|)xfDC;88c_}ngPMJY6-P9$eHHZ zRA6d3#*l|lglox^P5pPr3Z*M}7R(0Ji-H4{wc1Zx;2AgK5O=6id2i3Ns=slS^CTK) zDK)yUR^(W*IJ)NH7Xt()3vg&E3v3g!G&`4L7MO}auNK%&eO&j z2?@W?GO;)Y#|qEK?EdX}G`mOk!{>0Vi+ZR7VmmgbOJ!jfs>_AC5;U%S&9Ulh1arUp zES4sk)Co@S1Xo~~dbL}rS3_~700*yeCNi+hnJjb)IElztNZcqDqukpr^5S^yC$R{t zj1a#AvndL5}WaZMG;90j6 z&yX9pbT6Lq>6PG0JlxYJb~f7Rxf)uj6!g=Y?vXe_8kwn;U7-+u(FH@Pgld$n${ysV zx1iF4YN$!QoSn{V)516AY-FsgWFu*0GhN?eXj?#vT9ugX9u{84OSwg};+KP_2l&p##*e$z|*U=54CS8**{|d?* z)U5u*oE1RI5ajT%Q0R!e2(^meF*#dtJY#dvRWLAc9vQB)VVX3a)HP~JO(iSfWuP-y zQ<)|1XD+EJI49Vb1ifNE{Rl6%V*iDKpU$mMY{&e)P>vw+q+p;N#o}EdD+ax=V%YhC z{*`tX2W5})9!XqZZa7~!%mp_E3Stwa$`LRNC*${EvvN?}D30T}u`yC*A%0sG-XkTJ zaecijyU(p>aQLZJ759>w?-iS1uN+}dET&fHE~9p<_*A8MDlchOf;HjK2SQVyNF54q z+Zz6S1UZA{56esLaio7d+4`eA=f{XOm)zq#Vu3NDK$jyH=+8uCRgTEgVWpTSauf@q z4Dk+3?ANKI1wJ_nYZ#j*QB{>=q`CfjX7Wy$z)(H06vZj#HoSss>|k_Ym*TI{k>riP z*BP>Im82)n6q5AI4{bKFdR?o3N^$opczlK=Elf)iwBQfUgoM`?T17nYks(wJpAuaN zyYa$d?hm*vN1l~<3YFAjIhi5>I4%1J1}7wa^{TJF(lr;|3G`M==r46F^S4LRFF4G+WXb7GAHvJ*5c6U?*yx}isp-Vysi!1AvB{i-*&{7E4JvX# zr#U+Q@;C8|v*RyMi(k5Q{AG67SCa+!T}cn)m?r7iK^U8xEMvLu3^wlBZ{ryS-tURO z?nd#~^&$N=2W-Vwi%ycGKfr?gPYxOb##0faHl~fc%0bKs1+5bg<(DOW3e!-p-zgZS zk3J+s#@D0{)awuPk2C=Ls`kc{GlD=cAw6wAeH6YE>usa|BhPBfOtSR|d zjv!UblOJR6C;dEkgMQln#0$S?+IM({hD+E@XU8hn;5d}I>7uEj|#7Fc|%R*%amYKMQEKZIH}G+oy^^6 zv+?SVQU~Mphg6hwwNvreVi(aL_xfuCr{e@$uW+bV0_g8LTj0FB)yilm`_8Jr79W2t z;7AYN+JNW~keZ0?xrWDT z6N`z(Y?wz;&#FQ)9PC>J>70au%%g_&~XA2xP$p#zHJ;eF%-eiyoKbydu%#KslJ8IZa) zHcR+@FoIZCDi{{Hl*kxD?MLrGz&BIM_cu>-j=(W$a+ny2XjD?PWam>eQ3md$PWc4Qp0EuAo2rB>G5fHeY1$A=okH- zq=bUP8FotrZ0{q)p~H}`JL81sm`O+?hum+8Y;9oDX@s_K7d?a4indpnu_Xa{=z zm#jVAX(8%+y^d?`=~>GwgL?hbYfnADXIXp7`d$WR7>!ZN#2L0tM4qNTPM?**tEnUa}^3uh3(}zPTIK z(zO-)`^gc&q8iEb3Fp!7f7u{e?i(q)U)cix7S|_VL z(A}dtvRC{nXY8c9Xq)MGe{kf2plUsI51^X5v9C`^nf%==@3YlI7-N5%s#_0L?R8;%dl|x zSJPuPf zo5j^Q@$}U=)X=T(!VT76MMET30AUYy~7bp zyt9_}zQgrgbr^6va^!BwB6UJgXb_skiX2~<@qvW^~Z1|fM#ANJ$-R4_jFSyJwkPV zSzv+H2{lSoRMcoiuq72OOQME^1q!aBxJs?@p(-EiBf<^=Wnp1=A+zIXe4x?_pJJu0 zRerpF6WV8_@dc_mAJ_0I+Jzsq_Gmn({^&k9KUU}0f~@`wjZYH7t?gRjP@hP^^0bfoGiNj z9gQxr76po^K;pOmhj^vtn|Ma&O(ICXf71UFUTNs0^q{;a{UBaximgh|lm25~>9b$i zc%=`2mB}k1pOUGUH!u06gu`Z&S2FV{z3BYjd`iSD6ByDl;vUZI`7_7bq=OJIabcS2I7m9DW3Gc z!W!W|X68Z`T_VMP+QqOj5S)2(B{7Z7zuaZ=N?t9bZ`wB>EQ0KgI$whCh`@V zkZNQ|(P7hQAXkdGAHA^4%*1D?fDy7l(Qyp^qz_MtV;CVSHZdqa68lN%Fy4b*hUEVE zL}KVR2yuVX#k12OV)hDFm(>1=mpHYXonUPP^`?Nqo|uS>=k+&8Q8?SFW>UaLW-HCU zkQ5NA7h|W%)>PTB{m*Ve_WxLGu{9zs6atiRS}2?vc`oA=@TSO{eG{`aCyO~VL-os4 zYf7L-@mK5D^R@13i=DZ1v)MEu9yMRX_GLa`(lzz7-5DaxPpOWfFz-ZyLPOAZJQU4b zi;V*6hLa072=1oAhAYMIu?_rV#-@f7Vbj@MBC)vggy-21HRR^Q>@)RR!f%f{)m5;^ zyJhOdG=J|wDFVm9g6(ufhG*ru9lLb2wtp>+*;%=zn9}QZ1wJ(nyZaEwM7docWx%+D)u(Y?Icszj=HSHsg*majhFd` zJQ~SD^YZhRGzWP8gCq5BbTCisZ$hB6K(i({2_tY_THPDn6nscpdq8Njrn67ws9&Wa zvAKt3e`K86Q)l8~Y>#|NL3QG7l>f#Cx!?D&R9`7p{4Z1|v3YQa23d&c1~JsBvDKN} z!{q-qnnwi9>jh#e!=6i_w7Nd|e@x%BSitX7`lH8P|4VqNZ)}75Hv0$hP{VFXSJ{yL zAM;QzTyNu{etZ3Q>YGf~N#vwVngRb{|ETr7Z__(1>aKS(bsXK8scTp_WNDy^m9j7_>6l|3iQONH?TXa)u#)n+Ev9KJ=Y3SBxXeSM zMU@ebI+Jsn<`g=m`-G04d8gaKJLUZDc;1QRw$CP*>55ajq`oO#Qn1XsciQoKBwM~> zWOP^L6yJ37T2qf?&sS{IBU$;F@49u%y|k~=3KeQAdeC7iR1!;YuFvi=Zx5Mph_%}} zr=|=U{%31h_(VFGGyr=V@1O~G9bJJZWCb z$rogoK7b;^?bojis>CnGwePjhtY$g|?8>@SDn${9989qy$zg{wlo< z_on?-7RCN{y-j(7jK-_M*G)B9j!`!JdpXJ8O!{BeSV$*WpC^xHX2hI(OlWkTy@pwz zS;tbDn1lB*!?jDb>G4d4tHs7|)!RC~oJX7DbH>nUjXuY|bGag`dAZ(Z)lK)j$MpS9 z@m)4m0}VE+*U%-VSHC(#Yx2fXq4W?6VPly&##y$SPjzLC@rCM)2Br$GEVYqb#_dOs z@BJFH_i^^#+-01%gorlA2<2lWyKl&rb9REAc!^doc`sY!{4>=DTY*k*TD*xem z`1E+&c{qQ3=6M)!o2mqyfQ`o=jC2lu9nZq)a3RjYsTuZ{fDkou=oD;%d1a$EVQZwr zU4E(ZHIxP|N~oD6Ea(l!3cW!}AFj$R70u9xHy6=?_lhg!;*iK59X~tVIWX8B?i?IE z81B3z_*J;`{Gbu;92#s3lb{=&hvTu6=$g)_W3%{i2@|=E5xpSN?w)>YxRZ{(+ngv# z=UxLp(80Gj8xL1YQG*+KSc&B%|rOM1R>Dm+8Hf(1S(#6=$ zq}sQzSDVtZJZv0vNTu*F^Asw}woaj!h4vonCCxt!eqawvrHuqOmnoI*BCflaTGmjC z0OxsTAf}|R4J-5$DfWC9j7nz%{G57+T0BiF*-G$ddq6d@KbkA7jVckwkR7HkF)e<5 zxRaLsK9{}Mxj&@Wd!!gt;@XYQ_^r+=K)_t3`MBK>B~q}PnV3CR%(mU8w&=y%Q+tUd zUj5D^4q-*`H(4Ze%Dd>lCT%CMAvm)#Q!-eY(JE3gTDBo^qzLo%e`B%Dle334biz}o zF%e3G_8cjS5T=p#Vkx>E>b8xMEm@N*!=Yw}e31nW4tgpMVG(^+*933~4ML`-Bd>vD;ft+m>GzJ`r@U0LeK=3I(DpZW!3cFO zS{hHa*<8qXN#Et0EdEN|6? zG~udZu7(fSIOC(8MYR2|K(IcluUVVoGCt=b6R?(24dRhnLNx6AM-E~lbf26iOIh^Bo6I`D;;U` z1GOk3w~jN0vpTEsL`IDd-$>bpEM$g*t3c+YuK|id8xm^|)BK@Bx-lz$YnH&K*++mMTYw?8sh?x=SYuoW3*Sb}K{99`9I(P9cb86W>12wd>G1%VrnrS%kP-iz~I zdk`zfV+J8}Z!+pj)4HM}Q!z%g?GcyihkLr_8bQp$c?EkAN7UOjwYPW2wA@l}*R;dl z9aH%~zHMy#E zbm9e}J^KkdFCoro1t6vWnj!V$JBiKNa?s&80iTwrm~7qSgq}+s4d&(&^+p%5N@pYU zID7*~(_j{{UbMvNDD~dzD*pn3Qs~8#^g@x{B2%~#DY0@g33w2g;%=qxgn9u}ksI9< zJXI@qhL1c-ECl_IU+Yv3M>oj{KI(ssqrT=Pan!T_gz#;Gej2(|>JKM9Vk{pDo~!2m zK^^thQC`yAe1vnpxC9>iD)!&M9PHiDQ+548alIuD{>`@Ie%IdspH^i85)>(8-3W0G zAHQb!_=%OFv1udM6`el)G;QP`=#LaWa$B&Ea+ql|blwM9m!M5p7w$NH`nTGIKj80| zMYjbFHU{;c{&7)A-ili!5W-ENJ|s>VuT%B46k}F?8i}$2INx$`8NIA^WjUCJHX%t+ z8{8~%=UNJr=9I!DE9q;-fjHg?|GZ_;mgnZ{`-`38OduIFB`{^NpDMNEVJHnjhe*lU znE1p09a&`fos8V`fZSj0|6d}DRN4mh%l$t{7HPCqxp4n~EQ|EI$|j3+TzR~GQ)uH3 zrDTy-@u!=8v&d<)Z?b{yME1>Zcq=yHY))zBr1{VA5r=DFMMHzI?go|GH|<0=$5zYch^!t;DCL87 z_R9{-=GdB+Q|vZJWgp>oS-m3Hqe=uPH-W?2ufL-gUy(*ao4gC#Djd3dxQ5v$K;3(+nZ7 z;%++B2})kV!^C^SPI-TqX(2X#-NjL(ekBxeh5?poyi;2Hs5A1fp^;>7X~F08D$xV9 zc(?XT+zd)%)R)Fk&00(}I2*wQoFZmbF9l!Y>3w&-<%|szM33vMW;wx6EXP@@#cKPY66P z`{;bd#sEoCsQhr$U|oj0j61t5U;O_8tuK;Rg>V%@oy3;E5|@^nM^tPQXmb-&P$cYX zQ#vckni4-n9(6a-S0r=~c|iAvZBffwy~B1$3uyk1sr^Ql5bY1NNfFMgSzo?2%vVm% zq9K$Bo`^W1_;opInPBHo7 zr7BdC2e8(i50B$2(HJ(-8B{-g6dyq}1la>_Xh1y=z}D9NpMT#8#FV=dMCT%45-sGT z9yXqOIG_*Y#3tGqiN2L3g?<7EZgi=)>}pr#CL%wDd9tnscO5O9;*zf#nP?HG&Pyhn zC{Dw>Y-4FPQuE3f#H(HA!6QX~W2#7(*{Z!{n1@ejfWX((-3qQfrOV7ib^O_*4!4~> zvxj%H3+3?fV_vh#G!4NfWF0}-mDU;L$x5F=#Mkv=t7uO;eOltD&`T-06-uX$BH)!EW+9~|-fE3-xj=~$Xv5h!fu7K5O6Nq4_M%ksv)mkpe~&KuhHW05?3Ylmsi4|43x_-CkV0Z~>52W^|M^n%A!xrk220WF zv&_gKrxF7@R*GIt4IbVd`S|v5$DLC25Y%QJ(`dZh4jp>^p)Kq94RNge=`JbyDL*_! z$1Xp}QZ&I2GoCJ2N z!yTi8W%MB{+;Kzj271U2cld(iC%-+P-i!>EOn$o;wNe`NzUB^hTpj!w{dR>rt_=>F z{I)YE+%X|IklxUz>w^8m9XCp`k{;-1es;o5drU;$^;HAc|Hb+nM3{`7#9q$A3i4XE zB?-fpjW8|5w$eKH=3|vsI(?=dI>tF+!R0Br~sUBd0GM3&A)k} z<2(JE+u+{})^lb`2MEi%zJbKGUS35$OWeDt>fX~ufiSWQY^QN1GVuj zLpbBg^!GJqDbV(QDaIkWI4}x6Q?VPJV02r%X%dl&OgIReIZ{X@1q?580{3b_FcQnv zKt0}>u0;H95gq+_=iqmZ{4N?ka5mT^tpObwG<7g}lJp**K&NmuQ3&JS zqsipk1F37{Z|v~ftoYkfPP0*4zkhFYu;$P_9QXd&JRGTeCDnUyz7cVlE^zmz>Y9c% z6)mI1!Fuw#>x z-K~MimtV@tsRLbj-OqRtiXKk>A+23+-M2a$QeLPrfz%&2 z5$w8OW*xU0G&6nWCt^WXJfDIH%|(iW+7Ax6k#oYhtLwWgasbR%OND}_%J?zXfM$B) za)UzrP3c~5$QhM42HC_N4-27Zr20=zvR5c(5Ai0?TX&(RYoOcu1gp=LtQU5u#J zw0-^#Bq^&N@7*ZH9%Y1SBczqjR|8GoF|r}n$OKhNX~to^Brej(H#xOoHiVk>j|_y; zmZgUs9d^vJ2@)}L85gh?@I;;Kum6GdUn{Uibnu zVNm5T4}-rs%){W%g8WO-B@Uc@+qDwD*Y*HQ%NYo*ulX3mUoGxXre;x>-j!19pEM}r zH%E_Os<|JFr3(GQwp7DWy3j2BSh_QPB6Nm1!8>LT$R3bp?xRj7hSH27nX+SN2{ z!NjF%{ETWClTCibPD_roigA4V-|10Dt2%M9ZIC&TZ*0g;3tiW0?P2?@xBbyJkAFc+ zIL&mPzuh)Os$PK(H^lu_v;%1cQ-jQ<_5Y&{axbHepPFsBf0HqUQLUzVB;EgY>AEyH zDf+GOP!D@fb{R&;aqvegUHin;J7}d78+m;*3w*RM13kZb-h%o{+i(c#Z|=)jo!V|x z;9lxJJOWoQKUB8y)ytEKD8yZ-@zqOXe8+#}&s78^rEKMQ6!C~inkXDCZv9HJw?HzH zXgK&FU!$S3D%6zV42(1GHF^ z^h~7k74ep6d>?-U!xEFy^!T=pn+kd-~`tgc(7oN zSYvx)?GM7+ArUgWOtr4Hg#?%-^geG524mU^A$gAyY9qk0-e=a%_CiU7Gx2^1z0Xd1 zs}QE{brGXbV)>f4(h=vOGRiK*EAru3J3G?p4CWeRve<^M4%l0a6YpviYWD6c|Ege5 zLG|Ry$gEnIGw3WW_STgjgrI(m3cwDOyh>UCt%~NtX~EQ_X%Y0mZ4hjfvR1XM4ej1g z>xy(ZgGA-jk!a*A#BrthJbSSdLEBjc_1q!{Yv#wogc=WQselr_*~TDqtoyH=K!{MQ zsj^#ey2+7L+@D7C3-%nREcw|IlRQF^(fzgolI&Jy=ygZ!brp_bUK)LF6x3sk%XnSr zun57OEOP@DqL44TFSKzgbR+LTmP&kBsjymi#sjw9T%*t73)wX`DPMnVvF#8-^cQ1+ z19#!yfjpFWsuJug&S&D$Dtw3uNBo+RcTD)&ZO&q)@H@=gASOB|iferbz%_nsav#Gp z#sJe;JKye3**<$Owy~tGZ2P2nzjI8us((h}gRvc)myp4YpF^3p$NDv>%M31Tc+8{L zeSgNBRqiaMOkMn(Bh$VXeL!%GrdglwMWUHWw$&Z8TOeBLv$o1o^wO?O@A~u2sx7vv zp3LsgqVAb9)KwDej}Tl63gZ!rDQA81aI=M#CE z!=?wF4ePC{A4u1`EM2dgzQyL#Zg0o#ua3rM*#@C=-~_vu{E5dBF#X({F0^cybH9M! zK3tY!i2TeaK@16FoCSw85h0jET*tE#y(U)@4lA3Z)xmSLad2ANk2ot=2LlC3ZBk>H z#K&9lRsIM3*QbCy%zB2}UdWNbIhJyK37W20G7E3y@Y~3hK>Rm{_&)fjxiuJzHFs@X zR=gyO6~UtQ@;?d}5)W{#j1cA&XWXfDM7IZfi6J{gJPHJc`lYjC3AU5=Xrt1Jk&RF` zduz*cw5u5Jn z*W0viu!dOJ0_UN*DYoYPO(&!eA_0c51*R*muvN@$vKU7Xiw&VRyPldofKIHFJ$#;x z-~0SLJHI!CkR+a^?8ppyWU6QjwiCAGYL7Z$=Ua;ttJJA<5~h5?y0>e=-?Y@*Eb^xA z4F>mSeH(QI{z0TnhJ9;Ou(vvFUSTkPG}zZ$KfNdYP=>{cmDpJR3A}%Z6-ovNA${@r!B~jdItNl7gP(w8sgmjPi43N|Lpzuh}pkRfAlU~>;B(h@2|EE>Nkxk z8Sne-{f>vzRW5II{HON*{^!{Ccb{|Y`}=+?zExAk_7)eMH<^;2;&0`f4nG%S^cR;hRf=?Jp||W&D7KqD1nvGm%Q@6 zsg@~gvbNGYOkP$(Em)STWHV53lMV4_p|S(#)7Jxx2Ml2ign!i}?1!W^#bu!e+8N?Kiz6%&J#JnoK)Vv93JsU_IMd z4=&%1C8)NMV5rJX%Fsy7{ercd!NIfUKmtlfGn+y`33~{=oW^2yuWW_xVZS!T8K2}# zJKuiE*zyx8hHzV^qcpqGr;11mwu$=PoOUd3~*P_O$m1=0`%UJs>pF zgrcWrSwbVSwn(e0lligy;Ff!_p!Cv#T{(qDGsCIf#`cm+g^8pA$pAym-cX|y{TkIZMay61|>{kNIv;og)x7-E;>z_M_tC10)tbp$f2a{Xwb|88IdTO%9T4)6wO^YT(w0I z8D9(dki;^2!0DEFjvj>6&Amm3XEAfb#!(_*93h9Oh4Dx-Y28gUAbNzaf*U`59AiZ+ zyhfB@zv>cGEN+|DopwCDnF)oZubB6kLudjZhBrH5@ObT5$}&`Bty6Qb6mHY-FFG(9 zPS!)kv<&FoR_Zq_a0tJ? zm5FCk_oXcJgXR9WQokfs%y`C>yvH6l$;UQfxtmPpQ(vO;4o9869U=e@xItP}6Cc-P zr|~hC{oVLT=rPpPan~G2mHTfJ`hrsypz~ZLGF}-x1_dncyoDbEDao#r{s7i-LdYp|^ z?^j@ZG@agA5%VMzH}C1Dfk9(uGxWf7 z0&k<^S|fSqhRjico)OVao~G1cP@gz>_{6H;LlT46zkJ&5sy`oNdqfOcrmtp#>J{{S*&`-`2YevvduB@A`TjAjs}&y&Vw+-Hxb_^ zclH4*qF6ls*j|qSwb2LwW+>5)fKz_M}!@|rGUgRnek;R{n00FWMzI1Qmb;#*QLVp zx;mxjyeR3bHsd9a`H|DXq7q~^Hz(t!#q>}+#!rM}1xlSurOY82Q|-7_q{?{(dkT^X z_vFgbNM~N~Ce`)dsPXi5T}Tj|P<BxrH-srLbdhQPs5`MLBfkG5bAj%*B4WKKr% z>Km+#ntCB^AZHz#m0wcYQ?|aeTo&6CyhhDNcFgmT)aXZJgBPS^vj_V@Hd9M;(9$NH z>7{&iVl6*%`)^76kpe^!w7Ksm9?vqM$ zqEDszv&iQzV&HEZJM)`5Gj@o-S^uB{&Pc>51cyOIlEc~(S8UIWv(|r-<=m~^lIJei zjh(KU{TD4(w6Ft-`BVVx_19BydpSizV zEEU!(4}i!O%k4}i;WVeM8A4CW8bqhlVpl_OhRQu$e8T*-WGIU%~* zA0p8QJwX)Q%5^T4YpnlA)}UQVhsvFA`*_g%+8mcsLLYfXtLC**+YvoyvU-}dZnI*} zv*Igyo6SGOD~!6|WOLY)y_E>pRY$olNa$451f+ia7Uef`H->Kgv}CI)+OS>Zw;QjkNo z$GDqs5nqlU)rF`sP8&8s4DT0;i8^C}Iv+#WV5HHCDml^>?4As6Y1P~?!3T`{)k3~k z8B4LWr_qbZ8vM$Z3j{Vfq{ko6vSTe_ntVp3cW-b)S%3kN?diF90E z{&Dyntcg=@ro|M!1^*tYqXl*Y9R0=Oh}{9P#<&5rS!re+ULkLvpqmaKy$6Ehwa=}= zmJ{@uv6|*Ea0XFP5HYovdec$$+ICLU)2jJf7`63hJ8?Dcm`Qt8cidSKJJ`XA)z66Y zQ)SV>pu4EI6dO;yj*KJq)R!QR?t*GDTc*g(M^pC%!r~mzWFS5-$2bI*;70?n5ukHM z7UECx1oO3EC{hW;1h$96DReciHYd~$y2!J6M{=0ERj;8z8}A-HuEfcy5`RPq#3xn9 z95tRiiu{Yh8M|6v&>@!iQGD&MOmG_y^LJ#M)Zr6j+`%m?B#%*>XpZ-_eht3)xRyGm zUA=a{05tr_s2tQIRaip(LXNM=VLW&|9fT-5HTOZk|oRv|UvznN_crtt8q|w%3r08!_&ALz2EOMX-ct(t&iuOf^ z)l1x|jcp7c>0SN{WeGm3OE_LDmr&L)uI|!u6=+G=kv!YHmfP_dL<(_fns;Pt^FIp^(~vefwN`-|CCr zW?KQ!oAqV|)dflRCotjOHwAZwep>lOu0H?)5 zA{85Pnpugj(l%V#t(JMzp2XM(=SYvk77o7h6!4YT6zox&)Am_Nj_PRUAlHC{tW!t3 zBJEP}zDWDYQVjV)iA`(}rI_V>HVKyx0@T8diB%c(LrHc`KfU^JqZ*u_!`;hsZ3S+z zsy?$ZJp^%o?Y~8+>t8ePj-&EM?9|aL;UEV3SSf}~+3Kxs<4P`L8xbt)BxcjNbz-0U zNDIzLGT|Ed2r*ats55ER9s~Kg=*QFi1MYG3R@;QB+^Z)e$9A_(|khQfHl+0How87{}7z z_J6kNUhCV1-M%?Ry(#B5+^Zj=omOe*=UY(XcA6*varK$N;NV%2>OOQ};LCmHm)|0$ z9+Zdjqj>$$BTz&$hUJMmzl>B%RN(n#Lzs6M_wF(WNx+8^p3#wwp2ExUdfH{`DMHZO zRZtC4?-y*Px*?UV#&9vZ|6OxU*M`NGQUkF=axl%%SE{FS^TeN)Q#0=_6j2#V)xPL18>4}`m9B+xvp>>t#81)|){?y0?jzuvu}TuTc< zl1|!hhxno4`pLkJgXLG6B@#U=OX=t7JSdWXuA-B?(3dNJp7gcRhv}c`>xIVG=C`va zp<1;+*3x(6@23I9eHT^uwvb3lt9KH7W09CPdMo4-`f+`Zg4ii;B+~OY@SQrhA~&ib zw@QLQs431_?gnIon-6SJ0wn3VBkPAM{?#1GM2cxZLSgDBnK!mQ7*KtU)YUcWWw``+ zKsz^-hV~y32x3$|@Hf{XsBjLJR4sMUYmb`E@^OfD3RDLup4^!vLKe!!1&)KPy3gm> zJN`!KJRV?GaI0ncnOs@aMI1=Zmz@y+XNk)r>NhEgM3_Go&9j{jtY z1OX>6ZbP=OM!`jv266FFl^d*u=`p#IR?s$z;N9rE&DMAHbwIJrQuZ$l(opLD{a{F* zyE;9XQ!y(b&h<{GgFq*?%we%*obMNsC@>HHMepE!LAA0?4K?8tvIEXKxr+w3URt$@ zcuO_Z2&+X5u9XGV!Yv^MvfF2+hyC~0ehA0{yhSq>)!&S8x)C;;r2u6p4)`_}q(QXQ z*4G`cWq@evwErg%{nYVYAd38i21V-?zS1E@r_f_Y8Tj-usHzQ|N7e?g=- zW7wGqCmIjV(yIlw~QF;l%iMCejJ_H1sQlMF7?7stCkW$u?cu4pow%h3T zq`x^Fmci)$he5Y3EO44wU}A&E{LA`ObK{DG$;1O646S7mWzsL;~)$YVMnk zxj5y53o}kJZDx|4Y;F*I-|Axmc+ghHU4z{ODx0+_5 zMjNKSx;%}k8y@_@m@4QcJl{PwObwxz>mb|^%o`Zyfrjv`KG>rhq*dDutt(AC5L}JU z$|;d9r!;@3IkYLZ2=&0JFruh%r0r5juAq9btJE+fx%x;Qp-7J4O4T0(hepnv@ z(#Q1?LLYtGd7aaUG}N}TSG}A@q#q98oyM1kEPtrT7sEB5$2JPh_YH=A>R+)nXZTh6 zd4lmj50Z=-JYOju+|NHI9x|t)iq_sZ!hUcV{xTb^!hhxAvxSIT7ghBsv^I&DO_q&> zJa-uTCoEGI`1**TAn%~sYX_MIhamSQenRu}Zj|QZJfcICuZaZO!bMrG@}Bh2 z<;og8x61&t7uB5R{vaa1<^Y7vneXXisWJ5|3+Pq0QEz_f_}zPApy$}RfE}iU@RxQ| z$(4?cpzrxwAkxs;>2B`)&$=; zeCm9w#o(&NAJYcQ(G-YlQUc2$U&bK|^i}*z>wGVY0+r&=a`9(zlG(XM;@1lNQOX`u zeJj+!Qgy(*@VjCLes!9g2D??vc4gy|TS0Z@X!EdV z)^f8qu(JHiLV5ADo=RDzA}=nKm($iOdr_5_C#e(PGOusNG`CXrq9QL(R48RD)UwBb zHFIW*J;wtgOey(!R}$vn;7KM>#Z6r`vhi|iOm0?taN zrM}frHCg+GKC`yF{?`siZL!m-_z<)rO8_27rphZxNPJ=uRKkJPgbyNkdZqf8gFSr=Z`ZTgT8hreP9Yp%e>eL)y$EjX)}*+} z50+fJu6KN7?`U<<3k6*JKq-1Hyvy2qOVQE%&_{}1!4G|<=rDfpNYTOkaFU3(p#<9E zS*)Ow=HqvrZd8Os zc(UVVHK?3;AneM!0W+-A~m}2#SHb}o`0~7A%@!;tOi_(*bV)hybNr&$2BBP#eaoZ;2n^ztmr0SLEf^e;01=9_;93WQvtK*V8JxPObjc82xT zJd<@O`5HrA355Fj*Nj7g=7WvXFQ7L@Ar#jFwTyn?vC0-@ZtHo2SfnvV2sx>QLoCOB z4;PsCk1=pE)VR3}+3UXsOqLN`5sxS~fuLx-#r80h!k9z|cVg}I$H+D>nqOyw_Z@$v z#x?-ksAbO=ux^Vbi=LNl;@b@=eA6f1_5X})o&)rbpyxWkn8tx?8~2`UB_*|=0fBQbOv-kk{a3y6}xZ{@KrDOiR;R7&1NY}%%=R#6Q9S}_e*^<2i%2KuAdePP}6jfC8DNU~=;3(dkz zE_-sMbzeju8EHSAzpZdu-!tEv@7f0jdxO(>2KSxPWnXF~+8*p1X`jPi`0j10j<{Fw zTk+m{cZb!m?cKSN_OkBp2I2xr#yf4ozDP$|`Dw?G|JiEXU9yk$Eb2L!M;sCCfPI4} z6DNf6pVWQ)wu##M$!xzzH~451kRY%;J5oI`b>~Z)@CWfuADFVA;QEp5@g58o;hvVX z%5{o1c3tF%s41=ToTklO7fIsh`hmpM{itMkeQ-B%cG9X%gX+!uSc$I-s_ixz-0bw_ zcth@BDKW}d6>LZBV`5XW*zxMFDNSA1OY_NB9PjEoV@GZd|(yEQ=)}fCU zZBsvbz`P&pP#h^+%aC>Z36nVPk}A6o{#ky|reOE5qVJbUz8ok;hZ5f7bzp8u|3@>#c+IJ=TCu;}#i zZDw7$KJg%IO{R9~xamEd6cJ3z>{G+lfUC2e&I4L*KM>+S-7cmmMT?VcRYrc4wu8%5 ze=8uI?@~rz5JFvmJ zgk82HKrnOU%!3IYfgTw5S(Zl3XZKNOOcz@ zP>naVTGHTr@AXwln$C23wev&OSLNIv?=!+JUydN6U23R0F#z|ILsin_9uj`yH#;lJ zTH=$OCB?(bTI7>PCVf@j_vh?W{Hqh!!%!DmuF5s>Q9mc_LxQ&vwBAyz0z>O?eogGJ zvtE@~tNt1_RFycb(i^IteP8_ME^f1H+*q{vt6wDj)!qYhK2fNYT;r8j%j2muiWbn} zu9kR;l@bpv>JtyLU9n2_SF2@<6B6z}Dy9782KrLs-8}1G1=VwF02s^9fSRPn;gJq~ zu^L*e&dE_iBnvNAi*wnXd-Y(XrF({kIM`pM_$$@2)q~5bl(GgI%U~J#DwO6y`y;K+ z3f~Tu!0q}2W)pZ(@w~1aKvu^^yo6;9-m+&T?GZw%@mzUD-KhUQ3M}>pDy7FCr1vFi zh+aPH5-%I1Cr)Ak>P5{}36r|evneF*1ePYQq_GcpG923B2%f3>mwNs6b58O4m(4m^ zm0JqWmNd?ZI^7X@U};w5fi`#KfflzKYVd}ZN{>OpQ2i^iX^#e?j3v>aCDXz6H_J)=;r z4xOs{n&ZWY01_XAXgOns`&xths5KE`wyefmMi>@?WG63HN7I^(=9PhC8UYzF>$Yad zB+qMRAQ?Pt3&g+Idwm2&q;nXHi(_RZtVaOFIbJ_Ov4Gx>RAqYkxJ$gOm!4pk_0S5f z=m{m%4T?p|fH+_%pGo``ft+9%SZcxWab(|O7%sEHu-+S5CO!5TZ;%(W18wRp@uO-m z?(!Z443mhUvy3Ednk~UluJZ1m{Twmi@lkn1pPC3{BWNqg74!;T`_0b7N~l$pmnm|X zz7ep;UxS+G6v|bz&tQmlRruZ_A(|eN{^q2=b-3@XAZ^PqWD_~6gq9n_lgy@tLr*wl zNhP6?BEP*D2L_4Rh~LutuN|i7s_*2IBnYr+g)s?7?MwM-U}Lx;>(%)8QkI&Iufy$+{yu5 zL}*S|HO6+DD1VSouoar?w}gPsT}VJHZmdPNCKElBvKGR-p}?ktv$K?g%HBac3HfIC zWP0;1f+gf*5 zPx!DXKT_lRsI2uPU+eD8AN_-x`H-3kJ{9RaMSA>6?3jf$RQPR&i*K6lI`~(04Qj`d zv(KhOD4Uz2sesQKOGu=l^jL4ZygznmHl2hX=YExUGCU&?3N;;4h5Ukg#dd&wLasp2+bL0N65jxhQYo@ zJ8qeHWGz@FB6hT3VT~BmqP-ut^e85tX5xn)l-s=qc~&N?G5lHSnXJTC(8KOm@b4aO zcK0isiA5mp`op`8vAma52DkAPc({d;1)Y7XbU>U_ZSIKNj;37u%1X-fPKpoPR{wsO&UZ!hzn6!Q1u1 zy1E(KeWYAuJ_w3d=#*k^jyTo8;aLIqbI!wVge4;yFQ||8$M9}4ZPTp zo@66R2{=Jeekbm!3qJh%Rntn5i1k|2~zm5DB8 zJmTgl6Fuq#H`VA5@0y7@^h3EhN15bK7Q3)amCCPdzf3t6a*&6EAPp)U=?)H2i{WyM zbO$*~A9XBS)B30rJn*y0DG>6nI+Av-{DD{(Q?~sao=zaTw$S&*^v?$SzOa3eKU3v4@563+pZYLtW!Utb-g=r$1Yn}>m_e_R)E?^$1af`Os@jlop;AOqF`8*CG znG)7pb&Q82U$kvwpPc~6V6VC{!lpikl~^F0&~mYe=o(AtHpatoo`N?K2gAxK;tdmh z;D?&)mD{EktEEU1uwQ+2pgMklIx&wb5+|aM1)C*a%o3a$6*Rx$B8gdlTD9q0TeTZ@ zT_Lzz<1P{^5Ho$qKd^oMG;d`q&29ZAf>&-&=QhMh{2Frd28@lc<57>W7eg=bwbHDw z1w%=znfomJdB%_nL7j-$U7BZvcl zdjPMe4OF%cel(YWKrGdxx!zFgoJq?2%CtO00Wx_~LKkLBbEtP@Csj*b2>hKJUjL6Q zHCyvkYn}?+h1xK^7nQh?SuV?_Ex5jQLn1j>T*P?H} zPRz&G!g-Ox273@Y%O-QhU>D8o_B zeHMnZs^g&ex($kfoa~7M6#6_Z&-=9$W#Ml8Mb6EKx1GBgug4Emc9~GzYC`cwWt%eI zw0H|BX7rBxW8VqK@^h8_cHadPhF-vM{D8z?nEvWt(gYGa>Diw9D-)KpC!}CmV8OD~ zf@L};5D>Q4F0os%Ya$zSa0V4!FJh^i@#3g_KFSL{$!9PoX4jR9-Bx=1Zu{*hf?p}D z202r{+{}Sw!oT9bsj{}dmR%$I%C}^xTZ zE~C>}UzLO>%Sw8T?Fr6`pAy|3e2|^l66XMZ2b6uLGw2pPizhBM);zb-N=2YezhEbh z;&`Af*f-p9vHTuV5y|T^Za!@*+QvtG~=$YChq)hq!QQHl@1hjg`J>Om<>vW6`^#f_%lrW z87}@5i9f~sC*8qu?cYi5UuP>|>D2N-@QHHEy{k@hI5@Ufq?&6yj4_*fXA8HoiI(O@ zHuC+#J1}B6v|v73DQh?Z+w19Y?3d_2xzgg5hN5e(`elNduG_F`Z>RV?v*Fpjw7c8+ zh@Zw0a(90~)u__d__6o{vyGX#sdk&`-Sv1k<4gQIr&^olM%j9LKY?>AS(WDeN&k5h z%PnS+0IFK;(!!vw9Xt851H}Mw~7hgX~^$ znpKD4`*9Pm$Z>U2Fq!7o-=s3$+Tck->=NLq6j8qhjb)Wjuy;YV`N70Ia|gaoRVR`F z_>amJr&)lt#*}ZZ9+QR zns~i3*M3-&xkj}1Ph(g+K;@LmZa8(dIcoMnYaT}0 zP9vQ#x^P@OBstau`kM zBy<0BY@o`*iNmFs4|_|mM3XD1&O{-O;a-(KY@5yYp=?x(U08U3cSE72K)06g7uzB9 z=0w_)!Bf?Vu57qhxV@XF<*0oX*OST8lt4OYbK(mTNT$uoDTrI%`ih%a_PL9WY+@Y! z>NFSaBh7OqwQ=sCZHm7&c!uVwL~7ZVN_AMJQc!|`h=JDfuQ@1GFjw%J&#LouAMZb5`+Z(ChQw>}f)TXD9;Qq!m4S$LE=0JVLF$-iP(c(x9 z&knMIjVX|wDL|Hs*Zt53Ltc8~QQ+m`_XXS>7^Vfc&aEa9@7Rik;=zB&7X~ryHHZsz zcIwb38e*dvc{V zsa-8@r)mA&yI%fU8`-X2*RGtR_}nBg8yo-baMZYR@H~_n=t!0NgH=jgcyZPy{;CqBxT8qx zz{IDjzaC-*a%e+cJdXYz^5reAvyN=U73?j05W;ra53W}=x!@ivEgje^ThjWl=WWjm&1ds&B1e(AA4B>nW=lxl zwuQkq0*)Bl2JMa<={fr++LVrUMbRzyzKvVp5c++eNl&dG?*B|aW!)&eXPwMWlKA^+ zlU&MKFu7U`t+FHYcgp-K{El2v+&8%edvUW(Zv?yzxs_0xecE%6BPBFDDx7dCs*q4ZZdmc$PKqB0nz)kkk#{h6L^Up`0ieP z*poRL=VCc7l9dU7Yte5IF@S3!d~F!?wYOth5eb0oUO?U4D!Lh@)Fv*Vah<;jibsG{ z&qG|kJe284PkL`e%*!h{lty*X?g71xUlL;KiF&JEVsH2JBji!#oN%Edm}A{3=&=_b zs`4P9;-*;+;r7rsefzsoe=gk~;)wJ85gN&inLq*@1H;%PM)eT^k?UWG0{=A=)0w$a zzq#Jh+>WIueSAGMw*`9=zt@ZFt$B^0!g@hH&udR2oEmr4EreV8QNkS>_`kz6G-S+R zeJfN>wA`GRj-%Sv#hU&lB2s8en(0XkwIamV!g@T@^2HkQKnu90;a_kQPn^oSw6;Ob zPOix*?t;Ho%GyAXX&7pZ3(}BOZUif@aw|+KOeozI|Bn!Txa{Kyd{(V}o zKeIM-YcNd#Z&4uK5BuS#dN|RP50wM4R`Fo7d9VuqD@BK4KLv8tGl=M%q%P!n`0@&K zrst`m9HHgnD;=gI$dn(jnbF_;atB}93A6#TeXUAai)fp`odL>)HF&wCfxGpnOE3wM zYuwk04w0211u~jsjX6ohigit$osP-L@2lL3F4YRU5&PYDR6WsncTNX?^(NxUK(=JvIz*9toRz0K!f71hl@&^>J(f>z^x)i7sA>**&U*p z1<6t;^7hSR%Oed*ZcYrQx#)XpOqhXBRs(I`9nw6$676d)R(#ExE1RlKy@lErR5J&+ zQ;}9wgurtly00f+uav=BB!hqBi!KdHKca?%@mP}x|bVio&nuPm&@zuMw`*qZ}XhZ0+~PsBqi zg*iDekYK!UDZQH8k(9s$48fI*H7HMnr37WEx!=-Be zCSobXX!N_GR(}&+C~u+-Li<4^B^u;QLEJe5Y>!5?hQtW=}L4Tv# z^nTG_A0x)OfxcL!x?JE0jQ>iC_+VTfCzz%!2X)p^%EF)+3?$vxlrc(*uIUS?Fjj5i z%XJo3RoZc?HWt~3fQ{+e3mM6X6mea}-x3MAlfl9N7S&`Hr&mm&>4!W&q=Mk*=1jpp zX{n8&H)n0^3H(8rt`uTwFJm0qU4YK2H!)o0%^?0=0w5IZsU-1aKzI!*I^f8x1m=2qGfB~HXy;Ad9*D@0B3;@ju}PrF%&dU` zluAqx-v$)f3AW+;fl!*wb8~2AHN3&)dfe{PL>LLp3M1jcfzIRg-(#L4hTyC}pW;l2u|WuH$V)8o$pRaz8cHgo~0FxZt4IoFqEWSXb-HzN%Ot zpz%(Jh}Fo82g>#NrQ%+7O9%9UqFoUjQGb`_mU!3Vs7&5^^}rNwEod!4=+9;w#ho0h z>Y$)u@;iy@THj|5lMxc)qleA_7+Hy-%3R*r_Y;)cX{S`a?lf`{KN0z@(2lbE;4-3w zW#S!?YYj6wxXidr%tc}HtsKC&hl|IvyObSes~SX4(R}qR+54&(?R~2S9|p8H zNB`Nqj`YSawg#FDH_Tknk+M(0zKP~sXwF5ad;@JD#Dx5oO4Tw>q;chu0)Z=D9RJ*^ zu|W8X(z>ti8PPuRGrsLS>$QxJrnVC+lDG)5TKkavF%f&-zt@h=&|0D*AJJG&dg; zJ-&&6ghu`rBI&h`s~{DmPcfsHiL->;i%r}%ux;pFp}$62@G>iH>Xo{K%T!+#LEgDh zDXSmkt8w~P*ZE+wcZjtxDghJB#@6~v*gsl~j}0~?H!>e9E`zq8!$w_m37ZJ$IvS)l zUcE&vt44-PgsVj&_FCWHG2AO8xw&7JhjC84&w(-TH1*(v;!x_PuhxOflvH{)>b=a;ia7xwyeVX zud<{NNS6lye|^iUl>A}s68)`J=8oq)9JaQk==)x*wMhq123+8S5Dp3`g~nrwQ1 zes~Fe`P~s_qD{Rxu*W0^!_H)4B#_9c=(LLt#`7HDN#p^Ub|{%#;pF+G2(a9PDHU)r zc!{95i_uYCilWa&tWP_MA9%##^1*bBy3}bB@p&V$Oe|%2V}c79<+QW^=Jq01G*IL~ zTqD8_t+RWb%Rve~X9&p+ih&bw3U7mgcH5sq}7T)mjB3M_8++}DfV-oP$=ix1qGmq6;{5~bUlOdP3^1f*Ms{ZTF=N6 z-tx7sEY?S)eTO(dp6n{9PJFHpd4n3tGoz36ryu$mZ?IalI`Mb*BS`!5mF3p?_;#pL zmZSdCt(1AxU%Hesx7zzxw{9|$|FY(n@;xYJvmHw>o9+ZU&$xv~nR@r8c$beL_er@= z%B7ZVVvG3W%+H0o;-4Z$-cT+oO!nneK!5P{6lF-P*KZePL>EmcbUhVHY_{7&I7fJn z#Vww9Cl)Z?Gt#=RC?NNVk9OkehTu#TsB`6yjc(yo+a13)wa)}kDGCRVc($l>X1r9? zk^99>*JPW`q>2OvpUdu5c<(N|4Z!q~(w|-7u-gF4)6G(HU(&_sJrZhFrZO!S zlllkT^hRrg%zzjV9^(*3FX)K4AWoD^=}EtQg=rK}^uas{v;37f^G{zP>;lGblIgq6 zS0m<5D2JHl*q-2xB*RS>ZhSnWpT5U4ng~4>+<<$jf&9WVrn3vp%Rd%`yf>^`xc3O6 zfIJadsxKeiVB)3)(U&ju!0A_&TA+!Y1vv~IoJ;ke@SLOyzEpz_;q@BGXB}-O!Qk+J z93#*p*abeWOzz+u6IL?<=z?C99A&VQSl?z2uN8?cvJ9Y_?)sZaC+M3uE0{_d*!C)c z^D_jL%d32sv1bV5qrT%+Kpg#2sZVjLuScn&oC{ii^VO6ddP~wclJZSA{Yq&3JC&^> z440={SlR!k`6HqN5s}7pEL3MDtE={$eyAi`2T*(_-7@M)g;2HCx$GDSQz{ zwPC1MOVv)%|NaWsk$Xory3|vs!Y<`&gCiG{uor02UwH*^IL#rr_`%7HGeXd-oOmD? z`{#5P2l*_m2(;?&ZoqQI1FiA^pxLZDEW65I8G$UHjOg~@{l^_EBl}$OmgI1hKd6ly z8fo3H_od3(sQmu)48J`eGN>xs4lY|eg(%8veQ_SL&oeF;dz5BQ9u!Ju?)%mJ%Hyh7;&2K7}#dF-d# zt>FwuSJCdCF46AH%h2Wn={7I0+N@f~`!LD(dGzrwTNuW7wUk}Pr(GF2Zs>5AbK^c% zs$q{rO&rR^nwd!@)Rsb=nI__Fzm*W@mi+T0pX`rpBoOhPZX4EI#IXARn0xp5sH&@f zcy3815IBPdh>8+*P*PA6MP(#tAPo0l5JpjnwXNo{)K-Lj~72?_Bm%?)?Rz< zwbxpE?X}D7A_8eTcZqL42D?`IHtX;JbO=F~Tf$3^LU?QGrKQpOzF6;hB|$^~ILZ`A zBvb{P-~Z6gIK7=eK>&-NQ|s-&GX<`zk}ulZXYDjSE?U?vH`p}kjMuQrIt+5(w!Fon0!S_1Q{E!e(4$S2>AYA4^_k1E{=m5DR9 zDeAai_rbXG3G$p!7XCU#>7EQvHqw_{YFkXIYk#A~B*?89IVM?@xzO`9bQk3)%^4kHy6rc1V5xa+Ag|r45tm8H-Zo9Co#8$ZNZrsdRN$xonlLE?Q11U7b~~v`SY;m2Lb^HwmB*@V!v*bH8JO(esV(i2JT8SN9$H zCeLT|@|G%B*B$w0&p}FGU*+n&Bj4irfYMh~xjOF1Pw>1)X~|oXXb@gb(SPbNKJZ{a zzx+~dJxk1XO1@mmkUdTEJL%V3Zk#OnCqS&8YRbM@@=Y?+$61npG=DVHXkKN6mb5*U z$)4Tac5O7OWkjJVXI`IBuuGD0kiSs`{?h^%ZcD?sdDc<3=+7}eDS>oQB=*Qko>BJH zMv^K%je!U~`)M|(s3~uarSJ6dA^G^Ss#QZ4{ux&!$043o_LTWEByLmS3= z2SKpn6jfzx#CZX!GHitLaWBdJLZzq1Y;xydX$3;vzcU1{$~MVm>(V6Oui09+?sCbu z53uB|3yhmlwd(Z4r#@IznYZ8DX`=NBc<3}szDFt1gFD~oH@yDOj5?R(J8a|$XS+|E zc=N@t^#<{4$;Ge5?xLT!o%H9OHD41RTEmBhEXnr)Uu+-hR;~OrQGN!>Pe%E_it>NZ z%Kua=e~(sv)_-b$gDC%iR{oj`+IMK>$7$sqqI^Eeqpo+}6y-11${#=9zx-sa{3NaX zbWt8LfZm>o@^5SXXM@ak3xdkCEP6eagA|wkGJzm_b6%Q%LdTa z2yMOUy2A6bh9o26gu9xQvQQ))b|lw!x$82wBzFy$R!l+tI9^;0qIF+~+#=%scQB&l zg_OKas;5cugx^x@_Wt!d;~`DC_2`Vk>dK_R^d4`gvFNAS zCUN%*`o&f1qNQtl_&6^JgpLxkkrs)4{x-MCcz`GWtDug9*m)=^77@hxFfQdttV;9+ zJ+D-0Efl}P-lXo!)x7=YywHR^Te+koVtsOkl(Hu6 zJ6ok#HtkD?LR(sw$R;ZG^r2R01-hMzo1G!mm1eASxNK!ZMB}(>M)x-%iKX|6F}6SY ziRuhdpQ8sE{~TmU2nGo_-czlw(VlPh_1W_!)@IMASeHFVvVy!Sb8IPLS7Q4Yt&n$+ zbXP>YGBq(UvqkQFsK_pNrMpMUUCHjt<*otlp>o$iw@vO!aSxQc2DuXvk!eSLj-%f5 zfmjGzd*zlgwpEdizSlDt7nZi_3v4xp5@Q$)-x(8T7-Ac5Qu%-dj+h4R17iUIqU!LrHmEgCTG?Be*2Fr_W4B8T;dTQPg@`xLkt=Yd9|u0w zyj^Er7f1e6WVtiuPOeH#RLeq@sZx%^xxY99Mn9|_Cd-(CUV_c9qu?N$>4|6RHr?M=4gWVPP6-3@3I)~!N7gCmD6KNCw(wZotER+v*c*xAHsgy zkP|a2ozaNSpMTkdOWYz!F`-k!0!xpgQ2jZ zJ7zAvQrZ%fw(PAvJ|N&T8SHD$DMk)@CFG?>+O8D=&yPsfdyvNr1q^zS_xZbyf$ei3+`Pl?yJ0AUrGMQAgEI=)0^N-Gg|CvtrZCyFEK8s3Gbej6dE%8+d+O_pAOBuahGt}RN> z{-iiX?lKk)XB_XS&;F)3RqiqsCGo|1JL>f__}T5nXXP$)(Kj^~gLdZ<tn4pEB*mU&gCY4Kbs7~mDiau;k%?UBE6)Kg zRP-U+iiuvN6=K-WN`480NkEDkBZipJRW3mDSfKfKM)P0dX#PHmwK-$%J7)^3f$v)g z-$lO?=mL~+m_t=_F*`^;*DC_#(FP6YZvyAHRZTMM?J*Yn7D~aBsecuWOGpQhs3f!g0H=oQDOGikNlbicWh+zK-rAOwQQYl1<&3ns9)ne<3=xCHF-AmN zCxPR8jC$cWMPa#Rq+XyOJ!iK|E34yh{vShsIEzcNi59&E0pqhpKNs+=L=z8~_@6GO|Rri=hv&A{wWKwO*CCPQYRC~G)*g!MyxD{4s6Z0^Glms3+VAs-kCuVfy zkMtt@Op%;@))Qtpq!n&@A3f5`V|$QqX-}`+F%@!&D`kSq=1vPtj#bT!`F50Cj+>DN z$Kzax!&`z!Ih;24H-X7L)cc;mkMHz$Us-&K{N>2nFB556QnBO@l{=&FBiD|=8{&SacN%RtF}ZtGef0-~pSrJE?fN zAjc|HBZ{Q-775&q-`YDt3~5Z0LPwLc!hE=%&JIF?D`h{r@9-g?3gCetvbeCzC6>aKcSmiJN$( zZB;E_vz6dld^5|(?;?ato1Y)h@(n4KweqJ)`?}=gM#;aCa!(}m8l)Bfq~a5QJOoMH zc@(HVcoa$yO`V(g(Ypt(&vzFggOT4D=Htz4WAJ96c$38L(O?NHIw6`?w;EB2M01xP zL;Of<$`O7v@Z-bMie3DeZop%rwBldltD%Q#JMb6O_IL5ddY;}~i7u}AJ-w+8RR0(Z zzw5mo^!*`vHSurh2mv+^e8vnb&M~l~X`TVzXN;32-=(Jir5Pd!HM}`&?h$JIwMJ3i zpq1Btf7lGsD9YDsW`NH`zW;kO#4b@@*2=$T=->W-G(+qY<#V~b=fD0}CWu3#Y?3HD zMyEmTT)2C=99hiV#Fm*l@5 zc7|tQg}Aau-y6P^Q?NoLa|%|77)%V$zzXpltOWC7EHhW-nzCjZv&vICn>1QL;NcBw&{}bz-{?W!JVfRUGKVY5~OQ6?)@ZNKrAxS^0+sujR8+~|00ee3+ zBy+|@kx|dLQnP(({t&$1jpeEiacPu8XI_T^*!JL$`?k+KhpHN`UrxCtjjJB6!%$%5 zROA_fTdl1~TC8vU5E7$!01*<((Y)ju>5W5ZePr^*`V%<{L-TKY; zJ5zPAHvAeS$iNFZM?RI#TN`kVRPxU9K9!nx7Jhp2_VkCed?M!V_qMje|M&}Lf!nmB zp6|u%vlpz52r0g|;%I4LDl6NMR*Sbe|xo__Iw+K^?Ze&2y)g!6t zE0NoOr2L9Nc}}26kI0@5dd?xxX8DgSi>d`J`gwj_n&@hYHZkrs1rn4RO9)*}z_ud4b@=V>K6{>HwGBFmqk#u3 z%E#&*eJDLJH-=rcf)?e2=vCF~oxLAs4~RMTEKT4Sa)U+LIm^>RsP^wInKv0W-!Kdf z&KAsXK6i)>*`??D?CH%=4xU-3bj9*ccs^@@S5}Mez@W3FKkHRQKMDUjK%`?h0B$BW zAfvkrulJ4bo0@RsJ%tJIvTlw98q8U>hL1X`-~ zEjjIevs)*!AJ!n%c~)egYC_>l127!Y0&+)+CmepNOOG*_7U+ld$78HI$G`pX_}qL` z?>)vBjpOu>Y>u+sJNHK*c%wRzPn0+2i2Z(XDn8pDPNK;mh!_Vdv}u4j9Cln~;Akk5 zR)I%&a^q)!Lih-nS|Y8=;5+eI2t-o<6&z_^%X&`UV5_!+~gj| zJ*4U8P+_a><13|mEbygUa;MS#ksL9hjAs`~tHo|h_D?)g_>L+}tD#h9){$s!d}*Kx zn{nQufqJ`0gjnT0>oIro?665&oI6>Ko@mH17(7|}p7y2sfo4A(@xn(H;?d*r!9*Xz z|E5P}JRhILyRT`gh2K^H0L;mR>#QRYIN9~_N5GwZxMIzBlMxo;6zr^kIbgYi_OA}d z-uVUtZ-lD6Z-u>wtTu7h*|T5GwMd4!_WE!lT zO5TZzPAr^7Nx~D=i`b8O`z3jeK`e8ao=J*ux)^H{yB{s?Yn3E6MW-l6HK{T+)8Vpt z{5UkYTTN=PWEyBn-m67w)ckKKZ=Ll{N>XG(jL*gpUEqENr4A8B z{L|>AUZwjVSnpbUrCy3bpnIM)6N z&1qWBVngi-eAi+0-3wwO>hP#}BM79&8lC$u3RGE|@{9mVnPvCR8f|3yPl>}e0kB=` z+W#Mc)5e=&Q_A*7|4`T;zAYEPmutb9(xoY5mQp$`FeUL3GmXr*wVh`5(m=M=aj?v! z9Bj)SZIpbte~=v^bM3&|yb+*%DCPtr{OR&7f$Z_hGd5+sIxj6S+h!&5R`#^-xjOFz zDZa}VWbJhvD8F1SI}u2^Luo9mR&%XY7F(rp@+8NBWv7*ns(GW^>P((tYFUdqiz<+; z>N9EW2e0mQ%(A){K`5AIHSSiHrpU+7SI!$9@2k>Y`;AE{J9@WL)?D%u2I;Z9}E1u?R^=9RE`J_eu#xmonGpeUqbseoeZsHTHh_yu>iu?#^w11z4 zx`S?et`XM{$L6IIe32q>66by$pZnQ(+7~IDOWd8|V!JqGz8nmpOJ)AIU}x)>7$437c1oFSRos3?bXB1wDrG$ z<2q7a)^4>3z0BzE6Prel4+7%yToxVAb5ZXC(Vt0ar5S&%rd*ADbFEtJQ0^cOmnA-dJE)nz- z#`jJ=>{o7a*`mR|HeTM(r2fDM&pkhDuTszo8F2itqJhkdgy~eZ#_Rzb)eTvHjzzsq zS!|uG7PLApElQVzY0B>CzpDdttZKRVq?DwHuf@l4Zca15qFf<;jlN$k>Nr!mz#6Ry z%t=wNQp>GskwsZxRTifxCAR3F3aj;Y2w%@P=2)%NdQ|PxzQ0X)R?)Y|>01Oco!+m7 z#6W}-9*y@{`UxM#sR_~>CS!&1ea)xEZNmMmaguO@yqN|!zO&yfe)OGeBmeLjn5cz# zLpS@&@OiwzGe&RMD9@=t>gGV|y@7Gn%2kb1#bLFn!WJ}Dm{+Ez0-=pl)5OyV@sloI zj>b>bEMs6&C_A}$n9@}}xylq+5b|~>7k!s)mwbOpV2K*p0@I99d$qUo2KP9 z5Ad%oy4&0NBeBEFKu9aU28BID^18TJa^+-Vzsljs+C7s+ZAvJEgS+2rb2ytN`CZCh zH2~Ks6rAvO-YEIsH$YP{dY?8@y;C5j+?$3Sca$z3kgL^8^*l5}Y0d~ua5hORY?Q5P zAWru}1w5J+^mabxp6l(LE%{^vTs|HbE+5{`MUqe9#M5rKxAOt_6W&g@dy%(uhNq15 zirXarKk)S#(>Tfhi2**1Ho4whHIVT3nCA@`JdNz?u&5%Lvw_+c85=RdfTf7j?`Bqvh>=rp*6i!h=vBGQpMla(3c>Bo;@v=^vI^7bj zqw!Mel&LmqgtUkxE$m5^wUSnoNT#j07d`C?y;P`=u2{CI}#C2auX4IFAbglJqLf z-EwdctSNad%AC=YJeMH=*3{8ClJ8|U*c?UBt)?6fXw>3x5v&W1aad^pOcR_f1Z!$e z?Qyf>+Jsk6(}ztutV0B>b!iS~%hEWku9kr19>5AuTmR2lusxyBXgixLr`nZ=5G+f* zd8%^r1W!nkaXASMmg?H2xSAtJNhOv$q-ECi7RmP|VUx&$gjMz!M+C$8xBU1wF!adf z{4L&T30FJgo+6KA`wflCA@m8G%%=0&rY)67%0NR7}xsSzKj-zXhLWAX#_1 zB{HiAm%E&he7~VY1hJv3IY5Y188(U5@{W?UUwoHbORB*BrMK(#idkaC1!M(cjTUd( zN@?D7mg*8PPI)R+s}5xF7tZ}@`rIQO#bhvOVkDfWzQW;c*LH^RMGeC9@CEBmko@_S z0LyEp2@qkAjgG9n(RB8?mbUE(%pVwX>?=y(J6Uq7tbzN%&x@ssuHXOu_m>qn2Sz-% z=d?_#-wx zHctrL7gCzNUCGi4zMo}kI!8LJ!h~f$$|o02U}mg*(un=f{RXM>kcLkFP@EzLPg?$u zo;Yr#m22qX7cRn2eC%E{^^RT0B*sqim9Sq7u!C7=o8UT8Jmwd5X^OKM&n5J>Icny) z#%u0mk{T$F;0r^P&R;lBqy;QSG1D$L#<{}4NEgmN=iq|I5OJ@f@4Q`h$$v$R@3`rV zrpr4S(NhM5NKQ1<&=L<0%nbn*E9hB7BLkZ+8@Zl#x&&d2!F=4Gep zVLwv|5#GU0kVWJej%*4izs_&j<1sStykH>DzD01XH%WeMN3S=TB+v%SBtT|Sq`Rx2QBa7YM0H!N1s+DcH2dj7_7)clt(-wR&wNSuCWPr zkjVY;$0X)CCw-FSOYH#~*oz9_N;Ob!lOAzCtJVl~1u+ zeZ+lPT!%)B>r2FIPXzb4l>85Rw#T}*btqe&ZdE6CAQf|uQLj7;JJZ7WrCH(sDq$se zNMOWOY$`3xzR5i}d!c&(tO!Ds?-#P&Jm?&1Ad%t9FR)Le-io?a@wV~II_Lsx@n8%w zt(*w|xkT`V1HCmCR`=U9+4niT&(?Mb6BvWF82#*%zgHh-`xggJ5a(gD`@winKZ&CU ztRtNHin)t>jol<+R3(agAElMJd&pakiywbu#LahOjc@_?iRXYwZ9XPAXOh~b0 zFZ6tyaVC(<_fe*QE{xEPIH}NJN$Y#(;|Y{j3r+-P4~!|K*3zpMaU+&m&=Qz`X^dE8 zm05sMlq7DF97Gx{?rN2MT?X9ArMjAFRa*L(xva%ec2r}uqz>mDEv%k1qbf1`Cds#k z-eoV8d^mamcc7cxS-AamY+%8w-tNnaOQmf=Ih-DNfS(G9)yOB)9U)H&?%POme7Ix_ zY+-rLj=U2~JR~ZOA>c&ka!c`-bFdsBX8Hbb8iy>~AJ^*{dTHf0ES_)lFhk>e zW~uF{A9{gNL*0vL^>$M6NyKw>N-N>4M(BVoYr6-hiXvH%8{Xr2)6)apoNuj-JPIzB zcQo=qtZ%I8v6^pen>&@}h)uUN{?o%lePv@ptG3_On9!l6;%8^$L#6LH5UUu(^I{KZ zoG<58hJuD+o0u}h1f1OT8NtiBCV|XfL;dQ|vtobBDCmC@!Vb{4jy}O&g}scV8M$*< z@esK)(T$T3_~)?RH_=mtnw>#E)}`MU+h}+%woHGXhnufhqre!B2&50= z>lzZ3efvI3Zk{A}4);WGh}D!8jQeYdeJi*W>bFV$&OZ#aQ+T6ZadDfR&lC|!v6>U8Z_u&RO}0{H@dG=EdejerScEkQLq1gyGqlJs7!VKb6C8n=ly6zvyZ|f z@|}{Wcfx@Iv@3THD<0Trc{yFfYPnxj;kvfvXRQ!tML6u6I9_wS%wpizZcrEZlRH=6xO1$J31# zrWz2L0JBNS^MyCEhT~HN0yI42xVLj7N*C#`bqY7cH1;O@G{eU&Ye%49m1t;CqXiC| z25!!!v~qJ%Rp3&zGLu@Fh(@U?$^TpQT|lE))Obtnd#~2o>H{h_`}eH2sI{7z7lng)i zq#nz^;#4+tGEdz3ff~GL6joz|QjlR6_As1#8matAk^mVzDeag?qYBELidse z-$cB=2{FM_^qAOh*#(U}f)(vF3`ihD${=l-nZl=c@)k!@`$D^|OGF07aMwGbI>^R-dSBKwSti$#Rs&F3?n}mA-(;uG@u)Ruo z<^i^?I&3b$w)IzW*k0=kPeBS_$2V37CV#QO7L($#Cv7!o(rr$jA!!RxV zm4K=E2@Owim~H?}&;PO?Otc2*w;1->wYodj@9ww}@%SbTccu=vzsi!FRhyeCvePQP{TqJ9Ba za+dfyANaw#&i2H85$1`FkEls$t{PBj4JE z!5cp?Tr>Ur2aBR}t1G&1>n*o>HP?M7zj=Vmo#i)o@SAa5_cdJicz$!3OYNk;HS;@p ze?j-fsp!t<9Ai1ho!q*M-z?%V!zj>VBAOdDZ_gs48nOPIb>fX5*RIy&^iaNz^T?Mi;6=XGIGtbfE>Q^IuUgUl zG=JO8->|OLoJ3E9{A~(k*X8lKgQ^67U{!) z=XH^`AkQlzosK%5L&>wqQHj(D9)IzDG15y!`YOOth#V493z0g9@An|}8>FTqwH~QE zk-8QwjYBF2sUIPgkKU$pi+DE-sVmWT3YX>nBefl=j&4egLW!@DD#W`JNIk*y-_3CC zLp_MRS7Sp?T>f0s3<%#r>Sm;H;cv}!r2ZnxY(V-Cc)JE|S0nWZQY(-uMXD4jE81Ct z)D=iQhSX=PxHe2Cjq^G?AiFrd*H?o;_TuG+&vuTw8`xLS)cA!nBzHGZginx)Ozw<{g0=jeFL zu%boE!7*jcN?EwKZpvT0kMd20xz5qBgw~xfHBKODjp^IfRHys$z&s;g$L8zjNL8}hVONm(u~{`Pz)?nkN52$ zfO5x(n*JyY4UhZNq*dskmG1wa$Gbc$xjmR z6xV7Ctl>29%NrR+u0M64c&X_5h z^w4~8G%h(l&Cww($H@)#Eex5FE1+@BXjfkbG9sW0?LKew3nA{L!oOLu=uy71!lJ2$ zq~=}f;DIk1NCMRuPG-f7JT}pd{7T@CySQ97;%XXkb-42cDR^bpyT!Q9RCsXI03&se z5u`amN;H103|RE&Ebv_#GcWB6S$y$O{&MB_fB@3{Y)>Trlr z*T&h*$ku7HYKTDk9jR%O|M@svf%%Erh)0KBWUM_)a~vH@zEGJ^A%xEqbyuYt)t9$& zb+>qarnU64sPHO%IC0m(#Rl`1=?J3uxei&MK@l*Snf8ng>dWY8WCzC7%o8knO5}(v zfq8_JAPM=a^Lj_kjIcgc26|(_#rAIxLxD!zO(|yD~iML6;%3GpIPXUqF=wO(4ku4-1mSu|?Ih9mb}wz=1m^ zlI3l>R}(W9Pl&n7DxIsinp96PDuKod4l;oi9P~U%%S-VoN7*iE zMK$=EvxYhW=25Ug%?mNxD8c)@UBojAsJkKN7Otk~aOkgsSD-qgEvim%iSRT>qqOp; zDCgN^^n}#1jcUPm-eaeJy4IUrAskB&5li?|Eoh32LZ^VGT@#$Uq~&1nIf`?GnB}gm zW^C;f+ICG+@-{U(H!{|oyE2>`m3Hb9+hA^2oS};%ZqGvkaqodZ3qtUV-9*U=9_sO% zypS{*JC(fcYC%nvnMUXi%Mj1c)w~+jwaM58oH=)0h_gJ#8GV?}H%t-IF&PWC-;rwe zOhVCuU4i){8A(Hkp8Fx_YMyyfpyMX&FovqlWgBV9D+uwSb?S?`Y(uma0cSfIE4z3z zffRL~AdxfJ)T9CKQe4~F1Do(?roxa>tK&A*T})RtaovWskAL#K!yHp<4u^IW5h5Qu zBqBuCr(km`L@mm}B)KE8=r&_$=>!pTAv~r4C~whs_D9fTcw~XT=Z1+HkGaOiF=J@S z`%0Z$m$+nGMc1piqh)2#2xlNW0>SODaRk9zD6KfxG&;RvnpnYQ-{w#_DY!*v6Q50L zqN$>sZbVE@cwM~2dCS&JQ_7xKoonQvNpV)HWgAopx06H7#08)0&3PM@ymd>H8lCF^ zkLq0KaBf=qs9d&*#6^D+YTCrnukzM8@-{6s6J^o2nB*H~!cB-)(wVKoi+ZdTux(-t zj<72)l)^%IH}*g{37C%?wK9Cpx?auO7_baf8kGZT-ug4^)UtI7O#tUh4(E2sH*^3R z-B2~x?(G^S`35ARHyhMxqj{h8r_{Q)>sOL*FTD?><{;o%YDjUdL!SFc3|!M-7^OO& zZ>ux96B`WItIo={I+NSdV7MWtt>XH<7rp>Y2 zZO!O3N?<=Rjr9bR z+-OqDekU!z6(Mdqh!`Y!8?OK$2zwubaQ@EW+*p*rWDJ_QM|J(q;o4XKq`^Yvm?b#831mz{m+nVv>tgnQZKZ*wabOD6=xs{KDwnM{ibYeBPZ3Fq+qT#v zUd>y>;ZhJ@w2bI{0{B7c5DW*x^i^hI3cLVIyW>DnN+A1E0@a%>89Y^vP zvBZZEqh?l|+Jtse)r{)DS_Go#B#_s64xJv``i%Od}WY5XGi z@?#r9U<&7&Y-(P$h_ACox2CGDjky1b5H`!EBTV^_>s#f$3pN)EB1st{w_nhPv?boi zFEEdOu$AcV`i*5^e#okt)O##qK+9kll=%#K-U&nk!hm96wbFd@M4P`|7tG&v=h@f% z2kX9?>qbnv3+j&iB&MA$r0M!S8XLqkR%y_S2^zZ?%F<{RiTw7wsOzHi`Z_>Z4hIu@ zHc9@W=UHb(xJhYCFnW7`I+xyy7lh}Pw0yXzTa?A5*2*e~B3tGY@m8xDKGzy{_6B@{ z*Asjtg9*O&bKirH)C7I(-k`6M9E@!rTu9sE-_P{ujf$Zys}`Zk)ri;La*!p0xu7vo=>{D9!HZTPoXN6rU;+&lve$fgzY_#Zi=`&I7Z%6qe;0ffGXqK zDAyU63Ku?yYtz!7ifR73v3HugFwI@sG=~!uPv1vOVwx{BU1Z(0sSlrZiaz-G8C*PDZ|}$l zdV7(5R7ZTBQf>0dOXMz#v~n@QKntwJu#5OG&9jUyo@bl*u6QaPdAJ)+Rk#Pm5J~Q2 zz?HYKIri#2>R_g$@2cd(E0@>5*G(F=7ua8dH$sN{uX+7sxCQhWevtn7+dLz5iR5RJ z?^_l@mP$T&eHLyT#-Yz6SG0+~USovs;-<()JYH(vCU`Aja#*svgJGrfB&a zI|Od-?!j~Kj6z(r)cyqCf4XN3r2ek&)TuX3XD65((SJkc7i$vD?8qbVRm6(#+Njtf zclC&QLeFIzmGP0AdY|()7An@rRSXL~SGhJ;+9Fcl?}}ABq{Oyx)w2;Y>6OwcVCj< zD6M=To*{*wAE8F#)8M{#jii5O6w}~A<3*-Hb#vcoaIGlg&ex{^gjsho%`a)Ck(EEM ze+N;Nka5!I#wlv(+#ax&PJ&bUZHoTcY$yftb_A~sBr&5fv_mv)kjY7D&2<)zG{q9!MdJaDwx_6KQBL8 zJ6EV}apFw%6h4a#k_%5f9TUOouT`CANli=Qi%WOZL)!k^-IQU&-Fj~|9whcBwY|r1 z1}TKz@h-Qm(0{};K@aCawCyc1&i9=3mYAk`PIybqH+VkwmRQDnn!P0n2G3rAAZe{-RyO9Sx{~=YTlLA)v-}$pWL+wzvr~y4(->rMEqK{-xU5e z^!eu!VQxP!s7t{$-oM37k))+ zYrfsN2ns-kKd98ZFICzCTd&9WSnA98G|SUQs9p2Q&PCw?OU}pcf3TpQkTP*AeKJG` z#$AAn$A1jHP-^vxsVEA9McVO z8?rw_KVi!perNq@|8HyXEu7cu-vj$W!1e0e>GZpC5?plx&iDSAp)_twH||+6;x&wnZovrP zyk0Q8kZOqTSDK?CVC=X3F?I?V+dLbW)Xxo&=rj>GU@jS25y7vVY`6ix{IWQjQA;nB z7G;-;qm}t$?yT45#!K4o@3i0Nwcj<`?>hdS2d{`J_R(MzG$!gomga2q%FZ4p#8C*_ z1ZH^hWu!q^(hTzUvQG@p1*1+U? zxeSZp^R?&-)X)_=WReeua5+!(Z}NF#(MYZZ&;Qc;m`W(+f@}c*6hLWZVx*2`4|v~9 zv8NXjMO_Z_q*Ck7UR#6s3AVLc@nc{)8Vkh~`&gpsIT~c6)%o0Or71kRha)=F2i(^g zxGd4(dFThhs*UQ zdn`(ATSK}BXXzceBg$=U4K`1zdMQ0trkLn&j*^=uZ?`^JkNpud zLy$3@(0d{}s9*c{DUJ8eqp4+6_Nn)#`1h7r9EVGb)u~oTbNN#l&B|0OrTxM3o7<)) zSUh8+5-$BVD5t|qY0T);bjp$AIXO%2j=66F|J|0PoSqhT(O10le52lL4NQ*t_fo#{ zD-i3IE8x3x`g~gUC6Pou)u-%pG%s7(IMpgR2CcszX=f%%?fDAsJep!35fCF|B^0MJ zs>1KzPORfTz;AV&lvd%qt2)i<2urK6iINdkrdjEk`Z2O?8ujBcy&qlSze5z9M*WzE zepD;rJj&&vvFDc1inPTf*O^%V#%7f^D)VmV>0e(yBjC2D&(i5n+LowvO%1ysXEx9B z2bX;vC8gi0d_=H3i>Q>1)3|H#yK=e&KI{PFJ`Eq!2p{5fLP7ln%C}p}uIh}miJ+B)4iB{p70fI9E-EOgDg(Fi921{mTQjHc(YuW|h_e`VL zdzAX*TIGP}UF-%tn4%Pf)x5BONBMQC>y*-w5mH^@j5`0`@?kTf6bk;sAF}3Y| zi{$?km$ND%s#uw4l~zM2;QkR(!~nd;+cWG{KbbHHCNtN%tc9xf?I?Mo?R}&BiH4*x z)zb*7rC0RAdpDIKnh!rh#p%JccBf!#XO9&l1p7$_L=&q=9yVg58uQE zRvMIFHzeHvHWrS5&3|j{o{yBd&iv>cRdqg4^C?^Wk#Ct zL^{Y^EA@cg>y)NZhD3-q@YwQy-ov2i7%5i>@dW3zIP6rC1|fpd-E6pw%kRQ3NA7q+ zakeUt!g~cQzR?-R`7rljdX~g9v~krL&e|&n?`kLUFWW^Nw;P+ zWz_qRl;1iFgrU=8Vy4nObr#d3r^STyPO*)r-0t&V1C^*i84&B|meaIwHj?Olzc?&P+d1gqODM@{r~ zPQjdh!vKRIWk{u_+a^(-fz=;Mpb}$jzDjv4P+UYF} zvg%|@UsAghYe648Ms5J_XP~W;Z#NY{Px#2S63W^enTv!j56)BSN%ubTxIOdG=YRa9 zK3CtaRmu zhvJfn);W+L)JI#Wd9laNn}UL8-J_5JTZV;t8PriVG z5cF&Vy(Y>@h9?!1?J&!FgUfjdg^_e)c0B z_UEaVnA2MF4Rs(=C8}q_dR;NnnEqFUE|_wpekR>&5T zA}{z%CJe~ae-C{@X;eOfzVpt16&4n@pG2~@%T(JjGNTSwa`))B@gYvH^m%G~q;D=7 z0Lth2T+K~)w3eHc23*M7V50N`q_E|R%RphX$NeT+{K=t^L~_%W!%8mVJ`BSAL@cG2 zbh*hH{w=JrRPdy+Autt!iqb)qWNIp0q~tqTfP{qprwim$@Qx|O%oeH-r4T(-f=PkL zQsemq#C&zOeF614Ga!_mG)?(Q)o?P7c=32BnNt{5taWNSQ8sunM=B4032Amd6|Ar5 zGI)to=8zu1>eFFJpyAu$?lwfoubRHG{qzO;2CSnWUJ8aj<-v#QaeW|{5C5V|coM!D z|3>T>hLm?X2ta0hWCj22?eA1xt`V;_yNtNd0Q=k} zI@kir-i{%D0&*Pg%|ZClI#1Lji&=bTo@P98J*) zpuY7&0-zdp4*@Q6utI9{i|~O7!aj!V_J$_i8L>Gj{VTU)FO+In)mww0H+t7H9_!!K zl<2O)>VCunt^}PrC2~&;A~o`Bx#VIyV8E>OCoP*I>o9rg*71E*4Fc)_rU=9uW>3MW>|=XN;q4Fs5ouKU&-CZ;xGY1 zlD#Ko*=>QmrU`j9OKw!1X{0IpgC(Tn)Wn=Max8h7UFjnIA$kKfD;gvbg??k@JL7rE zkE#V}$acH5IhUj`YhC3Kt#{4J>DrSPX+x`pge6i_4k*s`N+`J*(Ux5sB)<)VSPfT!Zo|*C#4X z+6tjG5!)x`uk6XFbzk!yUaHPbxjDa6oST%U_HXp>yfWD@%!*A|Jq@ zS)UNOA8Wfatucq!1{5m!fZ9Ya{LAUD`~`_<14YNhGJ6Bs1M;6$%4>*uAX1R~}_hEpb`@JOJ9MLEp4$`7|j zW3h@^EL#%+7;~-CdrsU%{`>F&!eXz$m&Sq$N0P?_OLm*6Y{b(eu)oB@yZne)I@cPR z!ctifoew9BgH#s0s8rSfsq9o3Qd#+rNg`_?@CucAshBUhw#Z*Zjq3fhY?M!La5mi- zDA=J8tvhSr&q$mq5t9qu?7plRHp4i0uFt-mek#`4xkrRs^(8xY$*2=K^bv2B$L;wr7|-XoQ+R)t z64Uj>Y|4iyhf1k^0ZC8~8`*BXFns;ZBG%VFFrsY+Ih={W1}o7X?|~4u9wzRdqdae~ z7A-DTp>s~LyH#kSQ|u-5JDYw>v5+c0yVt-X-h4{>L~;QoD@Af4CD|vuul~1fU@qJX z;SmWm$ep7^Falbg?OOLlJeb+`QV}$yjle3&`iiv85ttmG!sYUL1p!lko z-TyrGF+B2SL@jy;GMD7LiONQ>6v;hi>BS(a*PRaOl{$Z&BDn9DH*2SB__%Yz@L41jou>>A;$OF{H#j;3R)Jz!3?y|B-6uvc! zMF^!%X$}9LV2Nz%(W=qMyi}`i#pk{C@y1cSLg?b7NzhqL^8j*Bcq7e)2)z8f6CUTf zJc+sg0_gH=yW1kbMFf88IPPXKWIrbP+7k4R6!)-%=azS-x7Ar_jNFp{GZVX8FNTby z!Jsv7J!UvU!a@P*iNfFIf|5SVe<(Q*dd#+qlvMvy$z&*nK5RIhw@5ySH}ZM7D00H& zPL|J`CEwCsti=&#(}q|vMVwTeQ6u_ZLXQ=MBrmd~xFjl*d_PJ2emw^0O{1w%0(h+C z^Kf1QWxs`|$>_jrnrD!eQ|#eg7!%ws%GLfhL94d)BH)eZ9hTu zYbG?UPy%N4FX?Z^r!Y}T{w$pAAz__`_K%X^m;58?4H)BimaT34;fJO8@DrenMcqu{ z*|*Us5-i!bNItt++g}x<9q1O_q&`Z%E8!b?QF2RBrz23YYKUL*NbAkxq?$&Or~(AD zoz$%%oT`nC(_W6%UlLL{Rvmm|uQP)&NzVs~pGeQwC5PZ~ImCPs+M?w=Nvb?z!ZDyo z3n_!(S2V)%32JzCmuRD@t9PU$?`kjKM8G$CnG^Y2S8oUXaBBNLKccyG!2lkckKx-4 zW7U=^_S=+(iZ3o4zhk6$JY$KE-OFYzFSV6PV?M4nY?0ROvDO~P?Fr+QS_M^ZnNO7+ zsQ4l#VKd!rzm0~Q4`SbAyl}X4jJ?BMYPUsFdPL6#=-nmYBD*@V1VHrb;uEB$_R?+I z-g#-{jm|zpi*v#Mi=nOkhA=#~Zv~$JT?LB~$u8P)F?4I}|2C6g|96h*W&d5rsnlD& zrLx-eGSU`XANGzJE4&Nb_OandKBH30s8pcB7>vaV3B>V{=5zcE=Qz1T=6BMn|Az61 zuo+kZrxLupE%GL1$^94WTAR%p3+%vkNXDBb|K4-jQY6=#=yUWFX&ahvtc^hmh5yCa z$WWeSLfIZI_*Ufp?sy+A!g7_`+Rl;6OiN^EyBO4!)E9m7WX0MS+Djte(kF(7NdNP8 zR>tih{~8i=4Pm02SY#EwKGsY)e5aTsgsfnA0#?r=@iyBY4gU}Xm8M93J9ly1zl1<> zrM_}UKK~x%+TaRaJ33O{^&c`Md@n<9%Z0SweAIT4?-31O!As>tS{NooWb+t>ILxLwCcfJ5GDo z5jNo6gf`7{F^i>+$S>RAav1*yvmus>h4xg82GJhOhhwo_;6LKYq9QhJ+ZFyUI7Fv; zB%V3TPO`_k)xs@hg(DNN`=2nJ1pfqXrEEVh0^mBpyb6V^*B6(#p zvxvyzE7%@84>yoZu|GmUKCI@z$z=+mcuH2#G1n%o;=@XA`y(^uTKEu6Q9{bU;rUzJ zVv-wDaS1W~Ki=4&4x`_3#wG=7gkiFBAZu@X8@t)SX&_tjCmLBAd4%eI7^@{b?`}+I zg`pC5Eoy#5Rxs-;&<;9E!}vIf?2p^iCSf|$<7{45)6rh9e-!bQtRt$&pjyqd?dg{i zO<;c&!*9=uWx*qKe8%p}4uY|daWmnhUqKv0@fhUyEegW(WyKuxdEsVOQuGf31QyJ+ zK+0-rGDp3P2rEa9SRCKtvFJy#!{8Ye_pf=}o?}7o7?pCk>H7d^I4VL0dS$Js`?mK# z^hz*7t!HD4{;HxYMmRaLU=2!+SkNKIw?)^WOIM1nOwqbBg}XAJ3Yq*t>WVlBgFn%yNfCT8Zn&NwLZ| z?^;B(ofep6RCd-LPasuU`qvaSRc;-bQ76}>E5n)kpSN!k6~lb`I3|JVT6*@eB8gsM z4adr@PPajWLR3BET9w97L0eTt#+KFXE#-< zq6R;#k!J;?X5)^W2{cfp?dVW+7^8tVXEBNdAaYNy?MR^c7)V*JobJnCRI^-fQA~23 z#qmMWX=P8wx3!(7KK6kb>WI~dqy7{`n;o833`JwE4WERkS_D_bz-=xda2?nn7Es}Z zA0B%Z_W^^WZsI;1dx|kK0R+%(v&$Z}}_I3aG_Lrr7fj)2CN(ZT27P ztRZQ0Fas8RL2dfJ_4L4$n`5;tsYa(oF16_U5aF%|iQ- zP(DE3z$ptYEZRFhPfheSrFeoWa?`we#0+tSnYpm|VDGPZ5YGlYDtmM*%zXO-7-pay z&go=bKV5lWqf0eEWhU>ZWxGd6t7Z_++K4$>-4X$x&6`gdA+UGC%fo}&3PQy60vkad zH8M}n9yr^cFZtnvuVF2#jRV3Gz>ffdgp!931^q_|NwEAZlvc+E(%0tNZj0O^9kaX- z^tRR8+*cmjdGyvbmR*Z@<6r(vqUra@vF8P~?ergUU(;4^R9cm9-2;!NeCMT%Fjb?)dNt?|xo;qF764T)3AHv4$}zL& z;{sxe`KS-5iZ^-$>lwk{{6TZV6v{}n@1+kF8`xT9FyxrQnq*=I$C{4`Yu2HiG%A}I znC4N_&1^Xn607~#aggFl+aTmR)N<@3KmL-Y!LdWytRhHe6H*t_vWO)kU%{F!reAxg zHarsaIT%)`kmQG!3ARlf`UutlwUp?ORAxf-Xj+|I8u=Kd)t3!qT7GzzW1)Sqv}$=W zFZqizK1SbY4HvkRDp#Z!^czN1@y4ux#iAi%z&D#4F?gvKUjVb{Z4`5a5GM-x0T<I8 z5P1?9>2`H8mZjx3N{<&y)A5lsF~k&d4`!1sO$Du6;s?vz>T6+Q30oLZjmAD*ciY|6 z)imlBxI!j7-B4!+3jPlLb-aHEeWwN~ZD*y9rf5_HSWvR$-<`m~(lAM{0P&(1CdR$w zLx6r7_lId%Di@0hY0qkV7s1xq-5!e=Rr;49TBQrwwTC(TbHfDBa8R*#&^-nFn(#FJ zsKJ!wjDb%=0;jCk58;|YRbyZe^6$mq5mR-*AoYT9eU|(M7ACXND00@uV8eV84pX|p z$psL97Oe7rUp>y?*y zvPAZkZ!<_YEOl`Mr#@Y_; z_;}}`9b!pY-Y7IF)crOVR4O&U9o#ZMQcs`wdOygtY#t%G_i>RtR=X9xXO*y#0fc?KUR08$?=<`5k8(2g9f*rD3y zGyOoAZ!f6~-DAlVt9bJVAD=w5Lj$1FX>e-I9{ZGV`t(}Qs{|eW$C{_kH4x~+A1hDg z>%fQ%G5*^x(YOY960<+a{}ZderVCIa-yw~7`Ga{`4ANtAm**-XH;7bOdsU;{Y9v;c zjjN-11CZG}NbWF8&xTT&zHc1RA3BSCzaEsWg1rFAOuTz4!cBqJesMz4Dp&1bc- z{|^`)m>=QhZOz3E^@fDce=a}>v+O!mJczz!P&GK(Y%9a z^`QhYXOE8isDu*nNq%&l-D_Y8A3sst!+fZ&`8ds2nw`fEk+2dp#aTcOc!16;0{=}| zXx?>b2maT}ANt@>ee>!6i5Kkr_|%~fF2W0hB*iR2TJdy@S=J%^cj#-4`#zm0`Cjfs zU`K(W`H^SA*$xp7vVnt$kwvm*jF~Z>N%H?3Wzw}r9xTrg9;h=h;n|bkV9Hd&&K_cp zkd-<0T?doiV(3o1j1y6f69k?aSxO6yEVMhLYGTrVkhT2AcSUoBtM*UXq^z7UU11Fm@ot%XcdZh7vFA%h;|VPn4X3O6 zi%!vQFWf5XDX|LD+il@;y?zH?+VlJtqkgwKD^bUKR17R!Ng4J8JTN49S=Y0K?G%u9cIQ4E;3{3?$dWp^>ZCW#U7 z`Cae+v2g8$?_dnt!dn`JFBFKiK<_`XG!8P&nmQxe}H$a%0Hb-H$RD0}l_uySv^JTQDHahJoEi=ft=sH zq43zWazdLBR`tyKtEjejzW#1kqa2DpnJ?|X7>2}|iNbJ)4hqGuG#1Lj4qZ4rH5&_L zTAzOBANEEg62*RLVxm!jM&W$&xh{$9KLj=yowjW2+%xb!r&L?F%76o$q^UKnxp%N%hK~i3d+)kI&aetYKixM9?E*UxK*wP z*TW)X8mz?68Zi#6pxWK<@t*SX5^>@b3L<`1(lx5H@Beok3E}Jjx+6TJaxkbDCxeKr3 zsVB>@L%Hta`31Qf@phVcj{GyZM)ReKjTPHpX^J0{@QMv|r!*2!GpPB|j*9 zl&$9J>;4cM)iUcKbzZSv(a-vweB~ze%pxqT2f*RlAb%J!R+L1nF!fQOmwzj)w;ca$ z;&d+QuJ0p5J$qgJK?fdC);*(rf7h2s8b1w&bn*D(O8Nez_`USv39iDQLwWf#w3Z*& zmQ3jVz0mXiU3}n!__4I{8`=|W*-kRpg#4bpWr7`w?Se(BL~~B4I*57IWd2<-^k%Hs zhb%D!$scr1?;BmUaor!Zh3ocfmsY~)2dI12Kv zca9)(7@hShVv4z|) z=#>twpwINU=iyZd6@xPt3q4Pa-sKs|jLwU?-!QZ3^*L62<7M+#S)}+ijW(f#MPAPH zjvKgz4=CDbrY!8!pXs33@|jdeeBWXQk`N-04kE;UYXp=g2WY?9bN>eCO&gq#b0)dt z43?Qok*&YaE6XaEj=YsJNwD*e&g)Xjxq5_APDGotV~c;+hO^#3h~&iETt=G5*Xt?Y zD%tm}<-$ELGATb5XWEbM*;~*vi$ffmv*)pbO&gqZOnE;~N)Q41^Oe10#q&I_WtXT< zlxNo++{4HI^tKbl2}zZGdA&|?Q?+r|mk#pF_}u5Icl+iV{?-gx>!SBfF=g8JTHlB{ z{B4eshfc=rBd_Q6_Lpykm`4ueDO+dpXX881-Qaw>_sOp@TW{2ftXwx_*NhyJ*x>v> z5spF)@bI%~&qkv^4`E(pdm?iCYo1^;AQuzR3LzLg-@z$C)p#TP|;5dk>`olr_g@&?1Y`FNQkN4~r-&``McOILKIr0Flt2Xt`bI#$aIYrv?IlYf> zxS>D}k=F6?M16cL#K5@Wh9ZoRy|w0%5&7XyW9<4GFEmjXdwP=I2Zz2HJ?BUA<*uU5 zbBctH*O#!KS$|KgKM%cLys7Bz3l;TUR#g4s4af2Rdhd&U`~-A!-xd6<+`D1^IO@C9 zS-p@S?93^=iw|5CC*kS zDfMhF>Ergo+;2nK4>=O-?}o8=R`aJ|r}OqEKirp}a5p`_5yp73{E6T6b$`)TSMg8h z_}AgQh{Ge&?_@tb1m|%-e1}q2;!oH=KRvuG=3Qj+N^i z%pvB`O?&(Fn(3`CG9HP>#}8Tm1t`M=vB$lyXGdPl`^X0lZAIU#tuFphL*d#_gYn%b zxDjKgS=#UE545trQuMC+-akqfZ7+X0;d+=lK0AW1H}$@_OMCC&!KXinJqs1+-6gY7 zHlfeCjypO=^~LgG-L4J%MDX$5{2?SUknbAHvl^CPB?tCD?mB~iTywh&{eb5xdN#F5 zk~WOLF}?JlcmgO6J`z8c%J1DIho?P1hko)m&v#u6`qwya?`A#d;TByV`KOuUyA{2U z_Fd-Whx8vj^1&cw-yG4^=MCADSEFo1D~!JBUG58;{~^?`1X{FiKezOaV|(}M`*Ub- zd1!ghBhE!Ui;3;!*^Zcm*A(?UTGI1c>4vhKH92v_0`#9r{i)B<`}b`-Sjy0Sy-MFy zNMRv8k2=>szwNKpuSZ@I)@^_9G|hQX+97^*p=42Sjq$qNt^@xNpN;6h~$^=<`(r`QZ!|2tYX9EB^#Wd7nv*>y~{9N?(9>l9kHR+zwg|~-`d!8rTG5S)#7{J`YBc#^p<=0bg3$zKPbPCC64mC^>l?l zwAHsj%v`W6()_aMf?1aBz$q_DyZi_o1RsHAHD2InnoB*oh-MJ=~+ z=YS~gaYOnXRnJU$gpKi-ZByPH^UvOw(4$J6Jv$ZnW1WbyMA%snBbyOrG?rguqZcQ) zhmkdKTiGsD}x?AMi9z{$hyVRkzq<`TL%g!sL{R@5!N`Z)g*({;4 zcdl5S6h8D)&)cO_w)29m=byuR9fkk(Ro2O8s^92r?b$P&=~_Uru77^Y_H8?Rx2=C< z+n%8>ed0Ib*)qnjs{Pe(bmaAQzQ?<-PQi-IIj0=h_A*%iI`l1G;Tn^;7x~>yWQYw< z&tnth`_^wbky77@oL21igy2l^9^k`kd*7O}9Z9_2yHz~s=1lV{0GYY;y$vls>kPj^4K(d3jLbL-T+19@xvoQ?cFyy(gd)vV$U@ z{Q3@0hYBCuvU#CUnr*K`QUD|hq)V1S&{ZD=W*73mEBt8kCupq1rETY6a z61~q&c^>Wk=FmramzBWsyuN$kLHX^&#bSeO$ew(uc5@4V=9ss3<9a3bx8D9uJpX6C z8?D#ySbZ;ebT9wZ{M|hV`(|$*Ox7mnwq39j{Km!WksW=`3F|iY=Edp~zgOi)dZVXo z+EBCikpm6{&MS)LZ=NT+5@$yf+EmcTIeDyPleB{T8VBUPwdY}6?D<9FdjQ-NFaUFl zHe3uVcyslm(XyWI5{l_>nIUe^CKsqD^bN!EaUZS<3LkVR@%P`hUzzmE+QEtU>)-2o zNB5mk=|865kJaxd=zgQ_&(!^WI^P`qeusX)SNF?wdV%h{bbpcV_v?JG>i)C3zfun$ zt@|(N^o_b-q|-0c{areJzJC9det$ssr|a}e-JhZRLv(+#?vw7nr^j2Y-;3(^ z`+4@*lQ`d}`j2wUxA39g^}JQuyW-WtwV%Q5rY{`^A@{TW&)Mes3^W|1sjMexlPU#?<}<{mj}I zPF}HN&*!S2h`iJL`#pV$Gcd0z>Z>i`vw2s%+7~OpTDr3O?as?E*2dF(yLS_2()-{) z(T5@)z{O@5%eRapg{${t2n|OPFhbj^h zs`e+*QS#o}9pYjAlz;TDc(!-@rBt${*xq-m_V4*r%WYNrGPm);-+$lsGEB+yw{5ubVAcNJS09Xj z7j*QlfztO6Vocgt-0$CY6|UtsHsS8#uT{eFH65l?MiH%S-s10aZ}IO~xy4_3^%lQ2 zuiw9QPQQN{hXdjZ1R+wb@Oq~E_Ccoo+(;II90zyJ0h_4`)> zLx8RK_50TV2fp9$H^-kb`APrzzqM-h9A_gyWn4^U-!W81wIG-5csiv{R`kh;4#2? z#*_Yhpa_@=%mx+#p9Agy?gi*flm{pPqCkg!y$0yfuls=i(yzY&d=a=C*be+bzkV6` zGq4w^DSOht0H_DJ{Td(d_d9>u?=QI@?F_hpN*mga&Het{fcht7`**<){I=g;1l;wc zq#|Hd!G)Y?we|^t@|9YUHN76>a53C>X&j%j-q@?x3zwZs37$ zOWF?jT|XG`*8~0EleA~yzjHsz2HgK+N!tkj&W*?)@ZQ6cHsn{RyC(+xw*lVAB`pkp zRsVp$5qM#jZr=k_MPr0{X?#OQnw9HiqpXv z2X#kj++N7IZY}yeZ~)hR@Lydk<@`7NA?qYPU3{_Q(YD3k4_iA2*Ze7_jk6PWkGD7Z z?XNMw4e5mZ8@qt7xz*!uidJ|70cyIiqiMO?>WgY>q$c2wM%5_uw5#o*NViMvYIDaB z_Aw2i{uT3aZHoJYf?ioYmCL=98a)26no6m5400-8Ip zn*8n#H+iCM?ns#2ovT@b>e0%>?x@Edpl(l?G*5uSYDE4iZ;rST_q9^^|1?~fW0{k!VE8ub9DPSA$BJeV> z8~6+GPv9VsR}B3Gjss2vCID5ybl?JD9#BKeM4@~gs;hQ*h5xu@wbU=Fr-d~&u6Ru>TwuDnSi^sp zUM&~RucdjiS~en&j{?5|o(28@>?oGy-vj?G;5|SYCCl%GKMFVjI0+~P&HyTa^MOUc zMZgN+a-ja@(LuH1&lkMe_R9L79(eVFX~MlS+o=DE(eow-yaKL?QR7y>G*NV_AjAW4 zL7nbM&=+hy&y}L}6%`c(OcZ^j#vKfXG*>95g=3nlJr>Y>;ehJWBJN-`;MRPhpvxO- zcl&}-uCtKK?TSJwI9h!8)9KUNTw0sziiTB>uf?Z&4N0l8dAeV+#`@Ks;N za<(Gl%Z!S4g<8NKj)Y(_G#`X>h1u7~(aEdHkb<3}nmg!qM~nvHdh*D&_C!>-mXOKq zIDTSuyrJl7Bod0aI@?71Mtq{&94lJMVW$&U!H|i3 z8o6NbPphEQ@Yh8PAdgcla|L`sz6yBhwDX9&7!AY4vc>b8>X$Vws9Rjyv}{FV{fb6f z(YT;|2BF5IT7-PT4tK!kl}g*(jUq+WYhr2;HYi!gb>qWziU`+2NsZCM6>ST}0$x#> ztd-DnQQxapPV`K2sjzcllhpC!$)!6QPp6epOYGWfyQz#z*%@(%N&JbAM6%zI2g6EK z)n?J$hMKxMat$3uHH+phZ>Vjg)2?@MVLV!w#=g%h|2FC7u@O0G2?YY7PHqF8(a0xj zK(JiMba4`H4+M1D*7F!6!8z+8v9iE|~=*cZQi6HZeMkbuOh0Xt00V z5+H9$`Im}z<;2)kBk$A**ManN6~467!jR z9Lz;9(c?fyXXOGJy|W@5Vu=2H=@`tXfm?xv^QKO#no6}RYRWHKF1!oth1Yl~&8u5@ zw)j)N=%R+223k1pBA{wU<+Ms_SX8&5vFXCP2D)(BqPg?vk~*QKaiwK-73mo|%VU@f zlzH??Q-rF7C32&o;%(sK`CG-XC5FWd1v}8bJfdi#;UbfwE;1c6{s;(V1UgplJ#*GCQm6F2FqyNq#9F}R3UU1+5+nr6Pgn2 z?sRvTVQw4dDNvXbb%}P1R;2P(keD5?3f0657!@i91Ji~URUNyGOISJ~y3F^5C>Wl<+MuJ+MpjMkoVai&SDQ{J# z%vG6kS7pi`t}j|vH=}&H^j1i(k!tE^oL$L(&pC(xo;w|XtEWxnztgMvuL!N0YIs%B zn<~9&(wi>5v!!>A^vI1HeIG(6}f4 z!+~PpL|`0n8gK?s1T&oZLH1ExGQpEH3fa z)sEh$cgixCyBVFC4QGaF0-O)VsvR?4kW(34m~3H&%2PQp`8foBp3;!8F|HQ3597IN zH^0)2yPSU^W_hTkJU+38slYhGMbJZ7rX|EE91p3HP#{q>V~!nFVXJt&bj_??)_8#> zx;{m*nS1Dim@zw9t#-ozd8L_+1y=_{ok40_*YDp9w3*OzlwipE9dP+4`~5%oWcD~_ z{Op$8kV(c5KKaq$?DaCeFPhT*DAT{Fx8L7*7i5qAP6vMa#eV-4zz@JP?)HBFoZA!r&+hE^ zuL2eU(J%D-Yd+uacLHC#qu)Or_cQ;yKmFJMx6`q6=gtFzb`rduG-BtVojXf*{(Z>K z(c(V8un?4j;)3G~cb;^DIC0$S93Pr1bQEP{`PVzek>?yVIDg2{VZ#eXj4U2yt)3A@ zqzunr%W6&v}Ej!z5y&7c&P9{Zh_oY^m1Oq-h_V_;~~t zMEK7;8i9~U?&iVn@V&GPUbV#+^a(?eEXf-S2YephCNegxOsqn#n5MM5yOZ`#7m+S zYrq$6OGKO+k2pE#I(3$-YRdWKRcWD$S`Jb$K=Wgor;VZ=)X=GVIjYx9^W8xqBt%O? zkxsSM$E?kX8`r$h>UK*fYXH`|XX1gj~=ea};SK_7$H&Y?B)lGE~&Iz22tRTzLqt2Q&)rfdL zMMAV3iV;kc2UEPsxUO_vf4xiOs}hB&jOWZX(>1kn%9MoIfJTckn~h1q_Ib)!KHOh` zd?H9DH?vBlEv^wzImJ}=NQ{=p&}liP!%v4VXU>|QTavNWv|@Dx{fQHeMyNrJGz+zf zP)#I+-i&KclxnV3J#F@RLWZWqYu3mD(l=EiRJTs{dEC4#4+}$j)j<7t@fJjPB z)`RKEby%64PGv%o^xJ81`LmGlY}Zr-O@nke{yJbV*50f}#EMOBmg`R@r1j&67_LbZ zqmx{`1tc!w`#)etJz5QFj#7B1&K+ruwe$3DVhq=+5GtOHz_L-D+*poVMwgz^iLo*f z5Ra_WE6p2gQJ;vy``E2&L_G7zCa=@y)!HUS4_Pkn*UH5q7N;$0MC`g6LZYtbka*w| z3B_95u*8mr0x>Nm^HEVR23IU7sj4@@mt36{Ig}?1x{vqB4x>!jWNV?-YS86w;SJqwK0{Smvs6RaYCca@V;P zGb*Z%ByVy{9nzb-U6U@DRAFv6HRu%@%F)|>UT;7zK|GCI>N~NeK8YWN#49+y-C%54 z#w$eTArVh&Lv`Vz-510>BAPC_+(c*AOS80~OK#CXwRkhS)7>rfE7$n^#Ld@=v0qKq zvx%_^I_<%JzyE=c2J4a5U3z-o(fzv~Odwl)Gw!$HKPLwnMmqE12OdmKKVXqj^oxG~ zwGT?!&zb0#J(!v%UoU;A-~WZ5=Z=RT%#FrKC)-TtYisA$XUa)7ovnPC%N;lUWn$n6 zPSUXcML##lDdR`3veSr5qqnXozrcYWgE?Ze@f_Z5dY&d8y`;D2w(;f0W|tl&UgpqW z9$+hnZfd+q5QR;TKVxyV!L+-)F*a3f-(nG;*3BE6QDND0OusD@6=pOh*A&fcDvSqs zKJm;>kJ1tgdW=CMN7Z$vOb>9 zRknzmR)E!o3`|!lcZDL6Z1hX_$YRU^}apfX?%AQ4!jpuyvl;mW)6@0<- zwW&AtZd3WA`{~qPTLGQ@KwTkQ6BP95KeZhdg95l~})OZ_h zXqiwoe8B&s;qv;qVFUiEL^%dBE?$_1*5&c$eAGGGXnirT>3d4*36kMI!$nRr+0*%QVO9zU_E% z1oQq6bMDXAhdTGaZer|)L!YhWF8gTilM8t%GnSRHsZ-CHjx1%g7yP5Ckk6xdaBCn|}*hCaW>4OzU(k zeG!DBgo0uK=k&``{#KBls9sc2YoY>^=7Lep9nmt+3eI!MHxeh^U^gmXcZlyK#HC$l zC+!BIFh@F9)j1CP`H{8HA0_?GET=5Z)XLOXKa6^|8})^7<8f;ImnW7LDCgT-3+WL?4n)guc(UHD?b?jX=+cIVC%emy`-)&8Bq&9r^ zrw06sdjEC!MqjdjBp7@MW%(P@+tVl0HNf;eY4Tx}{inWEI$!5zb3VSd>{x%w+@H?B zeZc=26Yl(MD$HTGn0QY8ob=B((fIm^+TJqB%1u@-`uWk>R%B{+ zYk=uY%SHCDzMM+u>)iU!e{R2w`mR+I3c^a1-0a53!|c>asC31#K9jA_{NU>Y{!RD( zYjEZ_2K=pGPaqTTb>GNNza|Y2qt(K970_UleuIsSx^KuhvrS=VetGqeE%IAI$!6edmmq&7F_%=*EMls zyLeH-+~bMjcOn{p%p-}}F) z#`d&|8dmiIJX@as)As(XjD`BX^`M$sO(- zIQ_VuTl`$+8%Mu?9=*IB-MLT>@uR{}pq%OCl(|B|K(~0GAfBfF>s+a7-ow*Rvz;(y zq9Vt9|4ZsKM{UV!hqKwQL$#mT zRe0NgKl`o0d3VIs_ShF|yDaP{4oktkleIMADrz4cABM6bFAib9mb7QHBk7ju<&)DCysl)W5bl zbPWC!>Nf`u7U);v4n zbErm;Oo8&qp$y6s&Y>uIR8%}F;r8!8cyQ2Q`;sKyr#8ELUK{X#9#{{20_Xx(16KnV z1M`7%f$zLFVEY}{#qMBh%+1G&h$9D#+ww-$-3}Th&b8q&GJc{&nQm5j-Ze3Lp2cWR zj1C)LFZ8;60gSHr{`Sh?c>cJ*{0P4bBWJ+tTE&Js4rIdT*+_*?#MZj8-b2JtmbcYr^v>5c_7`SqK0Y3fm<8Dq+C1IyW{ zoV;(jBGb^b=yq-120oN?o z#DHA3Wfmc0@_H^uEQd+pV{T+cjR7UVB;n^4f-mx@Akpqi3W25repNJLlez*{&=dNTXWIeg|)6rYL_#GF0Y-tynM;B z^7(UV!HUI;T}$UKsinnpmo8iZF5+%_Ryg4H18hK8|@8G`;+;roU{`yEroEcc>Ex$xA&8U7^`Eph2aru1ynZ;svR4Z?c zpJ0?c$kCFzCAIOmHGF(S5Zv8iHF3jHu`VmG)lb-oOCWN6;z|EBU_Q_YGy@^vdf*Pe zcSlw6?K2ONI}m6>7NTuv#p|zkom$t>uy}66BG=?ICWl?+uBs_h}u1& zHB~yvbZX61on$%|W|~eiod`2sCz%ebIa?>0PO3RaCz+0^Iaeo{&ZwE8lS~KHR14BM zl_v33EPq;R%(JWblo|avCwXfsKW?X28)rU=+p{Z;L!WRvT{6pqo@(mPIlHp5$~ZVl zRxpv#tlQCM@Ab%YRQb1aMdP>loxp)px5V3Xu4^gxAei}%D=V+UvL9WW5C2T;@$hH% zx>S!V+Kut29Y!D!s2E0PRRny^(X%L^mFvlizh|A*xP0!?hQ)P_gf^cx{p@qjol!k^ zUd{a41w^JmcT5X;RSmtXDW{kJ9r3=^jY>A{$u*F;u=NDTVwo)5uI&K zo|M0a8)y)GK2UaWBE2;%D<5=#JLVehoLEAv;bjEohiiCtiRHi=UZxbl=W`H7z~_T= zN5TiF5I#UyI;;Vx7=Ceb-e?qPd_ur+@cDcACGh#s@8jVEbb`#&8u)Y~Xea7tk8|A7 zrZV#N82EfB?n&?gIvGAdW8nid4n9Dqzz3)lJ|8mRf)CKC$$492z8|mW13sOGFo3X# zUBe66iSYS@(Wk=)2=lo$Jd>OZpAR9JBE$dV@Sj?)WB6Et&VYYL4t!^t`Z!;g>DTO+ z!v}cMBKmtpvJIxQ5Dri!e1NLp12h#l7ItJ|Qx9#t`%iXpU7ZFWpy}}Wm-xnbbT;k* zItM;L=fVdFlZZ7uk*J1Wt&f%G;ToXxW!yFAr>|$4sq4M&)2xqInU#!;ABZi$@lY8|TC=+;Cu68rkF0&~pv{xVdpoREBe0qF`J>xN&BT1(&|& z56dY@H_|0B80nUl^523|b_S`~xJq)i#G~mfIs5l>rDm6nSvpgt=H^NZ@}&GRhvM?a zp!V=Te@qV9ON3jBBmRyYIg%}kNqBx~X?}jL`7gFt<r3}AV zzb-CL%Y1Rzd6;gM(>c(L>Q!2^YSem&!_ColkAYT_W=5Tu+qNdaasz7?Cs(_Z} zCFRnrdc~Z6oSA9qYSCn+46Ti)&!vzhF=UUC2{0oEnbXH;rb{x)Uz)hjC4J*R646tS zr*EWeWYNe^B7ITY@!p!0zMe=<=@%#0f2o0ZiiWe6zqHW8aOm})n!dUGx=@+6UHx0q zhm=J98|mngON}cTlAJX?^Rm)q@e}1Y*KnzAFDXoE|BTgdrW@rijh8=>zAm%WC}&Fj zml||kR_WoVKPE%^dMc^ur!>H!r>_&zm)}(XsqL@F9cf&d^*>2?8dqw%igOuB8u^J2 zqopa%VnRx3}=do$>2^oLT7Go&O$c+Y|h+%oICr9w7NujvT-Ik@E`x7Igy>?PdIWX1f6)) z-C@*MCMP5%?2+X@yUUe7w{)`0N#}CSM|Q{6JEk}gn9y!aWK zXV~DQTRnNgLY5}GBo1*mCTY-46*Gnx6dA)a$}de0&t{Jg$K~Y>JteO=uh2RkC+Ekw z&(F`pkd-eMtx5*|qw8$zCzG=-Jdcvgm}Y76bfMJdo_X@~6SbDPWsLb!!e!<+yKMY2 z{P4!_6sMOjrMnz;Clbn*8;cubbvm8pCCV?qFJZDTR(7L(i!-`JDy3W>*8Xv%E_342 zrIc4@Mieh8KgHShm#i)?)99F!v&)-}OH=xEm2cEbZuMiwU#kDh>~fWFaam?N@!S-r zIuT|BV5OjIsREqD6~$MMapQ`I4<9z1fy?3{Lx$w(&t{a7x&yGqq5mbR!FsoPBGuORE8fv+yIek>a7n$av<* z@#aY4E}pxbp4qTSJ&Jf5GS1`#G3hQjBD=KVIlFPWWmI?LWNydlk8W_wPrGD@-Ztan z#n2@u%3_vdR8Vs2;}T-VCC5nSNG260i%DOgLn&&GE{(`xnI9(pySvgfE?Yd^rHgKk zZyP@D-`gei&m(nQ3E6mrGgVq@P%=XzizZ5OqW{HHHFelzmqfEyZlm`nq)9)A?v;&4 z=3j~&myJ2aWuG7G-r+kTKuXD&RHi`P#Wy451;)?exXc&tDDZA!;-9tElbum6`!sBB zrEMxrA1{$|#z6Bw8^%L%xroTlafr?+f94iXa#%vgC8C#FT-FHs{o(rArh~(iT%NIL%Nv%*9hhNs2&U&3=k`z|cUO|uWe7S#ms|QD zXP2(Flglga2M;bO8Cp`3Fno#Yp~E=Pa8h4P(T5IY8AD5qf9YKM5Fv+VW?q8Cqbb6v= zbfkUrPK-P0vX>@KM(1?q=Ns{}Z9m(&lu1-PH92hx-{}q zU78XXo7&C#rW5afW=LANQOBis$HI<<9Si$#!wi>+CtDvr5|?dYPj-jOpX3fBy(4j1 z3a&fdbf%ExRocNxXJWtf(065y$k`Ud?6L_sicY+ua#RyPTnTm+VduG)RdEzRnR|8-8JuTK%P@g})L<H(@E@u?cG)s$ zaoMC%rtiKCm6P=rMe8sd>HOuk$zHod6qSKw#Xlj zJLL3pX0&xBDT&ZE+UCrW~2yd^qyV*tid=osP0IkJh=mY%_Rg|j3(Pi z2XJ$}q?NvB<;a+|BX;o~nUt=f!iVA35-Uh`M<^xW)f= z;G@G|_4HnhB<>Ali)+TOBdN4uq3rRDbgJMtg;LXRvXQYMBxRpx3OhZNnkHW_3-j68 ze7rPNiO+ivM?$T9`Z6U#+<}Pd_I4+QHiSH@Rm~NOGYJX7@~EKGd^M{1f_ikXm!r5M z>NPQ61gf<}KNpz~^A3c9t=z8lk&qVhgaWS4NQe)%?+&ZtAbVY2JebcPcXzmb0e5pi zO(sWU;czIzx~peS2uThx7uQUW3uE0IC|Hr6E^ytffUoy@%Z%)l}2syk#yfAN(E; z`GT4_;$1JKo&u`Mo{x*3;L+|2@+C>L}|V+y4rP3ETp-`dG4y06;g8tRM*l44K6-E+STR`dQqp# zn)#S)PAdZItAWs=Mgnfpu8EE%noKC6DY)*eWiAu|^%RmqxGtb-tX)XT>xyc8$~M`G zjJi5~fdCq$JseO`wg6Zol+dkctXUsYg!Uzr0Pa#>kh^4s7Xmuu0o`2JT#snOR>9K{ z^KjL)!~(8M8|I?y5iJ%LIqZh6As2l5IZCuJ0v%&6qpg!H45}VOlFAwy3usYj4U*(@ zmeKMaH6S~!NA<>pq9aV>JaU%xCGXq_%t7wu2rca zadxv{Kw9ybT%MLtEC_uLpj#)bjU>)@BR}q_3RO_~5O;Spu7pCv5}YV$&>hp-LJ=Pt z&DWs{O*1hdJfeC+sBTe0InKjf!XN# z{<9Ky0&6}eea++--oC|u+ZVR@!@v;W{?BjmyKYa$qC2+u_kLdDDe$bt{Z^p<^9huE zX^YwdvME z?R>g3fw}yGDD>AgYnF@sP|M_|COx4h8D)x)ZzDy-YxhOl-I}Luyfq&ft}-SqTsb%v z*UhWBeBqM1r3=ez7nL{8Us6@xaN*($%NI5-T3*iNOQ%hxG_HPm-O|PdO|_TRFI!r> zw6SS^-NL%Y23qP~N|Sl|IfW)ukYW_TKW_ZGU<-ZokuCnuJt*;6{rYAT%|H!k6*_$k z{5u|%*PnPamG@Bb3tevDA?d#ZnLh!xZ&fZC;hAXCV%RQ+5hbRO8s&3x6O9`4RO{-xt?APkJ#CQ<%t)Za5({L|pS^h~0U5$)4=b0*A@{^io2^J(d?-z0ti0pYJ% zTfwLH(biEO;jjJO7lg0=`q%8cn(lV+&gZU8Jl~bwLfS*>P_7rnxnA_x5#{PVcCp{-v$$k9@a=W_@PWtC#($X3niY?Hc#Px>W={L&xBl<6{dLu|zWL7l_Y1#1^~+zl z^|wR*_sWSiq3?Mo5AGjE>71VaiNQfX{pkarTkyBP&)%K4Y{rtQ<0}8YsPpD4X8tOA z(~HZFkEM-&%pI{STk=(20@Ka2onnWzSCN=p>7>QyI4L~SNq7I%K@YS!XaaDn>Y%YL z4ywoXgYefEJL$Gn2nQ}x9MlCY25trJ1vUb^fM(5{Ce8H2VO?V$UB^}rC^-v>NjPL;7vAz%$Q5@0>$aFoWpXbJ1qFo{#IT=OO(nqW8{5eyU-$ z&PSU~hpv`GCjckvVTfM;wc?g0&! zZZhtjz!0Dk?bvn$^cL-~aviKV?pFctZ9p4!5Zwjrb2(`y;*ABiLIxq+iMA^Nb|9<> zateTF(Vt4-kLGqkS=ajZl3MLHTc?q2f7^84}_7& z_3%fd9k#>27xBj;?gQX|pc?u)0XAT!gI<^o{h7>0im2^O=prUb6X5SS17!zBBkX&? zbU?$Xwsj6{!7}6zXq=CHTnt?Uwk}5+4X`Z>pnoeIH2D(Pq6;0g@>1|DfgaYtmMw-p z1FQDtk!xKZJ%E0(>(fa8%lyCreH;GXD`2N!=jyL?(EY3r@LkY{UC@tPao-5P1pZdg z@56N%xD59PnotLzb)A6rIvqN2GIVni(YG+weC#yn_ypLeiKq+Qufl!haR>*#2cDHD zqFqi!`?^p*#JlWx=rqEfErC9agKm_fpNvJ<8U-E0_1e)ycj8(D9su^91YHO3zGCnJ zLqID5hCuFo_>F)Um;s&u+AgO8_r$9q?J;+rUO(JMb1T zVxE&u1I`032BN_2z|VlEfj5ECHBOoftO7m(+zUJoya5!2#nD@ByC$?gkzP{s_DUj9B2L3ScP^20jCP7kCDE8#rO1lg;Rk>I%y&>4`>0_0`~w<0M7&afm1F* z`oQIYAGig00C*Mn2T-yY`3D*RAMi=wZr~x{S>SD8#1ilT7Xm796L1%>5qJqumZF}3 z8bAfE1wI2j0K5RuGK2%QKnHLy@C@LnchZ@_#XvXkRbT*k1vtoI7dz<^pbPjk@NM96 z;3ePyaNKf~4QK+^0{;U%0Bi^T4vcOH1Idzvt0)7ZQ2fPoQ zx&mRqYTypwSHNpP;U!M029^NJ1$YQ}9(WfRd%2Tl1D632;4{FFftP^1E1XmYtN>!b9l-s-i-6-w=rC|0unM>l zxD)sZ@Eq_4FmxrxA7D1H3Rnkx71#v43OKKVt^jiYKd>J77O(}_2jpK3T?8%wRstQs zZNLwKt-wy;ec*&9`%U^cJ<2m_x5z61OQcm?<6F?Dfs26_;5y)Qz;}RO z0j~fDfRkDw2e=S$1D(JI;9I~(;QxTX0FE}~9XJiB2I_!I01pradVtRW_W(Zz`hnj8 ze*xYHihWL+49o&n0AXM)a0hTduo-wB_$%P>J82A14$K9v0NQ~YfjfY20gnLB18)EY ztI@ZC3xHKX2ha!H1NVSHJmq*gflkC+WelA}C(~FON2gFJx#(0HPp4tdG?7lHNti25p)=@A zOb^Pbg3h8!s-mehji%GtbPkY{GCmae1g=?1!yZlX2x3A&kjXf3UyPtq;4o_gt1)Q9=| z2Kq1hG~Gs@q0iFi=yv)%-9cZVJL$jai}WSBi@r?%Ltnvs@~drC-v6^bkEvzoL!w2t7)h=rMYn zo}kUtPXn}to}{Pf*Yq3uEp4Tz=^5Ha&(i zlv2f|oT`jhPE#f*6P44INy=npigJc>rc$PqD;3IFN~KbzOjV{S)0MN8bCh$H8A`Qs zo^rl2Q<qAXRGDfP<5%5tSaX;fAy zmnfGimnoMkS14C1E0wF1tCc2YmEu;K6_4UoRHa2}RoWDv;#XEH0i|6DDj_ATT%$yk zsG=z`r9Zu4m=WX-1VSFSrh1#gX*inIR$nkv zSW{J+Q2B(tNjw3t=Lo8up0-$Ub#gH0sk6x&;|E>HTGSF64TdAWpw?m~+fhADzNkA8 zjJ4a5!)-&0$oFc-&Fd(;l`738oLie=AiB*_KKR*=5MBxdWlrCVsN2Mx;t+ z?`yN)l09d|g(CAoq))=(hZrh#!$8vv}1OcPyYaxxHTdG8+up>pspI zYHwGq3TX*!@`kc7aCXC?XlABpSoQd<)skQeqH1FvEfle5@TytDeGz^}-k~D5?QW}W zOXbQ~e?rrmnj=27B@=^J&A<{>HT$giB0?LR_-S^~nF7&13$y{1zSQHSUSX$c?*NI z1sF$KV=3xn3FL0CY29`_NP(Yex;s~A2yG69tVS#;+> zjRdV-IGL>_CpN#k!<`{`wb!;L^-zRF)J%EJQj}1$KT}nSz8#5Xu3?M?0OE;*}5?nDh(lVhfoX@NmSVFIys zOFg%_qiu4i4|UswwD^KZ3bS*&Kz@pEOGar>ua%#$|HOSzZ;Ys z=EGd3Lv3sF1VYy7su2{z$ZrV=CKi0C9cv&KR)IiM)YsY)R-5E&cNRtTMVrJT$9`gC z4YipMCs?Aba^8}ONp{kVfi}?tYFAUroQH`~e!0#<_BCT52{d8qy4p|)(K|D+u?l44 z5r4Aq#DZD4FjrSI1f%=KB2k`Z=9qg+ge>K-aA(P@g*$86BAvNrx-+NDO0I}Ew`6n8 zUS}jNUr@DQ*6^MPrgNS)9^fru?e5iT+hvGQQ4m=mAviZQ_y?zRs}-6Jp? zv`mFayW~n@NT0F@&XT-7)L6F=l6Z2;XKtA_aoO0~RMsrHm+MC{70SRRc0!`uiJvu6wQAJNU4e67Kh<+BZ2s)aCkL}#`&Ft#kI zyC?Q+8GD3FBbH{LRxoS+uP-CvxOR;MA+$i zJkUlZlV%^8W2f&X$t*U#I+-DBHf(lnEgaDhdVX_vnr5`;6@4i)XRO(#XY>2&Vwkg8 zkR$>--H~9*fE0wsrLhh}Nly-%s2umQ^Lz`%$i;5dX|XtR#HarB&K}Up>GkW9E=1eqG%X z%=_PgKr^?Bt+laXz{)Qg<`>?rjb_VhwM%wPw(4xhXuG>>X0+Q2HHX`-TbMyk*P3h| z;aEe(Cc9hnrB-!<(c=z=u=tk0i%H7_-|fNrPhSLDJDG_!rnSsS3AE{#2GxGUHLS0T zS*m@Ay~spRX1Q2nr3pw?SUn^Nv8nAYSMRA0V!~qiXH-h3>Wg@@GBkPot5cYGHE26S zPY$zNU0XO(_X8{p>5{OSbn79)5a=48S~qcyET%$ormupG_C1`{#Pfe))v|TXE_?Bk zJk?5vU1URL*ilO`kB==)Evm+qYn`0vp>}G+zmj8ROIa83qpJ+VOj5A4{#FM02;4#q z2T+2P-4{W&d(tceVw%UE9JL{f0W6h{yVUN<0qr(Z9H!gnGF>J)k14i853tE)#O<>- zg&?bGG9!PFX+zhniycXg*r=8s616^7W_m~3+V8Ln;NF{FbvRUSeqNW`J#0mJ++J^r z0RY*n2JFcEyTER{0H~&I1m39QM_4HVz9=R)&DH^$E7;e9aVe;!>0;pEiEc`FXL=;$ zX?I60mL#f$J=S?IDnHG(f;q&xd%$67qGaYz*=;cG4BAcYlY(vL^{L^!D7nVE18ZiJ zkJYn<+wVD>`LZ&k&S}k|se_R@)E~0WjLe~S`odm&$gA2KaZ8}Zl*g*hX=-oQLNQO1 zJ7(z@u^I9`hEytA6GaSRwh{D%Qne5)?HC?{Hq^8!=|Qnz)ZL$27Ezrdr?j0b`&! zvRZ7S2Lg7pT@wdSI@2|T&SkUU(1Tzt!YKhcJYnca^Nv=B{YzTbWt!>edTA`%;K{P%Rc=sJ`JxLH+K%5QdvXIhi4wKR7!$=_X)?`NwphsW zdl+V#u_m^m#dW|4Xpgpfv@Xp;@_ADT#^dm0I?onUC^oEY?d{Ss=*bBts5YYXZE2h8 z73)r$mSB43wh}s)(hh=ZZ3rgX6htQ{mm^NJDTW?qslWs^O%yvNkkf7Z3O0wOW-enz zi+Q@CTw-HV53&8F@-cU`-SuH-{QB8WC%toxlWsH7_JKAe;-q^`v~ZV`#)3BXngs1m z&~689ris?r?WFr7iF>PSi#q9g;I?Rj=U!aj2Rvq?J&Wrdz+Zt6fD<$)RRHG!^MOXd z4|D{QLd9Tv1$RjT|T zoaW*li)BwN!ms)f^%9n)VuJZI;;rdmh^U`&*608xWOU*XY8hsYQ;Ia>7cH9K15gGKT? z^o?AH+@NiD$Q{{h9AXMe-41;#mTqt$V=DKc&pLe3PCX}Iame?9WZ(LlgTLU&xw+S& zuhZyT4lM6HZD_mi@)get>3)YugnsV0hM(fn0}i>B`o9iiA@`_5-z=pq4pg&<|D?Er zaQd~l3U?FzMqEY1LHeyDzF|sF^EL0I&^Epba-`?@N(g#^ue4AsK!101dZL04j>l&m zx&K+S!zzGghxTZPC!$HNdfb1UV9xu; z!A;S>|HHq{<`M z(K5C_@R!m8T(f(~`Njt)71DeZAQh5>)Iu;x zG*a+X!n##bH6Z^HjdeH_1*2?;+VM{XzeecF)F^(*8->LTz;A|RH_(lHNo~QMihnNL zg>a`)r{GYDzen5+S`5AiG`6}-_llS@kIe|xL~I{?m*Dc!S%?+ET|0c{Zqd_Yj+o$3 zMYx8%slw;`c99>>Ln36M__8qjTq0HEK7jjr$Y~ZO^5AZ<@R=iuzZIZduID=nIU(^C zIxp_p5W7Rj<#KQgpSbsmoO3Dpch22MB^NHi6B4cHLY?}AG%3@rJvi5OB31siwMJzk z_p)VXB94ZCVYJCv_}3}^RX{R-VXs2eb}Q(Cq#Q&+xd5RA9UVi4ZiGb}b)!UXp(pGX z#C4#-q6033h4eOagYFY0`hWJ`1wM*mX%wH?oqdEXAwYlt0RjX_Ai&PPX7)7;@(>Z^ zAu4Jxgd~tGNr-vyI-tB%R1{EDL{wBn5K!bHsEDYDn}~{vii(Pgipo(`R1SjvtGZ`q zcV~73=lh@g{qA?~-5(payQ-_ItGlbKr)#?L^DJnCRr}{)!mpV0iRw7Ki$O~xWF6BQ zPk~e&Y4e$+PScod(zmfkTt)hQ38ZEa9bE?fw?E^MdwG9mJW%ToI&9SLIjNDg})~t<@*A5swl)%6E2{37Ze+d~+h+9S4HL5**ZTf)( zcosI7*FziE#r2(JZHm^TI&ORn1S*%r zwDo9^3{zAZl-fbsCZ3nJg|zKM5A3^=)Lm~a@eC@Cv_uW*CA9#L@5d?0m+}Aa^FR3m z6F#{0Op3j=owtv$KWg7+f6v~E&*m@UNAq*}#r!IM3qRgD(Ye97+4-gO52wx5+I7rz z!gY~*sC$HawEKGZZ1=UELQkou+;fX(spo{}q~~|f8P8q9)52FmJJBmXExscT@i+K0 zg7)C}U|p~dC--cI*$)35cbs&bb}-INXMd;D>2(I3gPa#TM>@wiuXoOJE_beXZgOsQ zKI?qP`Gxb8^G|1IS0C4C*KF7Qu88Zf>nGRmE~DG#&TwbBbKJc_nrZG@_bm5Z_d@qA z?mOJe-S@e7yFYNBa&w-Jo^Bq8NAe8yjPQg(&bvMLdmi*W=81T|^t2N?3p+vDAB7aL zATTLV8@Mg7D)2;Lf8fKwKLeIvl~gCaCZS=;0ht5Nb<$_j57HT_ZD??4cIfud^3dwg zlcD{gZ}5N-W*6XC?A`4l`)K`L@#zTHfNi+|770 zJ$6sPlP3%oN`<+C-#f@V-20~geg6@Ex4@Nwvw;r5Il<+@_kt&bl60lC8|eLsZ9I`- z_Q8J_+0WRA^4IY-{Fi)+W4vRJ;{%7m+1EJ&deuVbr_K~tSC`i{$F%}lv!#2S`&svo z?tteu&t0B}Jnwrx^?c{)D&z@n;R)zb$AyzZAJHk+itEH;??&%7?@Qi4ynlOBeS>_L zLj4ixL+SLZMJi=;6>4p{=3Ap?`+JI5Tz@yiI$peT#jk{cZcV_J7%}{O$Zo z{$Xg#uI@f=w|lUAq zn>{3!&*i^MC%uviCey-R#WY!p8hzZAcN7H{kA=lkTi~no)%jlWz3=z2gP70xF+~ya9i*|@JR5>;P=5_ zg8vHUNPVP2X{Iz^x>H&qZIqsuev#NvR>&0^7#bZa2u%*n2;CEUEVL!`PUvUa=JOb) z4D{97-rnBX-q-H4Ut*tZueATezQDf6-huDN=kYofx5N^(b>HiL!2O7OoqLn}8R$g~?t{<@r`+e$m1OAKr7yCy*FJ%LL0xJV+0v`pw4V(_72ipWY2D5`bgMGka zdV)b1S!q(H^peyd{Yz>d>H&IZmQg$NuKgph*6sNL{KYW7G99@N(J{<1!?DltzT^&ZJ_gLaV&t zdC${Fa0))5LZ}ty35%hxo)NASOUXT1=T zxvn-Iujfb4Z=PPl81EC_&d^i8^PTj)=D$2RBRD|1SegY^a373uCY>cb5A&b%H6E`x zK)gp>EmnJHc<=Q-=$#I&-bu>Ax@5Ct{qN%k@^AAWz=%$9Om)^cpLe!!ErwdW4t?ua zs6|hqukeEK3e2#-2{>ZffsM|9zJIy@7XO`oATWUP>mKMG5TGyJ7kD_ZE^s*TdEi9g zRG=_8IoKF{2k(0u&64Yh`U@Umk+5HQQ!t4(@fzqi%f*$V-79#Pc>m@53hdt8;3L7S zr7e;rlpA^=^b(nmSUg6QN$1<~75p-OJO7pAd&gR#+`9lq^J~z%rv__+*h@!%-KV;| ziC@CM<$B*$4A%W#_k-?UU_q`GCjqaA#ZBT|?;@`kM*0Nb^}gl)$New*&%jtN3``Cz z4cr^p0Ng*4j!Jk18D0TaZ=Yko)xO+*zx@$=cfL3O8Nbi*hGUR(xO19ox+~M&#XZ$s z1GZ}$*sMR@-8^}o0#C7LIP|j5g>QsbVtbhJ!d`=~#`i$r(ZK70w*sAlIl+shOQbo{ zLeg%ZNncC(A!leps3f#Dv@!G=*a;R^OAIp|{E$?>74)_t{1(Sf#{#F|ddU5_`vkO3 zPfuTuM+gel!VFkFs_OyQqpmB2zeO|j$s52Ac;0)5Z-p-ttZT&owtrFJ_Q0!w#=y^DPum7N z1uqSb4bBeE4?Y*%3uBR!21&!E5^1WmM7moV5xP9I2Xu7`XRy62u}>m+Z$I;0oIRbd zfPXgBHPZF0>qXZ&7v~n;A@_&w&)h9MZAts2iEYI7-lxF}`O9ku>;H~#SYT8Dy^Bv^ z9!-`BGo^$nb_jA7u-f0H-rdN9=!mJblpYJb^U${uP zQMg%nS%{F{eL3{+-Cz}e7dv~aysM$6U-(Y=e)akNOM)N3Ol^RXcpZ4CcSsLPFJeDG z$`YSG-QLyS$3EYF%KoQ)1V7uc$+gWD0NZkddy(7ZaSERate6FJ+emSWSS{WFt-fD; z5B!a;UYFPJo#4S}x$-v`{mznO+ z(D%4+ldqc}$9rbriok-vt%22n#{%yL27o=g0esSx!PkRs&`zmzJGAsFsWte!Z;^+K z1~Oj^wJ)@LVfMVudDfNUZsYC%9^CQ3Pl3M!ErN@Jn}P+>4v7gh2b-`8{2WxOf!L{+ zJq@1T0xtw$%xn~%1IxBwcte;Sniu*pbegPh4CKzVw)P+FzuQMU${ceXOC0w*p1_+T z>;_!^Fk9TOfS>rC+X9|Q9$56r{`LNhKv!5pP#%-*62IEf&eg^BxJv*(r4-fyA@N4> zCGl@D?t(Sm8h#xg;XmYCI(UcIF$Ct0TO6Am&pD2O57E-|jE9B( zag%tj_yBl67ki7mFM9pp-Sm~1Y6Gz^tUDF7ca?jJyAsxeTioXai`Z9`pzlr)i^WQD zmiU9%!`t6`nb+h?_1R&yGT1lOx6pU5?G)SzI3#74uqBBgU;8%E9?$l;kB-%F!O&1 zedwRAKU}Q4xx2l)ySuO3>mC9<|7v$BtXJo{Z*|`dwtRzo2h6bz?)TiEy1#Y*3^vyU zK2Up4cd&;7@!78epM5HLjq^RXd+zZ(?AhSi=6TWcy60=pPaY6v8SO&@9UWYcdas0D zHd(5Yrb{PkHh-+3+D-EOV>D8k?V-d1*`5E?%E);#XxS$T;ZP? zVD{2}u*!w?dKrAVcf8}l7Vh(H1mE8nNDX8KRs`~bzrtwE17B>F^p?aNG?2Nl(s8$= zuXCI85@8D1|6FgicN46py88^F6!0_cp>d&EA?B!otmCe-*V~`8|I=>fJMe?}3H)sS zPJRWyk$(;5{pOAij?rMHXE;7`9CMs=PXs^vsAp0z3^VHN;DX?7!MlR1f{(%qV{7pF z;43hjzZ?8mUT2&E3)W0(C3TRxNxdZpc#Ic;bsj5SBTbURQjIiQS|Hsf-34;5lb({E zmG(&cp#~qoZ1;`yqx8Gq&k$k7s$q@MJi<)o!z=+cTgYa_qVG5_=hVrPcO2`%IXr=h+v*%6*A_8MMw?`+EB( zSpRK@b^LDoUi&_K#D2hj(0<5%*nY%*)PBr<+tNi|=`&*bNTKfDM=S%S&nQ+4y+6E9d?Hc>~Fv^z%dxs2qU1q#=&ZQqN4oOGOmwHo8(oK|PLGsBtb z%yQ;9bDjC%af;4>a{zeGBb=kb6ToLkCC)Nug|p5%(>cdE&$$@p^JQTFSHtRVt#iF| zi*vhkmvcAF1rhL855i1;1ia#7(ECq1PdQIJ85ifWf{&cx%5-J9vR%2Ze3#wjas|L6 zAM6_D8sQoZqh!3Rz%|iT;wp1hxT;-su9>bmu6eFSuEnk;;I*%Ct%P;YdevixK6rGxz4&6H|NfA=eh^DnRFw$GWFkWm*kpUq3UwIs?FVwbngo9N|?`A_*eQ@ z``7r_g8kp*-{Rly-{s#8GwwW?fffgs1eXO@z&y4Z*5_-3>tRmX65Jl#72FM;%)Vd* zEc?OWq2OUywI2;0gIW1R@MQ25%*lq-^jLa;1F9F1aL83P=N_ z!O}2kgfv11WG1*4u0Ic6}Ok~-!$+*ae`P^j}?E(7$`(XPp`w07J`#Ae} zdx3po(lN8bzS6$>|L~Dh(8SnD+~UdzI;f7JW9le6t&Ss`I+C*0vE*{*sQq2MpdOzs zFm@v|2khMcJsMpJYt%L3T5&zB&9;c!#a-Yx?-lon5%GX{P&_0a7LSNW#be@e@q~C% zJSCnM&x(wf^IE+&Z@M?bo9WH+W_xqIx!!!Q9lT)C8}JVB4)zZ7j_{85j`NQ97Jy$| z;w|%5z)V@^oe93^JXixRhE?Y>c{H!_t_A;elXr`EyLXp&w|B31pEm+)%Y)uS-oxG_ z-lN`Q-o#_COsbHo!H=H_>$!Q-B55(KPL@e4q?OWYSaGeD)=QgUMY&ztCGD2>!fG!f z9gq%6hrrJ`0;|kp(sA&`PfDkx)6!Y+S-FrkWDBK-GD4Z5tWb6+2iC#)Fr&LdVki(A z5E>jB2J76>FvE`z6@XV<5-JN-fQM2C>$*AM$1Vyj4lM~S3$1|F%j(b?SWm78AAd_| zduUf^cW7^DUnmkf5IPt-6gnI_5;__>7CIg}5jqL0sMF}<3@|clS@d=3Ec;*W^~xMF zOr1pv)On;@okst>ikuARMzFofE zzP;dkMSKT*2YrWphkZwUM}5b@%RK>p?kV4C@O2qK=ePQ8{&ataKhvM(&-Ul|bN%^# zyWiy({Q>^~SaS{YkMNK7kMocB7x*XoOZ;X23V*e~&Og&X$3M@%$iLXX1pMS=bH_ed z1t0Jq^dIsc_8;*d^&j&e_n+{e^q=yd_Mi1L0S+Icj5acZp^X-MmUxzVR(Mu=R(sZf z-?rYf$+N|?-LuQH+q2iR4_2iIJO@38Jcm6;z^6OrIZpO?PI*py&UzSu6Rd(wNEb3- z6_X`o3pqlrkT2K;mmtFGXn-(S7$%GmMhoMF@j`(xQ7940gbMIA>x7xY9ATcYNLVZ^ z5thLkW~H!NSR^|Z?>OST^?mpo@=|1H??LO;fJez-;OvmW}* zzdIwv`(SHaYl$DW1w64`uHCM^u6?eE>wxQ^>yYa(taM_%v(vJFX8pINwRzG#8Jf4SG+3f0cd+E_P=P~L))m>MQjz?23EJtjcX_)lL77i@73tv ztI1*Eh;URmCL9+|2q%S8!fD~Gz=)h^6>Va=m?370Sz@-BBj$?vqFr=}q8Jbdh=avp z;s|lHI8Gcd7KjtY60uCI5Ua&Hai%y&oF^_47mG{8W#S4kxrgvyoaY#hIm$%mIb2Qt zPwj^o@icX`zKbahU?&6^Ml2W3}*~u2JAiq)2$Wj(_H416e_AAbZA`!^g|FVOz;kLM;m@sF`0Q6y{{MjTt+a5%rwV-H9g*;1 z9en$D3S3+h3HOeIW%%nqD)173cTUy9D~zlRU$ik2o}!a4)LDU_*cJ&-((yO-Rp6ud zN5YrH#PQ1Q>sH{a--v{Nj=9a1!iRm3T*wy+_*+^B`$@qz+hb8|zuPl^`)-aZ9> zU};16d$SgP>)wX&6}tZO_8|qHet$zaP1iruK2zY?YZ}7$==je+uF~Jo5I&`& zFP&82n>ICsf6(dgo6`z><<^Gq5SteMtI;6CkM3y*&)3!OljaJ%kVN>H-6vjpu!^!;k`Qj@9Cz%S088y7whEvtB(R_K57VmsN>Ih75L##8p0!V{d48T z3OwhVhVVB!`Q}}!z-`AH!t*k6xSFQbmhOFuE6t6jo~sK zynK!VUjgu2b^WvbVg;VvqA}b?$KPE+owxoc)PCr2b`~>*Z4BR}n|~kwRIQ)X7@n&uf8%ilK5lSh_@GYyR{v7_ z|Io(p`3Va#Bb9L~|S1a&c0Pm`UvjqzL2*7{T@!wRWzz$Uu zl*wxUC>8@sT-0 zfiEsk)c@w+pui`F8^eQj^WT=+)c#%97#^i7pT9(bp8~kvKbpN< z`o7Blr^c{VSN?;K)c$j_F`O0y|Nr}Wz=ZVigKNB&>5T3ijuA9ZdzQ-zU3Pg1^KpVq z<I%>^PD(O#1t{PR3Wz)CD7{TwUd&-f*S3ix6L_|}ov8{Mllza%1nsRf1lyh#(Vx*YvAtfWv}VWRA<z*ab6w*L(&MkZ-Qw#{PqbP> zb9EP!Na(J1wXM6@CRqFDb%)2ppaxKig zw5?UkJkcw*-;<-tg5d5XJTwnKH?nA+(KOG4MNzIngQ`1Svbre@`3%W#o5G>z7l6B* z9EBWI*_vwtLq2bFMN>GWRgN`e#l5d7+@iSCLeHHal{5iH9nvS98x6EU z;z}jDb@7d)NXo^H&9!Zyy%BOmQUtse5v zaaU*s*rI?{Q&M{a-L>aIpk}2pDVAI%=5We+Feo8jYaf$cn-`rv{8ux~c9<3L(NJ8` zYUQE`vv$s?)?OAdDglQ68i1Rc#F9@Kg3n?i7jCTOfpxyZtSN>6#T_5rL#sUv2E%EU zSFPSIFe53*L1cNJ$by@AH-lBWHfOYwbBVsbq^<-5cHQ+J(d);Mt6PFrx${&Ug6YUH&Gwju{YG1w05OB_6nJPNuW^; z;%5>}U#0cm2%uTE|wohjnEl0KJPfM{5JC6W%uTXp?Bne(j*G zj=7NNPOTfGUKqSJ8Kh9YH2Bkm2njAEZmD%)5^E?rD`L3DR%rD`?W|ZGclnV!LC1*R z;B;LwD7kLwmSj+R=&?fxs+^w_4ON zlD2LN5|yQ-bP{y+$$IBTrIkowUuv-vUA%Ow*7eX|-n3GyBZVtIu2lNkS6cNbNNA7c zPV3it3sF_X>-ypIAu8Q0q_t66MC`baoCk@yO1l(Q5Y)@q)oQ+?T|(+n<;srHIx;F| zsoLzjlHt&1r;UEO)?UWlk~~KXB}TNcq`tbM952GNjtMxW-*wWzPhzW>_vxH zGzF!X9pYy`A&C)c`=N&q)DGb(rA^*#f4O#4P!xIHSIpedBz)SWaB+;S#V|PZlm6Da zU2%nK>GQWTQUoL8&Vs|zUhA}=+|{${%D~5!rLM2S4UUq+q8bovT0Q7|tF}-aA6lC5 zqOK%H+4at6m@oS@RSZ@q)ufPv6vEKE^-!lmtwR@As8lWGB&9GQ?*=I0YO)kSYD!~^ zVVvFqkWOq;!dft^m8CHi!|=U7!O(BhJ@|_)7A~4z6vGQ+`ewrf&1)y=_#RLTb1@as zPKsfu-%!x|-%Zx6XvWkSRv7-50%cxmvJ7|?#dzc|Lr=J&QGvgLbpL2l!dg6P7_8(} zW^l)*^F=HN-Z*rbe8ii^SjfwfANtZ-Tw!x)c)QdTxO zuBJ@Z6sCh8V;tXt7Pz&^R=A$7`8}ivhCSv0`eE%>f~JVF+Z9y}21Nc08hx@!txheW z>ZBtXgCqw)&HiXoos*_blb<{-A*C>M(hNp*msUo)Q%merx=)z^Rn$%jQ%XT*SXah2 z)G8t_MvfjgGR#=*@;&yl-)`FNvZR-3U9H7Tg11+<0T*+dAb!YE^(1a}Gb|V{(Ryfd zd&$m5U!BWIz_C^MMeDl6QHVay>`VCeoorw}f?u2ATUcIMU04`bHg*RypA^6VT6|9S z53NryrK-MgQc*3vsS7`A$r1(wYJ0$n2cK2Oi&a=&OV{l$B?MJe)mJj-5`(JCiWr|( z00d2{D5{#u%uEC-hQ(n8^K2qeN%<6Lj9(LhaQRt-$Gqr4u*j<}V=5DY=p)4^6M}HR zi#eVM1nU&Ay1Cj8gP{6qu*=MpM4*{e`t^EP-83rw@kAg>G1{&e*nAskV69%`U;&Du zVabX2YRADq=O+MvTSEM**aEqv07gDzywjS51>hgSbrW2Sg8mC|yXu-G;k|J9xtbKj z@Mst4cD}Y?Wznoj$|FF$Ym}7RuEnBHLuQoMl|_-FD%w(SAid6}D;9g(9DZ&j_!x_Q zBN)dK+66xeBv5WSmtzb%>#S%jl6q14s3y_m8`JSar$P+(-U8Dj|=MW-%?a z>LLiZZkOy^N ziJu$j)&-!tz(ts<)k1}Q6%DMm>cOJJniTI#Aq>e5Jo8%85;HWI7i*QLU~2I0YZ9-% ziu^|~k2i@K#S^sdl7a_Dp_HO*N`|7TxZDo3kX75-as1;@uStfgp&whl9T!+8TB3)x zdubXYPNZ4qL5>xri?-WoaA(v+aW|d^x27bDi=Pnbv*i5@=(AsG2Rb^1MNE;lE33C_ z;^$&Q0$<^n%_Zpem6K|#=!K)7YG*WbJ^)Oi_}NBC;oBZR1MWQCmW^yM=_9|Fl7q?Z zG=C?B({QuO(n@BPRwSM2-k%I3#%fi%H-Q11ud0lFI&HviO4A&GBp#?Nq4u+<-A7GRcYTRHZw;CGS$3!}Y|u8HwgqiZwZ zmv)VnrMBu77L$|bt`89#I;#!xyRcK$*cw%TfQX7s1BY zs!jo>GXXZax;t6}e8cJ~K=UR*jk(Y}svdmh>L4tO4{Ikn^%igZyiIWN^{aMZs$S6& zkGYka*EYU#1@%H5K)yTdfDRzvxSXjq4(bKalXMW}!su^wkVJP@<7WV=6237ug{3R> z_;R)M+Bcm~t=wacA3Burt+J7Twq8dg`GRUJDT(i!6@bLsv`qBzN@3l6ogi2#k5I+8 z)bMQi4tmjJ{Q>%59$#5|4n+7kaDxFbWR$n!h>8|x3R1`W$ zaLiUS_b0`IPCl(>R$+ZDEbx117g

;sfiJYjLcIT>@^(Q_X10;0uq<3^eXVr#`h6 z>9cZt`LP`M+@yOFO!{=;FCN+*}kWX9_}XM7=ylEC0N z84W-5Ne8}%c`>LVtmRu<4z8j6e#h$xfTfkyb+d5Q-$E-FK3FcVs6g201Tc(uMl=14 z7Dg09uDwi2@T?j}7gE$c?gmg%NeO~%+PWh_`PR%WI=z4(HPebKi)v#%Abjg|4sf_X zk!A?zR^Y=s}{oi1MA^Q44xzug;qm7 z`p4xI!fLFt9Ni$YPL2W8SC!7JF2%Rx2vfR)H{)F+dAvW(fVhLkjT&1x;*!h9K{G8O zIfG+z@DqJGcn7F=hY@k=E2ou|lsjYK_;T>mQFuxDbOn9^pZ&d&1b#U7;>)hc9+d6s z=jvx?SXp^}tEcrVW(N5RDr;xePARV|sI4h3kYURIeeL~tu^-=$S2OCSO{=Iah;0IL zuvEL;NElfeF!-aejxoNs5K>0Y0&58v`K2Y4F@2JBS=Fz+ZC8NjjHjfcCTYfDAT}#S#&$_*9Jzj*=NyqIl9ZsgxIniqB-&5WdB( z=lV?{k) z>cZF(?TmUPt$E=n zSq+87Ffz@HHZZhfkWFL8eA6ho{Yhj#W4@WfZDu+`&9~5Wx|wWyAbIm*nw0@0>L-IC zV$8SFoJ@0JU1jxTGBnM%QNme_Vdy0zhA`&aZ$ss)HJMxh$#gs@$C7g~NNd5LHcJi; zUo(u?O2*QQ4rRvr22i);(&5HgpTSffO<6%>sM&NJ)YkUPkP!K4ZT~tFBF2ZvW6e_Z zK)Q8RJ@NFcon)$@JjL;*YXDoy(w1g20xQewn3QEoY4TJhWjVr7i?EKZBeCQuceOJs z5+UoB*do0ks}=q+GOamF2AA^S7)Z2%+Et^OOnC_PMv~Z6DGwu*Y0H^pQJDOcdv63I zWhNrgfWMUcwlGu@Drd?{MU-jeZhP9SDfcVQN_OzbN+V?z&9lkmQ3cp@61hp7#*{~tHYTMf*HMyLt@BA-;$ z4m1I(tr@#f%|;~1US&b64`VdYtTVp#VJ13l)&+l~PSKGE4$ZP@1_v47d@;?sI;~Wl z^kHqYZZvH(VSJa(wAxY8{vH&n!5BR zVofrrfOk=mvZ#Rf&{VcrnV;!{mDE*~LXH*p&{H2k!JyBX)#FQ2AAOT#=V2qXIIP5>^pP@7#o&%@_e~w7~a9pZl zwNpPHmrDBzTJ6+NVy$-S5!q^6i!t>nRi4dUMn_fZXI?8ELL7&zIqnzu+YujFruJbg zfNU22wnE}TNOVFUEwvvj_m9r9qXkXfpQWxE$8_9_g++D)7RKKhkg#H;0~OX!5>UDm zkv71};&vk92IZu+6OmV9Wq~`Z8zHG7nLWy!W9!!vw3=hX&}{>0uFV|(PJ-=XnxAggg}~c}7ZXs1SszGm z8~F@@Ws;F$yC%{+Ix=h%X)4>SjrX@rK1LupX6-8jwhCG%7YuMO_?3!(KrwycKg(?V zY3q%Gg6*s;n^pp(Zv2fDKqORCGqzYMruc+oN%k{w+4K*N$(ST@xHNg>4>le71Jue1 zwTMbh_RV&Z>|=4+gdo7)f{b(&-Zls80bVM$Z8~;G+f8;@x6rm=Y`0t`FJh`|rj^te zm(r~>#xq*nbz0XaTcD66KrXHOYb~gdHKo_rLx+%sOzR~JX~w`e zSmu#8#h@Ri^`-z*6hKx8)iDRNr1hmZ=Gekyh60$K!Yol34V?s#lY*?~T9U84R91^q z9L_9h9*U3>XV$<3!;(17M`6vhFpP9BEUqZ31qKquNd?VgwNr7GnOc#ibQZZ!pnB3! zRcip!WoDHepd~+uHeAD^8)3xby|SwyiAA#sj*_UAe=uFyYRv&)>~WUGg#oVMe`-lr z@OUU#w|Zz@0OA@rUoEOEC6yVF%`gxna}r9Pf$yb&h-Zg&pNOS13`p6qoXLSXfNg6) z!>OYK^CrtvDrbR$rBx)1yX_yVRQNb5&SX^7!>2}3Vpbs38orMKHl9vKiH(XQHYPDK z^fA~fN+ttHbb&AKC040qs^Z90Cm^G)nI{|BJiyHc8Ux|`Cm`baXWa;$$ws8p3x4(} z#}v+l=pPWWWkx;OxO1!6)kY%YV4yn|zWCM-o}Wf#Ty2b%@u4P&VG}%0NsViTCrC%a z7zQ~(CG~t9sohPIQrqDpO0fi})xh^C5PDjr_)#3iPZCg!J-&@SZDdh3bwFn!d~Hzn zPnFi`I9g{Yt)8*8YGcoPV~rfU2#BnNuLuS4{5ML-$jOAd-$9ea@m$Ukx+X56jMUj; z(>Nj^(p(E)jMQ1J(oN%H1x)7>3n)`+&#_2h2Yi=7sb5tp?G-A$RLofUIwqEnx_j)U zRK8t6^#pu(1EuRSlwNo#p^WjzJ;430#ta1ZhSuu^9=MueSZ*b(Mp9NB;jgQQ%(0MT zkyF3ck?oEkN{}0-k<1E`26tahZ!^lHpeUwZiVIAZ|7;ycI+z_e_~834 z{KixDx}!r3z&u&!)j(uA_qvWq%#nNSJdU_i0U&cReE$Mc*Q%uE#gSS-NySw=?u`RUss_Dc~<(T9qnn{LSZ^&Zu!VEjdh`OANVnFlGC8vg`dn+tH(IhV{?2i+~*CM zNIzUDK(qbIp;(6Hzqj>YB zfB_!v*o{1M-p1iW=c_DAowkuW;nqqXeJ;L(Lze|Niu0y2?6X8heC;XGoT|%rM8atpp!A|qSu(m$vae!{m7 zaQlH20g__J>L(;wgdWu5qX-?^N5XeOIXp^}iqRupj2=XcJt?w=d&O|gC49b5p>@wA zDQm*{D}f8}wUNyN-i7e(31#q5YDx@--EU+k0`JG*`w|eub3iHo{e=Gy$p1;2M*e+MW&RP$f0&*>!yY&vW9phc zVPw|=+i&4J9>{*AvVMZFUIcmF@G%Rdk@bFs^#;m%qLwwKx;Yth#cQ2yV2=Y!SBFUW zXCR5^mr}N~$*}4KE5mMA(=@Uzw8?De&_Oj*VXM%aXGqR4rZuiLu*k9&zPAC%*HyOH z61LAGTYM%4X=Hm^VLO4cT^7SOhH6oh%wY@|*gD|&G<>_mIuy@brCbAq>!{}FQYfg% zcX@M}uSEH-kK@a*7d63p}>}i!{7sB$m%u+!{roGc-rd=u1y)jHF zUJsdVe-{6;4J?`QP5_TfJ4V7+KzTeHmRjTn7A^98$m5L#aW}yo)k2w(1oH3-&zHa%NhChgW02~NhnCYB zZ6GP~atoarV^6JRmmArG!2Jk(KL=Di#g-bT<%%!gy$4O2sf*Mr)>~UnTnfcT-krqZ zFV&x9%SuKTd4{th;Z#^);<>oA`6R+uz=iL(3`ry7tJ3AB8$fvE)uIvx8u5wj3;^{x z0knn#tvqt1A3K=2T%4KjM;^4nY)&K?(o&T(jbz~Rwl^M6PUUQ^ z$Qd`oB+_a>y3#uf9HdT>@O+@NN|m@Dk$AHrA)jEW7p3$E^$Z38l?Cv96G|OZDg8l) z*uNA?XAFtkUE^$QFtCe&)Z8wSaC=xX;+e#h+y+8!NUNx$v4J=mrL7bjxq*z|J*{Mh z8|nDXW~t-xG#Rzt)=|e}3&}Cmm-GWYmzPGZ=rb~4JU=OrO7@ZsnaLVG4Lf1!z@F-za2L z4CHCgJkUl1e0u{)Jde2_8I`F9vJbJmOyj826PnrIS@r;w$;t*N8_MB{&D8V#o!FcO z8Ok93ouz}AE^JP-(H7So@666&$u2t*{k3Z(ybFlnk4vF4H763FFI@}Ik-+e2*3LPB-{ zKzh%^1_y&p%hAKL*jovFW7}8|=>)eCz@fI($j9)yo$ykGtOhDP1uP+eZ`;NLofLQn z0h(Y@;24VaxRXBjuOE*?x4r@-SxOX`*$#(l@0IHCeVQQBLR;iQBh*6AkV2kz>iCX3 zV4EF7TjdnA$og)P@I1i#SZ$Rtq=uW?MO%gD9B8K~`*OnX_jal_#}R}s;IsGM!m3Rm ztMVEG9G0o(6Fpu_a<5l&8Mc7Pw2Iu{6kW#9)niMRML`e4_fj)bW$YPw8gh|U&>6aJw`wVpW#|`#=tLm+ z3VeqG(H$z$FXD)P5l8e3Tv^2vC1;egFA;+KfY^?lNEnZG#be9egv3io;vvZLOooy6 zGCs5a3{nE&_6nBk)FH0s$|>j2YY@5%D1Oxg#00ELmFiNYS_4^bBH2=`E*?Wom@G#o zr#dK1?jlS&CSc-Z*h0eO7%=#$XC&+gtanu=g~((|M}P~OGbg0!v2-VZw!G+#7J9U5B@V7tKa7J*238~CTDirwn&n|uRZ`z!vF`2bkK2-W7b;tAJ-cRbKIYKxEJ~8 zg^@oG^Ca9HOl$9}GP`Twe`XE_urL=J8EqtMzkdB|Yl{1Wo7ES){(mN%74Jd4DnAm& z%Lxo}XsR65%DuM~ErBMg)sQf%m1~7=P|jW`V8Wj^Lymz}f)Nb8@HcLBR?(+;hTQo` zxjQFkU?*k_c{J0?SU7aeEgYVgVQq~?6p+u<6@c>4XrcYN^@dE>x{Qi!dW0G3TY$(cE;N~Vy-r# z*ANr#Ylw~BHN=Pd8nmIlhNRKG%~(zJdri4=>jODS0Sq-Zt_!|ZU=Q*Av{bTM>K>-+ zPLO*CgXei9r6a$H!5(AZgCa<20en{hHB2`r)Q%m2pZhyu5)#;OKSLr7CW>#cJ)NCV zaY{Ukh5Hh)t>EDE{^IBtUP7$Ah#d9)y0`y;3+8su^hb{C6ngvF2N!NLeg z;C&xd@LeeQhR&EQ1uvAG7R>I#3N&D*5)qHN&td!ijkzT?)2d<8FR8C8!E>0!VTaSq)XKov?Pm^m&kyC6;2cNl&>gZ zZz46tTHfC~50KFec?u<2jwAzJDaolw z@`kQW_XW+}D(u5VS2;kr48E(O^nEJzhmm>&vRV;+Jc5|bx-~6w{CzC!Xco!-4c|^s z@SI9|G?Kog8yzX5v7?oDqqP`|wRrY|xG-#hW%8-b{v1k7HY?-t+Qoi2T0 z65ejs%|FI}WB!S=uR7y5M&CEPMdIn}7gb_LByEtVf+(JXvM%?jN>4i)aVr4saOC z-vQ-YfQ9N$;?rOi&ZN^oxoH@$o4wY6i+~(h1Xwsc8;g0W19sI?Q?jlqKi2ur^i;g@ zeMcY?F0|-+s`b4)FSw_Y{U>7%p87_1v~9+mKNzL=7<>Ie`UPY85$bBpokzQl6!QjA=e%~5EK5ia_z^maq;(D)>yfF#>U@son%H(0_io= zM&X;5KFX?5_@-qF4HAWKTK*_YJGdH!Z@OzetB5)tex)K&G&nZ=V`Q3hmNd@v;FpkS zp+w=E9>Q1mS}0NYriT&Aq;t*GD16hs>BjgdeA9iH6OF<*tyDybjlwtGPvwn`!Z)p= zdGS&BrUz)Q9EERM^8!igqVP?R%p&@ViNZHM&J$6hQTV2H!$?kS6u#++FA2q*mhn;e zruEo?XcT_S1X1{=4HS-1_$}k2@J*X3ghb)TTESK<>H>vojXYbUrl2{p;J*xZn3|19 zkS#!lX)yc=m^(jZRAOY!U7nKlD@Wv;vuTDBk#FvL&`4EFV~5S%XgVe$-`xEe)hUh- zy-{rw8FE-oU! znKmNdQc%Ik5&4!0v~6ibzU8`E^2lhWMC4m)@z4MZ-acokJ0}lUF9>U?mq$@-M80J@ zMX@RYx{PH8mIobK<{^ohG)1EFEwgC<%YYWyj?G$+7;}FB3={s`ZJB!q%##*uRm*&Z zHy*ZOS#(Y|6#*=Ai_DZtc^ggHsFX{nlr$dSvNT=p;;MLeQGv3kc=ynhHYVS)ic-l@ z@)^qmcaS$PV&d{GkKRqP@-5hmmUXL1N{P$2Jc+Fu7ng6@{DqOm<(uO+gDuZs4KP68 z9J4=d*-CTQ#O5lSA(m|vxRy1m;c%9nC{HwW-}1sNCMI;>vS*VyY3RP?Ws0i_-M755 z)hvhZTREaiWvP>jRY8Kp=CuRxQ4U8Mb~J7;>f^�cygZBP<_wu&6IwecZu98y4pP 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 literal 0 HcwPel00001 diff --git a/mingw/bin/libgettextsrc-0-18-1.dll b/mingw/bin/libgettextsrc-0-18-1.dll new file mode 100644 index 0000000000000000000000000000000000000000..718a19455b7515b9088607c6acf254ac6a078509 GIT binary patch literal 784872 zcwX$idw5e-_CK7YX`7b72~x0X)v8siGT108g`%Y;XizJ^3@q{14)ZwF>n&- z$uSxg9OvR!>TPt!LB|=f-e?O<3yL$PFj#DX0u>YE1;K&RLi4WA+UMj_ilX!TJ?|gy z%k$8jv(MgZulrv6UV3Z5kYq3z%=AAJF&JtM;$NZR$N#zM|DZG98)W!<+9zk#8mD}6 z*0j6tnV0?G+z0+=?yUQ=XV1F-{s)}dcifdd*L8pPJ@;pizxIag`yROSt`P$Vrsrrd zraBCUDMp(ib4tw=!fB8>p}C(Btw7y+<L6qKik0=j>Ga)0`ye_4LKF&~&jqpPyblgZ^|Rv6u~y z_04B9U3}?f{B-REP0J_J@9X{K8+ipkt*D|uQ>pTW^!t6vvH32y^HbUi`qNDLUZCH( zsmJEK;!=L91wC#e;&S@Uu=L57XS#UQ<^1%-$@Hh5zJuSB`{pBf`2xSZWRhtIeNUm^ zJNn6I&l`oOQ8&|{edz|nt@L|$`Z4+Rr!wX98|1Id>QKYXH)eZVoL8x*+vrI-=>On+ ze3!%K{LOPuQIov&&I6HVk&hGSh5gR+3`#~$@a`Iu!QP_qrzSI7c5n)%-F#d5T7rKg zRbW$HR=L;coS-;!%&NntjL)&C4vS*W3I6g1lR;T4e}(VTvNiU4Z=1BN-rMY&;63QF zsskCZ4XzS~DyvRA~ofkDRMK1#X;1+@!e1rak{lUyg zBocnhzlsqXfS0#}A5g(2gOyV3_2F0j6$XvovRWqpbNQ=G;8+XT^kCMIy^o4*kh_eh z)UOrrekA``lQF3+@K^RCW05OOX z<*zK1oJRRjB+|TLE&J*4mw?Cc>6fbXPdzGk8!J*K5(hV|ebcyMt*DO*g4AHeRHC|& z-Aq#{B4{-@#pV?GM1c35u1aR#`~5)Dkl>=oEXKnxdMY1puWWC-^AI zx;X!Kb7e?gmv!6iGotv62R>!i?T!pq>{ChcujfJ;Ior$E2jBT$lfhfR-Lc+P(0=aB zmX))&C*O^~Vs7?b`rr?%%h!hE3aBl~#G(6eix@ z7T&MpQUInoEbjSMgX;lxqFE_zCQZCWEw!j=O6eARBs?m>yt#-g9GMe*;W;pc6w6cZ z9H#T2)TUT-f=l_6^YjU0s+#8wRUKQ@tXeYOI(2||0~H8=GAAIc_j|^}drFnpBtVz)OBdCt+$;rsY_a>1>yBJqzxV zQqrwPVr8(9o(L!J&4i9x-Wfxb+yZHYQno%g5SiDiW$VLF5H0oZ0&@*hy@Dwak4>|E zt&V?AK^@^2=0tU1xazW~RaW(Ov$xH8i@mMM(aC1$=wO2$_8vU*n6l1=DN0$V;^=_- zR*crfuRKD)S;2vSZzMuY-yzSp8C~nusaE%BgRA~M1ViD~8oW6H)zKlZ8y?mD7!GVO z_iNSL+x!L3;Q`P`5%frzmBcL3YsM(Gv{T8b9;cLc7E`JG*2>N9g;s+zIp5Ja*QOHn zC1$;fIRSqO6F!s(Z!EDI5ZF-OB-MHJttk5C+~%4YQv*z0;jfA-p; zE-)*b*b1(Tkg6G*{S!?}Y5StXu-J-+RaZOln|xJp<0L}G(Wzca9!jn1R7*R^W=lJ% zOrzOoR$U$b@phwsvQeF9R+{J&DgSi1y>{07X>c{Ia5awsPNO=;8*vVRauKT*Q4&QB z2g%duhKu%ueZ@AiTmN|S6&?HJdJ7>CUQ9M|y;(D1GUkD>EGmFSvO#_>tQ?3DqX>q!cM1@m<%h8U3 zOC=UEu6ehq!<4cPDB64?mDJ2XW$_Vz#$q*J89h-BndL9d`D^EXN6vvXOff%CnF`6; z80`UZ@+6y7%WT1O1tNQc&A*|DLbSIxM%&vIu(D(#q|~9Ls0+J@I|CIL#vGdAcj+)7~ri5tT_}0EHHc`2^?w=#Ioq;AyXlKJF?WNW|fjNlp8XeinG|i7H5l}9PyKjpT^?hWKn^p@p2ws3+1j%*Zw9s zV89qbB+?`=i#|PT5dWIwKSZBaM4w)YKE19zHOjBzC+d3b^`SBXB{#k~ccOhuD3_I3&Wv(0m&=N!eluGur^P{3mKqZWxiYJI zgN6J(VjB`hk%K)AVj%X&m(aWah79sW8N%b+NcdJbDufnJp$BE~tc?Pb^VIof(wj5w z5$FnOORcU16Nusolqr9{xpJ={_gsp>C;&Ud9wGk}pLb6$=gsE4zT)B4CByCYlxLcp zr%YRtCuF0tY}BVA7i9^am1pp*vV4>!_^aNKLoHdZJrW?5gbb33b4ee7y&6@|WHOft z`3rI?+f){)PW)x#i5W}&z#vz|rJv5}D>(h7xb$RBM~Xt>a6w`l2Hz^JDq)rX{tz*& zNxcTdUrhdUC}J+HQM4Tq;d{j}4tmJoy)CZYD0L+0UH3zS5h<>SFdB{RI@h z5=gGPh#am>DYA)h>>jE=6ZIp^5^c-p`!y6w359}Zq>sjq1Th`Z2`3;S2edHy^%^$%{i4{QJS9luK=|qUdqpNO1ymioDwhD z1(c$=EW&(4_t9I-H<2loTB)yoI`!B{*M`{-QXfJ!zlm}u6Guw&=b0@wC(g1T9e=B`+^Wj0>}41s3WBSnWa&1h`ERt^YO(qBY&o>xAu!{%81o(MQ+f zD)QPk>PvYZ2R)bl;i)%f`%GU zb5ln$_(>rmy~Y%Sw@rE+eXE*`#+9>G4!NiaAYA4lhcK*2S*Opjr#eOMF-e}+P>W`v zXdfwUS-sM<=nDkPK-w zs;@cnkCn3{w#F2rx9w3+&9ekKV$o5k$pqe+8q%w;iXpvO;H>3SruF5+6X3%?P@pMv zfEbUy4-m_Q$ENCSZ&3zOgga~T7#T3CVhi0vIs$oexeRvk8VT?8OG0Q=1odzOAdvVS zkSG*L+)qgGx0+5OQTSLr%jqJ^H3Cmp2DKkHkc7J4>c6gkQC=#J_&#{X<0iwgeacd5 zn6lLJ9J!a|`ahHr0m1u#;_9FPx1Qiqdz7K+-Y^LMFv)Nra+0yARk_}XmR>cSo~-!L zB6(J@khAq}G@=Q}#F|6V4!Jgp;e%&UyP-NpX(Vm}iKDMXcp~(5q{4$2d7^_eoJ6aZ z=E5uP3w}XP9-Z)W{OE))OpWS;)@3y3G!QhUtd*klV9Hg(ql@0HTH3CbwT5yLKM4F# z`NzmkdEXnW*AJ$0et|d@OThgu4TGA;Ooq@EaNH9z6pE>@&1`aD=r9u6(JSf@r>S|&^B?U*N_zxNQ1*JP--6M~(M1wB%V%YEdxUc}l@q&Y=a_&a0JH3PLp(7BZqm;wDVI-v#eeY;-R$W;><0 zd`F>u#iqEFFsB%OHyGXBCC+4b_Z-(B-3v_jxN6)BlJ0f=-o3zlmutCuLGozV6Y|;= z-w=0qwlmG$ohEtzVKNws!(SKshIm?>SxRd-c}}3vXG4ZA%HTZU?oM}p<7sh4Ju>NP zI4Phs`==Ux6OA5f5mJ*32KV7?$#VenbBEI;&rW_wcWqM|8y%hLzS2%*b2zEkH-NGc z+{1u-nBck(6H{sse_5(a+xe}KOeeprV_uQZ(Jlw`3eu#dK7yu}cZ8GCp8hlcz`TL} zYa+gq2!F2lI)5w17&{8{8!Pa^y)Z&xo<89SnuFE(>;aloSBF~K$>R-; zW{Uy7l{^0=)_)uow*PW9x@FDE=FlEt>&N0=UAo2pP_uFv1TQT>=f}~`F517sIqt6g=qdNw$R0OlaTOe2_*_ditGMbxh^GHNLQ zdz8QfI4heDywqs6(R;f#zN9!d28Xbx-3a9OEhUF_DS8~6iR1n8ySlVf4&^b%&$6Rx z1;!AMYm3s=^~<3*Oq=Tz7Ex`Nx=E6esOLMp_fB3QP%IJ)hYhzH#e8$Z=L(y zMWr1IRj^){QRfwC2>VEghgJl+IY*-88kg!ax(ZU;;i0DKFYw(v!{$J-P;y;|hdWR5 z&oH_lH5w$3LV0{Q8N;9U$#bu(oowwM*H$u}`(4fc8_Z-qce$E;>7Y58Xm(vx6#h=x z8uFn&Xm(oYEd4P%G)#Xqga*)~`|$nF38d1lCH`BDzR5=ab0od&EU1*eg}-t?Y;;N9(Nxm?u<1U@o5xQ{cSzpz_{n^iH)PZqsheM2Ssd& z)MhjpSu@Eixug&R54J%#sjsEgEx?RgxK_j!7kb4Qt1qc~ji=uEPo=z5*%3~s{3X5= zN;p|sU9W`#oWI+{lM}lYS7-hK$@2;V0axb*J18iUdy^&4XB^CSq)1Elag5L*2UGnc zlj`Q@oESz9eR_B)^&i4WIfBP zEEA*n9-!~8zt&j*Bt_4$gjCXJsCIOCC`POx?0w}O#INwcIe`-28J;%D^Aud|A!+s6 zcrGuKSt{+-OI7&>v2jRC??KO_tdsb= zBbh8r~I9b`WhO ziB!ou4Q$TX9H%Wsz3BaCHknMU)1mXpJ=A>zK_qExc3vh|wOgbmf5(^o_>!gzV4Qzm z8r(0~Vk4a+J%fZpPg7R^4M`LUlf}xRbRMHc z(G&RsYt$Ere$%mYm86yt8?xG>S(}nkoP+Yy5%8;*QUE-&CJUXvQPdgY-dPs$l(gj% z`Uz%SN-j$qWb3eVuP~GHV4MdHx{bXFRj&P7v~)4@W6lAaBA+(#x{vrd73vSZFpeYy=y^V@FqJ{dH$u^+_XH(=p0aMoXH#i`EsrOhtG&x zaQvvz=4Xm5V%R|^Ebn4L*ki{MRs-f0Qi`nx3L`8MIN9mY22#yO=czVti|Z2m27g9d!)}w}tELaWiRNnGWAs3=WEuqy%HjaM zL|BFN(OZ8(Tf-M7-$ZNm6U(rCX452>S=kh>UDSkE|ASWY(B++T0>0_PjMdXmHWp2C zeNVnlwS<=k%~d8beyXfh(VUz!ky@S0z(u7sIEI|o1&xaKiZMP1VIRP}gL{EB-L*9` z5L^!L(fe5`Ynw}t{)Z;SN!i}W^G;aC62mWI71bqQ#sYA^FW4qU6R zwki#ioag%&SQj-Sf!eOJWxi=C#_DOQ#zNp-w#;vCQO#ZyRFeD|EyOC{VsNOs*i6mj zNR>IH6k8Up12UoymXQ-2{fNmRcST&q!VHab0>Yg&7Ml%mSxGiE_cBth9CawnRxL75 zREo^xpla20X_axDlK#SjECl3Jhr+9=CIT&aMxf_45XnmUvT!Nl4StgkXG)$c@i7si zRGo`9`c!FEQn7Ms^&)^Br-&ld2zhSjBBFvOM<+fjr5*mVXO%K)d|C?$X@6NO2HO1G z$+7x*X2s&?SrvBnm;Qn~2$wOgr5)6G{aUr(ep{T)f_DTHW$x7yMK5e1oVCY`Nf5 z$+L@Ie2!-+5UZX~kL2-5E4W?BZ<3Zk8Qo*22t7T=C=`ME!z&(SU9x&NIERuR+Uo

vWpdO>k&@2AuHn?@lFrLqSCn)P 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

Eh0nmLlJqI&4K2bH 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 H$;kf!J$ctt literal 0 HcwPel00001 diff --git a/mingw/bin/msgattrib.exe b/mingw/bin/msgattrib.exe new file mode 100644 index 0000000000000000000000000000000000000000..108aa6fa4ff1f9095632c8119fa32cff39e70a47 GIT binary patch literal 55199 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 BJaqs7 literal 0 HcwPel00001 diff --git a/mingw/bin/msgcat.exe b/mingw/bin/msgcat.exe new file mode 100644 index 0000000000000000000000000000000000000000..15bf169c016b0f638439ea779ffceb2941ee6749 GIT binary patch literal 54071 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�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 ar&)hRtOD)hmD#O?hcJ4U(QeEh$o>~bk(zV> literal 0 HcwPel00001 diff --git a/mingw/bin/msgcmp.exe b/mingw/bin/msgcmp.exe new file mode 100644 index 0000000000000000000000000000000000000000..b29d6abc6fc66ceda72c8c0f9439e971d5e1c7f0 GIT binary patch literal 66783 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 literal 0 HcwPel00001 diff --git a/mingw/bin/msgen.exe b/mingw/bin/msgen.exe new file mode 100644 index 0000000000000000000000000000000000000000..2c537c8969dda872d46c5bc73144a44fcc234aba GIT binary patch literal 50779 zcwX&&4SZC^wfNlKO|sb}BuMyBqb?F8Xub)82pS~e%K#CApkgnZ-J4`}v%BuzC5c5r z0VM`1w)E9fZNXAYE&hv^wn%APJA3cEn>R5xW6T3#V1Thbj9>Na%-3oNLoV4ngze7#!RS3o z(+@_sbcB=scp}!G2z2^`foL?Q`&%`CA{F(AqyB~ki~OCjkXBhx;42k8nj0BwQVQAP zrfp5^PR1HQnIkMm$x~dD*?B;4B?K49!gLXYYAjXH(=M*J!gx$qy+WCX5(?FeF+Zop zKSi9Rh}o_wIBZMf^aE> zYckN)O`=o*>UV^3{g!8-yRwE-|Bm>R5WEoDGSE$$K&f}=ufp|Aps9%^SU` zclub(+kI@>LyYb3nlWu7M2TCzjn4Oirxa~c^ON3|QcwSK@Uu0i75&b2`}H9LHE`&g z190`e)(32EJ>7fa*5^EI+Gb#(Ki4&P+9xov+lk#YEeoNyOuGo8)OUdq+M(v{UL9n- zQ^;l91~Q%ysDVSrw@mvtAU^(MA$1Qb*V_Q}F9ZF$w+q*<044el6fkxy0x2NNL!SGI zW{2Qey>5Tu+JzQ+;Lx#ac@CvKLp+;+z8mO|jkV}3X&*sM9$+?p9Sym0-#B5?u4g*Vm@R2)u7S~ji-sa@iZ_g+P1o;9u4bRUXM)kH#VMv$h(K}yr+LC zl;4&QIWR%!^J{^+Z+LwIvOg(Yw+;BL`P&iw5+XqIZHVftukQ7f_Wx)I6SQmowqGwx zr)fr-F9Xf-f=%|T|3NB;l6s5!=R=j(96i~88N~e>VvvV-o1xz}QXDvSg4KEt^iKhj z-jdS(Ef90F*hCf~;bc>-WA$LWP2_)GFag?iV0axM`uDsCh>g21GyN0sE(`y#9p6{b z46xoeZyos6M*T9(HyC-W5BKl>POyJp!3L<+x|j4CY@K>w^mk~Gg<#oBUjQu&>UmXu zUw}>K1#m9VVUdADFCCzH@%ZnM-%AHL-);NvsAr$|R>Pl%;m=D40CpoZeo^lMD17C% zwOH$F;8BXQu7`mXyxMCTWX=A16!(2EH`yc*yKx1xN?nhohVxP$r2Mp(I$;>$8+kf{ z=|3U|!1vhjojlz#9nwD*_?v9_c|84D#6KnQS8>>Gggq)?V>zrJVZ8!2l*8(-16WGH z-p#Ri|B!YTypYc@V#;_35dK)OKSKgnTb2>WXehuy!&zi1in+p&ZtPu#|wkn@zCI zjY1y6j&ax#gv}GMpK@5qOn_Y_V9#<`3&O?<*pnRgFv5lk*rz${D8f)4!q#z^e-^-w z3D_MR7DCuh1?*N1+l8=a1#Aw7^&{*_0h`ESD`x}j(*ib{!*(NVoq!c&TlQ6W`Xu5t zf&af*1oO@T*bM^q9~{@fT&Aqt|nOoN$nM2M`=P^bU-;D`;Fe zdU6T&w@_co+jnbz|2*?##vTj#-(x<-aqnQd#=;fPh5St%M|6vMy1NA7e;*j=8-5a1 zYAJ2lwukFh-#2_82hHAgii4V-Zz#Q*!JjFp6D^n^GXek9BBUH4eZwC~P_Z%yrJDdu z%UOu?Sv6J0dnstsy9{hrSK9xG2j{zi!nGfT0e0Ftpj?qpb6Ed;P^)dzKE*VnU6 zoNb>A?Xw>i&c`2b+tdd_IOOX9S-U^={I>0&>FUW$Uw?cr;Y<6@12yW7rEo0ogDRla zkF^g_8}+R$oqg;Up6>rBusAk<0A-?%xSZVBQo0P=)+QUW{(hX+`@a}(3$fr&h!(A@9DAP9MuX#x z!m+QuXYjpRIrcc=`+o_O&ao|A#>&$AV-K1%waT%34IX68eMlN}%Ex|;;H3awy%L%> zwHTr)EH$fd_*Sa%RnHfG?7L9D{;HFOYoBK1Gpnyh|96vbdC@l+hm)#ry2KKs|G~cw z4AkuJUk?$VGx+%F;;v9Tm%9QwqwvwI&_@@$h*uM)pW(Eg1`tT&AIHr{`6)>E9)R2} zn0pX&%XlXo=CZU|13ivr!9MT0mr^sJas<++;p+3Op>a+T;~mBaNKoOrJjg)X*THN%3S)!u2^0cT>STor zM?p3F*G%)mVuclc5*LE`AZ#jV=!J6SXdtA=Wx7!{9BW8S>IR1*xb8RO1DN_Xq{#oF z=UW6HG*F%5G|(>wG0+LaB2dUwCMJ}Lab=(iov2Jd_}jqPUC=I@ zHVus3DdK}7eo@4SMEr_~Ul#EW5g!rpVG;L>__T;$6Y)_IZ%^=elZZEqc!!8ri+F>G z<05`o#4AO-Uc|bH_lbD7i1&+l55;_axNSWw)7HSaG;*M*Z#ZT)Ugzms==nS**Zm}Q z?4<+NdJ?7#Sb>eM$8k{~zixl;0ex8S+hYAbQ2Z#Ou1~!Umfw%V_m)2o4BT|ftq0J9 z8UV$P`|A5j)?sqp8>v&rzwKQAZ!5wj@tfe2o?8#JZMv0u>*o=8d=0J}pQ&#~{PAL5 ztnUU-pR(pzuW~Qm8{hL+#3p`s>j7guj`}|G$kN^e6LBY_`O!y~K3enImoQzpc0c)b z;bV9!vzv*5q42S{pH~XkeGy&a&{(`BZv$O&))e?b1=nAm!@G1N>%lBjjI5WkE+boX z54yI;$ok)Y)}*X|`@4SKcMqjkGrnuIy6~}S7_BHrJs`L4C*9S=qFz6rlj2Ql+WiI? zma|lj%>%C$bim;FL8Ja}{Khhe(cWdt@s48lO9MyvS^(Dp%W=S)gH3VkS8%i{{KkIl z9GAIpJ)aLon6Pp24{P?*z1{I4P_E|f+>=+mt{46IS94cSnVve?`$Np9POh2UoEo!H zJAKPXUOIq0moYw2vIVqAXn?4H2k*DuRwr&X;x;JcXRtWA=fumX&*INLaV1s?wMw401mX}S+Y>rVzqDUJ*b_fT;c_5Yu%Xnwt!#*T3j1?OMgCIH zSc~wVfA$p#x3&jwQW70`^Pg9 zT0qy5{y@~<7;TS)lO29N5r`%u#K9j7=z&PAz0&V*=|JA`l>i_|TbYGBo zgiHp_3y7xN4>|=f*P?aCfuY8WmbGh9EfI)Bdi+Mo)*fGXyQbs*`*@JGIBMtsI1Msk z)DS8M)epBv0T^&-sdof)(8w1K0dY7Oi1_swsn?lo4~Hu8zGhw^8Vcw!uv#F|p6Ud; zBoakp(RP0(a3O+zuSohw3EbS}@!ehQ{Ev0iOhm zC$wZLqH|kf30;d4v7w46A8zwUV@AeM+2rWMN5EiO+m(X$$nmc-5@= zi!t_B@`4saVc(FZ2f~r0(3Q)G1fuQJW=wCH-n3xW{OR+AZIhbrAJ+t^6m(bU%wa8p ztwuiF0d1xws2lWHx&~trFjD%JN@{+>V21`{L-~XsdzC++gO05!>gtiMKu^-=;52Q? z?8f;Ym=m-SmaFthia0Lf-5Kb?$ByH;^l|0>aZzoBmcT?HrN_q6Xfdus?~IJY4$Dho zoAiJeE^4`{snOQAxTo~^XDnLeCklTe6%oS=_7G7k;!~lak3?e?S~3`jYYxpqF+V;I z#mdg`b38S%aLlrh))oMF9#4Iv5&2|b;`a~6pd6hXY^Fs+&`p9Jfke{o3!rIGtBA*( zym&toW2hf&6h%A32&(t+`h-!Ba1_V7bUip!GrJkt21S}O!45``x0Oq#;&JG?N&mPp zQ%G(!(5X#{grne$_&4d`0V7ieCdfcbtk4GKVK=AA3%gEGs)v9sj)uWTsm`?OK)HBY zzZV2}nd1~p5>l5phAM}Aqt9DR>^uhV?glg9(}ntUg+qGBwE2tYUDvqKRu|~of^!^t zx1Xre+oUTIi2I$F@Xb~jvv23~R423$av*D#6AU|LM<9BJ4v52uq(V7(3y#d#3t`3- z%?$b^u`WrN`0Q5Y7oWMoG>A6cOxR$iS+2E*CJ(DzlBQA4t+mHF@!;q#mMkj_HKz#s zRCJV!6^>uJLg6GVDte%DFf0=Z4pdrq*wE)jEDM!OI(;24p^AaDt(ojh7HVqMIr_3n@){2Owk%=c7$V7;?2n$yQZ+}%9_cQH4K({W#FZ- z+#3&pY&atp?@5H)J76%Ifk6Mvgr@ly#oF{PoT6vOQn=oMikJK6M1z&Srf^V;!e}p};OVI*>z+hPz8Nrpw^a%~xRZK9j0H_2OT7qWY`3w9@rY~GLeSXVL<;MDs##V4@ zEzyZf4O~cqa$V3Mwbj)%6}8nh)$BSjTFgH?5QZ+!mWU+@(2Y$38DMPldpmew6z+Mt z13?{Dr?IGG$(zvbNWn@igl0xn$BGqWN>9;ZR_hK%Qb}OJoZWyqMqTFUTg;gB@z}-w zk@f7UnqZm3ukC)!XKW@dp_x3vGMdJj7*QBaM$CRyR#x%l-r+pEG8CSO?<>}khAwSq>=Pz9clstht#?Z50Y|D`ixsYoa~PKUmWH<2*E;G)DI zYxB>VF#~w|c_}}Zf`x6Y^HP)##1+>h!*^=_Y18}|$J)wNRR~gfk@3Vo0~adS8BW4< z670A%T@Spedq2^1RRBfPoa<)XG;7|R`Lik-XIHc|%&VzbG`DGP#jKXu3o8)3WI`?b z@cLhQt&Cgg)3AQneg|WRZLsQY#yof)?G6jJ8enArn{9)=2(UQ7HrQaN0Jd8?%VsMB zxWf=mLhvSG9R;BdLNf$dp0Je=9)_?R!YdF?K`7QiCkV44L?CQ}unWRL2uC2iqg(uo zQjC>AxE#Wj5N1NS8A2pw(L4a@EfAi7um{5TAiM(M7Z836;Ut82Ab3_VHUz>52p2;r zgHXG|;xiS}O%PfjL?En$uo=R32)iNdhj0kOVF)L&9N4-Dg5S1D*Z}F}5OfIZZSW86 zbY?r{^T|rpwWO}%A!C+gB{+4dxRs>_;&He!W?|OAVEq@0XeuY?+ifhw8Vxv27#4gs zqp3yZi*_}Rd(LyxVCKxlB5bY`XPc22Tg>pr2PAjmo*?dDi@Pip@03)UoYZi8G?sw* zF%u4M?{JqqW#NFkE>sp1FVuTQM!cA(0pFDopAt8~jICmw$@WmJGZ2n)>uG$m6*ay$ z9Y-v1FFy?qx~hCTNu@0&R>{^%G%%^FtvxEv@bMUUZ6#Yb7!7T&GS(|r5%vaoART5k z2>^qYdOkvYQq3JM1PG{^9)(AIe&52kL%*A%GnP5VW`Z=4W>6n}k zQ#?@Kpg?|JER>39v&oGB7C{&m28Oub!PswHi!^<4lsj6eu{)@dm(2`E;1-8XVyX)F zXIS$Fg2gzGS*}1USeMOr!95nyFLUwu4j0}oL9cXm!tF*3);Q0(a5p>< zVeAbT*ier_Y9R|oVoB^WAuuvy?G<6001^de}2QrL)&8h=ae_uu~ROzvRxk)nh!ct5}YOi;|tJSj89RZKtzSVA-uun z4vejInTZqk-atRygaL1H&)sOk?B!$pA=ZCGz(p=sD47UWR9DnYuBf4BKyVeu2M^ab zE}Y-kG@;g@EsOuxLT7SCFrjm9Q{(3ztolGItv=0hXAqXIm~0UIi(ePuZ*S;Q=%*;7 z_@h<_9G_`cXMpE=V2uH(rGQzTW$|2{h36Mna{PROD200yO(E!1w z0IUaKDTspri$aX>5S8RQwgOhC(qV}GL=|FHP$~hrPKc4Z4fq%oDWcE_uY+zH#hC9T zeNYDrGYc%bm}0DvM!H8J-wb?OAr%JA{H%#$q)5WwN`TxX^iBdFOhrJZAJPF>LujHN zSRzdM5NVFJjDeMU{vlfUi6%y^=m(pIi5uscsXb8ZIV3d-P@R>N_Pk}LLKz+Y#i32A z;9nR0t7JItryxdaw*x%l&>#trYXFP$+4;=yjX1SY57a0?euCFb(+3u%`G6mAG0|oL zfQP9@co6;>Xswh;$cA}agdA8sB;61Mhe(8LH#oY?WQ~Yp&eqK>fSB- ztWNyG6l)~CmTctTR$i`SH{ZNqC7JWF9=5x6ocGg!3W8%CIFN9~A zwtCa?>Iegm=gVGK*oW8ul4~S0+8^7v8Kz&p@??C+hc|s!4r9NE$z4^0oqQ`%<)>*> zSmndQxRnjdv18+Uf>k*nu&PaT!i^0q*%vwyDY!3*Ye8KLk7|djiyoxsVo5 zrKnAF7PY7<+dz;88|1_5zjEC&!tDPFK7X5W#T9yQV zPZsVaxI7yW=*rfE!x(k2x}*<=}oga{l)VfSJdW;}D&Nx6&zCd3f%9 z7GFNciER`t$!8`aVC0B2kR)AM^i_h!)}eELI1^JH0RR~9!bWt41D zL2iG=Yu1%et#F`1uz*`1Ki4(nPc%N~bmFp6&@QkCVCsvaMn zpUfW5b6!v!o5>qM?a%K+Mws;GT=*O^Li6zZ{hSiR#I$=BO?9?v36^t_;0o;$YlWNf z;O$_-RP=V1?|m@e&5*h?42o_tO2-r03g&$Xao9k?SQMYKwb#-kCTBui;YHE^b_yr zupG-K6;<>z=Ka)Bp&8fP`>>%}to1e+5V;3=KW%srjFY-b+cMrQ9F{NGiJE?fLyNLe zDD!Te=;nSDh(NpHj-%QcNP?VghC5N|wp5gPzp&Lq-jt2}3G(>Y3F6NNsfhsfBJUR; zAXsTpDygY9_zvnW$|bHbWkq~PhfWZwydKQ^C62!s@wA(- z8UQsJhJuEnd2ld*bn(|sDAEA*aY*Ol&HL2ci%Vc?$|jrUUV>?~Dfkac$n|po^!#ul zsk7YC*JN>X@-4vJOL;y&yHo2_<1kXO+%aRxa78!*$euqO29*w#PRKFE<-s2TdQp$u zvHL)!5nsWf%h&WcfJdgHAuSjV;mkI&M@uqgWHiQHm{bG7U@Q^BM|^rrC0Fd$nR{eB zmQ2#w0nf;Ar7eHAKr!gy0AEy$oD4Zx_PcBI}C(9+~ta) zK_)@h@#1E@@2;glk&DTFzExf?7ai20g1&o%1XfI6Ceb`yO0PgH174_TyZ=60YngdCs3Lc9_A`DQH9A7S5s6fHU7`P*HHh z>~KA5A!`Xgh1s!Y*XLkBPds$&0E0t1U9jI%qAr}6jSN(w(rRW1bSGZu|_p( z{S<2N9`lF=$GShwpo+a%nl_R`X4a(<_4nKsbs^n zzXxjIkTI44sz+AI|IKWy)A_3>Xi?KVX*>M7f(G z>B+kr^@M>}?}&wf)2ge89*NLO#ZMTehCRz?f-MOBiv!C4VBfW6^E1Hc54Icq0cN|9 z8EVLxVeU4)i7pu`SP!vN|<#q(BT9bBGUp;@zxhe!6Oe$1P1~r)-i9H!I;gG_TWNmOA_&wKC?k^T(+ zy04`q_K=(yxRDm>kD|b#9=j2t%7l)TG@Eg7nYhy{;ZW1T+R_$7NRp1(ZlhG;h#xXP{C=k?S*M} z1Y9-823}+KQh1SW*Xgh46g6Vgl!8~2?*F8L+u@Y5HqRE5MmSG+G zO!!V}0D8h?bbriOGevm~N?oK{l$si6%KZwC>i~u(i6z1yM1a`E#^WZ}YIJ?~J5c-* zRm?rE)#P0Mw8vGhB86xt!LUAh7S^bUhBe?1!v!tIT|)`NF18mNpi(zOsY|KU0FjJQ zXEiOjZhDid&QXa@!P~zk2zWgV)TJvysjC4n7Xm0g_8{cPK3RbH%ThEbDPt5Y@wE~4 zteo-viE(JNR1#5G)1?r~&^Q60>qJK5lwSh#u_p=)%%=eQdBl_}e|2KM3D6f1Q>P3o zbYR{9=zk(+l2YNs{2ib<#ekWj%yME10eT@~rYZp^W(+{95Oa<4Q72{+KxZJPUiqXG zvjm_)#LQ5>;>6qz&@RL@Dla)Ps{q=EnAys2oS4r6^vj63UU}Dv`6@uagP3{B$RY>k z1%UoLViqVhPRxG-^ex0JRIYbo{tnQb;ecsTG$*DIpcf)$sj|w683WKN#N4cW+KHJ2 z&>4tXrhL_jxgMZP5c3h`2TqI%(AyEST=`EYCJE40h-p=np$^Rb0R04FLdu0s%x3`l zMZ~lz6P=i^0Q8%P=};CpF$VzpBgEXMgq@gI0s0%nM3gm7%yEGJ1u;?OQ72{qpn2f` z${or#oS0z%y#z5y<;PCUIDk$-OiDTK#LNQdBE)nnS?4)0w*a&qF?TALI59DReiSh) zm8(olDPkT3=w}eKM&VF4Ug3RR#lE>`1mEw$^txikE{EHgpn+pNzXI}zdlm9m{74ii zkHvMS1dwhPj4c(g#HO>RN-GV+`V@p1hdPxY2VPxa47qfWBSiNmdU-kjnHW;t<#t*c z>UEVk29FsDEdxR6>Kz8AEXDC?6fUC)do5rVAh!F9X;>VS5pxS-d-fxCJ|e2{urD3} z{sVx@R|Fy{khl*G*8(*yhq(`|_AN9;J8tt;QmdU0tp-7P*IR5fCn4Sf-~b{{jCLX} zx}ctohoJo5DJFtkV-Wy@i0~*a&LY=CGcJLkobEIc?f3p4GQVd)9~wX86jgV?juHJq_DFeX^^C!of~yAda|PMpN*kBWfImh%Zq4zw=obD7)AVslyf2b{YOO<5L9#FEL7wqjW; zv8d2PofS39=!Y*8YL{__^vLP~e?5B_cdybmbzK>EnO(+4w6$;QO5apHf;;L`hJa+_MKl>rmd|UPmWhr+w~4Q7I(YW z1NRK>h04RgGS};FQT_}GUnmyUn0v9pg)<+l#_;D^%zdNsEnZ1xV-kx7aYx;~M0t^O zxkE?lX`KP)zJ>6}CC_8y)0u(=Co)>53_*PQPIdN@1q&OP=Z{-y zH1V`WVgYQkLAS4`w=9^)JUL1SFw63gNUtXpOJT3b_hyy<89g=_NVRw9<~hA2%c|hY zF;6NgBP%zF`sX)ijaU!P=ArxitdYW0o={h<3TkLtRBVkxp-V({3F$=nIm$~Yu_sJ+ zU|FN5xwyX&3T(`>F8#B@{R2UrfyC`#-K?>kMTsYQTjVyiEhz3cSk`46;WrV`+AM3_ zF5*$jp}5OyV9IzM$~cBg9M2_|d$bO>*M+vo@$SX4&G59#q!c69vCYGK4n+ldS1>3m5d=5z(C>4tG zGu+@ezyQH~q0Z~9RAHULW3YLP%(8({2)n(CkDK&ZCoTy;1cHm)i9I2_$jOXQK{0P;IQ^Agv}tS*raX8(~6)< zTO!selxd+V9R$*)m(;WUF8(ZcxIm(!CtO^)8&RVXq#Pv&06rohj;|_95Htt(10k~% zb#_1W#Z`p~4ajdo5p0w)_!DASBBFR4h}(h3-fUz|Dy%~lJ|Xzt$N7G0)rhFpMW(wS zS-*f24TsbU&`AKDk53Dp0=7pXD4X$pWEXq`K(tX;@&X-MxacrMh(8}hE1$f;1p+QM z@+J6Q;7dkeI{}q{GztIV-9~eKFIzN685@bps>xJaTNoCHbAOXfb6j&h8;w;Nx(bNi z%Es3akD+CTYfFDN&Y-30jD;=gycXt8(2%JpW1Y{*l~SyXlI6x1=Zwwx#9X;-yNgK5 z(@5+NF;39nOL*Ah==SUm&j+7&d9L;YOs^Zjj2LFpZmpO&&uW%UpFx#-8_XG0S<_&j zL6x=Ld~g*rsIsoXF@q}ialA2uD);leZ3b1=bC5NID!m+HpFx!e8q68=3(S~7mA)sD zQd$Gp7YJuFy-M@eS z-BNZ9O^6Nf*Q?~tRq)U@zWY0moLbp36P--St#t9T8Tp^Yg*Pj3p3!hW;Z?aa;;YmO zoX0iXUpA1<|3k05`S7w`%1~vjcUYd=d!cuza-LFzow$(Y<;{WHN%v(8BTp&huK^P9 zjA4q~o0m5w@9I1SFxdsn?ZwQTVUvA~<%}@1;69KUVq|im+z_jrufW7%xjaRgGYsMR zqd{O5-0>7}kuWNcbOXj+%=Cw>=YnWQk;AcpJ7 zv6p1oYT*~yECUO3kfp+a&rw^dhBZ7-pB|;mc>oX0aN8US@E#2*+9a zxS)m0?Bx(YzEZh1-_Xe_cDbb}7P}%(K^$Y{bq;uiEen>Yv~i~zRq=9|thPw6&BunQ z84XTYJA5!#v|P{abUlyL^|B0~&9?hsj^Re$5w`XKXS5pC=WNtG?mqc~ghUk>?Ke)e z?ht$X71r4@MHZ>ioI?%gKF@IOVU^4v;-&`ow3oB&Kip~m5l*v@beesX)rRA2K5~9~ zYh1v+pD1_BFacp(Xv0359;#e%VluQ$ylC@~90QX%aFaxh9UaU>D76~F1J?7-8E z{3l7gXtNi331Si7sZo4JSCoya~j-`Fm`w= z0#G0k2ns&pfhuI+q8IxZgd9&hnOqs#edOGY%}1WIv$qM1$Ltw%o6iQc?d)+VSHLJJ za%m+wR4Pgvf;kLfQLG$o%x~y^wiY*}DcZKcLLlc;?_RI} zBkiB^KD5hQk4hgw_V0J^bziafG55ur9&=S(u*LoKs->=qV)rSg zyEm-b>;5Ub_bvCGbG=7C=k9L1&)t3R{JU;)ck8awVQ;x3e_H0&_51F6a?wq0O?UhD ze$!og@3PoU0G#ixz1RJ;?p6NeDldM@JAB*IYrI{q>SA|zZ;yBQcA)tE z-7lhH7#U`j7i)PRP?rt&&U?&-LtP`@>akz5%!A)q?@x=DFG-`7G|ZieDfGLHJKc&k zjN#~}cO)vh!qEw}e8A|!Uv{@~T&D77FUB1s_d%w#uerosxOBbuEqC`+ci!GPsR!rZ z;_lMDPrEPm?)=WHuRXN+)hFGbTh-Q;`e>K?0P|M5qjRSX%=2F3_HVj*jXQU)cltvg zzsVik>CXG?Y*z`Gt(T!8*JLu}Kh8FW34m*RYor2CMkRTztxXG8=2`B;Yp@G{?}_iA zRhY8UoA2=q^(y9P!*J9uhIslA@6asQb@U0X5`n{08DX~#*ErPe8Jg{`6L@^|>(8>` z=M=ef7U!P4AotXzMcF)c`qH8to_gof!SqEyIi5J01N1T#s`e0h=?Ybx{23<>@o2_VMPx%@DiIIkShqJz@Y(Jh;nprd{! zd;BY2I8?isj<0>EZze+8i*Yff@e@z{!u)VSi}6T7i}77QZ#mGrn2d;r3G18`@h1QU7*)`I&nVKf!f)vm$5+g2Ucw7l-g$ zGd%XW)r6?x#Z&t&h!4@Ku40MzWZPWx5)L&OV~)%ec3&NYLaG4ZbX4 zi$tRenmnR;*Tc29u1eajnmo!Pe`0kN}OMm zI3GL<&buYfdnC@AB+hkbVU0Z!=Y10A%@XJ4v*3JE;(SWt{IbOP$XQrptHgP`#CfH} z`9;^6Iq#G>?~*vLmpFSRYaEd{?~pj}lsK=IIG>bs?w2_4mpC7kI6oqBUMcB(QsR72 z;{2k-d8@?vVTto;iSx@6=R*?b9TMkPB+fX5IyoPbIKLus-YIcDC2{sjoL`hUzbtXy zE^*#1aW0ZLZ zi=?y6d5^^T5s9-daXxt#ocBqbw@RG5CC=>AY0pyi4M|S>ha# zI3JQYFPAtUlsNB@IIosC`z331NSq&$IIosCFO@j2lyr_uoOei^H%OdA66f6#=WdDf z28nZA;yhd8JXPYnTH?H0;{340IWBQNEOA~haei3hyi(%aB5{sLoHxnypu~B-#Cf^I zdAr2LOPqDdpLfXfpu~B%#Ce0nxk2K*OX7S| z;=Ett{IJA%y~KHs#JOMMyhq}^N#eZR;w*MEhAYNy#*Bq6_$wpZW|tv-zad>=(q-&0 z;7G!E806gpV}}9Q48A8L^ts5c553*pQs{%|vsO9t9+9O_2AzdIV@-YZZr!QQIqEaG zeekLOnd~#c)Tccd#9gAa%}IRLVe(<|%4&kHSL}OD_^5;HJoxV14*-7Bpkb=YcchvN z42WEJ{7p!ngNIRfQ+lSI9I5U_Ed4U-KFzFqJgKEZu?l+ey=8zSfR7gpUN3XrDKK;{ zV}?yk8lkhf@Ap3b<7a1XuUV$f!FWn-(*k-bp(QPy{|@-AXQA^}Q|G@kz6WQcIVYV5 z_xXj2tq-bg@tSH&U;Ma$melmEL*Cziia-&Q#;U~-qZT<*i4Rf>-1j?^?M!<|&r$nGva1o;oM#qa^8GN%|2hoTL{^(mj&& z!;9Sf`Y=Wrb)4hDp!B4Ho*smcnp3rd!x@NuD^W>0AAUWGXQzhKjWkRk2NVD)L z4w(lK&rnQ)b`}l3`VI?PkXb}yuPMIgr(~$T zURsuM%EExerBe4wkdJ3sr)xOmvsuRTT!YWk05NurIOKUqo^;d#cgwarAn!tQlcN;A z<7J-%G9DoH4#>o8W1VS8p97GC4$ij$?uD-8b|B= z86dkHobklaW`{l(1H@QEa>$iA#_H6dnGKML!xL^1k9{o5cjg!;ABsv3$!#253dx)*v`8U$DF8(el-bpUC0K(6!h zCnFYQG4ZLl@xeU_pX?8<#i6(4@z=cw1U4jQ~}K#1*0I=$tcE{ijMUd36{yAk5h z=d%FW%ybKo@hkwb{f>HFk#C&cxBa2+_F*X%>rwWQM5Zij5Q>O6b|8~t$LLJ#Oo+k1CSO+do>L~P3-=& z3?NG#r8tmOW+QZ$lx~!4H_7mL{f-R)%Iu#npwOE-gxXg?2%1QrR|->lviXsRj8?JRYfuZ>%#v>JwB|rt+P-2H!m5N~;&tz8 zh<*v_00jjouHn13)I=((hdVWuPQnH7>v%wIKWWC_02&W5B~iywwoUO92%go!{N?u@Idc+sJn_U$fU zws7(MmO1kp)#gQwiyIcG3mcmj%&@$O3aelcTC{+HK?#*U-oTyA{*Go`~`@8h9eJL5xx;)^Ruy$2ZKtIMJ~tL)MOw^xEaR;UYw9cJLm zd$eTbVE)hR!+$J}`p1p+n7T;Q7e~3GA@lnTGsF08H{L1rNYYkwhgIzs6?Nr`nso)r z&g6<96b^v)HeF^yU8aKzOeY}(3Pxf{WDts_bW4)$+c5&hR}0+ggMBPUrLP97u{KqF z>=;;tZ8b>$`b;`Kc80_XjS6%IZiD7ardpFdVAD?HOG?}kuxi~A%RtjZR<-a0J8d8* zX%dF*J|rM~jY-7R)@>}KeMJ*u%W2US;e_Q%gMQP-uxr}qY6O^TCnP%C75pBDi-_ep z_&#%WmZr~(g;Ei1Hnp{_=}c$EKV9LF-l4)$HI~pM0@<6Po1pjOF*g1YK1iw6YRzP| z2JgTD-HLch^^;i!2svSzlk$d*TPov> zhwtIH`+ri?9b*7}#V{O&GLc9qoG|U?e2178ZHKr+$Q}GsMV1o6yNs4KzH?}3!EY#N z=EWf@>2PlDCVb{F6<Iuv*RN-$a0Ij8!#W*VM91 zV;L@t(v{|)bb#*a%F~lDkv`KJGedW`kJa3b`Q&2rrTNQ}2> zB+#BTM>)JTV)oU%JU66Ip0-a833B_w&Ky~8*Ah`JGND$?erWBWnBVw}nt9d8aZ-g~ z-skNI137+%dGNaz(XeTQKAKTl>^T?O(wf;(@v~f%WOf5-Amzkqi=Q(t-ZI}aIc#ls p?O=r$|N&+Ag`cN1_%%|PY4ru$knUm_Ltg`>XuWh;Cgv5;1to10V2F&gI)(xBv% zH4S?j$c==AK$+ttOYtbS8gd>ml*4HQSr{*Xvl2`BS=`3-RtO8};Ztbhof!(P7Z4aP z{wZKA1;lhTgM2rHaY9~klE2$gu4`R7giRv|QwZyqt^_-pNn>+)D4+*83#~iUnT)aW z`AKDed4e(evk7aw95@Rz`I`OZEy*OtL-?nW40&uJ{{HeX!=tuoCJb+)m5<3yCW3_9 z4s1wVaF)t^71bh6nB!nQrjv}Lz*bQ;i^iVEKRY>J^$>hBX3|(w5&YQ==S6T{Is{+! zWi(cU`t=j0U(*nLmsZi(0JgzV&bMX=zRPCN*m3a(^=r=LtF%?raAnXrPjbGNOg_My z#q|5Roin5S&=7o8l{FZ1BVK{R@Y-d*Ov;&#mA!9tzg5_~?sVTgchxU?Qy=t^s`vWH zoZG=#opp0|K#;ipJ1F$9qZoam>L&?75%23em#$84IX`Z5RTqg`T%C# z>E5^2J?kKIb^(O`Z0F)RpU234YwpfDPNZHx=Rycl-vc15f7N@vI>H$=)w;uSP1OA@(^0#gPB?kUAmykCj5Cb+3V)j#>-5j&Br$2w| zawB{2=$luv6iRuLVm1JO9QfayZ15S)_}@$QU^AA!O{>KPBy-m~S)k?=t82<<`qs{yWfw{s+*bTY7ntw z12IaqW2q6Wlmj`-+_b}e0qGN1{4R|D2O>azt|?z(@&36G{~^!+k1QkqH5Ole6~rIo z`9Cz}f0xA{!2BIN|1m~8fV7RA_9aFeK$^yBJ&aae2efNA?NcUfjm0-$eihHZhS9bo z?LtnQ!)PxdEt}J(nQ$&-@yYcNe>02aXERzY(tgHie{@k=S3R#6(q3~JI6q_YgP6Z3 zE8Rn$_2Hm~%+CSCo2$XWpncGHUO#y)wsWX2=-sk_ zs^{(m%-*$7|LWp_x12aW4(gxoKD|m`y1B6XbiIB<_vuEx0sQ<~I{FQezYY#|pAPF6 z&e;M<-P?V-J@p34Q%>yeYbtI4Me0v{v1c&9=eG{*b|}4X)`_jCi}L18(Cz!`ix;8= z-|WCdQ*lk74NW&5gul54NLx06)~PEYs3rM5UnhvN3sIC=C-b*Hji{r#dq=xr^qKa2 z@5$boqafy=10}D_zoi#-ECndmzo-vPcJeCEV^u~oa_ioT7X7w^^)Zb1GG52d`D{Sg z!}9Ki}J8*_0V9KrU!vX=!R*zcu z))o)^#ZLXB1U3B;D6_}ShvHvB5ooJ5VAhh}QN;tV0^^Rg#cOfkxzxd`2ICJMh{{=- z3c-pTX5;L@MLE7rd`CDrNp-(R^>2rYw zrG1W_eSQZhS_uKpxpo^ZMwfKZ$Dmwgp91{VeMS5F>b&R`_PPRe)>#nE@5Z$U@KyCc ziEE3#O~v)^Jl=cc{i8eLgD_b7pG1B8W}>dopc&qMIDhMNP^8aJCwL~zEhcTK-|w;E zR@n`DU!8+zy^mR!qn+ytahmI^8^v>+&{GD+p~auifb(Kb7Un?bSr2`CM^o`?=m15) zSEw)(jpAXt<6%gfm`w2jH*e%2V7m%tnPILs`Y7tnd-0BKN>) zQ1Ei<3ZHR4hylp-&sRV#?9sDe5Xk@RJQzs_p|xoPLsMV=DM$Wi-HcdD{R3S1@D#f#KfzDuwP`*5y@&LXz3=h$`rxR0G3)Bodtm;3 zMbIpd{&8^dy6e{+s_O5aQx93>M2^3&s0X7xzet@r@g3`We~%A+_6-=RQ?0+J+I{Vd=;X-M<8 zvv{>Fk`7D~MI_xcX%oqUn|}jIhe-O~`)-=k|K9g}dd|%>zJ;(|qAmFk%)wwoDe3{K zo}YA8QV733jh7Tdw+!K)XDCe#?+)8+Ue_Wc;OIYt|e@iBn#;nQ4hfY))Dhsta)27?;eHv87vfU ze(OclXXX7*`XJmlxA*0DAKfwUnXgalJ^UR4E&c98I3pwfHPA}=JwGC}+v7gWz>6ij`72Fg*fpYt}9_dB?}fF^ML|&4ZAM_-~Z++ybSG0!QZbdC+t6d zZDH@L6TaX5XJy<^x_{&Aes=D*f>|e113SKeSH@3HLsxlO=mQqRA%8h~O(U3a;651P zW*yS~us-PRsmGyn7y2!Y?r2=tJGvIyVn<^`?`S_n9>kW}p`E(^1{M0;27(A{0pY|; zy|0`&iWa-mYOxp5VmAT}`!;D|ecZ>x0v;~p;V2$f^3cn}1|Ir(Sj)p=9@g`)nukR^ zJjKV#<2-zehbMVBz{A&hc#MYp8uIIJ)3Lj9BvhaW;`BNYTca3934;5lxP$tSbx@uC zgf#Lxd~*EnIwIkgw&0CwvOE-t5Owheb-C6SPU>2sE)qy4wd9$~HzhXunkOfHWo7MJ zBtF&G8cX;(VhPO`jzY8}poe48@*Ef+lYusEwhuV3U)I>PXxY+rzPe>gmdssR@4KEy z%6LW&?lsSi$0K1a=?nORv5t;FH00A`zCa}6(-VPcGD2~azE~?Tm?*wrKo3M>ZRI&l z?OIwuFc8JN5P|5%^t}naJ)rv%S|F6n0BB9bI($hT1O^hJoNzRr(#w6mMY=DXgeq-_ zt=B@nSTv~7ifVyiySX&w1g%m!6a$fm0BR9r^#{Yw^(Et4FdT^ZT2kSN9*(B%6$EBbc53BRE|;O3 z)GdWdL?W?H;A+|E3*2Os2wmpd|t(MWY}OT4Q2Y zAkhY%P&pCwT7nkTW8fV?Om%2c6d&_NV$n8VEY4alkig0cK7>fN#}axvUysEAX%Q0; z25}Ky@!2`V=PL`Bg4a>;a~3UaT-h{#QNuhRJD5_9%V;sYbAkNz$R7$Pv>?ixQ@?2W zyt<}k%dZ3eKq%xh(x@l&0jg0rEgh<@1rot_(5TfHjhS-LByHghTGWRHT76;aEoG%? zKjOUMBy~A!ost`)dZ24|4%4v_bp$7kYY83PpHRYuCDQkeF zULH%dT>%EKn_bb7+?Z?&>lGbPwa$u`aFnnpku#I+;F=ZaZ4r%dv@-C6>afIdAr^bxgv+&$A$l`C^X51&h~AL zrD&(6WUzR!JrHfvXp6^+3Bh@Xbhhk{;0GK^QmaJGXZ}q%76~elv)lKH~qI$6Y?8y;>sbN{&T%3sv zu*o>)wLn)3YA_0O%=Az~(7Oq3Ws=!eo(v)6B&U}=YSFrzW!C+Z+d3AYZ1zi#ZIjtfXi?)W_D#9~rF0BY| zY{L#xMm;}NhIfd|gM?K2rcCiotc#^0q3BecR-wuo3>DZYID0Ips{>3QE9JvdJ{a;l zCZc>`F1sQbzDe`Vnd8GS)>@*fT#(9&Or!WipwM#Q3NSPT+b3q~frI)-iKa&xa5OBs zs_wc4OBO9%P&RL2SyTOzsXj-_u49VBdm_Dol|G|%)%|`rmD)H$5b|7t1xvXlA2DhZ;EgzS8>Uw2I6ro8iJ8_Asf$Cw(x+0z_%!amLBR!ge%CAjSTnNCJJ~tGa3q#RdLhd2+U_sN!W*4%L%nwI-)-TBdO~>d`7)pWj z8U@lzVxd$-TL{x$1ZfeZVPODFAOQKTZH1<x)6Qi5P)9hx{C*HlU(A1a_qEJ18G z8bX7GqqN!D=yHLKvbBPx)o@ge2Xq*h3T>@$1*FnhAN}GQ8!VC3mOxTt{GFiD#uiP& zdDzA;D^-^Ms*Sk@Pm&|Hghnr2An_wxA|6p&DFnLbQJ#j&Gx9SUhZcbgAQi8aNR<4X z(trRhL`aPMLZm@+O#hOm({RxCm=^XTxk7jSHWSKyp2#FSDm$tq4o84TQ|LcLu`X>*Xm|L89hkq4WK~(rV560^iFn=y1OCh}o{?3Ou9^ZES-wzSzJdP*AD>;sX%Qhds za^T+;L?;QDsiUL~(84eWYk(Xjt=Q|yQ0cM{uMlheq>t&`qNuraP!UsDqKS04%zahFBww>K=h~ zBjB_^EDW0YNCOR#BME=YfpQ(!I|(=#i-1fY!~GS59yqO+kp(ZUcJ6 zqCpZUSJ21Imy>Zs_(q(z(MG6Ifcgm@^V2@CBEtuKkQd`^765vf)(DTi)b*_ieNCBHBX#Y$>yXh8xXoFCvb?@SRR;PGj8fsMfbZS#8 zMy6#m?OIR&uA+62M>ax==|keIw&=r=44=z(kh4DU@p&7Ku|hQ?{bYkXGk?Z;A|LNJ z;}bWZ9RD+pu|%{#w(;gXSbfr!GaR2HqUk%c2>DN#+*LK$!M4&=ezgTxRd8X^Lhz|p zBR8%mNQH$0tMWt#TxP;0&~j@=3a$;~T2R;6=D~C-^wDvIJPK;XY{-juWz>d6E1Fc5 zY^RiZ6XlcRzj9QZm+t=x-ZQB4(M@2Y@H>9xK~gt+Ex+Zl7Os`n^2-Aema#h+9~>V(0};mEQ`wK*g3ZZP$3&JI4}-fC z=Rz!)#S>TK!-H9PU5=OIKv=tpX(7^T1Q>FVh>t9K?xjPl*O8U$aN;&f3RXO>&(4CD za;ez6T-|T;>Z?Hz>e?#mPPZ$FtLJTAd6gQ&bqlY)i|szSZe{5L7u^U$c-J;Y8U+xk zRxl57^)gDKOVvB#t<>zU+Zb>W$->*M#MSqJLK~D@kF~4fPMebv+*yXjES3h#%fvkV zEmv0Y{ZQL{jC!+*U&fk;b*+PBO~p9WykG%xmAua?UVs}3S<_g`4K0Z7k+&57xW^43 z5RJOWjkg03+JJ4&xQm1xBjG5}QXMT?g19f_sL(F4mZTmCt_M4%qU(t_`*UGLh=e=B zI?3KCO2-r029kX{=3y%YV^O@pl_c4B#Oy*N6rF?4x7p5H*iJ?`vhRHulIKCy;#l|W z`_Sk#iS3+y|8DdIC)a|MW`FS~FcG_`HYz$X$-Wca6qR5qX5S^Wh_&1Z11s~0>@NwA zfbmvW=@wh|-EVWRU~s%rUw)hW1}Z_acW<^czX(L2iSSOoO80`Y_Xzi(rCU=`lKqw6 zJE(WK5T8;W{*Y39E|8iC(2kn@)!kI#;*qJOrkd!F(7vdQw@oS;$#&Z4MwH6xL9)Nb z@-M=Cw#mfr#AQFmaxR1%GD^YvqaxWTCmXE;)Hy&EbVo5XdP-CMnIA?>0xTP0x}wg zsCE?$m)J-Yn*+tOMVXVv8iZC3x-2D8IIkkC5bXN8Y4E0s)1lI zmI&cpF+HYI2kX*_eQZ3IOwwDVjIJ&7%lbA zxHCr#OWw;ED!~Z`dS413KOo-OM{-!N2x$g!4kNl-u@h&OzU|u2ZPTn>39-}*Xn_0@|!e=ya91`8f+uH15 z9ZKZzN7#rr!pfAuNc|v4&Bi}qn6E*Q|3!#8yceUQFv#ldu@FFQ{uC{MOlT&z@@r8n z8;2Tn3ra>k4Kn+Ko!FFoe+U}=gH1>O0NNWAtv-zwW!?dbX-&`bu>wQ{Ps`UFO)kKMY$IX!B_){BT#_}I5sO^qE0^nM`q=2+DFC% z$CoK};`oRbZPVL{vYY0}!1Nw1Q62^KcPM%!jwy_fzmX_=X|aiuZh-W};xPOzPT`-M zX?i>TB@E8wz0m# z)!Ps1?aoE@La5(>)^^tpB+OiywjF zM2VoC9)wb*e+A|j$FR0gUI^wBGN}@pWYQ%3b3XpUuIzVX{p9>YKiLMEmk3+o?N#O1 zpGI%fj}cOiE_Vem;qUO2cP3pA$qL-$tZdIkZAz=KKivonc(+A)QlVZ{ftIQ~LiMe# z!fv_)IJ%JIUli(F75K|3!@s7Ze?0+0D;~j;=x1n=D)gd$DB6!jA5bQ_!BZxEfK_-K z6?p~7(?aw3Pg@Uq_R2>i@!oDugs(7p1u}BCk#O|asl|*I6rv@PUTjGwtBT7 zOvlzQXS)vR!{$IoyCj)vVOM6#Tx=Mp9e=1tsq`MbQqQPfL1iAX06oHKFECNTZ|D`c z(~dv5y#!qmpQI+r)r^WiHO#pmqPZjZ!o@`{!D~^z-2g7Tbm|D?#Ggsq{|W+Ts%l4z z8cZcrTsG&@OL#?@sm6o!d5GNPiV;Y#IeH;urs=-DonBG_tLfgo{cEgv4i4GdN8rm# zX3_^HTzB70VJ=f<4*A$ZUiDL4%-s;qv^;u{?+Y_QnGdfN6yk6%Wf)Jej2M!^{20r5 zoP#8@ptZ;oHfhV~Z}2Q(X!ctAq-SjyUupdEf?EX{5>B`%MNyd zZR=s#ZU@_PvE9P*y$&|e*luO%0!Mnw#kP%+MmfZmi>;SY3LVCli|sZBTtu9XS0UF$ zH(qRgzd=s(&XaAZy_76RmRnU}R;7<1t=BfHaM8G2!JoWlyX{TNA0d(xibXYIU#T$R zBnQUq1a8RMS1I2neC=U?;Ljfr;>DeVB}bWo9Q zM<|v;=k>asrGG?^4F*ze?Rxr|s3dWgG3AIO6_qo~ck=ps8=YgeIRJnz#GPZgsT`rs z=_)=Eqeb~P1r!?3t4lMjSw5EKrdfP{hT4HRC(N-if1z1mW8$3nM}_$Zk~#v3^NZuH^QEd&XIKzg6#5sj!_|h5B+Qd0^AKPqURNQe9IVG$PB`k+YoW>-UI<$7R zEfQ-9L_q0^{S>&`M1)mkSZ6SmOhB!ai+_l-ib?TH*+Iyh&dghnnRtgFy@GJgWR+Qn zIe3e}$f;pD4aAlCoG@|D#x~AP-&>#>C}oQB@6d92f(#T)=j*J_N(I&#JO-P$AYC>P z3SqZbad%mdb-?mLxf8&ZOK|rF#{;FEqQGL{Myz6f3(8tgqcC?wkdKVO4tqJo&U;M3 z=Ojj^;X_($09G63+aF53g2UR^;cNg&qtd)>_yiZIg1=4T$~4g`?FZI{<6*+LvHLTl zc_u3Qkc}y~3N;!-m7~#b0ewt>KPsqPizEdG(Xo(NjXK+J|LW%a1TIdlLlLA<8UC)1 z(ygF)9Efpq^C=fXQx$qpg{wL4Ee!Y0&10fkCpF!z2#x!SoHCu09s$z0-4NLWurI-> z?CJ*4^S=e83-B#kMThBa$P14_fce=VTKU5HHV|-;NEhWoYWx`Z^E|-$CQ#u&`iy9f z@4I+&l#sEgteQ-k61RXLJWwQ0&mr{(CQJi-CaqQ$F?}8~)uz`T3HiO0N5K}o1{?L{@jBZcvaeVw~ zm!+nEjOld~m=VwGar0J8oM$!5X3n6>XY125sM1|;o%nO9GnO>!N>n!FfV`8#d zZ=KlOc6?SjqILN=MnRe&N_ZUGAOr}@O=Su_$x%_#%}M=_+Y02c6~k&4~z@yzyI?olAel}qeyOe`8% zlS4?>m~;|cZL~7gi%i*0ijt!!i$-GFGXc^Sa4F$sxG-U(K$umbc%CSp50df>Nd>v- zJd`wItYYMymunI`(nxqbxgM_v*+-!+O#0}NkY5YepJN;r0b@&mUIf>=g_eELRvC3iVO=i=63_FgI135t3B6I!DSu=%VM@mj-6?N%>!SiRIK+}mY#*DT?T?lGpu$sVZ~t)F9UeGl_m??{s? z<{GwVEt6+%nfz)~qCjrO5u%HnC%VYUa$;>u@MUv3qv1wd8+eSh9miVRvC!Q72F5s3 zTTq40XO4FPYs(_$e;1m$z_Ue*jTcSo6Ky_$jUN-SI?-js_#CkoGZ4rB|}>pCeR2>Hj(k{-#1a&IAYhiAs4pR+IhQhQ*V5 z2(HT@4vQJw(n~_rPRZdIL>(ASl;JKvq~M6hk}Sd>&tNEcx1YuMZ41VOdmd%{rc7A? z3M2wSjzjkknE<-w$4ZMGKbE4!<1rJKv3qACns)3M6*pw@eu4eZigN$e_F1+|6#LbC z-9JC*t~==VKkdE({%eQv+|G52HNwoiQOVSAf^&2HU(fm^@d-RZvH{kS{TV_P)Vy}>qRto@nIi@WX5l7Dw!Wt%m! z+dlF>`%R1O1^;f(0VNN9#=X=2I=RpNg8gD!x$<(`llGXcRIz{MGw$VElF~Y6TXTI^kVdFJ0?A$!} z2&e6;T<5$IcE<>pUA&GRZ`a-7GUYESuxG8zK6!rjsfh(H7CSw$AdAI5m^hRyyxkQc z?78w0#DqoIv*(zH+g!VdtcQ>1;~vy>v!07a*qtL>juH4?&QFeyJa9u8CoFc4$9$h1 zpA}%UNjho0(~T7V1P6)YLorDb(YjQ8a*FZd?PdDtn-v@~89Tj=Hq>JZL`;wA-%R7& zrX{c_K61sF_!DS&<9ay$Ail)Pq^BB+>84sh#wQ0IkztI~>Dy-QEbhkeH98Zf+-Ba9 zl)n*!xiq>0gGG$Gh!+B?;C~&GZzv2O!{4*G8$5CkO- z8pYRdN8B_zL?H);f2D<1U@*Z!@x2%>qW~)~$Yo-^2G|M=xHjo0FA(gQjn?be5d4Kj z(Lh&G5skRLeGQA=06`avqPAaSQItE0%56khM8bPdWJqpgzoEO8foEO7KhTy%FSVZA7cS|Yh8Vpv^ z=qe0CjEX^&Q89=!>UNH9GSXFqy;ujpja;LV;QSh4YGU}$Ebhke)r{_O49@>##qnYO z4YVUP;+=*AEQ+tPepRvH{|V0PDCye&1Hoe~_aFq{u`+f+vYV0c1;_`jxz&)oRZyhjWa=toFbCD5tkpz$S2hI0%bqC795w*k!W$xQT}f@e%tlcEdGVqr!P81-s7{ z8>6sQIKDY}cbcN|mw)sd6#lZ1qiKrxQW73?R8eqLzStsJd?g7F8|5L=A-;TshlBE1 zCN{>yt%1Kf;nv{SPGFT5tt}j7miYmkI8jhpwB*m>JT7z|#yhy8yg(V%s@gxi&JLQ=m^V}H3mw}k-C9Hv$ZOj^$T@-q#?4d+bV;|l(RQ{8~BB$9C zvVe0-7T1ST@R`AMEhuHY!bX3CGEHIEECywU!gMw$a}@UJD@GA^W*TDMaen=kQbjTIZrm_!Jk-4pPC{8&f}px=W*?gBmKoMBH9$kIv2@2I(RWJ z<-zME(=gAEn>bG%T=U&XY@d zWI>`$_j!1m6862a;>++3z0*vYiC=@TP^#}D8I(&4?Pa=(PUOG0)?$Ok0kQxft~3Hc!jIV2(XOUTD1QliQJGW>(YAXnURl6$ahJ|5ed0pLOv=X@0E~45^{}%{JP`J$gfDqJ0;|h zguMGKbUr2_?~;()CFFf)f&8L`yj4P8Eg{Dx zyjntjNV3LS3As{2J|bD8SwenYLcT{rj!Vc#oten(67mNU@_q?+$JGcOJ4ViguGWm-Y@CA zQ$jA4kdI2p4@t;dCFHv#9p=vfpXmoNai8xUX`wUJgKEZu`>F? zUBdt;A-_3y_YXIkgK5Vq@N;yEXshxhsUim4B(t?{Z#LtlKUv6j^Iop~SaKR&EiUZ%G&3QEtC zN_?DJRFgAXerdWENWIu*;Su9%TAv|s&PgAO7{9FW?zr={o@9*Xo8*cCYdf?eF zcqpY4C=2t2o$gKXy4_91GD_ol{JP(Myh@$>Yore2weuzgY74Q2bHzZqKg!1+(;OM3)>f+Hl!@HdW495QM81-cZ&O>xEsp$MRyE| zgZrYm8_M=YQzTO#JaAvsN6x%2io2m~U$jul7v8cp?JdR=PH7(Arke`>Hr`uLhVM;y zV4LDEl31JGGb9hTDZbB-wJE;UPqs6*DgM@owdoEi9}l!M?)x!2v-`p3L#n%6Q@LL0 zRg+&@of2u)^b*NjHN9icTs7@Vw@zzdy=GC6wDb4D8#t{xePtIh$>O!x`gdqSUW@5C z*HP*8jz-3;$F1>!B6xRyd+HaJ7QW;$$VW>; z=}?}`dVMUZ;x+a>7>CFwm{kT;352QP5`_D=GPDy%$B;6;~ z{c)-82hU0RR!O>Fl0Hh3eupIexpR`fMUq}CNiUG3-zG_a@tmZ$OVW!a>8DAi^hQbg zOXnngn7GvG#Kd4L@S-cZ_@l54TU?Bkc3vQ1|L$<&5>3 z*?8u7gQf1nV$KQG#8vYC+UTf^y8BB{gU*plJpPGNqVs) z{Vhp)za;%}NxEaixkxXOq@R?eKPO3lR+8>LC+R*(`hX<;pd|f1N&2XBl3pZ9e_fJ( zK$3okB)#aIq>qxMACsi-lcaY^SK^;Ki_zG?5u>q57OzF|h`-y2G#$raD*Yoy<5$i+ zYE|zgAHl=zv-vDW>onNR8tVGTU+Mfvq%)M+Sv{S=WklKTZTIN6SekG3MLi*5LQO;(Cg@aIfN zEtGNKtbTrXfKl*?>2?cG15he0l(pQ&ZE4DSpfqr=W0aeKBA%kO5%%o?afK)}+yOjY zX=Igu=5xP=XOCSxi7F`jx%9z7A?ppGl-kT1p0bNw2vG_hS**txWjs*!SxQy#F6By7 zu5hs5gBd)lfg;v^jDmXrVy?t{qwG_tFIuE;2Ag+S|xSg!m8kAxu4NUdA)G20aq2X0d@r0zHERjm75+&v|o{VJ_{OuWg z@e#mhQ%5Q+O#UlM3ly0Hm4I*(> z%P1r1k81oToQXgY&l@w!47Ye9QE2E#91C&-;#k_W1t>c$Ji1#vy(VyafTCM?_PE7U zd4gvzP>xty@CT?5F;k8M#p+`py4hVpn>^)B8fh1`mFF z)r@>SPcfc0hDG7&X>I6DN{lD3Z#x(?DG^*#P3QN zVU#cC8dv>{@<=ZG)gjlJf3)0Z(dXO19-j+#Pz+n$015B$rHOhg0coE3)5>z7^9L&Eup_| zDYY?A{9;8=?gmQ8BK?Uxv5O^m4g)1_;rRtntaH;}fg-NN8D%6mb%Dh*X8@(&V)?~D zDYUG6n}H&(tr%rXJ`GI%yfdGT{07fgfFhp5XOsg#xhGBGA2{L9ieSCIpO4q)T1%=8 z26OyqQ&J@3sTSNVN~goo)>xXgr3F9y##8tSIT3G7;0_Z{;EPZM4~$Jb%EhQ^TQmiY z%3nGzUUcoRrq5R5o00H!!z=KW?5Q~WEv-3yZ8*9lgQTj9>(cLLg;ZNGs3x?wa8lP2 zTro}!X_<7(7ZB9+*BI3FR~6LsR~OXuR~gjw*A<4ei`ins+Q?*>Op9kUh&6?_r7!vp z2O{B{v=CM;6yvWNS3~$dC@U$*NpTHd)1@X-Q9azDsq~4_0Dd|NxXn*wvbTt<;_*ge ze!`T!3l5C(QSbFuKjKB+>hLeuR?RP`9{Lqvyrt(Yt;dG8HYKemDQ7Rlx^(8u88d-B z+!0rW9QqZKSV|YUlm{;X?}UIszy6h)$$n&4q&CxZw83>`_O&7@=h(V zz8q|@L0!)4UWYII(URrEc|B8%yy~ z!s}VcZ%LYc8_NYsSwF!5AZAZfJ#z8M?_3}|wdS%AJd z9m*%kkhTSrG=f>@vd;tfYYbpq0jZ&|Muy^HZ5ubLiZdF%)7|XuUFojFDx>L^4z32M zWdR}*3564MX^%}zzcp%z;O--umK)w=A-o)*^CmcPENSsx<|k~NPpie>Kw`9|=&Y0h z-&ckeNsm*eFZc}A9vmx)AIbx%#wSw^`Nn5~h8v05w@))Z`y)5*@Pk3RDrrw9XElmL zg#w`vt-lE{dvO;T{jgQ5<5PaB}vSBpt;y9TIte+Sl>#| zt1V^?>QsSvT&3S*$`}OEx_v*~WffxblLO)|*HBWb}#dLFv zEy8YpRe+UC&x4lM6Z4$B^dOeOQgj@Pdkc@Op}U@9O+XhErrA-9WfuRUa2b7%ns>-g zg{jt+Y}#Y-1`Lm%Y1zX(fDMEuCm3pKjl}3X7xCL2$#mbsMK>`o1?8d3{E;z}cj31y zIJymKY2{|A@fjyVQd~p28)ETi95av6AJ6SgFR$VAjFS@PFPB V#o#L1+2|@lqIG4E?vuR3{6D-wR!sl^ literal 0 HcwPel00001 diff --git a/mingw/bin/msgfilter.exe b/mingw/bin/msgfilter.exe new file mode 100644 index 0000000000000000000000000000000000000000..96822e418e6a6de8629576e2f08305e6e851c2da GIT binary patch literal 63567 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 CPh!vj literal 0 HcwPel00001 diff --git a/mingw/bin/msgfmt.exe b/mingw/bin/msgfmt.exe new file mode 100644 index 0000000000000000000000000000000000000000..02976bcd10e1415429c1c8355328ca4acb70af6b GIT binary patch literal 178535 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

44+0( zr%=P^5De9$RS5d(CtTeqdgxC8+Di4)&_o8|Ed)QjmN{q|`GXcEH*=@y5zVbsn?rOK zgbPaDlxqJaJEfyk`*+whSgH2!+^IELN2&JjQp&Am4@@9>D|w>$(Mq-d+E=7YsrFyD zT)32K|MiIVDAoQe{_OKA)&461Nh#I--8L(3rP_bhG(AkGlxqJT1@kJ^{;L&KE7ktJ zcWC7zO{wHv(O11xX72jQ{_TQyq zdQhrS7hoz2d1j%eFvqh}UG0E@L|`c2{y#yf4h+54QK|!Z*Ls!eK>oEJr8+R|`yQn_ zF#P-JN_Akwk5rw0Ev5QiDAnL2FcOM?f4t{!29F)}Pgbgfi%z$d>fjm6b^pVd6+Cmf z?ir3!9qfAErBnwKdJP<`AXbA(-I3f%b#SFZNh#IARnKdsdNLBNemsT16(FkkzDV({lN;NZl`SU$0)xkZAN=m5?UcED2sSe(FrBqb@1Wk!lhIPAKia=r8@Yy!c9}EgHPO_ zQmVNs9iP_x z(v<4pyH|RZ>fn1%IZE|@R;r=@JIb%M>BXR}{95PP!#pd$)@I!kwDN0hu}4*<{95O$ zcw70kwl3Eq6b(^9Z>sl!aq1Gc5go5Z%S5RJCm# zBn$)c3?rldGHv)Mp7bzaz+Z#z?7sgH_aq!TR01sc4O1zaZc)%6|u;$=L8d zl;Lm-KYyZ#{M!gRB8P%sDTR}Y0-@h+UlMTiV-SC$n&(*`U5cJPezH=_F9W|P zP(X}+gRo0&Yy99$55+T6ge!DYWj+`F)@%@OujXIA_a$+;AaH=FoS$& z5NCL7rT<$yy&8sxC*)a9Z%!G2rWlFjSuhFeHtH+HGG|?@z-NYQBUK; zYd?*D0l@!y8vkEU;~(y6{9gwCXFQD$KJ?T0PX_qhZs9+9Jzy<5&0Y_DjaS*9bFBwb zud=_3uJ(0bWq(eu2Re~x^>eB9K(|-f&j7}{cd#CS_YrFywpRavud*}WfAv-N=k$7j z8NU3v9@hgsy~@6W^-<5c-76S0E{L|Z_Fd1R)VbZl^!0#s*GoOF2mWENvV)($@GASa z0*74>9QIZA?*yFnfcI5)6a@sGSJ_|T^#G*LycG3u@P`4n8dN;eh8=_7|M>!2g_A*{lA`>w!pazrVa5h~)FMefUS)wIUuJ zgs*82>}YIU9#4+1z+7NjC^&U%PL3zeA!!(-cn!T98reha{gl1^R7$j=jSgO)m&Q~F|M?XD z^C&^CGAq9b3=shZyg#ES>Ve(frC6xSEjMFdfL8)r9z&@Q6j&tqXTzplWomN z<18|wQp#s2*|3w4c~trTto$#*AAtU!p|&7sr7XGpShe7R!Qu6-9n1$t{szev3VrM+ zz⩔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 literal 0 HcwPel00001 diff --git a/mingw/bin/msggrep.exe b/mingw/bin/msggrep.exe new file mode 100644 index 0000000000000000000000000000000000000000..d76882cd366e9cb0bb2d45463037f67ccce582b6 GIT binary patch literal 303050 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 R>M%^us=FO`lI?5y{{SomH7WoA literal 0 HcwPel00001 diff --git a/mingw/bin/msgmerge.exe b/mingw/bin/msgmerge.exe new file mode 100644 index 0000000000000000000000000000000000000000..31051cf75d13124047f8f7c366616c7e8feff015 GIT binary patch literal 123607 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%0Dt7t!=Xz!tDUwKK|cPrY* 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 P?d^xgwwX1SPR{-d83|G_ literal 0 HcwPel00001 diff --git a/mingw/bin/msgunfmt.exe b/mingw/bin/msgunfmt.exe new file mode 100644 index 0000000000000000000000000000000000000000..827910e2e7fc060508ea648b829a058857b5beca GIT binary patch literal 95665 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 PRt^GNl*%Lr+U*Eg; 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

SM#dsRhL|#DnzGn8ds}>3o z1^ITre>Y`L9UWjy46D3mJqj|{n^YMmTZ0B@BN@P`&VrWhEI+axsxYWv896OH2>w`* z6AU88^qK8MWiYG_z^d}BwN%_~ezwx3c_v`l7!MNTAR6k|I7E#m8Ak{EI>+l=nw#N5 zX)!oTFi&!DgRVk1DD?Y7n7ECSC(`nW85N!f8HNQ9cFL1mNheAiQ<^O-x7Er)YX8>^ zG8l`^W`6(NvIJqsHe{DWH7DQZiK7~s=p2ofCJVAm z4I5%sq2%r&iayZa^vou|ZoX{1qES_0mFNk-X!88yQ1y+Y{@Jz~iCTUA9nd%9V#BjA zbWFk1PE*63#B|k!);{sfWC&}xBIx*`7r#T?29dWndM+_Lz?DCkg{CjZNVD;DGHirY zn<|bqAU1}S-sBn5 zq_nmjw2CUm&~m@#WYT6pLQAfzXJs{_+?1(`kms;kj@omxcET|4y~(6AJVWDq1Hv1H z@VrW64MsHacJIW{~zSZ&eH$@ literal 0 HcwPel00001 diff --git a/mingw/bin/recode-sr-latin.exe b/mingw/bin/recode-sr-latin.exe new file mode 100644 index 0000000000000000000000000000000000000000..1f713518fa3519f6d21dfe78b78bbaccaeefd8a8 GIT binary patch literal 43641 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�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%0D< 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 literal 0 HcwPel00001 diff --git a/mingw/include/autosprintf.h b/mingw/include/autosprintf.h new file mode 100644 index 00000000..f447391b --- /dev/null +++ b/mingw/include/autosprintf.h @@ -0,0 +1,66 @@ +/* Class autosprintf - formatted output to an ostream. + Copyright (C) 2002 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. */ + +#ifndef _AUTOSPRINTF_H +#define _AUTOSPRINTF_H + +#ifndef __attribute__ +/* This feature is available in gcc versions 2.5 and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ +# define __attribute__(Spec) /* empty */ +# endif +/* The __-protected variants of `format' and `printf' attributes + are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) +# define __format__ format +# define __printf__ printf +# endif +#endif + +#include +#include + +namespace gnu +{ + /* A temporary object, usually allocated on the stack, representing + the result of an asprintf() call. */ + class autosprintf + { + public: + /* Constructor: takes a format string and the printf arguments. */ + autosprintf (const char *format, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + /* Copy constructor. */ + autosprintf (const autosprintf& src); + /* Destructor: frees the temporarily allocated string. */ + ~autosprintf (); + /* Conversion to string. */ + operator char * () const; + operator std::string () const; + /* Output to an ostream. */ + friend inline std::ostream& operator<< (std::ostream& stream, const autosprintf& tmp) + { + stream << (tmp.str ? tmp.str : "(error in autosprintf)"); + return stream; + } + private: + char *str; + }; +} + +#endif /* _AUTOSPRINTF_H */ diff --git a/mingw/include/gettext-po.h b/mingw/include/gettext-po.h new file mode 100644 index 00000000..091ad86f --- /dev/null +++ b/mingw/include/gettext-po.h @@ -0,0 +1,357 @@ +/* Public API for GNU gettext PO files - contained in libgettextpo. + Copyright (C) 2003-2008, 2010 Free Software Foundation, Inc. + Written by Bruno Haible , 2003. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _GETTEXT_PO_H +#define _GETTEXT_PO_H 1 + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* =========================== Meta Information ============================ */ + +/* Version number: (major<<16) + (minor<<8) + subminor */ +#define LIBGETTEXTPO_VERSION 0x001201 +extern __declspec (dllimport) int libgettextpo_version; + +/* ================================= Types ================================= */ + +/* A po_file_t represents the contents of a PO file. */ +typedef struct po_file *po_file_t; + +/* A po_message_iterator_t represents an iterator through a domain of a + PO file. */ +typedef struct po_message_iterator *po_message_iterator_t; + +/* A po_message_t represents a message in a PO file. */ +typedef struct po_message *po_message_t; + +/* A po_filepos_t represents a string's position within a source file. */ +typedef struct po_filepos *po_filepos_t; + +/* A po_error_handler handles error situations. */ +struct po_error_handler +{ + /* Signal an error. The error message is built from FORMAT and the following + arguments. ERRNUM, if nonzero, is an errno value. + Must increment the error_message_count variable declared in error.h. + Must not return if STATUS is nonzero. */ + void (*error) (int status, int errnum, + const char *format, ...) +#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ > 3) && !__STRICT_ANSI__ + __attribute__ ((__format__ (__printf__, 3, 4))) +#endif + ; + + /* Signal an error. The error message is built from FORMAT and the following + arguments. The error location is at FILENAME line LINENO. ERRNUM, if + nonzero, is an errno value. + Must increment the error_message_count variable declared in error.h. + Must not return if STATUS is nonzero. */ + void (*error_at_line) (int status, int errnum, + const char *filename, unsigned int lineno, + const char *format, ...) +#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ > 3) && !__STRICT_ANSI__ + __attribute__ ((__format__ (__printf__, 5, 6))) +#endif + ; + + /* Signal a multiline warning. The PREFIX applies to all lines of the + MESSAGE. Free the PREFIX and MESSAGE when done. */ + void (*multiline_warning) (char *prefix, char *message); + + /* Signal a multiline error. The PREFIX applies to all lines of the + MESSAGE. Free the PREFIX and MESSAGE when done. + Must increment the error_message_count variable declared in error.h if + PREFIX is non-NULL. */ + void (*multiline_error) (char *prefix, char *message); +}; +typedef const struct po_error_handler *po_error_handler_t; + +/* A po_xerror_handler handles warnings, error and fatal error situations. */ +#define PO_SEVERITY_WARNING 0 /* just a warning, tell the user */ +#define PO_SEVERITY_ERROR 1 /* an error, the operation cannot complete */ +#define PO_SEVERITY_FATAL_ERROR 2 /* an error, the operation must be aborted */ +struct po_xerror_handler +{ + /* Signal a problem of the given severity. + MESSAGE and/or FILENAME + LINENO indicate where the problem occurred. + If FILENAME is NULL, FILENAME and LINENO and COLUMN should be ignored. + If LINENO is (size_t)(-1), LINENO and COLUMN should be ignored. + If COLUMN is (size_t)(-1), it should be ignored. + MESSAGE_TEXT is the problem description (if MULTILINE_P is true, + multiple lines of text, each terminated with a newline, otherwise + usually a single line). + Must not return if SEVERITY is PO_SEVERITY_FATAL_ERROR. */ + void (*xerror) (int severity, + po_message_t message, + const char *filename, size_t lineno, size_t column, + int multiline_p, const char *message_text); + /* Signal a problem that refers to two messages. + Similar to two calls to xerror. + If possible, a "..." can be appended to MESSAGE_TEXT1 and prepended to + MESSAGE_TEXT2. */ + void (*xerror2) (int severity, + po_message_t message1, + const char *filename1, size_t lineno1, size_t column1, + int multiline_p1, const char *message_text1, + po_message_t message2, + const char *filename2, size_t lineno2, size_t column2, + int multiline_p2, const char *message_text2); +}; +typedef const struct po_xerror_handler *po_xerror_handler_t; + +/* Memory allocation: + The memory allocations performed by these functions use xmalloc(), + therefore will cause a program exit if memory is exhausted. + The memory allocated by po_file_read, and implicitly returned through + the po_message_* functions, lasts until freed with po_file_free. */ + + +/* ============================= po_file_t API ============================= */ + +/* Create an empty PO file representation in memory. */ +extern po_file_t po_file_create (void); + +/* Read a PO file into memory. + Return its contents. Upon failure, return NULL and set errno. */ +#define po_file_read po_file_read_v3 +extern po_file_t po_file_read (const char *filename, + po_xerror_handler_t handler); + +/* Write an in-memory PO file to a file. + Upon failure, return NULL and set errno. */ +#define po_file_write po_file_write_v2 +extern po_file_t po_file_write (po_file_t file, const char *filename, + po_xerror_handler_t handler); + +/* Free a PO file from memory. */ +extern void po_file_free (po_file_t file); + +/* Return the names of the domains covered by a PO file in memory. */ +extern const char * const * po_file_domains (po_file_t file); + + +/* =========================== Header entry API ============================ */ + +/* Return the header entry of a domain of a PO file in memory. + The domain NULL denotes the default domain. + Return NULL if there is no header entry. */ +extern const char * po_file_domain_header (po_file_t file, const char *domain); + +/* Return the value of a field in a header entry. + The return value is either a freshly allocated string, to be freed by the + caller, or NULL. */ +extern char * po_header_field (const char *header, const char *field); + +/* Return the header entry with a given field set to a given value. The field + is added if necessary. + The return value is a freshly allocated string. */ +extern char * po_header_set_field (const char *header, const char *field, const char *value); + + +/* ======================= po_message_iterator_t API ======================= */ + +/* Create an iterator for traversing a domain of a PO file in memory. + The domain NULL denotes the default domain. */ +extern po_message_iterator_t po_message_iterator (po_file_t file, const char *domain); + +/* Free an iterator. */ +extern void po_message_iterator_free (po_message_iterator_t iterator); + +/* Return the next message, and advance the iterator. + Return NULL at the end of the message list. */ +extern po_message_t po_next_message (po_message_iterator_t iterator); + +/* Insert a message in a PO file in memory, in the domain and at the position + indicated by the iterator. The iterator thereby advances past the freshly + inserted message. */ +extern void po_message_insert (po_message_iterator_t iterator, po_message_t message); + + +/* =========================== po_message_t API ============================ */ + +/* Return a freshly constructed message. + To finish initializing the message, you must set the msgid and msgstr. */ +extern po_message_t po_message_create (void); + +/* Return the context of a message, or NULL for a message not restricted to a + context. */ +extern const char * po_message_msgctxt (po_message_t message); + +/* Change the context of a message. NULL means a message not restricted to a + context. */ +extern void po_message_set_msgctxt (po_message_t message, const char *msgctxt); + +/* Return the msgid (untranslated English string) of a message. */ +extern const char * po_message_msgid (po_message_t message); + +/* Change the msgid (untranslated English string) of a message. */ +extern void po_message_set_msgid (po_message_t message, const char *msgid); + +/* Return the msgid_plural (untranslated English plural string) of a message, + or NULL for a message without plural. */ +extern const char * po_message_msgid_plural (po_message_t message); + +/* Change the msgid_plural (untranslated English plural string) of a message. + NULL means a message without plural. */ +extern void po_message_set_msgid_plural (po_message_t message, const char *msgid_plural); + +/* Return the msgstr (translation) of a message. + Return the empty string for an untranslated message. */ +extern const char * po_message_msgstr (po_message_t message); + +/* Change the msgstr (translation) of a message. + Use an empty string to denote an untranslated message. */ +extern void po_message_set_msgstr (po_message_t message, const char *msgstr); + +/* Return the msgstr[index] for a message with plural handling, or + NULL when the index is out of range or for a message without plural. */ +extern const char * po_message_msgstr_plural (po_message_t message, int index); + +/* Change the msgstr[index] for a message with plural handling. + Use a NULL value at the end to reduce the number of plural forms. */ +extern void po_message_set_msgstr_plural (po_message_t message, int index, const char *msgstr); + +/* Return the comments for a message. */ +extern const char * po_message_comments (po_message_t message); + +/* Change the comments for a message. + comments should be a multiline string, ending in a newline, or empty. */ +extern void po_message_set_comments (po_message_t message, const char *comments); + +/* Return the extracted comments for a message. */ +extern const char * po_message_extracted_comments (po_message_t message); + +/* Change the extracted comments for a message. + comments should be a multiline string, ending in a newline, or empty. */ +extern void po_message_set_extracted_comments (po_message_t message, const char *comments); + +/* Return the i-th file position for a message, or NULL if i is out of + range. */ +extern po_filepos_t po_message_filepos (po_message_t message, int i); + +/* Remove the i-th file position from a message. + The indices of all following file positions for the message are decremented + by one. */ +extern void po_message_remove_filepos (po_message_t message, int i); + +/* Add a file position to a message, if it is not already present for the + message. + file is the file name. + start_line is the line number where the string starts, or (size_t)(-1) if no + line number is available. */ +extern void po_message_add_filepos (po_message_t message, const char *file, size_t start_line); + +/* Return the previous context of a message, or NULL for none. */ +extern const char * po_message_prev_msgctxt (po_message_t message); + +/* Change the previous context of a message. NULL is allowed. */ +extern void po_message_set_prev_msgctxt (po_message_t message, const char *prev_msgctxt); + +/* Return the previous msgid (untranslated English string) of a message, or + NULL for none. */ +extern const char * po_message_prev_msgid (po_message_t message); + +/* Change the previous msgid (untranslated English string) of a message. + NULL is allowed. */ +extern void po_message_set_prev_msgid (po_message_t message, const char *prev_msgid); + +/* Return the previous msgid_plural (untranslated English plural string) of a + message, or NULL for none. */ +extern const char * po_message_prev_msgid_plural (po_message_t message); + +/* Change the previous msgid_plural (untranslated English plural string) of a + message. NULL is allowed. */ +extern void po_message_set_prev_msgid_plural (po_message_t message, const char *prev_msgid_plural); + +/* Return true if the message is marked obsolete. */ +extern int po_message_is_obsolete (po_message_t message); + +/* Change the obsolete mark of a message. */ +extern void po_message_set_obsolete (po_message_t message, int obsolete); + +/* Return true if the message is marked fuzzy. */ +extern int po_message_is_fuzzy (po_message_t message); + +/* Change the fuzzy mark of a message. */ +extern void po_message_set_fuzzy (po_message_t message, int fuzzy); + +/* Return true if the message is marked as being a format string of the given + type (e.g. "c-format"). */ +extern int po_message_is_format (po_message_t message, const char *format_type); + +/* Change the format string mark for a given type of a message. */ +extern void po_message_set_format (po_message_t message, const char *format_type, /*bool*/int value); + +/* If a numeric range of a message is set, return true and store the minimum + and maximum value in *MINP and *MAXP. */ +extern int po_message_is_range (po_message_t message, int *minp, int *maxp); + +/* Change the numeric range of a message. MIN and MAX must be non-negative, + with MIN < MAX. Use MIN = MAX = -1 to remove the numeric range of a + message. */ +extern void po_message_set_range (po_message_t message, int min, int max); + + +/* =========================== po_filepos_t API ============================ */ + +/* Return the file name. */ +extern const char * po_filepos_file (po_filepos_t filepos); + +/* Return the line number where the string starts, or (size_t)(-1) if no line + number is available. */ +extern size_t po_filepos_start_line (po_filepos_t filepos); + + +/* ============================ Format type API ============================= */ + +/* Return a NULL terminated array of the supported format types. */ +extern const char * const * po_format_list (void); + +/* Return the pretty name associated with a format type. + For example, for "csharp-format", return "C#". + Return NULL if the argument is not a supported format type. */ +extern const char * po_format_pretty_name (const char *format_type); + + +/* ============================= Checking API ============================== */ + +/* Test whether an entire file PO file is valid, like msgfmt does it. + If it is invalid, pass the reasons to the handler. */ +extern void po_file_check_all (po_file_t file, po_xerror_handler_t handler); + +/* Test a single message, to be inserted in a PO file in memory, like msgfmt + does it. If it is invalid, pass the reasons to the handler. The iterator + is not modified by this call; it only specifies the file and the domain. */ +extern void po_message_check_all (po_message_t message, po_message_iterator_t iterator, po_xerror_handler_t handler); + +/* Test whether the message translation is a valid format string if the message + is marked as being a format string. If it is invalid, pass the reasons to + the handler. */ +#define po_message_check_format po_message_check_format_v2 +extern void po_message_check_format (po_message_t message, po_xerror_handler_t handler); + + +#ifdef __cplusplus +} +#endif + +#endif /* _GETTEXT_PO_H */ diff --git a/mingw/include/libintl.h b/mingw/include/libintl.h new file mode 100644 index 00000000..a8e2d414 --- /dev/null +++ b/mingw/include/libintl.h @@ -0,0 +1,464 @@ +/* Message catalogs for internationalization. + Copyright (C) 1995-1997, 2000-2010 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published + by the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. */ + +#ifndef _LIBINTL_H +#define _LIBINTL_H 1 + +#include +#if (defined __APPLE__ && defined __MACH__) && 0 +# include +#endif + +/* The LC_MESSAGES locale category is the category used by the functions + gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. + On systems that don't define it, use an arbitrary value instead. + On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) + then includes (i.e. this file!) and then only defines + LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES + in this case. */ +#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) +# define LC_MESSAGES 1729 +#endif + +/* We define an additional symbol to signal that we use the GNU + implementation of gettext. */ +#define __USE_GNU_GETTEXT 1 + +/* Provide information about the supported file formats. Returns the + maximum minor revision number supported for a given major revision. */ +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ + ((major) == 0 || (major) == 1 ? 1 : -1) + +/* Resolve a platform specific conflict on DJGPP. GNU gettext takes + precedence over _conio_gettext. */ +#ifdef __DJGPP__ +# undef gettext +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Version number: (major<<16) + (minor<<8) + subminor */ +#define LIBINTL_VERSION 0x001201 +extern int libintl_version; + + +/* We redirect the functions to those prefixed with "libintl_". This is + necessary, because some systems define gettext/textdomain/... in the C + library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). + If we used the unprefixed names, there would be cases where the + definition in the C library would override the one in the libintl.so + shared library. Recall that on ELF systems, the symbols are looked + up in the following order: + 1. in the executable, + 2. in the shared libraries specified on the link command line, in order, + 3. in the dependencies of the shared libraries specified on the link + command line, + 4. in the dlopen()ed shared libraries, in the order in which they were + dlopen()ed. + The definition in the C library would override the one in libintl.so if + either + * -lc is given on the link command line and -lintl isn't, or + * -lc is given on the link command line before -lintl, or + * libintl.so is a dependency of a dlopen()ed shared library but not + linked to the executable at link time. + Since Solaris gettext() behaves differently than GNU gettext(), this + would be unacceptable. + + The redirection happens by default through macros in C, so that &gettext + is independent of the compilation unit, but through inline functions in + C++, in order not to interfere with the name mangling of class fields or + class methods called 'gettext'. */ + +/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. + If he doesn't, we choose the method. A third possible method is + _INTL_REDIRECT_ASM, supported only by GCC. */ +#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) +# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) +# define _INTL_REDIRECT_ASM +# else +# ifdef __cplusplus +# define _INTL_REDIRECT_INLINE +# else +# define _INTL_REDIRECT_MACROS +# endif +# endif +#endif +/* Auxiliary macros. */ +#ifdef _INTL_REDIRECT_ASM +# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) +# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring +# define _INTL_STRINGIFY(prefix) #prefix +#else +# define _INTL_ASM(cname) +#endif + +/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return + its n-th argument literally. This enables GCC to warn for example about + printf (gettext ("foo %y")). */ +#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) +# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) +#else +# define _INTL_MAY_RETURN_STRING_ARG(n) +#endif + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_gettext (const char *__msgid) + _INTL_MAY_RETURN_STRING_ARG (1); +static inline char *gettext (const char *__msgid) +{ + return libintl_gettext (__msgid); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define gettext libintl_gettext +#endif +extern char *gettext (const char *__msgid) + _INTL_ASM (libintl_gettext) + _INTL_MAY_RETURN_STRING_ARG (1); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current + LC_MESSAGES locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dgettext (const char *__domainname, const char *__msgid) + _INTL_MAY_RETURN_STRING_ARG (2); +static inline char *dgettext (const char *__domainname, const char *__msgid) +{ + return libintl_dgettext (__domainname, __msgid); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dgettext libintl_dgettext +#endif +extern char *dgettext (const char *__domainname, const char *__msgid) + _INTL_ASM (libintl_dgettext) + _INTL_MAY_RETURN_STRING_ARG (2); +#endif + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, + int __category) + _INTL_MAY_RETURN_STRING_ARG (2); +static inline char *dcgettext (const char *__domainname, const char *__msgid, + int __category) +{ + return libintl_dcgettext (__domainname, __msgid, __category); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dcgettext libintl_dcgettext +#endif +extern char *dcgettext (const char *__domainname, const char *__msgid, + int __category) + _INTL_ASM (libintl_dcgettext) + _INTL_MAY_RETURN_STRING_ARG (2); +#endif + + +/* Similar to `gettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); +static inline char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) +{ + return libintl_ngettext (__msgid1, __msgid2, __n); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define ngettext libintl_ngettext +#endif +extern char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_ASM (libintl_ngettext) + _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); +#endif + +/* Similar to `dgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +static inline char *dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) +{ + return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dngettext libintl_dngettext +#endif +extern char *dngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n) + _INTL_ASM (libintl_dngettext) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +#endif + +/* Similar to `dcgettext' but select the plural form corresponding to the + number N. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +static inline char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) +{ + return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define dcngettext libintl_dcngettext +#endif +extern char *dcngettext (const char *__domainname, + const char *__msgid1, const char *__msgid2, + unsigned long int __n, int __category) + _INTL_ASM (libintl_dcngettext) + _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); +#endif + + + +/* Set the current default message catalog to DOMAINNAME. + If DOMAINNAME is null, return the current default. + If DOMAINNAME is "", reset to the default of "messages". */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_textdomain (const char *__domainname); +static inline char *textdomain (const char *__domainname) +{ + return libintl_textdomain (__domainname); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define textdomain libintl_textdomain +#endif +extern char *textdomain (const char *__domainname) + _INTL_ASM (libintl_textdomain); +#endif + +/* Specify that the DOMAINNAME message catalog will be found + in DIRNAME rather than in the system locale data base. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bindtextdomain (const char *__domainname, + const char *__dirname); +static inline char *bindtextdomain (const char *__domainname, + const char *__dirname) +{ + return libintl_bindtextdomain (__domainname, __dirname); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define bindtextdomain libintl_bindtextdomain +#endif +extern char *bindtextdomain (const char *__domainname, const char *__dirname) + _INTL_ASM (libintl_bindtextdomain); +#endif + +/* Specify the character encoding in which the messages from the + DOMAINNAME message catalog will be returned. */ +#ifdef _INTL_REDIRECT_INLINE +extern char *libintl_bind_textdomain_codeset (const char *__domainname, + const char *__codeset); +static inline char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) +{ + return libintl_bind_textdomain_codeset (__domainname, __codeset); +} +#else +#ifdef _INTL_REDIRECT_MACROS +# define bind_textdomain_codeset libintl_bind_textdomain_codeset +#endif +extern char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) + _INTL_ASM (libintl_bind_textdomain_codeset); +#endif + + + +/* Support for format strings with positions in *printf(), following the + POSIX/XSI specification. + Note: These replacements for the *printf() functions are visible only + in source files that #include or #include "gettext.h". + Packages that use *printf() in source files that don't refer to _() + or gettext() but for which the format string could be the return value + of _() or gettext() need to add this #include. Oh well. */ + +#if !0 + +#include +#include + +/* Get va_list. */ +#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER +# include +#else +# include +#endif + +#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef fprintf +#define fprintf libintl_fprintf +extern int fprintf (FILE *, const char *, ...); +#endif +#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef vfprintf +#define vfprintf libintl_vfprintf +extern int vfprintf (FILE *, const char *, va_list); +#endif + +#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef printf +#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ +/* Don't break __attribute__((format(printf,M,N))). + This redefinition is only possible because the libc in NetBSD, Cygwin, + mingw does not have a function __printf__. + Alternatively, we could have done this redirection only when compiling with + __GNUC__, together with a symbol redirection: + extern int printf (const char *, ...) + __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); + But doing it now would introduce a binary incompatibility with already + distributed versions of libintl on these systems. */ +# define libintl_printf __printf__ +#endif +#define printf libintl_printf +extern int printf (const char *, ...); +#endif +#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef vprintf +#define vprintf libintl_vprintf +extern int vprintf (const char *, va_list); +#endif + +#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef sprintf +#define sprintf libintl_sprintf +extern int sprintf (char *, const char *, ...); +#endif +#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef vsprintf +#define vsprintf libintl_vsprintf +extern int vsprintf (char *, const char *, va_list); +#endif + +#if 1 + +#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef snprintf +#define snprintf libintl_snprintf +extern int snprintf (char *, size_t, const char *, ...); +#endif +#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef vsnprintf +#define vsnprintf libintl_vsnprintf +extern int vsnprintf (char *, size_t, const char *, va_list); +#endif + +#endif + +#if 0 + +#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef asprintf +#define asprintf libintl_asprintf +extern int asprintf (char **, const char *, ...); +#endif +#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ +#undef vasprintf +#define vasprintf libintl_vasprintf +extern int vasprintf (char **, const char *, va_list); +#endif + +#endif + +#if 0 + +#undef fwprintf +#define fwprintf libintl_fwprintf +extern int fwprintf (FILE *, const wchar_t *, ...); +#undef vfwprintf +#define vfwprintf libintl_vfwprintf +extern int vfwprintf (FILE *, const wchar_t *, va_list); + +#undef wprintf +#define wprintf libintl_wprintf +extern int wprintf (const wchar_t *, ...); +#undef vwprintf +#define vwprintf libintl_vwprintf +extern int vwprintf (const wchar_t *, va_list); + +#undef swprintf +#define swprintf libintl_swprintf +extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); +#undef vswprintf +#define vswprintf libintl_vswprintf +extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); + +#endif + +#endif + + +/* Support for the locale chosen by the user. */ +#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ + +#undef setlocale +#define setlocale libintl_setlocale +extern char *setlocale (int, const char *); + +#if 0 + +#undef newlocale +#define newlocale libintl_newlocale +extern locale_t newlocale (int, const char *, locale_t); + +#endif + +#endif + + +/* Support for relocatable packages. */ + +/* Sets the original and the current installation prefix of the package. + Relocation simply replaces a pathname starting with the original prefix + by the corresponding pathname with the current prefix instead. Both + prefixes should be directory names without trailing slash (i.e. use "" + instead of "/"). */ +#define libintl_set_relocation_prefix libintl_set_relocation_prefix +extern void + libintl_set_relocation_prefix (const char *orig_prefix, + const char *curr_prefix); + + +#ifdef __cplusplus +} +#endif + +#endif /* libintl.h */ diff --git a/mingw/lib/charset.alias b/mingw/lib/charset.alias index 204ab43a..9afbe899 100644 --- a/mingw/lib/charset.alias +++ b/mingw/lib/charset.alias @@ -1,4 +1,4 @@ # This file contains a table of character encoding aliases, # suitable for operating system 'mingw32'. # It was automatically generated from config.charset. -# Packages using this file: +# Packages using this file: gettext-runtime gettext-tools diff --git a/mingw/lib/gettext/hostname.exe b/mingw/lib/gettext/hostname.exe new file mode 100644 index 0000000000000000000000000000000000000000..afca5957d4b97fba83c483aa587def2d01b24f3e GIT binary patch literal 35945 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 literal 0 HcwPel00001 diff --git a/mingw/lib/gettext/project-id b/mingw/lib/gettext/project-id new file mode 100644 index 00000000..496f466c --- /dev/null +++ b/mingw/lib/gettext/project-id @@ -0,0 +1,86 @@ +#!/bin/sh +# Prints a package's identification PACKAGE VERSION or PACKAGE. +# +# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +want_version="$1" + +# NLS nuisances: Letter ranges are different in the Estonian locale. +LC_ALL=C + +while true; do + if test -f configure; then + package=`(grep '^PACKAGE_NAME=' configure; grep '^ *PACKAGE=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"` + case "$package" in + *[\"\$\`\{\}]*) + # Some packages (gcal) retrieve the package name dynamically. + package= + ;; + esac + if test -n "$package"; then + is_gnu=`LC_ALL=C grep "GNU $package" * 2>/dev/null | grep -v '^libtool:'` + if test -n "$is_gnu"; then + package="GNU $package" + fi + if test -n "$want_version"; then + version=`(grep '^PACKAGE_VERSION=' configure; grep '^ *VERSION=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"` + case "$version" in + *[\"\$\`\{\}]*) + # Some packages (gcal, gcc, clisp) retrieve the version dynamically. + version= + ;; + esac + if test -n "$version"; then + echo "$package $version" + else + echo "$package" + fi + else + echo "$package" + fi + exit 0 + fi + fi + dir=`basename \`pwd\`` + case "$dir" in + i18n) + # This directory name, used in GNU make, is not the top level directory. + ;; + *[A-Za-z]*[0-9]*) + package=`echo "$dir" | sed -e 's/^\([^0-9]*\)[0-9].*$/\1/' -e 's/[-_]$//'` + if test -n "$want_version"; then + version=`echo "$dir" | sed -e 's/^[^0-9]*\([0-9].*\)$/\1/'` + echo "$package $version" + else + echo "$package" + fi + exit 0 + ;; + esac + # Go to parent directory + last=`/bin/pwd` + cd .. + curr=`/bin/pwd` + if test "$last" = "$curr"; then + # Oops, didn't find the package name. + if test -n "$want_version"; then + echo "PACKAGE VERSION" + else + echo "PACKAGE" + fi + exit 0 + fi +done diff --git a/mingw/lib/gettext/urlget.exe b/mingw/lib/gettext/urlget.exe new file mode 100644 index 0000000000000000000000000000000000000000..2f36fe765a3d5e576723bb0c0f46b2608a327e26 GIT binary patch literal 40842 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. + +# Prerequisites for using ${exec_prefix}/lib and ${datarootdir}/locale. +prefix="/mingw" +exec_prefix="${prefix}" +datarootdir="${prefix}/share" +datadir="${datarootdir}" +# Set variables libdir, localedir. +libdir="${exec_prefix}/lib" +localedir="${datarootdir}/locale" + +# Support for relocatability. +if test "yes" = yes; then + orig_installdir="$libdir"/gettext # see Makefile.am's install rule + # Determine curr_installdir without caring for symlinked callers. + curr_installdir=`echo "$0" | sed -e 's,/[^/]*$,,'` + curr_installdir=`cd "$curr_installdir" && pwd` + # Compute the original/current installation prefixes by stripping the + # trailing directories off the original/current installation directories. + while true; do + orig_last=`echo "$orig_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + curr_last=`echo "$curr_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'` + if test -z "$orig_last" || test -z "$curr_last"; then + break + fi + if test "$orig_last" != "$curr_last"; then + break + fi + orig_installdir=`echo "$orig_installdir" | sed -e 's,/[^/]*$,,'` + curr_installdir=`echo "$curr_installdir" | sed -e 's,/[^/]*$,,'` + done + # Now relocate the directory variables that we use. + libdir=`echo "$libdir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'` + localedir=`echo "$localedir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'` +fi + +# Internationalization. +. gettext.sh +TEXTDOMAIN=gettext-tools +export TEXTDOMAIN +TEXTDOMAINDIR="$localedir" +export TEXTDOMAINDIR + +# Redirect fileno 3 to interactive I/O. +exec 3>/dev/tty + +# Output a prompt. +if test $# != 0; then + echo "$1" 1>&3 +fi + +# Find the user name on the local machine. +user=`id -u -n 2>/dev/null` +if test -z "$user"; then + user="$USER" + if test -z "$user"; then + user="$LOGNAME" + if test -z "$user"; then + user=unknown + fi + fi +fi + +# Find the hostname. +# hostname on some systems (SVR3.2, old Linux) returns a bogus exit status, +# so uname gets run too, so we keep only the first line of output. +#host=`(hostname || uname -n) 2>/dev/null | sed 1q` +host=`"$libdir"/gettext/hostname --short 2>/dev/null | sed 1q` + +# Find the hostname. +hostfqdn=`"$libdir"/gettext/hostname --fqdn 2>/dev/null | sed 1q` + +# Find a list of email addresses from various mailer configuration files. +# All mailers use configuration files under $HOME. We handle them in a +# last-modified - first-priority order. +cd $HOME +files="" + +# ----------------------- BEGIN MAILER SPECIFIC CODE ----------------------- + +# Mozilla Thunderbird addresses +files="$files .thunderbird/*/prefs.js" + +# Mozilla addresses +files="$files .mozilla/*/prefs.js" + +# Netscape 4 addresses +files="$files .netscape/liprefs.js .netscape/preferences.js" + +# Netscape 3 addresses +files="$files .netscape/preferences" + +# Emacs/XEmacs rmail, Emacs/XEmacs gnus, XEmacs vm addresses +# XEmacs mew addresses +files="$files .emacs .emacs.el" + +# KDE2 addresses +files="$files .kde2/share/config/emaildefaults" + +# KDE kmail addresses +files="$files .kde2/share/config/kmailrc" + +# GNOME evolution 2 addresses +files="$files .gconf/apps/evolution/mail/%gconf.xml" + +# GNOME evolution 1 addresses +files="$files evolution/config.xmldb" + +# GNOME balsa addresses +files="$files .gnome/balsa" + +# StarOffice and OpenOffice addresses +sed_dos2unix='s/\r$//' +sed_soffice51='s,StarOffice 5\.1=\(.*\)$,\1/sofficerc,p' +sed_soffice52='s,StarOffice 5\.2=\(.*\)$,\1/user/sofficerc,p' +sed_ooffice='s,^OpenOffice[^=]*=\(.*\)$,\1/user/config/registry/instance/org/openoffice/UserProfile.xml,p' +files="$files Office51/sofficerc Office52/user/sofficerc "`sed -n -e "$sed_dos2unix" -e "$sed_soffice51" -e "$sed_soffice52" -e "$sed_ooffice" .sversionrc 2>/dev/null | sed -e 's,^file://*,/,'` + +# mutt addresses +files="$files .muttrc" + +# pine addresses +files="$files .pinerc" + +# xfmail addresses +files="$files .xfmail/.xfmailrc" + +# tkrat addresses +files="$files .ratatosk/ratatoskrc" + +# ----------------------- END MAILER SPECIFIC CODE ----------------------- + +# Expand wildcards and remove nonexistent files from the list. +nfiles="" +for file in $files; do + if test -r "$file" && test ! -d "$file"; then + nfiles="$nfiles $file" + fi +done +files="$nfiles" + +addresses="" + +if test -n "$files"; then + + for file in `ls -t $files`; do + + case "$file" in + +# ----------------------- BEGIN MAILER SPECIFIC CODE ----------------------- + + # Mozilla and Mozilla Thunderbird addresses + .mozilla/*/prefs.js | .thunderbird/*/prefs.js) + addresses="$addresses "`grep -h '^user_pref("mail\.identity\..*\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\..*\.useremail", "\(.*\)");$/\1/'` + ;; + + # Netscape 4 addresses + .netscape/liprefs.js | .netscape/preferences.js) + addresses="$addresses "`grep -h '^user_pref("mail\.identity\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\.useremail", "\(.*\)");$/\1/'` + ;; + + # Netscape 3 addresses + .netscape/preferences) + addresses="$addresses "`grep -h '^EMAIL_ADDRESS:' $file 2>/dev/null | sed -e 's/^EMAIL_ADDRESS:[ ]*//'` + ;; + + .emacs | .emacs.el) + # Emacs/XEmacs rmail, Emacs/XEmacs gnus, XEmacs vm addresses + addresses="$addresses "`grep -h '[ (]user-mail-address "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]user-mail-address "\([^"]*\)".*$/\1/'` + # XEmacs mew addresses + domains=`grep -h '[ (]mew-mail-domain "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]mew-mail-domain "\([^"]*\)".*$/\1/'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@$domain" + done + fi + ;; + + # KDE2 addresses + .kde2/share/config/emaildefaults) + addresses="$addresses "`grep -h '^EmailAddress=' $file 2>/dev/null | sed -e 's/^EmailAddress=//'` + ;; + + # KDE kmail addresses + .kde2/share/config/kmailrc) + addresses="$addresses "`grep -h '^Email Address=' $file 2>/dev/null | sed -e 's/^Email Address=//'` + ;; + + # GNOME evolution 2 addresses + .gconf/apps/evolution/mail/%gconf.xml) + sedexpr0='s,^.*<addr-spec>\(.*\)</addr-spec>.*$,\1,p' + addresses="$addresses "`sed -n -e "$sedexpr0" < $file` + ;; + + # GNOME evolution 1 addresses + evolution/config.xmldb) + sedexpr0='s/^.*\(.*\).*$,\1,p' $file 2>/dev/null` + ;; + + # StarOffice addresses + # Not a typo. They really write "Adress" with a single d. + # German orthography... + */sofficerc) + addresses="$addresses "`grep -h '^User-Adress=' $file 2>/dev/null | sed -e 's/#[^#]*$//' -e 's/^.*#//'` + ;; + + # mutt addresses + .muttrc) + mutt_addresses=`grep -h '^set from="[^"]*"[ ]*$' $file 2>/dev/null | sed -e 's/^set from="\([^"]*\)"[ ]*$/\1/'` + if test -n "$mutt_addresses"; then + addresses="$addresses $mutt_addresses" + else + # mutt uses $EMAIL as fallback. + if test -n "$EMAIL"; then + addresses="$addresses $EMAIL" + fi + fi + ;; + + # pine addresses + .pinerc) + domains=`grep -h '^user-domain=' $file 2>/dev/null | sed -e 's/^user-domain=//'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@$domain" + done + else + # The use-only-domain-name option is only used if the user-domain option is not present. + domains=`grep -h '^use-only-domain-name=' $file 2>/dev/null | sed -e 's/^use-only-domain-name=//'` + if test "Yes" = "$domains"; then + addresses="$addresses ${user}@"`echo "$hostfqdn" | sed -e 's/^[^.]*\.//'` + fi + fi + ;; + + # xfmail addresses + .xfmail/.xfmailrc) + addresses="$addresses "`grep -h '^from=.*<.*>' $file 2>/dev/null | sed -e 's/^.*<\([^<>]*\)>.*$/\1/'` + ;; + + # tkrat addresses + .ratatosk/ratatoskrc) + domains=`grep -h '^set option(masquerade_as) ' $file 2>/dev/null | sed -e 's/^set option(masquerade_as) //'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@$domain" + done + else + # The domain option is used only if the masquerade_as option is not present. + domains=`grep -h '^set option(domain) ' $file 2>/dev/null | sed -e 's/^set option(domain) //'` + if test -n "$domains"; then + for domain in $domains; do + addresses="$addresses ${user}@${host}.$domain" + done + fi + fi + ;; + +# ----------------------- END MAILER SPECIFIC CODE ----------------------- + + esac + + done + +fi + +# Some Debian systems have a file /etc/mailname. +if test -r /etc/mailname; then + hostmailname=`cat /etc/mailname` + if test -n "$hostmailname"; then + addresses="$addresses ${user}@$hostmailname" + fi +fi + +# SuSE Linux >= 8.0 systems have a file /etc/sysconfig/mail. +if test -r /etc/sysconfig/mail; then + hostmailname=`. /etc/sysconfig/mail && echo "$FROM_HEADER"` + if test -n "$hostmailname"; then + addresses="$addresses ${user}@$hostmailname" + fi +fi + +# elm has no user-defined addresses. +# mailx has no user-defined addresses. +# mh has no user-defined addresses. +# They use the system default. +addresses="$addresses ${user}@$hostfqdn" + +# Normalize addresses: remove addresses without @, lowercase the part after @, +# and remove duplicates. +lowercase_sed='{ +h +s/^[^@]*@\(.*\)$/\1/ +y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ +x +s/^\([^@]*\)@.*/\1@/ +G +s/\ +// +p +}' +naddresses="" +for addr in $addresses; do + case "$addr" in + "<"*">") addr=`echo "$addr" | sed -e 's/^$//'` ;; + esac + case "$addr" in + *@*) + addr=`echo "$addr" | sed -n -e "$lowercase_sed"` + case " $naddresses " in + *" $addr "*) ;; + *) naddresses="$naddresses $addr" ;; + esac + ;; + esac +done +addresses="$naddresses" + +# Now it's time to ask the user. +case "$addresses" in + " "*" "*) + # At least two addresses. + lines="" + i=0 + for addr in $addresses; do + i=`expr $i + 1` + lines="${lines}${i} ${addr} +" + done + while true; do + { gettext "Which is your email address?"; echo; } 1>&3 + echo "$lines" 1>&3 + { gettext "Please choose the number, or enter your email address."; echo; } 1>&3 + read answer < /dev/tty + case "$answer" in + *@*) ;; + [0-9]*) + i=0 + for addr in $addresses; do + i=`expr $i + 1` + if test "$i" = "$answer"; then + break 2 + fi + done + ;; + esac + case "$answer" in + "<"*">") answer=`echo "$answer" | sed -e 's/^$//'` ;; + esac + case "$answer" in + *" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; + *@*.*) ;; + *@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; + *) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; + esac + addr=`echo "$answer" | sed -n -e "$lowercase_sed"` + break + done + ;; + " "*) + # One address. + while true; do + { gettext "Is the following your email address?"; echo; } 1>&3 + echo " $addresses" 1>&3 + { gettext "Please confirm by pressing Return, or enter your email address."; echo; } 1>&3 + read answer < /dev/tty + if test -z "$answer"; then + addr=`echo "$addresses" | sed -e 's/^ //'` + break + fi + case "$answer" in + "<"*">") answer=`echo "$answer" | sed -e 's/^$//'` ;; + esac + case "$answer" in + *" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; + *@*.*) ;; + *@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; + *) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; + esac + addr=`echo "$answer" | sed -n -e "$lowercase_sed"` + break + done + ;; + "") + # No address. + { gettext "Couldn't find out about your email address."; echo; } 1>&3 + while true; do + { gettext "Please enter your email address."; echo; } 1>&3 + read answer < /dev/tty + case "$answer" in + "<"*">") answer=`echo "$answer" | sed -e 's/^$//'` ;; + esac + case "$answer" in + *" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;; + *@*.*) ;; + *@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;; + *) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;; + esac + addr=`echo "$answer" | sed -n -e "$lowercase_sed"` + break + done + ;; + *) echo "internal error" 1>&3 ; exit 1 ;; +esac + +# Print to standard output. +echo "$addr" diff --git a/mingw/lib/libasprintf.a b/mingw/lib/libasprintf.a new file mode 100644 index 0000000000000000000000000000000000000000..b93de516aca5bb99b57f96748f4d796c235d7613 GIT binary patch literal 82904 zcwXea33yaR);E4{-%fIqbkdy-0t9FvK-jWCz(j(CC9*>nvVdX;*@!@bNe2*FBArN@ zPBb7W<0v|c4k|k8xT0tPg`kcDf{5a{qSAuOqU@6IoT^*r-VQy=iU$yXZOAm1}6<2mXs8qJlJlJXB^|V-9BV+qK0M%NRnic zB)Q)E^VZnk`{XYws48DrSyt{Skq`@LM3kOCbLylarRCKL2?f=T3QeMLQC3yjqH89m z7ix)DrHxIvX3F4erHn~P%bb)IpMQ+_z=IJ z0Ux^*KRdRlz)>Lm{*@}lH^*lsRrcY61{nKiX_Fyw3W1(;u4a)IMaGc(n|v* zDfBP={(V`K8xrp&x6U70H&v1X{?6~27|6v|dN*V|wDrDRXtyTUAhC9&#w8B+(ue%d z!59s%@_Uti$D87Y4)v0IGC`7Vohh}spnk)Kd2uGfCk&K+rs)&)i%aq@*AAaqAoran zXA*MB*LlgM+9YXtgVg3i`z0h8IY;2L{lTl{vR&Wi=49P@!U7f9V~!pO%ww41s+-%| z+FI9at^Eh|kh|KpC#@Fwd(xU1sdGRwM@0gq)o{iVVl;5ZGGNGzu^t)6%_U8)-D^73 zerT;-4-IR)QLeezyZVHCJC>;|uXSCwXB;#1o^cjVY@CEcdh4EXk^C--6FX0P`Y(B+SiqDS)(|Q#pC@i9pL^`te=T-pnm)M9d^|%gqpc> zZOP1tR_A_b;hF&Vto5#0^)(k_t#w}kqj9EOvs4ECoxm)v+{iVfWu{}XrKD+$Rs!hD zk8*v|Z@;S%HM!Gjl6P3|dI1{0CeWQ-@5)}E&|Gt2u46W|rRKt9Ywg3JxaPuqYwZ&Z z+-j|ToPnj*+6D$@T5FvQI2r*#tB5$$Yz}oJ-wl1D}fY;SC4Q`s8EoRKW z1-~A{K4?}EZiE7nHq}q5Z_GGSb1}<$S1efGy&ZkDuGJCjeh85(Dw?@AcQaQCzhhr} zBJ-MSbhl<RSG#MfN#Uv!&$ zT)6XmtF?9>)`@kfD{Z}d%KGFf4c678LEJs1p>D6WUI~|^{lyI+k~|AiKF6Bwl3jqE zA9~f=%X;n&a}90qT!$lgjoLV4U(F@|MZeZuh_=?=+|3u_`JEdactne z?yR-$)+-QN zQdunW+;TZzv!tgCxK zCFZ3yL~2d6)|#OjuCdW(YN~5P5&*5i2r&Zxa0SN+N-%3SE$-`{)zoOd$=&E+KDq-; z>7LTmv4|F=-H=0!u7!@*Oc|cs~akBbEh?c!uqW?)}P1#Cu~hR0mNx;HeMC+zrA;nfCDs9h8C?==7TZ=(6h)lG|gK}$i8-u5ZRc7ITX z?QS$L($iHasjfGMUt439yk=H?eSWlSvALDaTkh>RHzjXJY;`^@i6P`ns~yOvK<@Ug zSvBtMEH-b)ThGV~AamZjQr%*<)&_@45{!dwIHEl7Trs3z12F}cz@DeC80~BI{2A`I zg<#5BV;+BCZNnhpS!!f=(p33l%4|r1_^|;iU-zN4z6CmF|KoUfCu`6w$9^B{>KA~^ zWq2Ih@ui7bn};(CA4%vE!PunQ%cwK?U2E+}pxyK4MaZ^Da_w_A`&w5$cB!>>#KSOq zSXZwKh9NRK+WF;4mcMa&^bqIQCtcY!d+KJl@`>L)ORYO%t*r~jF>i7EGgnl#D7n1e zoo&-r0(^AS@vmIubp}I#|+_%}1Pg-kh(SBgA+;FDk ztsq0DM)OW*l8?1+ElzZ)DvrZ2tY}@HrYIxQeOpxWX=|+=%5smgv(OyDRHX8mvC+JT zshFy(_$2^Upr7xlOK;^d9(rcC)Z5Ma=Ik!n;lEqz3p{7D>Fh3(!@OG>lzMiT8NmPm zDgrwI8-iY`&Ts4p;#09lD=qGcw&V{SYQIyiJz&H0Skc=e-4mj`m>bv(_k*7kmT?gf zlwX8u?3O0%PL+r4PBkSun-#Fin%wAmTVuNH+AtQRAx#qVPj&!rq=*2lk!3P#q$_PR zEM!@;X4SjLpj8~buCho97j|dYy2ftUJld6A3qjDi!{lnb8T)!wIz&%bOLAJ1)rm_Y z?uq~MBTsZcgmTHV)>~Kq8LaO*45C$`?(K}b9JrlO!E()0Ek0;uH5sC2Z7&OYQ3H(W z+DL>`np~5?Q(;I%(QvIjV%EKLY7qC%Y;e%^yUixZvf0&$W8OV$i|e8J2)3h7jB{;I z!5h}Q&Ss0NE){PzTl>25Jzcf9$EvDxd97@%JprS`x@u=2ny%JVy{~b~ zQD|lq49alV^yoX*P^cS2ZgT?q!Uu&9JX&<{IzR@44( z+}lx9A*Z?P5oi!w*CfvZ$E%Pv$E#fpU1V)&QJ9MTUwW1)y79f6SBDD_-mq|Jn2pbV z&^8OMxW`_*iLS1wrV&S4O)|9Wb2IZq7i$tmsF*e5qEm{kwZA~0TJO0X=Bku&*4ppb zT?9;zDQVW)!+3Z10Z4o8-af*WEDm$YYgHzt5#7@2+yycT&Cb28$vYM)&X!g%)T&r8 zj_VAsP5kg#s>4!u#G#4-;oQz<9bDuiXn&D^jWs17QD>{8AP%j`h_1O<2;mY+D|xen zRC5vHbQl&L53A&F&cOZyy2UlC$$NmfzJO^Hdu65PBS6WQtj<}uT)X7S0b*^4lW}p> zI%h!M^(+_VXT{~PpGqSLY>9Jl%q^crZ#`9XahK& zufIN*W;ckXIqZ-|2-&-BV(xS=hv<~l+XX9C@Rxj8e&Mv~+%pi?1D@dXt*vZ@?%8q? zE7owWUbfbDK7#>mwxMr5e!xmNd)&^J2Ds*T1nf&by~u~}@?np_4+N}tUSSLV!;RrD z@BjMvAy~rKesT)xa0O!UJ^)ie*7M!ZuteV(sqp2t&G|#9^P<_hx<3xo=nc_0RW5IW zqOV#uc-}q-jbLUwTs6vh36y>Ztsh>k!dgT@H?!703l#gzm8b{v9YSae_Yub?1Anp0iLe?AXPISlbS#o@7EE`7~~p*SoZtF92GR>PoBk+y#7BZe-(3lPf>U zxx7ZU-nGaNxBm50*4Mx5{2|_T7))Zl>jSL*IKDQpvjtNtQ!#yhw&5JI zY9*Doj_e+3eWls+KD61nd_6cH?tNT)AUMK`aL-|#oPCOZ)Pdftj?0|%MA4c+X9{G^_2EHkDw%Wimf58!1?@qV4 z^K8kVT5Deq<~xB=e2CV-%sH=Fb9T1a{O4K7!I$4RT5QGZ2ZoTT)px`3aRb30y6&rT2ADaedD{=dl;1C?+BMxRUwQ>1o z7n^2|_f9@+U4062J9nF8mfmldwf4(kJ?BB(|FJGs!Q_1V&U)7@2Keo-|4sRT6_64Zrfd79Pjj6D;p$78mD*Km%M+Gwii9= z2wfAIdgnzJJU(l*tlR(9@lRbF*kQpXU6tp>)7Y(fS{c8mad-O~^O#0YcZ~VjO>`3W z!x`c8Ij5Mz^Jx)Uig)7p;!E%by78e@i0S;_I!RE3dy&v3G`g? z=-u$k@oN+1V^i3v^(DuTH;c#X;M7{xD*b4kNTsq<(AWJZTTlQ*VenV>2i~Y&9&=2 z`&qPVqUFeC7=@@X5N}>Nfeo#}r#GGz=h;BV^EB0S_N*{nq%a*$9-bdA2tMC>@Cm|G zbB5>5UhlGbw(*DoQM1IAK8m192Q#=@R#PC{a(oP)il*Ea{Fny^Gl6;>4JH^E&*Li;6z~XXp+Is8i zEzn|Dns(suXY7(}H8~qr=wJJZ)%;;UzP4Qk0X?ljkLK3ec?S93zT&(=$zK1Q-Ssi= z)iY0NlR(;f47z<}-2`==@X;clg&MOryEY`E8D=%{^VH zrz6Qzz$)vY2VL*6wfbu8Om?Q?n2GjqOlJ!dZ$r#EqZ^{m*Xvl&{Ss@|l%_MAooTfu zUI?tEJrO{ch3x;vv(VtO$DhYVh`pdCB$EVG*T@&`V8FTabuxmZiL zu%7+kw4rBroYpIN&`0#_yFTnlfv>b0M4-Y3tu@Hk`>+N%nJp!U!_XlEVG?jZgnZV4 zY@rZR(&Sza5`Ih~;3p9hXi>noty*EOo!Dtdf5c%X493#;pV=(KDjZDK??Cml{B$Zg zt=3xiDu!Y)ids(L$VoShoR^WKjhxyi@rFju5bX3I*C@Or4yFy z+D7weaq23fNWu}rO7zLgJo>VAMA3KrhRrFt-_gDULorShDHYb*ez2EZIXR`&T3dJ# zCu}!#Pf8g~ow#z^jwgMlPR-6Q1DwqP!&$*qzTEVU7Abj$b=B=4@7y6nq=f9Ad6>J( zTAOLY;~XpKNLgsD>j?BUHpvBpP|7H4ozDr}YiZ{?*7ePelck{HjhcE!ojWX6=NGv7 z=!iNC9Q#%dP06#?y?5NJUaGU%-@9I}9nKvlt8+7E{R})KrO;a25f9aitaW!oW=|hB zmYU$Z)wBEu5kI2DmJ2rso@bAX*?sQMZD;oxKkF-!&{KQ~^ZHlX66S@k*b>G*#`7Wc zoeQ$PgePBe^?Fb2<=a(BHs~cgmF*Wps!8L^3+u@a**>-2&LUDje$}o>=(74Xm22 zwJ*zjz5c9BC%_Om+I>)Q;3qB5TztT_i=DCzmvHUv10iDZ1btp*YvT4Frt0%5JDCzr z?M_?oUT$&udA|Fy6?bfA{S4aiSJ$rNk1ey}A`mU%I^&t}limR#t-{dzFSIrE&I{aq z74)2q-(bI^zu2s`yFKjaMceW%gDoGMF(t<|?mQS=_CRD|@kBgpXDMh2*E#f(eiuA7 z0AAyBFe(nV)|CV2FHBnX%sIz=bZ_hFXV2}Q;K@4Y<#>V4=D@a&=Q*Q|J}lVt-PfXN zcjGZ1dmMx<+vTab!qyP&E@d+yZCNNL2yRIDX z)tG%04>z@WM0dI+b7@b?_oCGwxn9CP(#}O$yo43tpJ3sJJ07gKzK{0&{iNt0Zin#( z`)|j!9@FI+aklmMP9SlRu#qGN$wO=;k&t%wH3=sJc0>Duq*M5OHQV*A^F)k0OD0?qbwPf=YVdv~>Ye*@RMB~7nl{rB$TdLtW| zUX|;G)r*R)buo#?MUs#S=ViAe`qL*UDu>9u)v!QC?V^Urp|TBDI;LnTFz^OoNs`h* zQq=1MhX+mwlO(ftlWtd|uUEAwo9Efd1*Od`z3pea1ja1#+I zqd*5ADFH~wKyaMMM20(QYJ7AxoqY^#@8ZKtWj9fYhMTU52C;5FR5?lNo@ltS2WWXD zsYig8Ly~&xwTptr^pfQXVOVx_4`_cJG`)AMJkp}q4Ern97bW`W6*55w_SGwE0!1-~ zTS)CE3J-x6_ZP+E&48|QLRhAp?VA@k!w2;a41^m=8iZ!Stg#G$%D4akm?a)1P&5Ja zVvR7bBn=Lf@kWw{82HeH#6+*U3{CW^>99nvc3fx7i-jZ^(m_0#7lJ9*8>=o!!;Q7U z^b|5(pttEp=>CB!Z_xV;YcSG~3b(0=Uc#diy@W>_@;HfON$-&X0M=w z;$st%ViRH$h*4Qx?kHPOd^4z_cd7Bh7l83HnSFpKDOF`li}M|ldZ3Xp{i@5W%1X|j(%E~DP--l`qrp~zdM1ry;T%@SAdYh#mW{L0 zr$JF^nNoD&mE6zY|P?WUwKV-m0^A>5dtHHZ=;+9tLYfLXMlvNYdu`@&)= za0b4RW3dI!{wGAOpo07=*42RpJ|=cs&2Q&~^IPWsQeYvz;fAT&eG!g0xJO?IEMCHI zs@YvhBfmqZVT@8$%S)WOKguLR%v-|^V#J--o7bacenkP?F3>7nR8c(##!q1RVIR^Y zcokoB9&gA(t#XUYii$N>!~7d~^}PTy&W;7gj($iXqn$KVPo40zw?O znx1&OzgHp}Nl#pAH6~)vqNF<_j7eIn_2gw;+9qEmvZ9AC8{uYdA(Lv>>|nB(*|^ni zRr5J$P%s7y)r@mTF#Z(7YF5qI@v6BuOF(0(W|d*=4_jp5tVtm3$9?A(9OM}73Z%f* ztqiNox2hKuV{f_of~-vqY^VVmf-fHiHm;PkER|r@yDC zg_WmYQCTH)MFIGlr7w05YCv9bd68s^;T&@a{*1)ZkB3Lq5BkqBSLEu?Wh@$(N7-4Q>{e3m3(J`j^E$(Vo*--Kz`^E5Ri zAMb|qI}4Z=E!akRm1G(50I)-sR8=pK%*irJEAg=44#TN90a(akH-ojCa3;$1N}=;B z3Jd1r=qR6GTrSCiF2Piwt>n)zfft=9nWyryFB{69YAjp7 z8DhLi)NUg7L&gpr@hbqnIz~pTSiy*6?Xo*w&5}An74s`ADi-9I7Z(>5Lj}L`;dNR9 z3#QHm3z31a3-%XaOzR?Xj9uB8jRyH^9~=%{&n2%2F z00%JTFjj$)m5Z$IIM7V23f*y(nPwog4@Wr9)T6kvvI3S#x0vksV>eTYsbhGdWU5CW z>Dav)S#Dky)S>~$Zp7oTBMC2u+XtD6!l62kqDXswDn%R+(qEJGv1>~QSx{Os{l-MP zcf|4;?tYL#jJ@sWjDeh8c~FG0TM900l3BM%5qX$|Rp=tKI&_5sddSzV#0DlWnXcn9 zQLGmHCh8!^*RIElm{|{~qAtU=x`aZHc4cGFG+xHB7jYOeMBxB5O=cd!>z8CQl+AB= z*-55rmMz3b8N^4Mu+Q*P&0qQ9H}hM~6-$a87-LJTB&9cZ$ETU=an48+b3>&!bHg%8 z>C0Vgp`^sHO7vvQjq>XG^TnD&x$Sk34UUnfO4-t6_^%%;yBAK>m=bLQoxV~q7Smfc z{DM{9=PToW0I%}ioNltiCLMpH2Z@-5KfUYA4Z09{m~L8Y?t`O8-p>Z?7oa|dRUa5w z|J_i}t`Hs%_+sn37D)0zU$j6!^nZD4#0Ss?{m}E}zee0=gROnVqT)(ehb)%lhawhr zhV4C$Y74KBBp>pXU{34sIfjmp@atXp8i>C@jQk$Zpi}Vm3ltP9gWD_BmsiAwGtjUy zvM+$h!SEF~0=`}`14sjK1S%Of4Zu3!3|t7!9FzxlFGAoO7z1gMbKq{!0{HTUPyAtE zjj{rJmIVz0wI4JWPzU%#I^ZkeJd{2-6of*Vqw0P#Sa8W-;_diC9V#1y%2H8TGN44E z=Qv1TL_N_)J%X$2$%C8^p`I}4*2wPoTiW=A!1EvvUuqq=5p{nJs0u6kBY+`Tz+GnE zZqsiD{er3Me-(cM3!M}B6zV#Rx?Tdb)}pET45Uw>n&SpFf~l)H2^klonq{aa3DO3w z2K0_lvk%g~gpcWQgBroq)!++CcOfSf-6H-GxZQxa58&;Df15&UT76TYO5^6IEKC!Fd&PPe&rzZoy1j$6$scUNqEo8~x`{HmP z4Y`Nnu3kRI2BA`2vl8#~7qE#2mmVH1;mZ|?FjvVxu#q?q^OZ^Rai&G7KDc5iOd;|K zUyMgeb^Xd=lYlS(#PV(j6D8^sm;5u!bR#%fqNvSD#`-k^jJgCg+yZICR-uL|ewg3` zk#7K6@FJAE1*n|iH$2oh!4GWqBMT11NBJyR%9$+tu!9_9Wu|px*2Q(<^Y{z~sQim> zD4u#ggUTMkuY2+9F8I0*3*7~B7)i|OuXvR?SR@R>ayK)@ECVXu#WEc8&L9$4hJUaO z%s1_DJ3z$@24TSzei0uD^js$~!^mHT;0!a2t?s@G!T5d_G)BFP_usJlL~XTqGz6`% zI8u_5*oyCama0_mTQQ8S`i`;mPM|umWDa!W*$}kUNQjR^VXiAFTf+Bul6)?tk!7r1 zsU_g*@O;Q-J22NixH5SKRN!U!Tn2Lvdks~03`KWwb=F3J6B6%*kK8%b&{DyrmNo-@ z6skK6w-|E&Fs$wY(2-aPQyQSaP%?(Gl!{y#qCi^u0 zUOIj@q#Wx2s@ZDx63g-fq{Kf534J4Qtdy0O7FV+2BFR4CC=k}wn?G2RgIU5jNJzc_ zHR}kaei$y?E|euE9po5|DW`J>J_fQaP?Bs7zZ~x6z+d{40hp;i0?B{DNA?dlm`ZSk zsjkOe$~yR*N2Qm;IxNFA^+NnA!mk|snuuQ`@GAkodgE7ToPzKH!65vT0o$P+!?D!A zLRY>5A34SMkq9r}6)9TDOu8KIm!Wi-?+4z}B1MyCZSM^CxNDK^zURH92Q~$G>$Tds zv~2S2)4@xxNHI!pgvk3aeB>72>E6;J#VEZR?(aqEbl+9p(jvuJ=aVpnY{5F`_-^%* z9@wncdEjBRV=jE10y`$)ruFfjl5_|@@@8LsmoZpyX}5v%7GyJZ6s|glxoXeun1V0+ z;v#t{OL-&=kCJ@T?=@%MYnI|;AaNumJ`sjzO8z`C1JiMtF@w}LgyD%+0aLpWCu&M* z3BzNfM_5V|qSv?X0=UAA{Iw`20#WSjw9GIiC8*<2v6ODN^nY!y}&1o|uw~lPIQC6)Y+)%7=|j zd4(kR49C3JqeSw95OlV~XBy>qgkiWUXQ`O-IeZpSYB?+S8J3DEt?+SE>Rguh1f~we zEe7ZQJq(ZL2J~V*w*=U4PzK*nROiN|IRDxO(pB%Y`B+#n6#nb$RIr&4U7*Gk^edt`D>%KaFzg78HJI5 zxH0kzuD<>n4+<(e^TsE#+56FGu^1T2?u&b)6NA{;&Z33a8K(K`*fjqR?lM@xPlD!` zRF>ONu;9{^vk?@&+FjeM$+`a6T}f;%&GYB8p>zoiYy*zuy`O^d})8pr#=UvpQ0H5n=W2HB~pyj z+-bO1x-w~lq~MC~VWMvU^Pf>|MFm%Pp)F9;#ni|t%tHT!+6`>c8#%p=g|dZ(P6p#c zR_=e}SR-E_pf&7c=*Ms1BaaWnLJf5gDPlf|u?jnlH`r-Bv(r(b?gC^`x-))YS1)xU z#b_rL?!&pXK~iuHyEQ2KoL2uc%xjVd;?B`UZSK(<)fGH*daSvfni{f$*Mevs(SR@R*} z28r1m>Ucl8k0~&{oA+$4rBF-+#UFGN7BCt5#l-q0Eml+c3}kwRt9;B`rARSa;0?HM z;nGH@)VQKqgFAz!HQmVleA1_QH|s`Vcm5EK2=nLlaEJ1L|0h3>aWzwhkfg-xHtz_{6JSl~)W1Bo~a;?;3{wORw+`9{dPOt*Kuisq~KD&#lQj}rKfh@Cc7iF zQ!Let)#!z$!;WMJU$WE-&sEss}z9AoQTIWZ&*u$)mAk-|pfO6`4u81$D}of`i~&#-7Cc!t3L-H%Q_ZK*(7fH>a#TE;cr9e%YM3(!xT{95OhL zy?+u{R$e&2x~N$CujPUS`d?^}^aIk^LUbyQ2eBszUK}(IXDq>y6gwB;BEw5CaJ9Yj z(p=>zDk?64d@{qJk7M>43qX^1QFE`V4dX0k9l^yx3$&DQSp|pSiR@e1A0(Siio0r? z+Cv#&nkf%>WW-JP##QrcvD)DcC8+8Cd9&b}soXO0j+x5hiAu0Tshp^UO;i?4R3axT zb0;cYCn|*#mHrczn5O4On0klbppIHMLK(DaggSG?!%DC^arK4`N^p}BqS}?-dFoqZ zlzUgED8VT+KUOO2%8e7%+m&}E_2>xYR=d(7O;lc8X;(TsMkvL0rRT&kO0He`5xD*- z%3tMe4MQd=;8M^wlOs|IQ0;285_IT$xOs4<+Qjcd*Io>Hxon(rOREkZ#Wi?D04t4=zF(t~+7fcwve1iDViiLypT;Py<<69fa90FcZDg z*P-;-v}mn!?Z@B~GbXD~rYkS5C{f0h+yOG~nJTyAQRUajLr_4}Y3RcjXPU;z!2Zyp zZUvzqZ`%Yn_XTe=<%cP=T9gl?SUb06W7ZS>Th==FLZ)A{)!1pkzHcRSpkq?gGvC(T z+XFI;&firKYLqb?0WRf|S1mLh&YLgJV_cJxb@M5hF%Cs-`O;+(GMB zsGA`1l6+JtG2J7}&;A3L_peBC0`q&>p`z-ydv7ZR?twhs6|2C%4mD0vPRV&np4z0= zD^t`K2mrSq_4?W+9aWuR^L#YvL$awK*6910;J>o6ss~i^eluA3wdF0!Tl2T6{h?-R z_%XHT2*q~jarC5~Bb68ARZ3{dlGRF>db$?IbIIyA)#sFbvO_cUUgf>TdF!4z0*aqo zq^@EvjpO%HuT>*WJ;UI>=4P;ytX%2UG)cWjnQ`<2@czPiU-W94pxk9r4=MN0J*^y$ zP`8f2m~cyra;Hf}yS>{T>bLLKqsq?6Ly&TKrkYZB?<6IxzI8^S&nKNLTf!umq%R zWUg|cFWTXmysdx_^(}Dgh2<$u`gT>T{6ZbSoO{QiK|dE_Lfsc5|BH zi98|HG$KrmSGy_`z~9Wu8@Hkx>}E3CZe_z`cf=-k!|^sKXv4Sapzqc9>(m}2l!}Q; z_(WyUQPaQ(kovU@E85TjN8m4IEPF$TP3(qa%&r_-0m1Lpl`yEG=|7bpRYI`~{?)5R z`Fqh(^%#inbEw-!0PpEQ7CGSSg%z8WGZLEc>ngQ{B^^?3z_5Qm$g=y>%4?mW{j23| z%G0GR9DiE{?p(gDZv7+>_#o!!2oP`1Mw9IAkA3z^Hml;^{+rkh$5_QhO28)8f2)K-b#)0r@s6%-| zPEm%HC{SFGnxej`1Wp{G%r8+q%hl7$5k)Ogwyr#_{CTC?g#KpsQSO^(ikIh_dWB87 z<0fTEtP^61uTq*)JX*cU?58;L0BncVu`I_-&7M5DAFSjQ*u9wf$4C3%U&S?k9x#0H z5f}1ME(~y-&(-qc^P?|+1pEKhXSg4y=fm}T@%f{?#?KGoSM##}4IQE!e4pM{|J4&xs@5y#KV@JSBibhLqHTljJ6=h~4h9?jyx?=Fk}nQ8dg zp}q5ARYKGMiA&PV!9IOik%Hk_$J=ktx=B1myVk0MCF?ZEj+&uDz4tr{QcM;$pI>DL{Z zN+hQ>Hqz)wE{-%ilJk+`sWF1n{BrKY%(UNfJjaHU_hh z1gngTq$`72NVLFX6M+Y`A<+ViO#~RIoFTs0kiNj!nMk&U@KS*6)FhC8$t94OLYV{- z9|qHr?BiS{-*GO!Nr3?ixJZ8Bamyxx6|j+LG07%k60nhIvBxH253miP$A)wvV`m~+ z$|aE8!?_P@u?e`LS~$XdA|3(T5RPmj90A)9jcg(s0oxFaY$6x|+YpOvA{GG~i55j{ zB8mVTiKPc;i^u_NB-K1{*hI7dwjo&9M6duh5^b2e4sj{DtB~MTl0Ygk`A2PK^sB9?WryBFdxzmK3qau^MM4C z!JLa^66YeB%DGdu0RmhkUHNotK{}gxdIpkhe4exjF9kLdKJTryAl=J+DFX?&7QUUv zFAQT5ywQe8(38e_jy}%Q*O|rG&B6LqGnkI!^$iYNfPBdZH0AweF8T)9^<>&(~M;}}{IG}!G zb9_c%q!?Q{IG##5ETy59t`DsoBzJMHKD5~Mp1@$bK7?}gVUwc|l^lH>uvs&b`F=W* z{(LU&Pa`5-9|bwO=jVw2!-?z*HgjbB0;G^l0U4Dv8)PuTT^VP9{v2Wlr*cQdUVV~7 zB(HF&$LWkKKzg(O%eW560uG-6@)Cz10r{Lm+_GF?9h~t6McxcO+GadK9h`x^`m^S+ z6f`sRp32aBDg%2dkeNI~?}!ZD`Wd>(Gjx+@=qAt5O`f4!G()#&hOp>5__Q=)kkt^(hL+my_wop?%)08e!kC3OO>zc_X80B_TFqX6-TLM{&f?8o=70AB*K zlSAE8GJg)|8*hNWkt1a4j*yA&AI>NA%|QOf;cGy4bND@w6C4J05}uNI3y?w%emDa?487OCk^x7$Z(#=r1cLk}wHdQf4L!boP( zbhPNJ9AYFn%ppdSj?7BwXl@UO`WP{UUKVe88`Je6kggAbblvX_;WS-$cJiJSsD2jr z1Y9KS=1?q*0g6Q{Kz+g`yWnEsAh$qI=+xMBwK8;3}i@Le_%7lT>%Y8!6gVqBWa7rVV+ ztPbFlW)c{B7GIt2rrmJX5U~3wJ`sv#BS4Hm%NWeU#hU69obI_UxIlPYymW9UJ%tH$Xw_e;}le8lVfOs151Bczggai57 zV+MG^CcdzLq61%}0sN^0U-|Mdn}uXbTRYQQTQm7M2D6Y%;M@sh{j5k>PTts?!FI*~lF#@M zLd!qEU3+*S{^4IHum{LLIMkgu^Ti-&ZV*$77A?e2FO*@ci-cv~Wa4r(wm06Df`I>Xt>q=1!UI%0(hf9IH#b6ea&o~#! z=bVe=D-ORBuct}rNNO0&S_7ns!Av9%asebSaW0ZKI2Xw~ocoS=R|ppRKtAGJBo{ds zPm~6;6Q#_%fxN}xr$GM2U^!Q(5TbhnaV$ zPXw2q!WR}uW-yqEq>^)y+|Id3R&g$pI?hG%66byZXE|LH?Txll4f%zccP2$<@FgB%R;J`e{24+Sy49b3N zU}orJG$Rg%-!#6uFQ##q@fD4ajKefzWJGroXP_DA$K#l9X5g`826LPYbeyitFEY?^ z{>dSpL@wYfc2f^=%9!y1^+|@_CmDL5WX$U+jvF)5z%)~tl`^*U5+{in2YZRr!;B7O zFk1fWb0wP~@8eLP6%F%WmOlSwVVvbPY%dT_2Q71X5JEDK!Q6Y>jZ&z|%>B@5Rp#Xj{X^ z|6~ng$efu|pjzp?hB-iPyQ;F6V0?77BTPpU!(hf3AmcgA1TvcoAX&z__X63R{M1Tx;~H( zI9K;H(zF3w;05Le>F5z24$<_zc^=&*)61zp({O@;&TBK;(vutkQm)gr@zYLVd-wa9RET4XpcEixRE78y=Piwwu1MTRrb zBE!LFk!WiXtdpwwS}6s5aZ<3CCAxs8Zsdz9Tu?p9*Ssm@ty%g)*SM%c_k5VIj?f<6 zcu2th`jD@K^c8ECzG7u(!LReh&n{ZLvK8w|4skhTZ@Xg6(pRkPAb2bfsQQAGVul{6 z(*2+%0lcltq53bdCZuBxi@8^=hbleV$=ktbyr$2fAdrsLJKWhzP#@#z`oK;0C7PEDrIZ_ihgH+4dz4(Um@BUX_c*e9nr>)!Ukj zUbTfoZ1y%j^W{^_ug`PQ0q$oGkefrjovTODT-}_x4^rUE#h`bILt!w3+u_g2hw{;eKM2!2uu=EG z5U7Wp)g`^1><2CU9RYN#Kho4rc7HvO!T$|;4E`^&8`dKRx9<1f>ur7gm)@p}uU^rt zgr43ILe=_@_BP*cr+-5WPh)TE{pvL#{Lfte5#0#-F~K$beCq!#KR0;v@B8kt-}N}* zTfP$iZDzU_?8Uv&s@icD9;kF;T5@_?#es_9fPxNe{wrhY*)aYlPWyx553~O>jK9qD z-^_k8jK2@mes+7iLvfRyJyRcwPlk(mGaYBhaeNNJ3Gl=2Ui$a^(XvNhQd6FQb_GQ$ z{&e|HmP+Bj5pKWatP4Q;^ZlM-lcz7uGW3c_Sa5MGF8W#$KA)wsAR|i-_e(=%W5p*~x z9LSvrNdkk{=oLKR{gfN~Q`)&xudIche@XKv@Y#;sZ@YBni&=npCbN{gF#ZJVUVifM zGLY9e6q*cMOv5VEu+z?kD6y2EUg2@oaeiclCroktE*CVKvr^yrq|vL(@o#@4Bv2YKbONc2ltP2C|>B2^_RE+uBE=o!6U44W?ZjB z{{Jo8x&KXVH3Y5p!_xrp$1(hr8OeACb8%=NVlI@9gdgfr(E8tGK*MZUsZVwb=(N1O zNxOYZj|cf;Es_H%WiS^bXC#m0k#uI7YgBsmv}~A*4RvaN0>(4p27WGFLk|?LaW1UK z_YD19h(reaGGZKt$N?~2RN`F8%m2nnBta&a2U=Ma5iJr_XIgS+S~-COnNE4lhZ zm0Wa`rx;8}!k-3EXS(zy&L1vjaDw{jTI-t3nV=>1%)UX1pSOqfmc{URV-Hoi&Osv*@9KK9-p(Wq}s6aGd!3^v02aB2F-(Acc zp{8W$P02t_qxt#s_0jw{_w5h0_KyR$_n-%C?LJjY*PlA4Bbn;mQTU68+nCci%t)&^ zR*~-E&Zrt?A7Z?<=7;ojOFQYRA>Ag@|D>gZagjX2ADtojJLkUHoBy#E;J%~fH*^I4 z0AsIKRiy7}RYmG)Q&s#y#*dmT(w{Y1r1;ZxqwI|m-s3e5EY=)k{4qBB1;75o{gFNN zA6K&<&g+7BMUf`6P)`4r0A6S*9MR%c8S(ZEMh1MJK)hHZ-Z2yJ+=$n3#LH>oeKqk4 zn|P~Dyx%0=>k+TRi8tghB4RWY@6q9_H~5$3#5;J2P`6Yqy5gT3{QrBsmq`2_wg1=Z z{f1U=tUtcnRV(o~?Znlf-T%K{Z*g_hUN{wR-->!+dHAB8xVnSP%68<$C0_iG)Y>Ut zITn|A?_Z=-`F{K@!Z-Zz54!98*;+mE1y_8*&Db7%Wlmi4+sI)$zKAU@@k0&q+W@qK zzad@xB15E$>r09MlttKcx-3a~@R!8H?4jSj~x5wODD3)wfuYi&eV#b&puh zixs|D_1m?bfVhy43+0n`UcS&Tj&sBjkht(K%lg{>eSV;g{|56~`o)Fz!3CZ8Yp&v| zSNWdPXfJ%R5bcFJ#d*JY$cA>q=WgN=v9ObPdMqB@i(_rH+iuNnc*ZqAvzvI?QoMhO zn@U_|iig(?{``rIxYk{xo`>zcp5oc_AJtdXQ#@^%bdCCmdh8GMt_Sk*iNbnK-?i%Z zp;jO9SQ+bsf1GukR-e(q{Ly`yw%zy!$_b(6tS&F|iwpm7D?WMuclp<MS5lzq@3kFxko5g$0=QzLO9Z$uFHFD#?c z>Kzx>1o8J_MIQ@)6fdR`icwxW@t&Ep8iLC@!-u*tFyQ^tNa~)@g6-s!$F&iV}EhsKl9%2-;i7C z&tu)K+Pozme~i@TDKS4y*G`Pu<`ZY@xOd0X4Ag_?3vKlrX_J46CXerZi+>6MuZC;z z@$3Qfi&s}mqxf6M*GhM3>E%)UDUi4h0LB+ag&aPgFzWeAduSt$OYl)fuEF0si<5~0AzkaX_bWk($H1^o{3jRsi3+P{{^h#B9ZJ^uuwqE?)A^I z==CTnD=l*@lnUtIoWg4IKcK5AhUg{rhflclGc0@uF!UQClOnNy6C_-krU+gsq4|`0 zry?;;zS3bz{h81&B=@*k@cvH7>Lc>@AvBuMeSrEhxedMo{pKgo2t15nNc9)I%>g3s z)+AF=olPzBoyCM$h{6Ih9M6ij3K_#O}#|9uMzr@ z(Bsjf2ERrNUhm#Qa|)q}go+9MjnIp|g*EUT1lLS~(tL^i6Bxi*NXP--p)9os1nms% zCN$SiphbipBlH%be-P^9FVJ8@lL!?Px{c7igx(7f2>;+cM?(nRKq#G1A)#*w{Y0qD zB2YD<_X&MV=oF#wAc5?JJ_-`H`h?KG07bIY??~Q{<@gun_?mbpiT5k<@SmIE$YK?#ovlJ&H$w4* z5($l_yy=8ykd`?lS3+nBp=E^DP~J_1wi0@Y^zEV?dk7sS^ckTaDDQbfvQ20SunDFBvEFXqWNP22cbb++s(J;>u6e?0X zgo<)IhYGoPLMensQQj$p@<>Y|X(^=~ZsOfTXfvTLgq|lYZxFAU&_{$mA@nun_>p+0 z2${kJ@+A}&CTi6$Ow>LxOlV0aUMBH!iC0Rfl2TU@dWp(-jnGcY@eh(aM5&(=Izi|p zq2H*czTrX(zPHV_^dXc?=!S5SBa?V}#48{z^C|T>~6L zp-%{TDDQ8SSLrBtc0#Fyrgs!_Gl^GDJO}Ys6Kd)xeB(hvf2ADHcNBGbiE`{Aw2$Nt zliX*7PEzVw$`KGLc(zEv8%Vstks|LfLK7)9op{p;&85_G;#Cs5i&7h?v zLW2kmj}rA88zpKrElSjCI;Gx9sY{5rhUD%gefJZ3hS2kbwo~4nr0)YlpOC(7&QLVqRnG@;iBZ71{vp>GIXAoLp{f4gXJsGa(kP(M3GB)iBl zjL>94>4atzDk8Lq&{9IH3AqV1QMn%z?+BqUs4f>t4*&1~=YWKCR9XdE}{8^77}t0T0&?Up&CN9gz5=35NaZ{p3p`@4-$HW&}Kqg2yG?w z9HAEpy-Mf}Ld}HUCe%XceM0*P9VB#^&}W3cBy^O}F+wK@oh0-Nq4R_;6T~ zH_OF1TO|Iex(#$^cjVAs|ulMzhMpY&w zW)AP`q(=Rj%##UM2}u0UrsEaBWF|^&>w{OI#tLLIc1gUZZoE2cG8QJ2YP(86(qASG zVlqeC6Oo1(isz+_@Z#hb%&Djp9Z$ZIK{Ck6UtCy)|BSbRQ(4UZ)p!GELGgmZxs~3z zDjgLI<``uRnK-AUvRI4)jideh!8+$A89lFfPIW2NbxvjRB5_w%UQ!|O{Ic?5flDe2 z7SIirr@@8QbIKv5inLW0l$Ywa-gi}wN-5v)%L9BqUYuWEJ%2tXm6eyq4vrr>jEM*d zBNEyEFI7B0zi{rnD#tuPWeXOsVL1cB3Pfs&o)Mq zYh9^Qe6ul{;AL({t_I}d61{o;Fx1tngl(p{gd{J{oeN?S)$cbUHzeLm?hwSM zb+BaJw~XJ*np|w5qoUGKLo9OcTuJ)WAjjHK>D^$QYv#|Dye^PSjY}Nt#lsj>+n(Go z@A~1|sR87UYUPHr?|4((bwj-520}aDE|c0^(B33(1LFGZBrM0bF6Z~6y>Z|OMmalv zATYeF$(cwlVW?5=6DT*eTxxUKOxdn)ohKsq;9EZuTgXa)?E>%Jb#=PNo4Y6NeI}lU zOJ}Ju?Yt}P;GVR@kHL+r__M~e7hUFPmcgB7aZ7d0j`+sxbFS&ps%vbt*`20B@}4wY zGI6zD8PvTy%~BJt=cVI&o$sjbv^Tgo{$n;w2I`QT<2+$^SF7$D>RKIr6PjPc#M957 z+wZbOyQciYRSk1b`Ng&8%x34?_FMAz?rKVC7O13&wF7jkZpj5jdNjT5^CCqvRH|mS z>N4%!rRn+o^epFzaQ7^=G0g_82lW;-f-8y()-~VmyNAuc&bPyFV)p$n$;%;fZ#67X zQM;%ia;R*>Rb8|c76v6dkF`+Ra5CxNIn2CxGHwh6~ghV7tOuf(QRCPkwNXuYWPKQLT7GB(r ztTK$xHANa3lGG`Y?1HzQxy2-@%k^ZHs1DRTN$P3^0YydFEzGOh-GfLITEUKjDAq$S z5X(T(p2P|itX_SXaqt~=sduboOqQfRHceMwe4!@BB##Tz%k5`0H!}L`+Bsu@&S19T z+<{(P&KsobGDya@k(8vkFs~}a8%va=1Tu^drViFSCKx*gMTQt%27M?|w-PIPuvYh> zUVOnFM)fpuuVZ!#_R;|{S(oKv$zGX7Bd>2$0nQ!n#pS#dul$@hqK%0~m2SAIEJ+#} z#NAhOlvK@|0}bXGCA?DeW#o;f)&-KPF;`U@fA%C#2*a||dVovCfo*TRN?R0g$LZW) zojd-j+8`Hvj}O&}`p^s32iYWYSiKsP^_B}`Oz{%qS*KprzmhbK9Gv-2x-KF#WoRZO z_sQ%510%~g0+BoYD#wQ~9t+Ct%x!agKnssexv}7~i5AY!^D)HA89W6;YN{`$&g?2D zgyC&o;0!3^CLi#3NxC^!(#0fc7M6l4^nAC7(oB$^A1GsrB+b_25Aq8{K3(j%l8+_rLHJh{Ox7 z=0bVpS8*k&qD>S=-omSMgW+zwN)ox1S92laS6%JFz;#@$7q_U(XVCAB<#AK9?PCTE zu(N+-S~45g*@cDDnCoxW{)OtBt11g`E-iN8x>?Xc@v#X>u?evW#Hg$;ca$wCzIlGx z9NJ{y^|rQ6GnsvWCn@;OalS(eI&cqT`c;=#m6etk7uhk@T;(W&t?L_f{%I3szChJSYsU{_tZ1e^e7{1cQUf>1S9tbT9B+C%E*T4jNG?~k^Apw zWaD#;{Anj651eP@&%J_>JUEe&hn6$4>CcQj{0bwFe8R|IE;90H=U^n8M=|n5DI;6% zX5^_C8QJ;~BhUWI$ltnHkvw-jBhSxZlsGg-owZ{KQgjAEELI}>lta8&B)$m zjJ$h4Bk#S;$oq#F`NvsCK8S!}ELN)h1y=16+6%l z4s`wX2=g741!ayZUK@?yrjB-~WhSf={a=S6VYdAia31!4re2a9m_H?dp=6WgzXdRc zMMeqR6*=fQ6e|ZKJNT9k%&)DmX)dm;D$Xx+6jw6c`T3>g)%k@>mRx^*ettQ=E{#vE}$BnSFhWuCS@t?1OZ3P%f4#}TTQI&t=0tf$vfY~p_1%W3tKP!LE z|7q?^pyMj8w5z(?ZsA34AsI_Xw%V5WO=|7(hPRe2?;zV?3_Q2GTT&aTyWQQg>=2BB zFfj9zjbRH3OURIrg*lvT11E%pz=UN;G7z#)CS)cMl1zY*ndC4(%YW~!s{59Hvax68 z%-=`qcl+M&-nw;bc~$k^tC!0SCx-Jw2_f-kDxDMoBnC1^(r9vLwDq)(V-yp^`X3ri#f-8hW3BOj4X6lf|Lj800D~PK34y_4mC<}YT}YB8l~f{iXtY=w$fSo;;z8nII_mc` zq%ts^OK89c$e9epV?f8lN@r7GDkM~xcIDIAkz6VbVamUz!<5M9ReD0Q_=;KAes_Q=LV2g1(V1O z4P9F3yVU^~^wr1FxNKxbdmn?-lR zGXvA{ndk7FfOYZCzEYP#wV^x~!%C1Ipa)vw;(2VCL3s|A=do-uowCL^`3k7wn-!U!D$oZ=}P8_tW8`C+M*MB|2OzH{;>JEIM4$O@~YO(&4hhbg({1hl8J` zL*mPQ$Gd(93>r;mB0=XGHD%2Si_lONmMR+ z7Pzy(K>uiFxRlAV zaV!n-tGd)U3!E`hy39C>7~)upQ;(cXF$G0Xbx^UQqJE@b^_RdrM^d?k7MAbT-i39vd>9VgiwInrOiD?L?p@@lm8YXs95{;Ygs z3OWCKbRH{DG=z19v{b~;RcbiGS8?;`BD6?7Xw@>6-}4ZPUtlZ_hel(uNG2hIvy{y- zwn>!JA53Jf)a7v%S;atde*a6eVK1L{< zD%oB$ifvs^s2^080koA{N&X*h`5b93^Hnvdg2Ks{8pTrpsEpvo`)Xedu07~KkLOjRO^2v4>;WUk<{Y z{eUcu`B=gdC{htXW0|AM0G~oqWk8g(u`HRQ?NUH~Oz@{&X)AFlml9QpXKyi;a!|;h%wZc! zy3CmFkT9bFx_2IeZWs@Abf7RIs(wbdh)^tE!#)Dr*a9EV6*kECCt7*{o=^PwLUoK~P$_s20Z7a&jAPh_G1VTHE9e z@@kMwMUFJQP4W)rRsI?;IWLjNU1M-DxmSLJF?y1*R3=iXLb_NKlefc+W?MIp>SL`g z?cQX(Q$ynyBn37zIi&`yy+J8r{+z~ky?0~Vk^;|V@?zWCdTmYN(_-=-Fn2O*T?QII zw0qkTS2tt9D-59ggvT$6;0nkrz;egL5~WaBcI8qS@amUDnR6-8J-i8m-$ zGEc2^HOu36-8_3lDw&!5MnkxEwjh)OW+RfbhjHr((OkU(SN|GP>0}1ycxn}I>ud6?{p>X?~i;EX6aS}4GjeWV}SUUiF-Old%FI-5Mk zl2#>&G{C^#@+94+WHlu7B;T%NwIs7$=+M)VhJ3D=DP@kNEu8R)>Q2RvHe}O-2?xJR z@#m4t1BFD=qTMWtqPm;rXN`**T-=q4ySO25CDmRWX((S&y-M+y03Y15`XPh)L^3U^ zS1ZBNhOAp*jp8o@zFT3f5-dkc;3CAL2!5WYxGNBDbJrb> z%_m6ouuDYo5;b>{=mnQ(u#m_PiJH4e^qNaFoEu9QM9tkK!X;%}M5iiIa}SB;yG5f} zXxcTOB+)vTNX4|~UJ@N}iDV;SSu=~ z?~%BmH93{brp5HV)Fz?1Oor)Xp_ERE>HB1kN+~3Q)_NFMWs=rdu8UjjGQGu4m@N?*=p^u@V1})@F+;8N>qV_f??|dtU$CRN3@V_ zQe#CVBC+r6D|Tv5T=n5Wd1xkd8oSZ5aKLL2?m+KOYWQ6UKhVj&7wHrru}G~>p+hks zfkY>2{DUWfOn-V1X8e)a8sE)4P+5WZcF1?UD!A$xnd`^`au|*et7&*U!iUp|%SB{? zodsk7Iw*1fBIUg@oE%Cg0lHjU?lLSq$tCFw5|p>Fb#<1bX4KBwW*?kLyEYPQ_lV+$ z$XZbT%45kkN6rjqMxeGu);OFY7U*kNqV?qlbg5;Ehp75T;>L}bgB?c)u!aStW!rG% zBnKnT$WA+A$bdozwL_qTPqV4B9!O!nK*{!?rpclDz$WB-cr?1O)(8k}uZ`OBzYHJ&P_9Yf`HtjtR+SU(Ux zl1~(%tgh8Inr$Z5ulG^?!e`zbHA@xoC|!uCebg>0#R4@fxy}@Gv0da%6~9CujQ;zIqKJt7QFrz=R0a$bI|)Kw8+CbT zkW(0`ai6zw)IwKE-M7zI$aZJ9E?;1@4Qvjm-indfROCBR?$B3C>ifHt!B)H5myL5A z<_NS=8`CH<)jP*ws-RQduB>$wOsYSH*vpdBpn>kyHf=0kewO#R%u?!?DWh!#l{%Sx z(q)ohgW90Mk-68L=4gwzNY3D#(;3`cigD(|GiqGaryGskXk)u+`V@Je2A0i|vNm)T zxJeGwW=xRicO1H9dC%PPx@l`fZt-Xc`K((3oK7ZSD3&R~+2&5;jbRyY-tu^pF2G5q z_80mjqZw#@Nu%5PDw!O{s{oOQboHa3U{>y8B-Rz|PekM!rs~meK+#3SV~vie;WHhP z?`mA;D5QzAK6x)=RJt1Y3zaJ2aJDX=Y4qkk0Vn8x*Y;WxC1dc99)k)P4w5~EBZKG8 za~tfIe~<0*90km8cQp1M8>$;SK^qv#jXiH8bz>*wB1UT5?KY0ey<6gK?X_`LE*%LN zM?;0SJ$S0j1H$hs$HRGqG(z)T8jfyQ>n?HY(kO#8yXU*|;8coOL9de18Jh3SH>FYM zPUDb9e|)|x^rq_PM~g!+=Egzf2UR-V%!0tl@62}xZMl3Cf?NAXorW6o*fD!+zBgtF zk9DnPKpO7O{`S4ru7Vu3ei1pkp6ZesSm1wJubEkBHn zLnRF!6AQMsm3I^j_=LGShGlm+Ocq0^6iQk`<|S>z7B zKIsD#CY_PbD#PvcGj5{yf{#D8&ciO9_vDLmWx-;XE4Ib&oW4bz6OhppZllU_x5Ov% zBCmwZ`6oY|NMio%n)UU?J~7wTi1-xMUo4S1m(Bwbx6pA-kS!@iXJBY~;$~ z2|gB-fe(yl!04_k(>1m32|rb5)g%22Jo@jobnHkkTv}d2u1KfOFbO-1ANEV4ER4s_ zJROzHAI3|@r0}6LOu-b%h0A;rC@YdLo?$95-^3{=rSzCzO7`qkr}W4fri7E*Hl5Pa z<>Qr&GjdO!VM^*xrF4s5N@bnGb7z>+&c0@gR}9*9k`*g_lC;+k%t{+3WF}(Qd-O1LjMaf9iS zrx&)w#7hdG6PSt@7OcQILF&W06G-}g1Ufj$%wig)mNtIM1@1N*Yr4x-( zwQN;ByRg<@P4p(Hly3G(kG=e*%S)s3q^&|FsryabPa$%@iE+W}-P?ZNDXrQ+23%T> zaCF7S3x`hdiHT*ZN^`_V)1+4sbSW8?dt$yBtHgBvg^L(ftbt6Sh;*T;He+TTGAMmkYly~|o8`WD|eKWoaRWC8BosOVobKczlq}4a~ zXrgvaaC{Sv5X@;CKLq5;v6HxB$06xs#(2_u5>Jf&r`mjj@i=@(ZZjTq*l{e6#Y=6z zu|Ny8dxGOyaD-x6`}mWH|5sbh={CLvA@Z`;=`;)TH14H!-RT{!plOZTD}x>lJu4xdzK-&wT-rDKYwODa z^3L(}%RH~W%WDaTxn$(K9j+)Fg$K%$W|hgEKIxM3TBZDTUuEsJucmTVG-Am`L;C>H zh@}w?sc+n&bAkRw;R50};TE1#A|HIT6Ys9x!58{IgjVPl>m8Q8ocUqJ4V||G8{

9trt5w<|E@MwGrGs`k^;tFLc>V*THG^i2fS)#z8tBS?dP z9l^P)ID#AL6813Ocu~9Gk@+seHc1{*s?PAKj$sovUaXh#t0vXP?K z!wqc4JCCuv>QW)*hBnjv!gaKHkz!SBc>(%{x`AuiU}VcpAgvobkJX|*Fr^T68K+;Z zz%p)~*ZY0E%7m>dGm;17ITEvjca7lFSIJ>qxCQ^z+PATwt`RF)T%dw}T5E7P*Pj3@ z^)7ffOBlQrw@<8_D=&pZ%+}9klaR-lOS@C^oEzTc~{C_=2dQnZzH%t_S*tFt!Tlm@;bMMI(5)3 zKN|8WdA|ojUj$hqkLx?H>b@ku%`kmkb~#-_t$Wm&XLWVf5@BBlvtQo_sqY||h=YZmG zT#Bk0X~p|IiZJ8Vm12skSUYr$AkC|=YB_T^CHHJEB6fT?M}#ihb63 z93`w{Vh477_~b_>F^tzB>$==kxYZ@5n+-fFx;CzI>vff5NSSV?P|G^V$J70i7bcvEJ=Q%ps&0_Qk9W==;||=(aYkhHk549g?fz zyAf+}G=za)5ZZwZB%?&`!j=`P`@HO4F9dZB^wO@nuSq?=3DTpSb&tApmPz?P#@V4N z_+wtQs^rahcgjy8)v1`8tUM3C#cm00xbAUK{&$aL21%ZV-fz7Ts9qk~&q`Olgf!Yo zVy+)g-AZ`K=0)o;-*NcacoD?}$z2$un!4xZpW{NDkE6A^m!ul5i6F*-I-a7adzlb0 zq;qi9``7Aztz%R{qGTdDlm>-Yw89kPs=d|fej_V-=+4&Q){kL;ek(79s8;r<4)QaY z{O{z5v{|@mX5GKZ2|=5+4_UvLKX)kN2C;Ro%DE2KKO^cj2_p+;%|g`c5_f;CQ!I7+ zRVsxAn8sUhAvb??m07#h3+ISfhZjfn|Mm?~9@M+5+j|OWyyMGh?9YD2x_zKz?-kqL zc8Mpcx{*8uP*#vH@oB6do2=Ya?oVsYIJOuKMwwy$}<#F;u)J+6wKTCDrtTih@ zcBMOIp=-4oQn@qbsMuffXxaA`T1BV@mg>7JeT>Aq%8`1o9F!9_d4sK%V|90u!Rl4# zW3(ma3x-JMUQ^;Fn5=7iW^N6KILM6Tqgg63AqWB^Uyk1m=#HfD0FA+eEZ0CZuzRoem~Z`8NDk zeYer4PC(QxIaNA@bD77x=(KG#tEwz?R`??t3PQFT|GXMW9K3GAy3hbf{Ur&%?GWN~r}PB3n06;U&H0KER)!}D^~95w--Qf`djqHeDv2<7)9%J-$yqFE z#AnSL`{64zm>m@}7j}av@_UJW#-bLWLo=5y?G>UA7o}#d)z5GQ7fXc9Tp_btuwM6? zo^+njl9;^Smc-y2hqsRHhQ!QP`8h`LqfTb@sCEJnGu!b@-3p$?Vh-ixk=;o%jr$E6 zS&c@-9$TGu1keNEnH}R8=_{I{uQmX+9J9Y5)CoTuk&F@<~=Isznh`@{tA>Y zvYdm+ypTIEP{4&OK$l!Pra5BoRG5nf-!uuosa(Rxb@t*zJ;7O9of3yj`>oB}cWqd| z-LiTu2vb>23EQw38X2>-NdlUX~&->6eCloi=w4N4f zlgxv9T}`gXj*m7GqXhuD0V~LS@;rgHQFe;?+jJa|aK@n#>tR2pg1gY;zVbWae+&Fh zM&K*(Q7uKuJotYf{0}&#DQpQ+T<=QYqGBN_WDJ?25nDk&>Y)Ax`2RHge+g|IRyNXC z!0~zXmtdQK>WBX~;Qyyy*z5r2Y7eHlP*iSrC8}T7D;H9W92iU#28%G&-9UxYkET*! z5_f!G3pzcZoPHUYhu}y0bs%m5VxDyvy!-CES7mYQ z>T}n;cM~w(p@mG^FeFZIhmtajTkoH{_Ptx_vh=fK#uuL_drrM9oHI%|$ms7K>np`# zjty0M$Krhn_=>k7F0QR)mDy9N&_Wwd?fC9sqp!Sp&-$fw0m==Rfttzb|D`oCpT(z5 zc%=pxkZ73?dW~(n+>1*^wYa4C|36IEvZvQ*M!3!G4Mz4kJ~?M17fURxRQZ!7uJ zYbzt=Z6(^+AA-}Cy&GA0lA2}m?oizctGvM zH?YuQ+~X`@B$Au)@)0ShL8o`jV-*yn;j!!bf92w))rpjEf|(DK2$K9 zxrJjMbf=auwxXc7dJDICpdCuU$VkEL0~hY}TGbN9Mho^Pap6^7k6Fg}b%&jM$c5K> zV;FOYjnadM?Oo==>&vREks0{bf@2f9@TRg-vZY)tWh3rCcUW%)7vAR$kP^hj%sr|- z=zZeC`@KLVFhFP(dK0@NHfkaN{Dfm-5@ArfK!fgo!n)owcZakR&c}8ihbL zf2@y{14&|lfgaWQ)VGuab=RYSp&m5}tZyv`lEeTjdh~R$zO4+|anuEk^r#tWeS5i0 zk{DpLM@@O_JIaA1F~D{D3GDjLav(_za7sWw;a%TVjwFde3aKB$uJ86qoE}6qNDL+} zKh&@E3noZ7^_+$KD&|Itw1?uX&_u03ClJ*-TAYx$x*bp2dQjO zpK#RxEq{6^+$5iHmHO$9PLuyFqtj&h8TT{?>qQR3Tq?8^Cytj+FA_zLgtBnj1NGv6 zODKxvp%BkQC<3As#2^2+aw>Ki5+^tCmt5JTcU*3Q+z*a5^=Gn8D^@fOXZo84lS##F zZE2$Ynwv7&9 zO5`vxSQ;uUhlCQN!zJLrTs>j$OraRc{=isD8FD3Bg5a@nb*n&HXU`epAq;}M!Kn<} zeZERd8&a3rlpP@^(0A}zAwz*gNLCyR1r`s4K z-<6ao?lXq(Ux5?b`zxk|LRA%#-mzmoQTSh9Sy441uwg0`4$F{VGmZ=w&_3Xi)oU59 zn5}op;#CtvRpFq~ed{E4ab;^f8Ln8(9!IvxM`rxNb*5&gY*SS*=#bw$jvPN2VCXe* z9#3y<1G)l_QKCmHG>m@F(O5h-YAhbxJXrkQuCaLR)L1+|_;S~*);(Wt;S+k|sjfdY8dEpyy zctddw5KH}Sp*+RoyNa&BBbK@|9sFG-6&8=ximt%pJP#Is&(~NyF4R~&Zt%gjN)^pk zTh7tMS`^o|@VHsq!ehV37GnFftv*}Mwy@TvwJkgjYFl``*<%Z_Hz-?lyh&o{`ffTo zG<1V4=VbBsEjn2|-lmhq;}afRhy0DXk7xfD+ewWj*{|IjXCla*CQB=Xx2&&6$XWR%373$GN%01(!Ax|!be!@ z4T|g0Z)+%%N>d#&_gD$889wPZ+eH%>W}Bb!%f+q@wC}caI48=U`Vi)}TXMp;&~?6@ z56*b%5XaPV+e&LXTjDz+R|p*O;6|L4#G47KUdc&NtL5rVcUnJ*M7aYUKh$ z<(RsQspptlvd~ZmnYx#$pEGs#B13Is>YBxd`UX=KOANJ@slQ)pEDJ0HPod{-Okj{m}+b@ zRGO*#nEEwSE85vVre0!dMu(yHGIcjo|H#zTPD4G&)C)}gl&P1P`W;i9U55JVDnmWX z)W0zGA56*Bh6*!P%~Tyzai$(&>T#w*YYa7+so6}mFtv@T6jRqT^%PT~^9*&xIzxSy zsmsKUe)Fr)!I>OWmre0&}tgVKsW~yha>AklywG*hhBt5`9i>WJ^x{9f5S>r>@ zyNRh=S$a38dq49YX581AdW@ydu*Ub9_hZKW6H~9U^c|+Ewi(@XnQGc*G+LSJ+-5X( zFzWS@UT=MjGzGO~HN@00rcN+*BU69P)ZI*dnyD``^)OR^ z&(yO_{g|m=F!ej8-eBq-rq=8>)ccwG7E`$k4fVH7y~ZluH%%iyW{7$K1#43bj;+PpHJ&!kp3-whho%d zk?gBNjlPkiRtUZ?)Y_fRd0nXWG@CO?s#PP#>u-l z_-?_YnUaHppT8{Ay4S5`U7SrEa&ZOr+;uzrT<^ zVt!?^135zvXR>LrVlbJs(npi&e90=&L)BV3P{0*91I;B3nIG*}k4hQ)g+zAH{)soP zTkr8MXAt(4ws-OS^bkDmo#W#P>E3kTWH!adm9&f}*%;GL361CY$)qvP*7$k;-z=5A z*)d%A={vOjkaa=2IEt%-mNj_vsFhC_in(lJI8!=i6%RF+VFxqCQrc@`Z?<3yTsQX6 b%O5wI@OuSZE`3E6GV_GFb%ft*Jn8=d=^2WT literal 0 HcwPel00001 diff --git a/mingw/lib/libasprintf.dll.a b/mingw/lib/libasprintf.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..dee56213cbf09e80b45b7a344e0c9a112cc10107 GIT binary patch literal 21646 zcwX(C&2Q936u{p)Uy!B{AV7cs8we<(C9L-=*^<%{@&5VxmYnzdK>%Ao9uYz zw=?7C8IMjI&FaG&{nyfd(X&&9Vs2_On@guNu7&=z(@TXZbo6;Y0L%dN{Rwa|577T3 z(t(#q52ukHxsCK#6Y25iNQXy|p8f{u$S+9GPaqxr4(Y|ekzW1;>G*S`Zw(^7`ZdyP zKO)TzAk-qmk(wQ>S*{4Y7e?qzlNSE#*y|at-!+(&LmmRHa z*1j-W+s#_tTCZd(Ynz*uTHV+(p;CEh8f$DaRCYQB+o!g*U7-#3VVz0zEWwQAoXJKT zHcYG1Xj|KDtFqo`ZW&g`iJS7^?ow`}-qv-aZ8h*0RCiWeb30x(p$k88r5c$ZyF9qd zq|Ii1nZwd~DSAXsJuK&~>|A+iHB%AgrhNFRD@)a{BK`q(;U(%4CD4T>(4$M>x!kWm zuGQBntB;l+*~d+Dqt>#_rk6J~nNBF1t@f5#X*BI4>tVC;n46vF#ik3gGX8?HmP1Nv z)LQ1;ld8FG)f#nv&Y%mOINxYi%{64<<_{#rf8=i9fI!Dwj+`d|R3^npFea%;5@=n_ZNvs((bo>SNl+`8_F21WZbe5w@I zB#7;-bc^ImIjTiaJB-;yI)KWUny~Edk}8*D|JBxi@wrp_G-Q4YGV5HOJ%xnc6!8md zxj$?jrF9LAO|&yofr8kFo$;k-GFAoSbK=?bLKy&xiGT!Iv! zT1-Srza%L`lBArAAjSC&%aU>qsGAK~i7hRI*g|Nz07Nvn4iI%G6~T*qU!O1O3@=IP zSgPat?@S;C!v%zFN#lwxqyGaz~&MAiuo0aw0VX38O4xQl_LyDP&nv zG7_X5pju2s%27#DMkGnO96`!3$dhsgI3X#BFEzv1La6a3^{!Ntk>LUrbm*p0FHCSYCp#0ZGD6ND`KoBWD2} zow+rk>jn_f;A22^z3LMlF<1H5T=|60)k!{A`u^lf?)jgXEBP3Dp}@;sNJYFv`4 zYy?$fAWzj1KUM59K8Wx5IEF2Rt`C5S22}{s_3CRG#jGhr@UsPmwWK@=8sxDC&DipF z3R?(YUiG+^JHY2l097PO3X%FO+iN9-q{Bgy@R$%+lFncYA!!PTXz&rRB+0FR7Sp5< zl~3^8{ZN1={~B>4wp5K`i+JuXxHPF1@?ydi;`4bn0+E!t`4Q?;IdxxjQN1O4BiHAvBEx5e;qvO_OLxjhGsRn0tb$ zd4r~Ap}cRX3EyKSrbZ!-o@1#=$|%nkjm#;yz+ZWq+oSsfTBKr_YNzY4Ks>k_sQww8g226kubV{31_ zc*V3SM9_8ixy;)Vv~^3;c1V)8VM*F9M9?+_^0f8QwBbF^ai!}dwh+29KtyxjjZtAQ zN3geBOprocJi)W^UOz#xrAKKtF5K-erbZzKo?vQvXlnM$J)H3U4`ON*V%-UzZ+Fww zII{rn9xlFfBGvgeeOXa&2N5%+5Z%_<`F2ufKwUIb&g)cSyxwUDTL?>6fQSaSz|WHC zoiSo|6ynzfc6Vq}p1o-vJN&om#Fe9q*g`nE4Ma3BfZ}LRZxs?#rV#H=@Y=bQM_KUg oOYt4`l-ABEzjI1Vl|no`!FT@PQAOU+6<3;+?))X*L>5la|B{2SBLDyZ literal 0 HcwPel00001 diff --git a/mingw/lib/libasprintf.la b/mingw/lib/libasprintf.la new file mode 100644 index 00000000..a77a17d3 --- /dev/null +++ b/mingw/lib/libasprintf.la @@ -0,0 +1,41 @@ +# libasprintf.la - a libtool library file +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='../bin/libasprintf-0.dll' + +# Names of this library. +library_names='libasprintf.dll.a' + +# The name of the static archive. +old_library='libasprintf.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs='' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libasprintf. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/mingw/lib' diff --git a/mingw/lib/libgettextlib.dll.a b/mingw/lib/libgettextlib.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..42fa2bb0027821d0334934292c834a9d3c13a09d GIT binary patch literal 1077114 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 literal 0 HcwPel00001 diff --git a/mingw/lib/libgettextlib.la b/mingw/lib/libgettextlib.la new file mode 100644 index 00000000..f0d04f7a --- /dev/null +++ b/mingw/lib/libgettextlib.la @@ -0,0 +1,41 @@ +# libgettextlib.la - a libtool library file +# Generated by ltmain.sh (GNU libtool) 2.2.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='../bin/libgettextlib-0-18-1.dll' + +# Names of this library. +library_names='libgettextlib.dll.a' + +# The name of the static archive. +old_library='libgettextlib.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -R/mingw/lib /mingw/lib/libintl.la -L/mingw/lib /mingw/lib/libiconv.la' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libgettextlib. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/mingw/lib' diff --git a/mingw/lib/libgettextpo.a b/mingw/lib/libgettextpo.a new file mode 100644 index 0000000000000000000000000000000000000000..6c8c43aaa130a6786b15d6e965f0b4cb324640c7 GIT binary patch literal 1171414 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

3T`JfTW{0?1Owkhx;barEF}Tawzw2O;1O9G(8(W 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.wHQ{d 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 Y$IkBgb9I3K6WIwpHs|Cqqwebe1GPT)8~^|S literal 0 HcwPel00001 diff --git a/mingw/lib/libgettextpo.dll.a b/mingw/lib/libgettextpo.dll.a new file mode 100644 index 0000000000000000000000000000000000000000..c7c1d0d772314aa0da4b9a598c5bf62c59d6db2f GIT binary patch literal 270796 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 G>HhGU@8->h9|E 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

  • yL=S%V<45~xon>U>9*nDQ}EYla6T;Zve)15 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 literal 0 HcwPel00001 diff --git a/mingw/share/aclocal/codeset.m4 b/mingw/share/aclocal/codeset.m4 new file mode 100644 index 00000000..a53c0426 --- /dev/null +++ b/mingw/share/aclocal/codeset.m4 @@ -0,0 +1,21 @@ +# codeset.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_LANGINFO_CODESET], +[ + AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset], + [AC_TRY_LINK([#include ], + [char* cs = nl_langinfo(CODESET); return !cs;], + [am_cv_langinfo_codeset=yes], + [am_cv_langinfo_codeset=no]) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE([HAVE_LANGINFO_CODESET], [1], + [Define if you have and nl_langinfo(CODESET).]) + fi +]) diff --git a/mingw/share/aclocal/fcntl-o.m4 b/mingw/share/aclocal/fcntl-o.m4 new file mode 100644 index 00000000..d416a61c --- /dev/null +++ b/mingw/share/aclocal/fcntl-o.m4 @@ -0,0 +1,81 @@ +# fcntl-o.m4 serial 1 +dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Written by Paul Eggert. + +# Test whether the flags O_NOATIME and O_NOFOLLOW actually work. +# Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise. +# Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise. +AC_DEFUN([gl_FCNTL_O_FLAGS], +[ + dnl Persuade glibc to define O_NOATIME and O_NOFOLLOW. + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #include + #include + #include + #ifndef O_NOATIME + #define O_NOATIME 0 + #endif + #ifndef O_NOFOLLOW + #define O_NOFOLLOW 0 + #endif + static int const constants[] = + { + O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, + O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY + }; + ]], + [[ + int status = !constants; + { + static char const sym[] = "conftest.sym"; + if (symlink (".", sym) != 0 + || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) + status |= 32; + unlink (sym); + } + { + static char const file[] = "confdefs.h"; + int fd = open (file, O_RDONLY | O_NOATIME); + char c; + struct stat st0, st1; + if (fd < 0 + || fstat (fd, &st0) != 0 + || sleep (1) != 0 + || read (fd, &c, 1) != 1 + || close (fd) != 0 + || stat (file, &st1) != 0 + || st0.st_atime != st1.st_atime) + status |= 64; + } + return status;]])], + [gl_cv_header_working_fcntl_h=yes], + [case $? in #( + 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( + 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( + 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( + *) gl_cv_header_working_fcntl_h='no';; + esac], + [gl_cv_header_working_fcntl_h=cross-compiling])]) + + case $gl_cv_header_working_fcntl_h in #( + *O_NOATIME* | no | cross-compiling) ac_val=0;; #( + *) ac_val=1;; + esac + AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], + [Define to 1 if O_NOATIME works.]) + + case $gl_cv_header_working_fcntl_h in #( + *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( + *) ac_val=1;; + esac + AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], + [Define to 1 if O_NOFOLLOW works.]) +]) diff --git a/mingw/share/aclocal/gettext.m4 b/mingw/share/aclocal/gettext.m4 new file mode 100644 index 00000000..f84e6a5d --- /dev/null +++ b/mingw/share/aclocal/gettext.m4 @@ -0,0 +1,383 @@ +# gettext.m4 serial 63 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2006, 2008-2010. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], + [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH([included-gettext], + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE([ENABLE_NLS], [1], + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE([HAVE_GETTEXT], [1], + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE([HAVE_DCGETTEXT], [1], + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST([BUILD_INCLUDED_LIBINTL]) + AC_SUBST([USE_INCLUDED_LIBINTL]) + AC_SUBST([CATOBJEXT]) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST([DATADIRNAME]) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST([INSTOBJEXT]) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST([GENCAT]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST([INTLOBJS]) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST([INTLLIBS]) + + dnl Make all documented variables known to autoconf. + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + AC_SUBST([POSUB]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/mingw/share/aclocal/glibc2.m4 b/mingw/share/aclocal/glibc2.m4 new file mode 100644 index 00000000..f148c12c --- /dev/null +++ b/mingw/share/aclocal/glibc2.m4 @@ -0,0 +1,30 @@ +# glibc2.m4 serial 2 +dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Test for the GNU C Library, version 2.0 or newer. +# From Bruno Haible. + +AC_DEFUN([gt_GLIBC2], + [ + AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], + [ac_cv_gnu_library_2], + [AC_EGREP_CPP([Lucky GNU user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) + Lucky GNU user + #endif +#endif + ], + [ac_cv_gnu_library_2=yes], + [ac_cv_gnu_library_2=no]) + ] + ) + AC_SUBST([GLIBC2]) + GLIBC2="$ac_cv_gnu_library_2" + ] +) diff --git a/mingw/share/aclocal/glibc21.m4 b/mingw/share/aclocal/glibc21.m4 new file mode 100644 index 00000000..68ada9d4 --- /dev/null +++ b/mingw/share/aclocal/glibc21.m4 @@ -0,0 +1,30 @@ +# glibc21.m4 serial 4 +dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Test for the GNU C Library, version 2.1 or newer. +# From Bruno Haible. + +AC_DEFUN([gl_GLIBC21], + [ + AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], + [ac_cv_gnu_library_2_1], + [AC_EGREP_CPP([Lucky GNU user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + [ac_cv_gnu_library_2_1=yes], + [ac_cv_gnu_library_2_1=no]) + ] + ) + AC_SUBST([GLIBC21]) + GLIBC21="$ac_cv_gnu_library_2_1" + ] +) diff --git a/mingw/share/aclocal/iconv.m4 b/mingw/share/aclocal/iconv.m4 new file mode 100644 index 00000000..e2041b9b --- /dev/null +++ b/mingw/share/aclocal/iconv.m4 @@ -0,0 +1,214 @@ +# iconv.m4 serial 11 (gettext-0.18.1) +dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + AC_TRY_RUN([ +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff --git a/mingw/share/aclocal/intdiv0.m4 b/mingw/share/aclocal/intdiv0.m4 new file mode 100644 index 00000000..289c4df5 --- /dev/null +++ b/mingw/share/aclocal/intdiv0.m4 @@ -0,0 +1,84 @@ +# intdiv0.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2002, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([gt_INTDIV0], +[ + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + + AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], + gt_cv_int_divbyzero_sigfpe, + [ + gt_cv_int_divbyzero_sigfpe= +changequote(,)dnl + case "$host_os" in + macos* | darwin[6-9]* | darwin[1-9][0-9]*) + # On MacOS X 10.2 or newer, just assume the same as when cross- + # compiling. If we were to perform the real test, 1 Crash Report + # dialog window would pop up. + case "$host_cpu" in + i[34567]86 | x86_64) + gt_cv_int_divbyzero_sigfpe="guessing yes" ;; + esac + ;; + esac +changequote([,])dnl + if test -z "$gt_cv_int_divbyzero_sigfpe"; then + AC_TRY_RUN([ +#include +#include + +static void +sigfpe_handler (int sig) +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} +], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no], + [ + # Guess based on the CPU. +changequote(,)dnl + case "$host_cpu" in + alpha* | i[34567]86 | x86_64 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac +changequote([,])dnl + ]) + fi + ]) + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value], + [Define if integer division by zero raises signal SIGFPE.]) +]) diff --git a/mingw/share/aclocal/intl.m4 b/mingw/share/aclocal/intl.m4 new file mode 100644 index 00000000..335b23c2 --- /dev/null +++ b/mingw/share/aclocal/intl.m4 @@ -0,0 +1,294 @@ +# intl.m4 serial 17 (gettext-0.18) +dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2009. + +AC_PREREQ([2.52]) + +dnl Checks for all prerequisites of the intl subdirectory, +dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, +dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. +AC_DEFUN([AM_INTL_SUBDIR], +[ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([gt_GLIBC2])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([gl_VISIBILITY])dnl + AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl + AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl + AC_REQUIRE([gt_TYPE_WCHAR_T])dnl + AC_REQUIRE([gt_TYPE_WINT_T])dnl + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gt_TYPE_INTMAX_T]) + AC_REQUIRE([gt_PRINTF_POSIX]) + AC_REQUIRE([gl_GLIBC21])dnl + AC_REQUIRE([gl_XSIZE])dnl + AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl + AC_REQUIRE([gt_INTL_MACOSX])dnl + + dnl Support for automake's --enable-silent-rules. + case "$enable_silent_rules" in + yes) INTL_DEFAULT_VERBOSITY=0;; + no) INTL_DEFAULT_VERBOSITY=1;; + *) INTL_DEFAULT_VERBOSITY=1;; + esac + AC_SUBST([INTL_DEFAULT_VERBOSITY]) + + AC_CHECK_TYPE([ptrdiff_t], , + [AC_DEFINE([ptrdiff_t], [long], + [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) + ]) + AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) + AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \ + snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) + + dnl Use the _snprintf function only if it is declared (because on NetBSD it + dnl is defined as a weak alias of snprintf; we prefer to use the latter). + gt_CHECK_DECL(_snprintf, [#include ]) + gt_CHECK_DECL(_snwprintf, [#include ]) + + dnl Use the *_unlocked functions only if they are declared. + dnl (because some of them were defined without being declared in Solaris + dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built + dnl on Solaris 2.5.1 to run on Solaris 2.6). + dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. + gt_CHECK_DECL(getc_unlocked, [#include ]) + + case $gt_cv_func_printf_posix in + *yes) HAVE_POSIX_PRINTF=1 ;; + *) HAVE_POSIX_PRINTF=0 ;; + esac + AC_SUBST([HAVE_POSIX_PRINTF]) + if test "$ac_cv_func_asprintf" = yes; then + HAVE_ASPRINTF=1 + else + HAVE_ASPRINTF=0 + fi + AC_SUBST([HAVE_ASPRINTF]) + if test "$ac_cv_func_snprintf" = yes; then + HAVE_SNPRINTF=1 + else + HAVE_SNPRINTF=0 + fi + AC_SUBST([HAVE_SNPRINTF]) + if test "$ac_cv_func_newlocale" = yes; then + HAVE_NEWLOCALE=1 + else + HAVE_NEWLOCALE=0 + fi + AC_SUBST([HAVE_NEWLOCALE]) + if test "$ac_cv_func_wprintf" = yes; then + HAVE_WPRINTF=1 + else + HAVE_WPRINTF=0 + fi + AC_SUBST([HAVE_WPRINTF]) + + AM_LANGINFO_CODESET + gt_LC_MESSAGES + + dnl Compilation on mingw and Cygwin needs special Makefile rules, because + dnl 1. when we install a shared library, we must arrange to export + dnl auxiliary pointer variables for every exported variable, + dnl 2. when we install a shared library and a static library simultaneously, + dnl the include file specifies __declspec(dllimport) and therefore we + dnl must arrange to define the auxiliary pointer variables for the + dnl exported variables _also_ in the static library. + if test "$enable_shared" = yes; then + case "$host_os" in + mingw* | cygwin*) is_woe32dll=yes ;; + *) is_woe32dll=no ;; + esac + else + is_woe32dll=no + fi + WOE32DLL=$is_woe32dll + AC_SUBST([WOE32DLL]) + + dnl On mingw and Cygwin, we can activate special Makefile rules which add + dnl version information to the shared libraries and executables. + case "$host_os" in + mingw* | cygwin*) is_woe32=yes ;; + *) is_woe32=no ;; + esac + WOE32=$is_woe32 + AC_SUBST([WOE32]) + if test $WOE32 = yes; then + dnl Check for a program that compiles Windows resource files. + AC_CHECK_TOOL([WINDRES], [windres]) + fi + + dnl Determine whether when creating a library, "-lc" should be passed to + dnl libtool or not. On many platforms, it is required for the libtool option + dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool + dnl in the *.la files - makes it impossible to create multithreaded programs, + dnl because libtool also reorders the -lc to come before the -pthread, and + dnl this disables pthread_create() . + case "$host_os" in + hpux*) LTLIBC="" ;; + *) LTLIBC="-lc" ;; + esac + AC_SUBST([LTLIBC]) + + dnl Rename some macros and functions used for locking. + AH_BOTTOM([ +#define __libc_lock_t gl_lock_t +#define __libc_lock_define gl_lock_define +#define __libc_lock_define_initialized gl_lock_define_initialized +#define __libc_lock_init gl_lock_init +#define __libc_lock_lock gl_lock_lock +#define __libc_lock_unlock gl_lock_unlock +#define __libc_lock_recursive_t gl_recursive_lock_t +#define __libc_lock_define_recursive gl_recursive_lock_define +#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized +#define __libc_lock_init_recursive gl_recursive_lock_init +#define __libc_lock_lock_recursive gl_recursive_lock_lock +#define __libc_lock_unlock_recursive gl_recursive_lock_unlock +#define glthread_in_use libintl_thread_in_use +#define glthread_lock_init_func libintl_lock_init_func +#define glthread_lock_lock_func libintl_lock_lock_func +#define glthread_lock_unlock_func libintl_lock_unlock_func +#define glthread_lock_destroy_func libintl_lock_destroy_func +#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded +#define glthread_rwlock_init_func libintl_rwlock_init_func +#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded +#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func +#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded +#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func +#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded +#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func +#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded +#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func +#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded +#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func +#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded +#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func +#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded +#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func +#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded +#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func +#define glthread_once_func libintl_once_func +#define glthread_once_singlethreaded libintl_once_singlethreaded +#define glthread_once_multithreaded libintl_once_multithreaded +]) +]) + + +dnl Checks for the core files of the intl subdirectory: +dnl dcigettext.c +dnl eval-plural.h +dnl explodename.c +dnl finddomain.c +dnl gettextP.h +dnl gmo.h +dnl hash-string.h hash-string.c +dnl l10nflist.c +dnl libgnuintl.h.in (except the *printf stuff) +dnl loadinfo.h +dnl loadmsgcat.c +dnl localealias.c +dnl log.c +dnl plural-exp.h plural-exp.c +dnl plural.y +dnl Used by libglocale. +AC_DEFUN([gt_INTL_SUBDIR_CORE], +[ + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([gt_INTDIV0])dnl + AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + AC_REQUIRE([gl_LOCK])dnl + + AC_TRY_LINK( + [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }], + [], + [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], + [Define to 1 if the compiler understands __builtin_expect.])]) + + AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \ + stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \ + argz_stringify argz_next __fsetlocking]) + + dnl Use the *_unlocked functions only if they are declared. + dnl (because some of them were defined without being declared in Solaris + dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built + dnl on Solaris 2.5.1 to run on Solaris 2.6). + dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. + gt_CHECK_DECL([feof_unlocked], [#include ]) + gt_CHECK_DECL([fgets_unlocked], [#include ]) + + AM_ICONV + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi +]) + + +dnl gt_CHECK_DECL(FUNC, INCLUDES) +dnl Check whether a function is declared. +AC_DEFUN([gt_CHECK_DECL], +[ + AC_CACHE_CHECK([whether $1 is declared], [ac_cv_have_decl_$1], + [AC_TRY_COMPILE([$2], [ +#ifndef $1 + char *p = (char *) $1; +#endif +], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) + if test $ac_cv_have_decl_$1 = yes; then + gt_value=1 + else + gt_value=0 + fi + AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], + [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) +]) diff --git a/mingw/share/aclocal/intldir.m4 b/mingw/share/aclocal/intldir.m4 new file mode 100644 index 00000000..ebae76d3 --- /dev/null +++ b/mingw/share/aclocal/intldir.m4 @@ -0,0 +1,19 @@ +# intldir.m4 serial 2 (gettext-0.18) +dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +AC_PREREQ([2.52]) + +dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. +AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) diff --git a/mingw/share/aclocal/intlmacosx.m4 b/mingw/share/aclocal/intlmacosx.m4 new file mode 100644 index 00000000..dd910259 --- /dev/null +++ b/mingw/share/aclocal/intlmacosx.m4 @@ -0,0 +1,51 @@ +# intlmacosx.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on MacOS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in MacOS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in MacOS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], + [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff --git a/mingw/share/aclocal/intmax.m4 b/mingw/share/aclocal/intmax.m4 new file mode 100644 index 00000000..74aaaf5e --- /dev/null +++ b/mingw/share/aclocal/intmax.m4 @@ -0,0 +1,33 @@ +# intmax.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 2002-2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether the system has the 'intmax_t' type, but don't attempt to +dnl find a replacement if it is lacking. + +AC_DEFUN([gt_TYPE_INTMAX_T], +[ + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], + [AC_TRY_COMPILE([ +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include +#endif +], [intmax_t x = -1; + return !x;], + [gt_cv_c_intmax_t=yes], + [gt_cv_c_intmax_t=no])]) + if test $gt_cv_c_intmax_t = yes; then + AC_DEFINE([HAVE_INTMAX_T], [1], + [Define if you have the 'intmax_t' type in or .]) + fi +]) diff --git a/mingw/share/aclocal/inttypes-pri.m4 b/mingw/share/aclocal/inttypes-pri.m4 new file mode 100644 index 00000000..718a4f4e --- /dev/null +++ b/mingw/share/aclocal/inttypes-pri.m4 @@ -0,0 +1,36 @@ +# inttypes-pri.m4 serial 6 (gettext-0.18) +dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ([2.52]) + +# Define PRI_MACROS_BROKEN if exists and defines the PRI* +# macros to non-string values. This is the case on AIX 4.3.3. + +AC_DEFUN([gt_INTTYPES_PRI], +[ + AC_CHECK_HEADERS([inttypes.h]) + if test $ac_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + [gt_cv_inttypes_pri_broken], + [ + AC_TRY_COMPILE([#include +#ifdef PRId32 +char *p = PRId32; +#endif +], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes]) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], + [Define if exists and defines unusable PRI* macros.]) + PRI_MACROS_BROKEN=1 + else + PRI_MACROS_BROKEN=0 + fi + AC_SUBST([PRI_MACROS_BROKEN]) +]) diff --git a/mingw/share/aclocal/inttypes_h.m4 b/mingw/share/aclocal/inttypes_h.m4 new file mode 100644 index 00000000..782d77ed --- /dev/null +++ b/mingw/share/aclocal/inttypes_h.m4 @@ -0,0 +1,26 @@ +# inttypes_h.m4 serial 9 +dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([gl_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1; return !i;], + [gl_cv_header_inttypes_h=yes], + [gl_cv_header_inttypes_h=no])]) + if test $gl_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) diff --git a/mingw/share/aclocal/lcmessage.m4 b/mingw/share/aclocal/lcmessage.m4 new file mode 100644 index 00000000..1a705431 --- /dev/null +++ b/mingw/share/aclocal/lcmessage.m4 @@ -0,0 +1,31 @@ +# lcmessage.m4 serial 6 (gettext-0.18) +dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995. + +# Check whether LC_MESSAGES is available in . + +AC_DEFUN([gt_LC_MESSAGES], +[ + AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])]) + if test $gt_cv_val_LC_MESSAGES = yes; then + AC_DEFINE([HAVE_LC_MESSAGES], [1], + [Define if your file defines LC_MESSAGES.]) + fi +]) diff --git a/mingw/share/aclocal/lib-ld.m4 b/mingw/share/aclocal/lib-ld.m4 new file mode 100644 index 00000000..ebb30528 --- /dev/null +++ b/mingw/share/aclocal/lib-ld.m4 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT([$LD]) +else + AC_MSG_RESULT([no]) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/mingw/share/aclocal/lib-link.m4 b/mingw/share/aclocal/lib-link.m4 new file mode 100644 index 00000000..c73bd8e3 --- /dev/null +++ b/mingw/share/aclocal/lib-link.m4 @@ -0,0 +1,774 @@ +# lib-link.m4 serial 21 (gettext-0.18) +dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ([2.54]) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + popdef([NAME]) + popdef([Name]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. The missing-message +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, + dnl because these -l options might require -L options that are present in + dnl LIBS. -l options benefit only from the -L options listed before it. + dnl Otherwise, add it to the front of LIBS, because it may be a static + dnl library that depends on another static library that is present in LIBS. + dnl Static libraries benefit only from the static libraries listed after + dnl it. + case " $LIB[]NAME" in + *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; + *) LIBS="$LIB[]NAME $LIBS" ;; + esac + AC_TRY_LINK([$3], [$4], + [ac_cv_lib[]Name=yes], + [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + LIB[]NAME[]_PREFIX= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + AC_SUBST([LIB]NAME[_PREFIX]) + popdef([NAME]) + popdef([Name]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl acl_libext, +dnl acl_shlibext, +dnl acl_hardcode_libdir_flag_spec, +dnl acl_hardcode_libdir_separator, +dnl acl_hardcode_direct, +dnl acl_hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/mingw/share/aclocal/lib-prefix.m4 b/mingw/share/aclocal/lib-prefix.m4 new file mode 100644 index 00000000..1601ceae --- /dev/null +++ b/mingw/share/aclocal/lib-prefix.m4 @@ -0,0 +1,224 @@ +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl . + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) diff --git a/mingw/share/aclocal/lock.m4 b/mingw/share/aclocal/lock.m4 new file mode 100644 index 00000000..9da8465e --- /dev/null +++ b/mingw/share/aclocal/lock.m4 @@ -0,0 +1,37 @@ +# lock.m4 serial 10 (gettext-0.18) +dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([gl_LOCK], +[ + AC_REQUIRE([gl_THREADLIB]) + if test "$gl_threads_api" = posix; then + # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the + # pthread_rwlock_* functions. + AC_CHECK_TYPE([pthread_rwlock_t], + [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], + [Define if the POSIX multithreading library has read/write locks.])], + [], + [#include ]) + # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. + AC_TRY_COMPILE([#include ], + [#if __FreeBSD__ == 4 +error "No, in FreeBSD 4.0 recursive mutexes actually don't work." +#else +int x = (int)PTHREAD_MUTEX_RECURSIVE; +return !x; +#endif], + [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], + [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) + fi + gl_PREREQ_LOCK +]) + +# Prerequisites of lib/lock.c. +AC_DEFUN([gl_PREREQ_LOCK], [ + AC_REQUIRE([AC_C_INLINE]) +]) diff --git a/mingw/share/aclocal/longlong.m4 b/mingw/share/aclocal/longlong.m4 new file mode 100644 index 00000000..cca3c1a9 --- /dev/null +++ b/mingw/share/aclocal/longlong.m4 @@ -0,0 +1,106 @@ +# longlong.m4 serial 14 +dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_LONG_LONG_INT if 'long long int' works. +# This fixes a bug in Autoconf 2.61, but can be removed once we +# assume 2.62 everywhere. + +# Note: If the type 'long long int' exists but is only 32 bits large +# (as on some very old compilers), HAVE_LONG_LONG_INT will not be +# defined. In this case you can treat 'long long int' like 'long int'. + +AC_DEFUN([AC_TYPE_LONG_LONG_INT], +[ + AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], + [AC_LINK_IFELSE( + [_AC_TYPE_LONG_LONG_SNIPPET], + [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. + dnl If cross compiling, assume the bug isn't important, since + dnl nobody cross compiles for this platform as far as we know. + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[@%:@include + @%:@ifndef LLONG_MAX + @%:@ define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + @%:@ define LLONG_MAX (HALF - 1 + HALF) + @%:@endif]], + [[long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0;]])], + [ac_cv_type_long_long_int=yes], + [ac_cv_type_long_long_int=no], + [ac_cv_type_long_long_int=yes])], + [ac_cv_type_long_long_int=no])]) + if test $ac_cv_type_long_long_int = yes; then + AC_DEFINE([HAVE_LONG_LONG_INT], [1], + [Define to 1 if the system has the type `long long int'.]) + fi +]) + +# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. +# This fixes a bug in Autoconf 2.61, but can be removed once we +# assume 2.62 everywhere. + +# Note: If the type 'unsigned long long int' exists but is only 32 bits +# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT +# will not be defined. In this case you can treat 'unsigned long long int' +# like 'unsigned long int'. + +AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], +[ + AC_CACHE_CHECK([for unsigned long long int], + [ac_cv_type_unsigned_long_long_int], + [AC_LINK_IFELSE( + [_AC_TYPE_LONG_LONG_SNIPPET], + [ac_cv_type_unsigned_long_long_int=yes], + [ac_cv_type_unsigned_long_long_int=no])]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], + [Define to 1 if the system has the type `unsigned long long int'.]) + fi +]) + +# Expands to a C program that can be used to test for simultaneous support +# of 'long long' and 'unsigned long long'. We don't want to say that +# 'long long' is available if 'unsigned long long' is not, or vice versa, +# because too many programs rely on the symmetry between signed and unsigned +# integer types (excluding 'bool'). +AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], +[ + AC_LANG_PROGRAM( + [[/* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63;]], + [[/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull));]]) +]) diff --git a/mingw/share/aclocal/nls.m4 b/mingw/share/aclocal/nls.m4 new file mode 100644 index 00000000..003704c4 --- /dev/null +++ b/mingw/share/aclocal/nls.m4 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) diff --git a/mingw/share/aclocal/po.m4 b/mingw/share/aclocal/po.m4 new file mode 100644 index 00000000..47f36a41 --- /dev/null +++ b/mingw/share/aclocal/po.m4 @@ -0,0 +1,449 @@ +# po.m4 serial 17 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AM_NLS])dnl + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. + AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat < "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" < +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, + [ + AC_EGREP_CPP([notposix], [ +#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ + notposix +#endif + ], + [gt_cv_func_printf_posix="guessing no"], + [gt_cv_func_printf_posix="guessing yes"]) + ]) + ]) + case $gt_cv_func_printf_posix in + *yes) + AC_DEFINE([HAVE_POSIX_PRINTF], [1], + [Define if your printf() function supports format strings with positions.]) + ;; + esac +]) diff --git a/mingw/share/aclocal/progtest.m4 b/mingw/share/aclocal/progtest.m4 new file mode 100644 index 00000000..2d804ac9 --- /dev/null +++ b/mingw/share/aclocal/progtest.m4 @@ -0,0 +1,92 @@ +# progtest.m4 serial 6 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) diff --git a/mingw/share/aclocal/size_max.m4 b/mingw/share/aclocal/size_max.m4 new file mode 100644 index 00000000..ce992db1 --- /dev/null +++ b/mingw/share/aclocal/size_max.m4 @@ -0,0 +1,75 @@ +# size_max.m4 serial 9 +dnl Copyright (C) 2003, 2005-2006, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([gl_SIZE_MAX], +[ + AC_CHECK_HEADERS([stdint.h]) + dnl First test whether the system already has SIZE_MAX. + AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [ + gl_cv_size_max= + AC_EGREP_CPP([Found it], [ +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif +], [gl_cv_size_max=yes]) + if test -z "$gl_cv_size_max"; then + dnl Define it ourselves. Here we assume that the type 'size_t' is not wider + dnl than the type 'unsigned long'. Try hard to find a definition that can + dnl be used in a preprocessor #if, i.e. doesn't contain a cast. + AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], + [#include +#include ], [size_t_bits_minus_1=]) + AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], + [#include ], [fits_in_uint=]) + if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then + if test $fits_in_uint = 1; then + dnl Even though SIZE_MAX fits in an unsigned int, it must be of type + dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. + AC_TRY_COMPILE([#include + extern size_t foo; + extern unsigned long foo; + ], [], [fits_in_uint=0]) + fi + dnl We cannot use 'expr' to simplify this expression, because 'expr' + dnl works only with 'long' integers in the host environment, while we + dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. + if test $fits_in_uint = 1; then + gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" + else + gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" + fi + else + dnl Shouldn't happen, but who knows... + gl_cv_size_max='((size_t)~(size_t)0)' + fi + fi + ]) + if test "$gl_cv_size_max" != yes; then + AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], + [Define as the maximum value of type 'size_t', if the system doesn't define it.]) + fi + dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after + dnl . Remember that the #undef in AH_VERBATIM gets replaced with + dnl #define by AC_DEFINE_UNQUOTED. + AH_VERBATIM([SIZE_MAX], +[/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +#ifndef SIZE_MAX +# undef SIZE_MAX +#endif]) +]) + +dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. +dnl Remove this when we can assume autoconf >= 2.61. +m4_ifdef([AC_COMPUTE_INT], [], [ + AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) +]) diff --git a/mingw/share/aclocal/stdint_h.m4 b/mingw/share/aclocal/stdint_h.m4 new file mode 100644 index 00000000..b8e3c6cc --- /dev/null +++ b/mingw/share/aclocal/stdint_h.m4 @@ -0,0 +1,26 @@ +# stdint_h.m4 serial 8 +dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_STDINT_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([gl_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1; return !i;], + [gl_cv_header_stdint_h=yes], + [gl_cv_header_stdint_h=no])]) + if test $gl_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) diff --git a/mingw/share/aclocal/threadlib.m4 b/mingw/share/aclocal/threadlib.m4 new file mode 100644 index 00000000..05cc4ffa --- /dev/null +++ b/mingw/share/aclocal/threadlib.m4 @@ -0,0 +1,347 @@ +# threadlib.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl gl_THREADLIB +dnl ------------ +dnl Tests for a multithreading library to be used. +dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, +dnl USE_PTH_THREADS, USE_WIN32_THREADS +dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use +dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with +dnl libtool). +dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for +dnl programs that really need multithread functionality. The difference +dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak +dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". +dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for +dnl multithread-safe programs. + +AC_DEFUN([gl_THREADLIB_EARLY], +[ + AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) +]) + +dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once. + +AC_DEFUN([gl_THREADLIB_EARLY_BODY], +[ + dnl Ordering constraints: This macro modifies CPPFLAGS in a way that + dnl influences the result of the autoconf tests that test for *_unlocked + dnl declarations, on AIX 5 at least. Therefore it must come early. + AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl + AC_BEFORE([$0], [gl_ARGP])dnl + + AC_REQUIRE([AC_CANONICAL_HOST]) + dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems. + dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes + dnl AC_GNU_SOURCE. + m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], + [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], + [AC_REQUIRE([AC_GNU_SOURCE])]) + dnl Check for multithreading. + m4_divert_text([DEFAULTS], [gl_use_threads_default=]) + AC_ARG_ENABLE([threads], +AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) +AC_HELP_STRING([--disable-threads], [build without multithread safety]), + [gl_use_threads=$enableval], + [if test -n "$gl_use_threads_default"; then + gl_use_threads="$gl_use_threads_default" + else +changequote(,)dnl + case "$host_os" in + dnl Disable multithreading by default on OSF/1, because it interferes + dnl with fork()/exec(): When msgexec is linked with -lpthread, its + dnl child process gets an endless segmentation fault inside execvp(). + dnl Disable multithreading by default on Cygwin 1.5.x, because it has + dnl bugs that lead to endless loops or crashes. See + dnl . + osf*) gl_use_threads=no ;; + cygwin*) + case `uname -r` in + 1.[0-5].*) gl_use_threads=no ;; + *) gl_use_threads=yes ;; + esac + ;; + *) gl_use_threads=yes ;; + esac +changequote([,])dnl + fi + ]) + if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then + # For using : + case "$host_os" in + osf*) + # On OSF/1, the compiler needs the flag -D_REENTRANT so that it + # groks . cc also understands the flag -pthread, but + # we don't use it because 1. gcc-2.95 doesn't understand -pthread, + # 2. putting a flag into CPPFLAGS that has an effect on the linker + # causes the AC_TRY_LINK test below to succeed unexpectedly, + # leading to wrong values of LIBTHREAD and LTLIBTHREAD. + CPPFLAGS="$CPPFLAGS -D_REENTRANT" + ;; + esac + # Some systems optimize for single-threaded programs by default, and + # need special flags to disable these optimizations. For example, the + # definition of 'errno' in . + case "$host_os" in + aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; + solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; + esac + fi +]) + +dnl The guts of gl_THREADLIB. Needs to be expanded only once. + +AC_DEFUN([gl_THREADLIB_BODY], +[ + AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) + gl_threads_api=none + LIBTHREAD= + LTLIBTHREAD= + LIBMULTITHREAD= + LTLIBMULTITHREAD= + if test "$gl_use_threads" != no; then + dnl Check whether the compiler and linker support weak declarations. + AC_CACHE_CHECK([whether imported symbols can be declared weak], + [gl_cv_have_weak], + [gl_cv_have_weak=no + dnl First, test whether the compiler accepts it syntactically. + AC_TRY_LINK([extern void xyzzy (); +#pragma weak xyzzy], [xyzzy();], [gl_cv_have_weak=maybe]) + if test $gl_cv_have_weak = maybe; then + dnl Second, test whether it actually works. On Cygwin 1.7.2, with + dnl gcc 4.3, symbols declared weak always evaluate to the address 0. + AC_TRY_RUN([ +#include +#pragma weak fputs +int main () +{ + return (fputs == NULL); +}], [gl_cv_have_weak=yes], [gl_cv_have_weak=no], + [dnl When cross-compiling, assume that only ELF platforms support + dnl weak symbols. + AC_EGREP_CPP([Extensible Linking Format], + [#ifdef __ELF__ + Extensible Linking Format + #endif + ], + [gl_cv_have_weak="guessing yes"], + [gl_cv_have_weak="guessing no"]) + ]) + fi + ]) + if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then + # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that + # it groks . It's added above, in gl_THREADLIB_EARLY_BODY. + AC_CHECK_HEADER([pthread.h], + [gl_have_pthread_h=yes], [gl_have_pthread_h=no]) + if test "$gl_have_pthread_h" = yes; then + # Other possible tests: + # -lpthreads (FSU threads, PCthreads) + # -lgthreads + gl_have_pthread= + # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist + # in libc. IRIX 6.5 has the first one in both libc and libpthread, but + # the second one only in libpthread, and lock.c needs it. + AC_TRY_LINK([#include ], + [pthread_mutex_lock((pthread_mutex_t*)0); + pthread_mutexattr_init((pthread_mutexattr_t*)0);], + [gl_have_pthread=yes]) + # Test for libpthread by looking for pthread_kill. (Not pthread_self, + # since it is defined as a macro on OSF/1.) + if test -n "$gl_have_pthread"; then + # The program links fine without libpthread. But it may actually + # need to link with libpthread in order to create multiple threads. + AC_CHECK_LIB([pthread], [pthread_kill], + [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + case "$host_os" in + solaris* | hpux*) + AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], + [Define if the pthread_in_use() detection is hard.]) + esac + ]) + else + # Some library is needed. Try libpthread and libc_r. + AC_CHECK_LIB([pthread], [pthread_kill], + [gl_have_pthread=yes + LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread + LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) + if test -z "$gl_have_pthread"; then + # For FreeBSD 4. + AC_CHECK_LIB([c_r], [pthread_kill], + [gl_have_pthread=yes + LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r + LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) + fi + fi + if test -n "$gl_have_pthread"; then + gl_threads_api=posix + AC_DEFINE([USE_POSIX_THREADS], [1], + [Define if the POSIX multithreading library can be used.]) + if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], + [Define if references to the POSIX multithreading library should be made weak.]) + LIBTHREAD= + LTLIBTHREAD= + fi + fi + fi + fi + fi + if test -z "$gl_have_pthread"; then + if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then + gl_have_solaristhread= + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lthread" + AC_TRY_LINK([#include +#include ], + [thr_self();], + [gl_have_solaristhread=yes]) + LIBS="$gl_save_LIBS" + if test -n "$gl_have_solaristhread"; then + gl_threads_api=solaris + LIBTHREAD=-lthread + LTLIBTHREAD=-lthread + LIBMULTITHREAD="$LIBTHREAD" + LTLIBMULTITHREAD="$LTLIBTHREAD" + AC_DEFINE([USE_SOLARIS_THREADS], [1], + [Define if the old Solaris multithreading library can be used.]) + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], + [Define if references to the old Solaris multithreading library should be made weak.]) + LIBTHREAD= + LTLIBTHREAD= + fi + fi + fi + fi + if test "$gl_use_threads" = pth; then + gl_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_LINKFLAGS([pth]) + gl_have_pth= + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lpth" + AC_TRY_LINK([#include ], [pth_self();], [gl_have_pth=yes]) + LIBS="$gl_save_LIBS" + if test -n "$gl_have_pth"; then + gl_threads_api=pth + LIBTHREAD="$LIBPTH" + LTLIBTHREAD="$LTLIBPTH" + LIBMULTITHREAD="$LIBTHREAD" + LTLIBMULTITHREAD="$LTLIBTHREAD" + AC_DEFINE([USE_PTH_THREADS], [1], + [Define if the GNU Pth multithreading library can be used.]) + if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_PTH_THREADS_WEAK], [1], + [Define if references to the GNU Pth multithreading library should be made weak.]) + LIBTHREAD= + LTLIBTHREAD= + fi + fi + else + CPPFLAGS="$gl_save_CPPFLAGS" + fi + fi + if test -z "$gl_have_pthread"; then + if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then + if { case "$host_os" in + mingw*) true;; + *) false;; + esac + }; then + gl_threads_api=win32 + AC_DEFINE([USE_WIN32_THREADS], [1], + [Define if the Win32 multithreading API can be used.]) + fi + fi + fi + fi + AC_MSG_CHECKING([for multithread API to use]) + AC_MSG_RESULT([$gl_threads_api]) + AC_SUBST([LIBTHREAD]) + AC_SUBST([LTLIBTHREAD]) + AC_SUBST([LIBMULTITHREAD]) + AC_SUBST([LTLIBMULTITHREAD]) +]) + +AC_DEFUN([gl_THREADLIB], +[ + AC_REQUIRE([gl_THREADLIB_EARLY]) + AC_REQUIRE([gl_THREADLIB_BODY]) +]) + + +dnl gl_DISABLE_THREADS +dnl ------------------ +dnl Sets the gl_THREADLIB default so that threads are not used by default. +dnl The user can still override it at installation time, by using the +dnl configure option '--enable-threads'. + +AC_DEFUN([gl_DISABLE_THREADS], [ + m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no]) +]) + + +dnl Survey of platforms: +dnl +dnl Platform Available Compiler Supports test-lock +dnl flavours option weak result +dnl --------------- --------- --------- -------- --------- +dnl Linux 2.4/glibc posix -lpthread Y OK +dnl +dnl GNU Hurd/glibc posix +dnl +dnl FreeBSD 5.3 posix -lc_r Y +dnl posix -lkse ? Y +dnl posix -lpthread ? Y +dnl posix -lthr Y +dnl +dnl FreeBSD 5.2 posix -lc_r Y +dnl posix -lkse Y +dnl posix -lthr Y +dnl +dnl FreeBSD 4.0,4.10 posix -lc_r Y OK +dnl +dnl NetBSD 1.6 -- +dnl +dnl OpenBSD 3.4 posix -lpthread Y OK +dnl +dnl MacOS X 10.[123] posix -lpthread Y OK +dnl +dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK +dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK +dnl +dnl HP-UX 11 posix -lpthread N (cc) OK +dnl Y (gcc) +dnl +dnl IRIX 6.5 posix -lpthread Y 0.5 +dnl +dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK +dnl +dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK +dnl -lpthread (gcc) Y +dnl +dnl Cygwin posix -lpthread Y OK +dnl +dnl Any of the above pth -lpth 0.0 +dnl +dnl Mingw win32 N OK +dnl +dnl BeOS 5 -- +dnl +dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is +dnl turned off: +dnl OK if all three tests terminate OK, +dnl 0.5 if the first test terminates OK but the second one loops endlessly, +dnl 0.0 if the first test already loops endlessly. diff --git a/mingw/share/aclocal/uintmax_t.m4 b/mingw/share/aclocal/uintmax_t.m4 new file mode 100644 index 00000000..03b51bcf --- /dev/null +++ b/mingw/share/aclocal/uintmax_t.m4 @@ -0,0 +1,30 @@ +# uintmax_t.m4 serial 12 +dnl Copyright (C) 1997-2004, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +AC_PREREQ([2.13]) + +# Define uintmax_t to 'unsigned long' or 'unsigned long long' +# if it is not already defined in or . + +AC_DEFUN([gl_AC_TYPE_UINTMAX_T], +[ + AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([gl_AC_HEADER_STDINT_H]) + if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + test $ac_cv_type_unsigned_long_long_int = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], + [Define to unsigned long or unsigned long long + if and don't define.]) + else + AC_DEFINE([HAVE_UINTMAX_T], [1], + [Define if you have the 'uintmax_t' type in or .]) + fi +]) diff --git a/mingw/share/aclocal/visibility.m4 b/mingw/share/aclocal/visibility.m4 new file mode 100644 index 00000000..077c4765 --- /dev/null +++ b/mingw/share/aclocal/visibility.m4 @@ -0,0 +1,74 @@ +# visibility.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl Tests whether the compiler supports the command-line option +dnl -fvisibility=hidden and the function and variable attributes +dnl __attribute__((__visibility__("hidden"))) and +dnl __attribute__((__visibility__("default"))). +dnl Does *not* test for __visibility__("protected") - which has tricky +dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on +dnl MacOS X. +dnl Does *not* test for __visibility__("internal") - which has processor +dnl dependent semantics. +dnl Does *not* test for #pragma GCC visibility push(hidden) - which is +dnl "really only recommended for legacy code". +dnl Set the variable CFLAG_VISIBILITY. +dnl Defines and sets the variable HAVE_VISIBILITY. + +AC_DEFUN([gl_VISIBILITY], +[ + AC_REQUIRE([AC_PROG_CC]) + CFLAG_VISIBILITY= + HAVE_VISIBILITY=0 + if test -n "$GCC"; then + dnl First, check whether -Werror can be added to the command line, or + dnl whether it leads to an error because of some other option that the + dnl user has put into $CC $CFLAGS $CPPFLAGS. + AC_MSG_CHECKING([whether the -Werror option is usable]) + AC_CACHE_VAL([gl_cv_cc_vis_werror], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + AC_TRY_COMPILE([], [], + [gl_cv_cc_vis_werror=yes], + [gl_cv_cc_vis_werror=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_vis_werror]) + dnl Now check whether visibility declarations are supported. + AC_MSG_CHECKING([for simple visibility declarations]) + AC_CACHE_VAL([gl_cv_cc_visibility], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fvisibility=hidden" + dnl We use the option -Werror and a function dummyfunc, because on some + dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning + dnl "visibility attribute not supported in this configuration; ignored" + dnl at the first function definition in every compilation unit, and we + dnl don't want to use the option in this case. + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi + AC_TRY_COMPILE( + [extern __attribute__((__visibility__("hidden"))) int hiddenvar; + extern __attribute__((__visibility__("default"))) int exportedvar; + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void) {}], + [], + [gl_cv_cc_visibility=yes], + [gl_cv_cc_visibility=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_visibility]) + if test $gl_cv_cc_visibility = yes; then + CFLAG_VISIBILITY="-fvisibility=hidden" + HAVE_VISIBILITY=1 + fi + fi + AC_SUBST([CFLAG_VISIBILITY]) + AC_SUBST([HAVE_VISIBILITY]) + AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], + [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) +]) diff --git a/mingw/share/aclocal/wchar_t.m4 b/mingw/share/aclocal/wchar_t.m4 new file mode 100644 index 00000000..ed804e66 --- /dev/null +++ b/mingw/share/aclocal/wchar_t.m4 @@ -0,0 +1,20 @@ +# wchar_t.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2002-2003, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether has the 'wchar_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WCHAR_T], +[ + AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], + [AC_TRY_COMPILE([#include + wchar_t foo = (wchar_t)'\0';], , + [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) + if test $gt_cv_c_wchar_t = yes; then + AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) + fi +]) diff --git a/mingw/share/aclocal/wint_t.m4 b/mingw/share/aclocal/wint_t.m4 new file mode 100644 index 00000000..a6c7d15c --- /dev/null +++ b/mingw/share/aclocal/wint_t.m4 @@ -0,0 +1,28 @@ +# wint_t.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether has the 'wint_t' type. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WINT_T], +[ + AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], + [AC_TRY_COMPILE([ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0';], , + [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) + if test $gt_cv_c_wint_t = yes; then + AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) + fi +]) diff --git a/mingw/share/aclocal/xsize.m4 b/mingw/share/aclocal/xsize.m4 new file mode 100644 index 00000000..b653693a --- /dev/null +++ b/mingw/share/aclocal/xsize.m4 @@ -0,0 +1,13 @@ +# xsize.m4 serial 4 +dnl Copyright (C) 2003-2004, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_XSIZE], +[ + dnl Prerequisites of lib/xsize.h. + AC_REQUIRE([gl_SIZE_MAX]) + AC_REQUIRE([AC_C_INLINE]) + AC_CHECK_HEADERS([stdint.h]) +]) diff --git a/mingw/share/doc/gettext/FAQ.html b/mingw/share/doc/gettext/FAQ.html new file mode 100644 index 00000000..c93c1853 --- /dev/null +++ b/mingw/share/doc/gettext/FAQ.html @@ -0,0 +1,843 @@ + + + + + GNU gettext FAQ + + +

    Frequently Asked Questions
    +for GNU gettext +

    +

    Questions

    +

    General

    +
    +

    Problems building GNU gettext

    + +

    Problems integrating GNU gettext

    + +

    GNU gettext on Windows

    + +

    Other

    + +

    Answers

    +

    General

    +

    Where is the mailing list?

    +Three mailing lists are available:
    +
      +
    • bug-gnu-gettext@gnu.org
      +This mailing list is for discussion of features and bugs of the GNU +gettext software, including +libintl, the gettext-tools, and its autoconf macros.
    • +
    • translation-i18n@lists.sourceforge.net
      +This mailing list is for methodology questions around +internationalization, and for discussions of translator tools, +including but not limited to GNU gettext.
    • +
    • coordinator@translationproject.org
      +This is the email address of the Free Translation Project, +that is the project which manages the translated message +catalogs for many free software packages. Note that KDE and GNOME +packages are not part of this project; they have their own translation +projects: i18n.kde.org and gtp.
      +
    • +
    +The bug-gnu-gettext list +is archived as part of the bug-gnu-utils archives. bug-gnu-gettext cannot be +subscribed on its own; to receive its contents by mail, subscribe to bug-gnu-utils.
    +

    Where is the newest gettext source?

    +The newest gettext release is available on ftp.gnu.org and its mirrors, in +http://ftp.gnu.org/gnu/gettext/.
    +
    +Prereleases are announced on the autotools-announce mailing list. +Note that prereleases are meant for testing and not meant for use in +production environments. Please don't use the “gettextize” program of a +prerelease on projects which you share with other programmers via CVS.
    +
    +If you want to live on the bleeding edge, you can also use the +development sources. Instructions for retrieving the gettext CVS are +found here. +Note that building from CVS requires special tools (autoconf, automake, +m4, groff, bison, etc.) and requires that you pay attention to the README-alpha and autogen.sh files in the CVS.
    +

    I want to be notified of new gettext +releases.

    +If you are interested in stable gettext releases, you can follow the info-gnu mailing list. It +is also available as a newsgroup gmane.org.fsf.announce +through gmane.org.
    +
    +You can also periodically check the download location.
    +
    +If you are interested in testing prereleases as well, you can subscribe +to the autotools-announce mailing +list.
    +

    Problems building GNU gettext

    +

    On Solaris, I get a +build error “text relocations remain” in the libasprintf subdirectory

    +libtool (or more precisely, the version of libtool that was available +at the time the gettext release waas made) doesn't support linking C++ +libraries with some versions of GCC. As a workaround, you can configure +gettext with the option --disable-libasprintf.
    +

    “make install” fails

    +“make install DESTDIR=/some/tempdir” can fail with +an error message relating to libgettextlib +or libgettextsrc, or can +silently fail to install libgettextsrc. +On some platforms, this is due to limitations of libtool regarding DESTDIR. On other platforms, it +is due to the way the system handles shared libraries, and libtool +cannot work around it. Fortunately, on Linux and other glibc based +systems, DESTDIR is +supported if no different version of gettext is already installed (i.e. +it works if you uninstall the older gettext before building and +installing the newer one, or if you do a plain “make install” before “make install DESTDIR=/some/tempdir”). On other +systems, when  DESTDIR +does not work, you can still do “make +install” and copy the installed files to /some/tempdir +afterwards.
    +
    +If “make install” without DESTDIR fails, it's a bug which +you are welcome to report to the usual bug report address. +

    Problems integrating GNU gettext

    +

    How do I make use of gettext() in my package?

    +It's not as difficult as it sounds. Here's the recipe for C or C++ +based packages.
    +
      +
    • Add an invocation of AM_GNU_GETTEXT([external]) +to the package's configure.{ac,in} +file.
    • +
    • Invoke “gettextize --copy”. +It will do most of the autoconf/automake related work for you.
    • +
    • Add the gettext.h +file to the package's source directory, and include it in all source +files that contain translatable strings or do output via printf or fprintf.
    • +
    • In the source file defining the main() function of the program, +add these lines to the header
      +
      #include <locale.h>
      + #include "gettext.h"

      +
      +and these lines near the beginning of the main() function:
      +
      setlocale (LC_ALL, "");
      + bindtextdomain (PACKAGE, +LOCALEDIR);
      + textdomain (PACKAGE);

      +
      +
    • +
    • Mark all strings that should be translated with _(), like this: _("No errors found."). While +doing this, try to turn the strings into good English, one entire +sentence per string, not more than one paragraph per string, and use +format strings instead of string concatenation. This is needed so that +the translators can provide accurate translations.
    • +
    • In every source file containing translatable strings, add these lines +to the header:
      +
      #include "gettext.h"
      + #define _(string) gettext (string)

      +
      +
    • +
    • In the freshly created po/ +directory, set up the POTFILES.in +file, and do a “make update-po”. +Then distribute the generated .pot +file to your nearest translation project.
    • +
    • Shortly before a release, integrate the translators' .po files into the po/ directory and do “make update-po” again.
      +
    • +
    +You find detailed descriptions of how this all works in the GNU gettext +manual, chapters “The Maintainer's View” and “Preparing Program +Sources”. +

    I get a linker error “undefined +reference to libintl_gettext”

    +This error means that the program uses the gettext() function after having +included the <libintl.h> +file from GNU gettext (which remaps it to libintl_gettext()), however at +link time a function of this name could not be linked in. (It is +expected to come from the libintl +library, installed by GNU gettext.)
    +
    +There are many possible reasons for this error, but in any case you +should consider the -I, -L and -l options passed to the +compiler. In packages using autoconf +generated configure scripts, -I +options come from the CFLAGS +and CPPFLAGS variables +(in Makefiles also DEFS +and INCLUDES), -L options come from the LDFLAGS variable, and -l options come from the LIBS variable. The first thing +you should check are the values of these variables in your environment +and in the  package's config.status +autoconfiguration result.
    +
    +To find the cause of the error, a little analysis is needed. Does the +program's final link command contains the option “-lintl”?
    +
      +
    • If yes:
      +Find out where the libintl +comes from. To do this, you have to check for libintl.a and libintl.so* (libintl.dylib on MacOS X) in +each directory given as a -L option, as well as in the compiler's +implicit search directories. (You get these implicit search directories +for gcc by using “gcc -v” +instead of “gcc” in the +final link command line; compilers other than GCC usually look in /usr/lib and /lib.) A shell command like
      +
      $ for d in /usr/local/lib +/usr/lib /lib; do ls -l $d/libintl.*; done
      +
      +will show where the libintl +comes from. By looking at the dates and whether each library defines libintl_gettext (via “nm path/libintl.so +| grep libintl_gettext”) you can now distinguish three possible +causes of the error:
      +
        +
      • Some older libintl is used instead of the newer one. The fix +is to remove the old library or to reorganize your -L options.
      • +
      • The used libintl is the new one, and it doesn't contain +libintl_gettext. This would be a bug in gettext. If this is the case, +please report it to the usual bug report address.
      • +
      • The used libintl is a static library (libintl.a), there are +no uses of gettext in .o files before the “-lintl” but there are some +after the “-lintl”. In this case the fix is to move the “-lintl” to the +end or near the end of the link command line. The only libintl +dependency that needs to be mentioned after “-lintl” is “-liconv”.
      • +
      +
    • +
    • If no:
      +In this case it's likely a bug in the package you are building: The +package's Makefiles should make sure that “-lintl” is used where needed.
      +Test whether libintl was found by configure. You can check this by doing
      +
      $ grep +'\(INTLLIBS\|LIBINTL\)' config.status
      +
      +and looking whether the value of this autoconf variable is non-empty.
      +
        +
      • If yes: It should be the responsibility of the Makefile to +use the value of this variable in the link command line. Does the +Makefile.in rule for linking the program use @INTLLIBS@ or @LIBINTL@?
        +
          +
        • If no: It's a Makefile.am/in bug.
        • +
        • If yes: Something strange is going on. You need to dig +deeper.
        • +
        +Note that @INTLLIBS@ is +for gettext.m4 versions +<= 0.10.40 and @LIBINTL@ +is for gettext.m4 +versions >= 0.11, depending on which gettext.m4 was used to build +the package's configure - +regardless of which gettext you have now installed.
      • +
      • If no: So libintl was not found.
        +Take a look at the package's configure.in/ac. +Does it invoke AM_GNU_GETTEXT?
        +
          +
        • If no: The gettext maintainers take no responsibilities for +lookalikes named CY_GNU_GETTEXT, AM_GLIB_GNU_GETTEXT, AM_GNOME_GETTEXT +and similar, or for homebrewn autoconf checks. Complain to the package +maintainer.
        • +
        • If yes: It looks like the -I and -L options were inconsistent. +You should have a -Isomedir/include in the CFLAGS or CPPFLAGS if and only if you +also have a -Lsomedir/lib in the LDFLAGS. And somedir/include +should contain a libintl.h +if and only if somedir/lib contains libintl.{a,so}.
          +This case can also happen if you have configured a GCC < 3.2 with +the same --prefix option +as you used for GNU libiconv or GNU gettext. This is fatal, because +these versions of GCC implicitly use -Lprefix/lib +but not
          + -Iprefix/include. The +workaround is to use a different --prefix +for GCC.
          +
        • +
        +
      • +
      +
    • +
    +

    gettextize adds multiple +references to the same directories/files +to Makefile.am and configure.ac

    +If gettextize is used on +a package, then the po/, intl/, m4/ directories of the package +are removed, and then gettextize +is invoked on the package again, it will re-add the po/, intl/, m4/ directories and change Makefile.am, configure.ac and ChangeLog accordingly. This is +normal. The second use of gettextize +here is an abuse of the program. gettextize +is a wizard intended to transform a working +source package into a working +source package that uses the newest version of gettext. If you +start out from a nonfunctional source package (it is nonfunctional +since you have omitted some directories), you cannot expect that gettextize corrects it.
    +
    +Often this question arises in packages that use CVS. See the section +“CVS Issues / Integrating with CVS” of the GNU gettext documentation. +This section mentions a program autopoint +which is designed to reconstruct those files and directories created by +gettextize that can be +omitted from a CVS repository.
    +

    My program compiles and links fine, +but doesn't output translated +strings.

    +There are several possible reasons. Here is a checklist that allows you +to determine the cause.
    +
      +
    1. Check that the environment variables LC_ALL, LC_MESSAGES, +LC_CTYPE, LANG, LANGUAGE together specify a valid locale and language.
      +To check this, run the commands
      +
      $ gettext --version
      + $ gettext --help
      +
      +You should see at least some output in your desired language. If not, +either
      +
        +
      • You have chosen a too exotic language. gettext is localized to 33 +languages. Choose a less exotic language, such as Galician or +Ukrainian. Or
        +
      • +
      • There is a problem with your environment variables. Possibly +LC_ALL points to a locale that is not installed, or LC_MESSAGES and +LC_CTYPE are inconsistent.
      • +
      +
    2. +
    3. Check that your program contains a setlocale call.
      +To check this, run your program under ltrace. For example,
      +
      $ ltrace ./myprog
      + ...
      + setlocale(6, +"")                  += "de_DE.UTF-8"
      +
      +If you have no ltrace, you can also do this check by running your +program under the debugger. For example,
      +
      $ gdb ./myprog
      + (gdb) break main
      + (gdb) run
      + Breakpoint 1, main ()
      + (gdb) break setlocale
      + (gdb) continue
      + Breakpoint 2, setlocale ()
      + ;; OK, the breakpoint has been hit, setlocale() is being +called.
      +
      +Either way, check that the return value of setlocale() is non-NULL. A NULL +return value indicates a failure. 
    4. +
    5. Check that your program contains a textdomain call, a bindtextdomain call referring +to the same message domain, and then really calls the gettext, dgettext or dcgettext function.
      +To check this, run the program under ltrace. For example,
      +
      $ ltrace ./myprog
      + ...
      + textdomain("hello-c")                             += "hello-c"
      + bindtextdomain("hello-c", "/opt/share"...) = "/opt/share"...
      + dcgettext(0, 0x08048691, 5, 0x0804a200, 0x08048689) = +0x4001721f
      +
      +If you have no ltrace, you can also do this check by running your +program under the debugger. For example,
      +
      $ gdb ./myprog
      + (gdb) break main
      + (gdb) run
      + Breakpoint 1, main ()
      + (gdb) break textdomain
      + (gdb) break bindtextdomain
      + (gdb) break gettext
      + (gdb) break dgettext
      + (gdb) break dcgettext
      + (gdb) continue
      + Breakpoint 2, textdomain ()
      + (gdb) continue
      + Breakpoint 3, bindtextdomain ()
      + (gdb) continue
      + Breakpoint 6, dcgettext ()
      +
      +Note that here dcgettext() +is called instead of the gettext() +function mentioned in the source code; this is due to an optimization +in <libintl.h>.
      +When using libintl on a non-glibc system, you have to add a prefix “libintl_” to all the function +names mentioned here, because that's what the functions are really +named, under the hood.
      +If gettext/dgettext/dcgettext is not called at all, +the possible cause might be that some autoconf or Makefile macrology +has turned off internationalization entirely (like the --disable-nls configuration +option usually does).
      +
    6. +
    7. Check that the .mo +file that contains the translation is really there where the program +expects it.
      +To check this, run the program under strace and look at the open() calls. For example,
      +
      $ strace ./myprog 2>&1 +| grep '^open('
      + open("/etc/ld.so.preload", O_RDONLY)    = -1 +ENOENT (No such file or directory)
      + open("/etc/ld.so.cache", +O_RDONLY)      = 5
      + open("/lib/libc.so.6", +O_RDONLY)        = 5
      + open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) += 5
      + open("/usr/share/locale/locale.alias", O_RDONLY) = 5
      + open("/opt/share/locale/de/LC_MESSAGES/hello-c.mo", O_RDONLY) += 5
      + ...
      +
      +A nonnegative open() +return value means that the file has been found.
      +If you have no strace, you can also guess the .mo file's location: it is
      +
      localedir/lang/LC_MESSAGES/domain.mo
      +
      +where domain is the argument +passed to textdomain(), localedir is the second argument +passed to bindtextdomain(), +and lang is the language (LL) or language and territory (LL_CC), +depending on the environment variables checked in step 1.
    8. +
    9. Check that the .mo file contains a translation for the string +that is being asked for.
      +To do this, you need to convert the .mo file back to PO file format, +through the command
      +
      $ msgunfmt localedir/lang/LC_MESSAGES/domain.mo
      +
      +and look for an msgid +that matches the given string.
      +
    10. +
    +

    GNU gettext on Windows

    +

    What does Woe32 mean?

    +“Woe32” denotes the Windows 32-bit operating systems for x86: Windows +NT/2000/XP/Vista and Windows 95/98/ME. Microsoft uses the term “Win32” to +denote these; this is a psychological trick in order to make everyone +believe that these OSes are a “win” for the user. However, for most +users and developers, they are a source of woes, which is why I call +them “Woe32”.
    +

    How do I compile, link and run a +program that uses the gettext() +function?

    +When you use RedHat's cygwin environment, it's as on Unix:
    +
      +
    • You need to add an -I +option to the compilation command line, so that the compiler finds the libintl.h include file, and
    • +
    • You need to add an -L +option to the link command line, so that the linker finds the libintl library.
    • +
    +When you use the Mingw environment (either from within cygwin, with CC="gcc -mno-cygwin", or from +MSYS, with CC="gcc"), I +don't know the details.
    +
    +When you use the Microsoft Visual C/C++ (MSVC) compiler, you will +likely use the precompiled Woe32 binaries. For running a program that +uses gettext(), one needs the .bin.woe32.zip +packages of gettext-runtime +and libiconv. As a +developer, you'll also need the xgettext +and msgfmt programs that +are contained in the .bin.woe32.zip +package of gettext-tools. +Then
    +
      +
    • You need to add an -MD +option to all compilation and link command lines. MSVC has six +different, mutually incompatible, compilation models (-ML, -MT, -MD, -MLd, -MTd, -MDd); the default is -ML. intl.dll uses the -MD model, therefore the rest +of the program must use -MD +as well.
      +
    • +
    • You need to add an -I +option to the compilation command line, so that the compiler finds the libintl.h include file.
      +
    • +
    • You need to add an -L +option to the link command line, so that the linker finds the intl.lib library.
    • +
    • You need to copy the intl.dll +and iconv.dll to the +directory where your .exe +files are created, so that they will be found at runtime.
      +
    • +
    +

    Setting the LANG +environment variable doesn't have any effect

    +If neither LC_ALL, LC_MESSAGES nor LANGUAGES is set, it's the LANG +environment variable which determines the language into which gettext() +translates the messages.
    +
    +You can test your program by setting the LANG environment variable from +outside the program. In a Windows command interpreter:
    +
    set LANG=de_DE
    +.\myprog.exe
    +
    +Or in a Cygwin shell:
    +
    $ env LANG=de_DE ./myprog.exe
    +
    +
    +If this test fails, look at the question “My program compiles and links +fine, but doesn't output translated +strings.” above.
    +
    +If this test succeeds, the problem is related in the way you set the +environment variable. Here is a checklist:
    +
      +
    • Check that you are using the -MD option in all compilation +and link command lines. Otherwise you might end up calling the putenv() function from +Microsoft's libc.lib, +whereas intl.dll is using +the getenv() function +from Mictosoft's msvcrt.lib.
    • +
    • Check that you set the environment variable using both SetEnvironmentVariable() and putenv(). A convenient way to +do so, and to deal with the fact that some Unix systems have setenv() and some don't, is the +following function.
      +
      +
      #include <string.h>
      + #include <stdlib.h>
      + #if defined _WIN32
      + # include <windows.h>
      + #endif
      +
      + int my_setenv (const char * name, const char * value) {
      +   size_t namelen = strlen(name);
      +   size_t valuelen = (value==NULL ? 0 : strlen(value));
      + #if defined _WIN32
      +   /* On Woe32, each process has two copies of the +environment variables,
      +      one managed by the OS and one +managed by the C library. We set
      +      the value in both locations, so that +other software that looks in
      +      one place or the other is guaranteed +to see the value. Even if it's
      +      a bit slow. See also
      +      <http://article.gmane.org/gmane.comp.gnu.mingw.user/8272>
      +      <http://article.gmane.org/gmane.comp.gnu.mingw.user/8273>
      +      <http://www.cygwin.com/ml/cygwin/1999-04/msg00478.html> +*/
      +   if (!SetEnvironmentVariableA(name,value))
      +     return -1;
      + #endif
      + #if defined(HAVE_PUTENV)
      +   char* buffer = (char*)malloc(namelen+1+valuelen+1);
      +   if (!buffer)
      +     return -1; /* no need to set errno = +ENOMEM */
      +   memcpy(buffer,name,namelen);
      +   if (value != NULL) {
      +     buffer[namelen] = '=';
      +     memcpy(buffer+namelen+1,value,valuelen);
      +     buffer[namelen+1+valuelen] = 0;
      +   } else
      +     buffer[namelen] = 0;
      +   return putenv(buffer);
      + #elif defined(HAVE_SETENV)
      +   return setenv(name,value,1);
      + #else
      +   /* Uh oh, neither putenv() nor setenv() ... */
      +   return -1;
      + #endif
      + }
      +
      +
      +
    • +
    +

    Other

    +

    What does this mean: “`msgid' and `msgstr' +entries do not both end +with '\n'”

    +It means that when the original string ends in a newline, your +translation must also end in a newline. And if the original string does +not end in a newline, then your translation should likewise not have a +newline at the end.
    +

    German umlauts are displayed like +“ge"andert” instead of “geändert”

    +This symptom occurs when the LC_CTYPE +facet of the locale is not set; then gettext() doesn't know which +character set to use, and converts all messages to ASCII, as far as +possible.
    +
    +If the program is doing
    +
    +setlocale (LC_MESSAGES, "");
    +
    +
    then change it to
    +
    +setlocale (LC_CTYPE, "");
    +setlocale (LC_MESSAGES, "");
    +

    +or do both of these in a single call:
    +
    +setlocale (LC_ALL, "");
    +

    +If the program is already doing
    +
    +setlocale (LC_ALL, "");
    +

    +then the symptom can still occur if the user has not set LANG, but instead has set LC_MESSAGES to a valid locale +and has set LC_CTYPE to +nothing or an invalid locale. The fix for the user is then to set LANG instead of LC_MESSAGES.
    +

    The LANGUAGE +environment variable is ignored after I set LANG=en

    +This is because “en” is a language name, but not a valid locale name. +The ABOUT-NLS  file +says:
    +
    +In the LANGUAGE +environment variable, but not in the LANG environment variable, LL_CC combinations can be +abbreviated as LL to +denote the language's main dialect.
    +Why is LANG=en not +allowed? Because LANG is +a setting for the entire locale, including monetary information, and +this depends on the country: en_GB, en_AU, en_ZA all have different +currencies.
    +

    I use accented characters in my +source code. How do I tell the +C/C++ compiler in which encoding it is (like xgettext's --from-code option)?

    +Short answer: If you want your program to be useful to other people, +then don't use accented characters +(or other non-ASCII characters) in string literals in the source code. Instead, use +only ASCII for string literals, and use gettext() to retrieve their +display-ready form.
    +
    +Long explanation:
    +The reason is that the ISO C standard specifies that the character set +at compilation time can be different from the character set at +execution time.
    +The character encoding at compilation time is the one which determines +how the source files are interpreted and also how string literals are +stored in the compiled code. This character encoding is generally +unspecified; for recent versions of GCC, it depends on the LC_CTYPE +locale in effect during the compilation process.
    +The character encoding at execution time is the one which determines +how standard functions like isprint(), +wcwidth() etc. work and +how strings written to standard output should be encoded. This +character encoding is specified by POSIX to depend on the LC_CTYPE +locale in effect when the program is executed; see also the description +in the ABOUT-NLS file.
    +Strings in the compiled code are not magically converted between the +time the program is compiled and the time it is run.
    +
    +Therefore what could you do to get accented characters to work?
    +
    +Can you ensure that the execution character set is the same as the +compilation character set? Even if your program is to be used only in a +single country, this is not realistically possible. For example, in +Germany there are currently three character encodings in use: UTF-8, +ISO-8859-15 and ISO-8859-1. Therefore you would have to explicitly +convert the accented strings from the compilation character set to the +execution character set at runtime, for example through iconv().
    +
    +Can you ensure that the compilation character set is the one in which +your source files are stored? This is not realistically possible +either: For compilers other than GCC, there is no way to specify the +compilation character set. So let's assume for a moment that everyone +uses GCC; then you will specify the LC_CTYPE or LC_ALL environment +variable in the Makefile. But for this you have to assume that everyone +has a locale in a given encoding. Be it UTF-8 or ISO-8859-1 - this is +not realistic. People often have no locale installed besides the one +they use.
    +
    +Use of wide strings L"..." +doesn't help solving the problem, because on systems like FreeBSD or +Solaris, the way how wide string literals are stored in compiled code +depends on the compilation  character set, just as it does for +narrow strings "...". +Moreover, wide strings have problems of their own.
    +
    +Use of ISO C 99 Unicode escapes "\uxxxx" +doesn't help either because these characters are converted to the +compilation character set at compile time; so again, since you can't +guarantee that the compilation character set is not ASCII, you're +risking compilation errors just as if the real character had been used +in the source instead of the Unicode escape.
    +
    +So, in summary, there is no way to make accented characters in string +literals work in C/C++.
    +
    +You might then wonder what xgettext's +--from-code option is good +for. The answer is
    +
      +
    1. For the comments in C/C++ source code. The compiler ignores them.
      +
    2. +
    3. For other programming languages like Java, for which the compiler +converts all string literals to UTF-8.
    4. +
    +
    +
    +
    GNU gettext FAQ
    +Bruno Haible <bruno@clisp.org>
    +

    Last modified: 24 February 2004 +

    + + diff --git a/mingw/share/doc/gettext/autopoint.1.html b/mingw/share/doc/gettext/autopoint.1.html new file mode 100644 index 00000000..498d19aa --- /dev/null +++ b/mingw/share/doc/gettext/autopoint.1.html @@ -0,0 +1,189 @@ + + + + + +AUTOPOINT + + + +

    AUTOPOINT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +OPTIONS
    +AUTHOR
    +REPORTING BUGS
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    autopoint − copies standard gettext +infrastructure

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    autopoint [OPTION]...

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Copies standard gettext infrastructure files into a +source package.

    +
    + +

    OPTIONS

    + + + + + + + + +
    + +

    −−help

    +
    + +

    print this help and exit

    +
    +
    + + + + + +
    +

    −−version

    + + + + + +
    +

    print version information and exit

    +
    + + + + + +
    +

    −f, −−force

    + + + + + +
    +

    force overwriting of files that already exist

    +
    + + + + + +
    +

    −n, +−−dry−run

    + + + + + +
    +

    print modifications but don’t perform them

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    + +

    Uses a versions archive in git format. Copyright (C) +2002-2010 Free Software Foundation, Inc. License GPLv3+: GNU +GPL version 3 or later +<http://gnu.org/licenses/gpl.html> This is free +software: you are free to change and redistribute it. There +is NO WARRANTY, to the extent permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for autopoint is maintained +as a Texinfo manual. If the info and autopoint +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info autopoint

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/bind_textdomain_codeset.3.html b/mingw/share/doc/gettext/bind_textdomain_codeset.3.html new file mode 100644 index 00000000..7c48fb15 --- /dev/null +++ b/mingw/share/doc/gettext/bind_textdomain_codeset.3.html @@ -0,0 +1,165 @@ + + + + + +BIND_TEXTDOMAIN_CODESET + + + +

    BIND_TEXTDOMAIN_CODESET

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +RETURN VALUE
    +ERRORS
    +BUGS
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    bind_textdomain_codeset − set encoding of message +translations

    +
    + +

    SYNOPSIS

    + + + + + +
    +
    #include <libintl.h>
    +
    +char * bind_textdomain_codeset (const char * domainname,
    +                                const char * codeset);
    +
    +
    + +

    DESCRIPTION

    + + + + + + +
    +

    The bind_textdomain_codeset function sets the +output codeset for message catalogs for domain +domainname.

    + +

    A message domain is a set of translatable msgid +messages. Usually, every software package has its own +message domain.

    + +

    By default, the gettext family of functions +returns translated messages in the locale’s character +encoding, which can be retrieved as +nl_langinfo(CODESET). The need for calling +bind_textdomain_codeset arises for programs which +store strings in a locale independent way (e.g. UTF-8) and +want to avoid an extra character set conversion on the +returned translated messages.

    + +

    domainname must be a non-empty string.

    + +

    If codeset is not NULL, it must be a valid +encoding name which can be used for the iconv_open +function. The bind_textdomain_codeset function sets +the output codeset for message catalogs belonging to domain +domainname to codeset. The function makes +copies of the argument strings as needed.

    + +

    If codeset is NULL, the function returns the +previously set codeset for domain domainname. The +default is NULL, denoting the locale’s character +encoding.

    +
    + +

    RETURN VALUE

    + + + + + +
    +

    If successful, the bind_textdomain_codeset +function returns the current codeset for domain +domainname, after possibly changing it. The resulting +string is valid until the next +bind_textdomain_codeset call for the same +domainname and must not be modified or freed. If a +memory allocation failure occurs, it sets errno to +ENOMEM and returns NULL. If no codeset has been set +for domain domainname, it returns NULL.

    +
    + +

    ERRORS

    + + + + + +
    +

    The following error can occur, among others:

    +
    + + + + + + + + +
    + +

    ENOMEM

    +
    + +

    Not enough memory available.

    +
    +
    + +

    BUGS

    + + + + + +
    +

    The return type ought to be const char *, but is +char * to avoid warnings in C code predating ANSI +C.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    gettext(3), dgettext(3), +dcgettext(3), ngettext(3), +dngettext(3), dcngettext(3), +textdomain(3), nl_langinfo(3), +iconv_open(3)

    +
    +
    + + diff --git a/mingw/share/doc/gettext/bindtextdomain.3.html b/mingw/share/doc/gettext/bindtextdomain.3.html new file mode 100644 index 00000000..4a8d8666 --- /dev/null +++ b/mingw/share/doc/gettext/bindtextdomain.3.html @@ -0,0 +1,160 @@ + + + + + +BINDTEXTDOMAIN + + + +

    BINDTEXTDOMAIN

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +RETURN VALUE
    +ERRORS
    +BUGS
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    bindtextdomain − set directory containing message +catalogs

    +
    + +

    SYNOPSIS

    + + + + + +
    +
    #include <libintl.h>
    +
    +char * bindtextdomain (const char * domainname, const char * dirname);
    +
    +
    + +

    DESCRIPTION

    + + + + + + +
    +

    The bindtextdomain function sets the base +directory of the hierarchy containing message catalogs for a +given message domain.

    + +

    A message domain is a set of translatable msgid +messages. Usually, every software package has its own +message domain. The need for calling bindtextdomain +arises because packages are not always installed with the +same prefix as the <libintl.h> header and the +libc/libintl libraries.

    + +

    Message catalogs will be expected at the pathnames +dirname/locale/category/domainname.mo, +where locale is a locale name and category is +a locale facet such as LC_MESSAGES.

    + +

    domainname must be a non-empty string.

    + +

    If dirname is not NULL, the base directory for +message catalogs belonging to domain domainname is +set to dirname. The function makes copies of the +argument strings as needed. If the program wishes to call +the chdir function, it is important that +dirname be an absolute pathname; otherwise it cannot +be guaranteed that the message catalogs will be found.

    + +

    If dirname is NULL, the function returns the +previously set base directory for domain +domainname.

    +
    + +

    RETURN VALUE

    + + + + + +
    +

    If successful, the bindtextdomain function returns +the current base directory for domain domainname, +after possibly changing it. The resulting string is valid +until the next bindtextdomain call for the same +domainname and must not be modified or freed. If a +memory allocation failure occurs, it sets errno to +ENOMEM and returns NULL.

    +
    + +

    ERRORS

    + + + + + +
    +

    The following error can occur, among others:

    +
    + + + + + + + + +
    + +

    ENOMEM

    +
    + +

    Not enough memory available.

    +
    +
    + +

    BUGS

    + + + + + +
    +

    The return type ought to be const char *, but is +char * to avoid warnings in C code predating ANSI +C.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    gettext(3), dgettext(3), +dcgettext(3), ngettext(3), +dngettext(3), dcngettext(3), +textdomain(3), realpath(3)

    +
    +
    + + diff --git a/mingw/share/doc/gettext/csharpdoc/GNU_Gettext.html b/mingw/share/doc/gettext/csharpdoc/GNU_Gettext.html new file mode 100644 index 00000000..ec0ec953 --- /dev/null +++ b/mingw/share/doc/gettext/csharpdoc/GNU_Gettext.html @@ -0,0 +1,8 @@ + + +GNU.Gettext Namespace

    + +GettextResourceManager
    +GettextResourceSet
    + + diff --git a/mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html b/mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html new file mode 100644 index 00000000..e2375672 --- /dev/null +++ b/mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html @@ -0,0 +1,305 @@ + + +GNU.Gettext.GettextResourceManager Class + + +

    GNU.Gettext.GettextResourceManager Class

    + +
    + + +
    public class GettextResourceManager: System.Resources.ResourceManager
    +
    + +

    Base Types

    + +
    +System.Resources.ResourceManager
    +  GettextResourceManager

    + +

    + +

    Library

    + +
    +GNU.Gettext +
    + +

    Summary

    + +
    + +Each instance of this class can be used to lookup translations for a +given resource name. For each CultureInfo, it performs the lookup +in several assemblies, from most specific over territory-neutral to +language-neutral. +
    + +

    See Also

    + +
    +GNU.Gettext Namespace +
    + +

    Members

    + +
    +

    + +GettextResourceManager Constructors

    + +GettextResourceManager(System.String) Constructor
    +GettextResourceManager(System.String, System.Reflection.Assembly) Constructor
    +

    + +GettextResourceManager Methods

    + +GettextResourceManager.GetPluralString(System.String, System.String, long, System.Globalization.CultureInfo) Method
    +GettextResourceManager.GetPluralString(System.String, System.String, long) Method
    +GettextResourceManager.GetString(System.String, System.Globalization.CultureInfo) Method
    +GettextResourceManager.GetString(System.String) Method
    +

    + +
    + +

    GettextResourceManager(System.String) Constructor

    + +
    + + +
    public GettextResourceManager(System.String baseName);
    +
    + +

    Summary

    + +
    + +Constructor. +
    + +

    Parameters

    + +
    +
    +
    baseName
    +
    the resource name, also the assembly base + name
    +
    +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceManager Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceManager(System.String, System.Reflection.Assembly) Constructor

    + +
    + + +
    public GettextResourceManager(System.String baseName, System.Reflection.Assembly assembly);
    +
    + +

    Summary

    + +
    + +Constructor. +
    + +

    Parameters

    + +
    +
    +
    baseName
    +
    the resource name, also the assembly base + name
    +
    +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceManager Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceManager.GetPluralString(System.String, System.String, long, System.Globalization.CultureInfo) Method

    + +
    + + +
    public virtual System.String GetPluralString(System.String msgid, System.String msgidPlural, long n, System.Globalization.CultureInfo culture);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid and +msgidPlural in a given culture, choosing the right +plural form depending on the number n. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    msgidPlural
    +
    the English plural of msgid, + an ASCII string
    +
    n
    +
    the number, should be >= 0
    +
    +
    + +

    Return Value

    + +
    +the translation, or msgid or + msgidPlural if none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceManager Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceManager.GetPluralString(System.String, System.String, long) Method

    + +
    + + +
    public virtual System.String GetPluralString(System.String msgid, System.String msgidPlural, long n);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid and +msgidPlural in the current culture, choosing the +right plural form depending on the number n. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    msgidPlural
    +
    the English plural of msgid, + an ASCII string
    +
    n
    +
    the number, should be >= 0
    +
    +
    + +

    Return Value

    + +
    +the translation, or msgid or + msgidPlural if none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceManager Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceManager.GetString(System.String, System.Globalization.CultureInfo) Method

    + +
    + + +
    public override System.String GetString(System.String msgid, System.Globalization.CultureInfo culture);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid in a given culture. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    +
    + +

    Return Value

    + +
    +the translation of msgid, or + msgid if none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceManager Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceManager.GetString(System.String) Method

    + +
    + + +
    public override System.String GetString(System.String msgid);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid in the current +culture. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    +
    + +

    Return Value

    + +
    +the translation of msgid, or + msgid if none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceManager Class, GNU.Gettext Namespace +
    + + + diff --git a/mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html b/mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html new file mode 100644 index 00000000..64869c99 --- /dev/null +++ b/mingw/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html @@ -0,0 +1,356 @@ + + +GNU.Gettext.GettextResourceSet Class + + +

    GNU.Gettext.GettextResourceSet Class

    + +
    + + +
    public class GettextResourceSet: System.Resources.ResourceSet
    +
    + +

    Base Types

    + +
    +System.Resources.ResourceSet
    +  GettextResourceSet

    + +

    + +

    Library

    + +
    +GNU.Gettext +
    + +

    Summary

    + +
    + +Each instance of this class encapsulates a single PO file. +

    + + +This API of this class is not meant to be used directly; use +GettextResourceManager instead. +

    + +

    + +

    See Also

    + +
    +GNU.Gettext Namespace +
    + +

    Members

    + +
    +

    + +GettextResourceSet Constructors

    + +GettextResourceSet() Constructor
    +GettextResourceSet(System.Resources.IResourceReader) Constructor
    +GettextResourceSet(System.IO.Stream) Constructor
    +GettextResourceSet(System.String) Constructor
    +

    + +GettextResourceSet Methods

    + +GettextResourceSet.GetPluralString Method
    +GettextResourceSet.GetString(System.String) Method
    +GettextResourceSet.GetString(System.String, bool) Method
    +GettextResourceSet.PluralEval Method
    +

    + +GettextResourceSet Properties

    + +GettextResourceSet.Keys Property
    +

    + +
    + +

    GettextResourceSet() Constructor

    + +
    + + +
    protected GettextResourceSet();
    +
    + +

    Summary

    + +
    + +Creates a new message catalog. When using this constructor, you +must override the ReadResources method, in order to initialize +the Table property. The message catalog will support plural +forms only if the ReadResources method installs values of type +String[] and if the PluralEval method is overridden. +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet(System.Resources.IResourceReader) Constructor

    + +
    + + +
    public GettextResourceSet(System.Resources.IResourceReader reader);
    +
    + +

    Summary

    + +
    + +Creates a new message catalog, by reading the string/value pairs from +the given reader. The message catalog will support +plural forms only if the reader can produce values of type +String[] and if the PluralEval method is overridden. +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet(System.IO.Stream) Constructor

    + +
    + + +
    public GettextResourceSet(System.IO.Stream stream);
    +
    + +

    Summary

    + +
    + +Creates a new message catalog, by reading the string/value pairs from +the given stream, which should have the format of +a .resources file. The message catalog will not support plural +forms. +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet(System.String) Constructor

    + +
    + + +
    public GettextResourceSet(System.String fileName);
    +
    + +

    Summary

    + +
    + +Creates a new message catalog, by reading the string/value pairs from +the file with the given fileName. The file should +be in the format of a .resources file. The message catalog will +not support plural forms. +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet.GetPluralString Method

    + +
    + + +
    public virtual System.String GetPluralString(System.String msgid, System.String msgidPlural, long n);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid and +msgidPlural, choosing the right plural form +depending on the number n. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    msgidPlural
    +
    the English plural of msgid, + an ASCII string
    +
    n
    +
    the number, should be >= 0
    +
    +
    + +

    Return Value

    + +
    +the translation, or null if none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet.GetString(System.String) Method

    + +
    + + +
    public override System.String GetString(System.String msgid);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    +
    + +

    Return Value

    + +
    +the translation of msgid, or null if + none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet.GetString(System.String, bool) Method

    + +
    + + +
    public override System.String GetString(System.String msgid, bool ignoreCase);
    +
    + +

    Summary

    + +
    + +Returns the translation of msgid, with possibly +case-insensitive lookup. +
    + +

    Parameters

    + +
    +
    +
    msgid
    +
    the key string to be translated, an ASCII + string
    +
    +
    + +

    Return Value

    + +
    +the translation of msgid, or null if + none is found +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet.PluralEval Method

    + +
    + + +
    protected virtual long PluralEval(long n);
    +
    + +

    Summary

    + +
    + +Returns the index of the plural form to be chosen for a given number. +The default implementation is the Germanic plural formula: +zero for n == 1, one for n != 1. +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + +
    + +

    GettextResourceSet.Keys Property

    + +
    + + +
    public virtual System.Collections.ICollection Keys { get; }
    +
    + +

    Summary

    + +
    + +Returns the keys of this resource set, i.e. the strings for which +GetObject() can return a non-null value. +
    + +

    See Also

    + +
    +GNU.Gettext.GettextResourceSet Class, GNU.Gettext Namespace +
    + + + diff --git a/mingw/share/doc/gettext/csharpdoc/begin.html b/mingw/share/doc/gettext/csharpdoc/begin.html new file mode 100644 index 00000000..a0917d61 --- /dev/null +++ b/mingw/share/doc/gettext/csharpdoc/begin.html @@ -0,0 +1,11 @@ + +- + +

    -

    + +
    +GNU.Gettext Namespace
    +
    + + + diff --git a/mingw/share/doc/gettext/csharpdoc/index.html b/mingw/share/doc/gettext/csharpdoc/index.html new file mode 100644 index 00000000..96aa05a1 --- /dev/null +++ b/mingw/share/doc/gettext/csharpdoc/index.html @@ -0,0 +1,10 @@ + +- + + + + + + + + diff --git a/mingw/share/doc/gettext/csharpdoc/namespaces.html b/mingw/share/doc/gettext/csharpdoc/namespaces.html new file mode 100644 index 00000000..9ffd95e7 --- /dev/null +++ b/mingw/share/doc/gettext/csharpdoc/namespaces.html @@ -0,0 +1,6 @@ + + +Namespaces

    +GNU.Gettext
    + + diff --git a/mingw/share/doc/gettext/envsubst.1.html b/mingw/share/doc/gettext/envsubst.1.html new file mode 100644 index 00000000..df02a473 --- /dev/null +++ b/mingw/share/doc/gettext/envsubst.1.html @@ -0,0 +1,213 @@ + + + + + +ENVSUBST + + + +

    ENVSUBST

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    envsubst − substitutes environment variables in +shell format strings

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    envsubst [OPTION] [SHELL-FORMAT]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Substitutes the values of environment variables.

    +
    + + + + + +
    +

    Operation mode:

    + + + + + +
    +

    −v, −−variables

    + + + + + +
    +

    output the variables occurring in SHELL-FORMAT

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + + + + + +
    +

    In normal operation mode, standard input is copied to +standard output, with references to environment variables of +the form $VARIABLE or ${VARIABLE} being replaced with the +corresponding values. If a SHELL-FORMAT is given, only those +environment variables that are referenced in SHELL-FORMAT +are substituted; otherwise all environment variables +references occurring in standard input are substituted.

    + +

    When −−variables is used, standard +input is ignored, and the output consists of the environment +variables that are referenced in SHELL-FORMAT, one per +line.

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2003-2007 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for envsubst is maintained +as a Texinfo manual. If the info and envsubst +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info envsubst

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/examples/README b/mingw/share/doc/gettext/examples/README new file mode 100644 index 00000000..b57664b0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/README @@ -0,0 +1,49 @@ +This directory contains simple examples of the use of GNU gettext. +Each example is a simple "hello world" program with a very small message +catalog, written in a particular programming language for a particular +environment. + + Example Language GUI Environment + + hello-c C + hello-c-gnome C GNOME + hello-c++ C++ + hello-c++-qt C++ Qt + hello-c++-kde C++ KDE + hello-c++-gnome C++ GNOME + hello-c++-wxwidgets C++ wxWidgets + hello-objc ObjectiveC + hello-objc-gnustep ObjectiveC GNUstep + hello-objc-gnome ObjectiveC GNOME + hello-sh Shell + hello-python Python + hello-clisp Lisp + hello-librep librep + hello-guile Scheme + hello-smalltalk Smalltalk + hello-java Java + hello-java-awt Java AWT + hello-java-swing Java Swing + hello-java-qtjambi Java Qt + hello-csharp C# + hello-csharp-forms C# Forms + hello-gawk awk + hello-pascal Pascal + hello-ycp YCP libyui + hello-tcl Tcl + hello-tcl-tk Tcl Tk + hello-perl Perl + hello-php PHP + +Before building an example, you need to + 1. Build and install the GNU gettext package, as described in the INSTALL + file. + 2. cd to the example and do + ./autogen.sh + 3. Then you can build the example as usual: + ./configure --prefix=/some/prefix + make + make install + and see it work by executing + /some/prefix/bin/hello + diff --git a/mingw/share/doc/gettext/examples/build-aux/csharpcomp.m4 b/mingw/share/doc/gettext/examples/build-aux/csharpcomp.m4 new file mode 100644 index 00000000..bcf3357b --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/csharpcomp.m4 @@ -0,0 +1,78 @@ +# csharpcomp.m4 serial 8 +dnl Copyright (C) 2003-2005, 2007, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Prerequisites of csharpcomp.sh. +# Checks for a C# compiler. +# Sets at most one of HAVE_CSCC, HAVE_MCS, HAVE_CSC. +# Sets HAVE_CSHARPCOMP to nonempty if csharpcomp.sh will work. +# Also sets CSHARPCOMPFLAGS. +AC_DEFUN([gt_CSHARPCOMP], +[ + AC_REQUIRE([gt_CSHARP_CHOICE]) + AC_MSG_CHECKING([for C[#] compiler]) + HAVE_CSHARPCOMP=1 + pushdef([AC_MSG_CHECKING],[:])dnl + pushdef([AC_CHECKING],[:])dnl + pushdef([AC_MSG_RESULT],[:])dnl + AC_CHECK_PROG([HAVE_CSCC_IN_PATH], [cscc], [yes]) + AC_CHECK_PROG([HAVE_MCS_IN_PATH], [mcs], [yes]) + AC_CHECK_PROG([HAVE_CSC_IN_PATH], [csc], [yes]) + popdef([AC_MSG_RESULT])dnl + popdef([AC_CHECKING])dnl + popdef([AC_MSG_CHECKING])dnl + for impl in "$CSHARP_CHOICE" pnet mono sscli no; do + case "$impl" in + pnet) + if test -n "$HAVE_CSCC_IN_PATH" \ + && cscc --version >/dev/null 2>/dev/null \ + && ( + # See if pnetlib is well installed. + echo 'class ConfTest { static void Main() { } }' > conftest.cs + cscc -o conftest.exe conftest.cs 2>/dev/null + error=$? + rm -f conftest.cs conftest.exe + exit $error + ); then + HAVE_CSCC=1 + ac_result="cscc" + break + fi + ;; + mono) + if test -n "$HAVE_MCS_IN_PATH" \ + && mcs --version >/dev/null 2>/dev/null \ + && mcs --version 2>/dev/null | grep Mono >/dev/null; then + HAVE_MCS=1 + ac_result="mcs" + break + fi + ;; + sscli) + if test -n "$HAVE_CSC_IN_PATH" \ + && csc -help >/dev/null 2>/dev/null \ + && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then + HAVE_CSC=1 + ac_result="csc" + break + fi + ;; + no) + HAVE_CSHARPCOMP= + ac_result="no" + break + ;; + esac + done + AC_MSG_RESULT([$ac_result]) + AC_SUBST([HAVE_CSCC]) + AC_SUBST([HAVE_MCS]) + AC_SUBST([HAVE_CSC]) + dnl Provide a default for CSHARPCOMPFLAGS. + if test -z "${CSHARPCOMPFLAGS+set}"; then + CSHARPCOMPFLAGS="-O -g" + fi + AC_SUBST([CSHARPCOMPFLAGS]) +]) diff --git a/mingw/share/doc/gettext/examples/build-aux/csharpcomp.sh.in b/mingw/share/doc/gettext/examples/build-aux/csharpcomp.sh.in new file mode 100644 index 00000000..08d23034 --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/csharpcomp.sh.in @@ -0,0 +1,158 @@ +#!/bin/sh +# Compile a C# program. + +# Copyright (C) 2003-2006, 2009-2010 Free Software Foundation, Inc. +# Written by Bruno Haible , 2003. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This uses the same choices as csharpcomp.c, but instead of relying on the +# environment settings at run time, it uses the environment variables +# present at configuration time. +# +# This is a separate shell script, because the various C# compilers have +# different command line options. +# +# Usage: /bin/sh csharpcomp.sh [OPTION] SOURCE.cs ... RES.resource ... +# Options: +# -o PROGRAM.exe or -o LIBRARY.dll +# set the output assembly name +# -L DIRECTORY search for C# libraries also in DIRECTORY +# -l LIBRARY reference the C# library LIBRARY.dll +# -O optimize +# -g generate debugging information + +# func_tmpdir +# creates a temporary directory. +# Sets variable +# - tmp pathname of freshly created temporary directory +func_tmpdir () +{ + # Use the environment variable TMPDIR, falling back to /tmp. This allows + # users to specify a different temporary directory, for example, if their + # /tmp is filled up or too small. + : ${TMPDIR=/tmp} + { + # Use the mktemp program if available. If not available, hide the error + # message. + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/gtXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { + # Use a simple mkdir command. It is guaranteed to fail if the directory + # already exists. $RANDOM is bash specific and expands to empty in shells + # other than bash, ksh and zsh. Its use does not increase security; + # rather, it minimizes the probability of failure in a very cluttered /tmp + # directory. + tmp=$TMPDIR/gt$$-$RANDOM + (umask 077 && mkdir "$tmp") + } || + { + echo "$0: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } + } +} + +sed_quote_subst='s/\([|&;<>()$`"'"'"'*?[#~=% \\]\)/\\\1/g' +options_cscc= +options_mcs= +options_csc="-nologo" +sources= +while test $# != 0; do + case "$1" in + -o) + case "$2" in + *.dll) + options_cscc="$options_cscc -shared" + options_mcs="$options_mcs -target:library" + options_csc="$options_csc -target:library" + ;; + *.exe) + options_csc="$options_csc -target:exe" + ;; + esac + options_cscc="$options_cscc -o "`echo "$2" | sed -e "$sed_quote_subst"` + options_mcs="$options_mcs -out:"`echo "$2" | sed -e "$sed_quote_subst"` + options_csc="$options_csc -out:"`echo "$2" | sed -e "$sed_quote_subst"` + shift + ;; + -L) + options_cscc="$options_cscc -L "`echo "$2" | sed -e "$sed_quote_subst"` + options_mcs="$options_mcs -lib:"`echo "$2" | sed -e "$sed_quote_subst"` + options_csc="$options_csc -lib:"`echo "$2" | sed -e "$sed_quote_subst"` + shift + ;; + -l) + options_cscc="$options_cscc -l "`echo "$2" | sed -e "$sed_quote_subst"` + options_mcs="$options_mcs -reference:"`echo "$2" | sed -e "$sed_quote_subst"` + options_csc="$options_csc -reference:"`echo "$2" | sed -e "$sed_quote_subst"`".dll" + shift + ;; + -O) + options_cscc="$options_cscc -O" + options_csc="$options_csc -optimize+" + ;; + -g) + options_cscc="$options_cscc -g" + options_mcs="$options_mcs -debug" + options_csc="$options_csc -debug+" + ;; + -*) + echo "csharpcomp: unknown option '$1'" 1>&2 + exit 1 + ;; + *.resources) + options_cscc="$options_cscc -fresources="`echo "$1" | sed -e "$sed_quote_subst"` + options_mcs="$options_mcs -resource:"`echo "$1" | sed -e "$sed_quote_subst"` + options_csc="$options_csc -resource:"`echo "$1" | sed -e "$sed_quote_subst"` + ;; + *.cs) + sources="$sources "`echo "$1" | sed -e "$sed_quote_subst"` + ;; + *) + echo "csharpcomp: unknown type of argument '$1'" 1>&2 + exit 1 + ;; + esac + shift +done + +if test -n "@HAVE_CSCC@"; then + test -z "$CSHARP_VERBOSE" || echo cscc $options_cscc $sources + exec cscc $options_cscc $sources +else + if test -n "@HAVE_MCS@"; then + # mcs prints it errors and warnings to stdout, not stderr. Furthermore it + # adds a useless line "Compilation succeeded..." at the end. Correct both. + sed_drop_success_line='${ +/^Compilation succeeded/d +}' + func_tmpdir + trap 'rm -rf "$tmp"' 1 2 3 15 + test -z "$CSHARP_VERBOSE" || echo mcs $options_mcs $sources + mcs $options_mcs $sources > "$tmp"/mcs.err + result=$? + sed -e "$sed_drop_success_line" < "$tmp"/mcs.err >&2 + rm -rf "$tmp" + exit $result + else + if test -n "@HAVE_CSC@"; then + test -z "$CSHARP_VERBOSE" || echo csc $options_csc $sources + exec csc $options_csc $sources + else + echo 'C# compiler not found, try installing pnet, then reconfigure' 1>&2 + exit 1 + fi + fi +fi diff --git a/mingw/share/doc/gettext/examples/build-aux/csharpexec-test.exe b/mingw/share/doc/gettext/examples/build-aux/csharpexec-test.exe new file mode 100644 index 0000000000000000000000000000000000000000..bed37080ce62be5fb276215324293fa6308b643f GIT binary patch literal 2560 zcwX&PO=}ZT6g@MEA&E^8sb8D=k{XbL15FFMkT9evt4C%Dvw3&G;bjm!Q5H~j(r0ypt}Og=1Wi_1z5bLZZ3-+gE9Jl=cdCwqthh%)Q- zfPF~lI2~PP>FeLp_>wrt>?>;rnQGJW$&Tl4d$krZYmVavq)v&~c8KMWQpF%Gw?Va3 zDtRN+SYHO#6cwMR+Qq)^A=1iuB_^9vWv-BAFM_Z!UB;>`;pls84oO73FNkO82TtHu z2B_c!=)lxT_LZIk5OTn9<1F2 z6Z{KER(ifS`PSMXz@7rIhgAZuds8I;N-Wmz&j3m z7yqMT$dz!0^fBB2%~%2kE+X2+5nK{VDppen zRW%uyezWH7&<-_k1=J5T79GvuZrN?LZCXIfH(k%R>ZsJ8Q!{|^(hq10ORlq3<%Q*% z7&{?1H$Iy>xB>))qiKt}3- nXG^ZP+@a!=qAyCdhHZ/dev/null 2>/dev/null \ + ifelse([$1], , , [&& ilrun $2/$1 >/dev/null 2>/dev/null]); then + HAVE_ILRUN=1 + ac_result="ilrun" + break + fi + ;; + mono) + if test -n "$HAVE_MONO_IN_PATH" \ + && mono --version >/dev/null 2>/dev/null \ + ifelse([$1], , , [&& mono $2/$1 >/dev/null 2>/dev/null]); then + HAVE_MONO=1 + ac_result="mono" + break + fi + ;; + sscli) + if test -n "$HAVE_CLIX_IN_PATH" \ + ifelse([$1], , , [&& clix $2/$1 >/dev/null 2>/dev/null]); then + HAVE_CLIX=1 + case $host_os in + cygwin* | mingw* | pw32*) + CLIX_PATH_VAR=PATH + ;; + darwin* | rhapsody*) + CLIX_PATH_VAR=DYLD_LIBRARY_PATH + ;; + *) + CLIX_PATH_VAR=LD_LIBRARY_PATH + ;; + esac + eval CLIX_PATH=\"\$CLIX_PATH_VAR\" + ac_result="clix" + break + fi + ;; + no) + HAVE_CSHARPEXEC= + ac_result="no" + break + ;; + esac + done + AC_MSG_RESULT([$ac_result]) + AC_SUBST([MONO_PATH]) + AC_SUBST([MONO_PATH_SEPARATOR]) + AC_SUBST([CLIX_PATH_VAR]) + AC_SUBST([CLIX_PATH]) + AC_SUBST([HAVE_ILRUN]) + AC_SUBST([HAVE_MONO]) + AC_SUBST([HAVE_CLIX]) +]) diff --git a/mingw/share/doc/gettext/examples/build-aux/csharpexec.sh.in b/mingw/share/doc/gettext/examples/build-aux/csharpexec.sh.in new file mode 100644 index 00000000..f4327255 --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/csharpexec.sh.in @@ -0,0 +1,95 @@ +#!/bin/sh +# Execute a C# program. + +# Copyright (C) 2003, 2005, 2009, 2010 Free Software Foundation, Inc. +# Written by Bruno Haible , 2003. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This uses the same choices as csharpexec.c, but instead of relying on the +# environment settings at run time, it uses the environment variables +# present at configuration time. +# +# This is a separate shell script, because the various C# interpreters have +# different command line options. +# +# Usage: /bin/sh csharpexec.sh [OPTION] program.exe [ARGUMENTS] +# Options: +# -L DIRECTORY search for C# libraries also in DIRECTORY + +sed_quote_subst='s/\([|&;<>()$`"'"'"'*?[#~=% \\]\)/\\\1/g' +options_ilrun= +libdirs_mono= +prog= +while test $# != 0; do + case "$1" in + -L) + options_ilrun="$options_ilrun -L "`echo "$2" | sed -e "$sed_quote_subst"` + libdirs_mono="${libdirs_mono:+$libdirs_mono@MONO_PATH_SEPARATOR@}$2" + shift + ;; + -*) + echo "csharpexec: unknown option '$1'" 1>&2 + exit 1 + ;; + *) + prog="$1" + break + ;; + esac + shift +done +if test -z "$prog"; then + echo "csharpexec: no program specified" 1>&2 + exit 1 +fi +case "$prog" in + *.exe) ;; + *) + echo "csharpexec: program is not a .exe" 1>&2 + exit 1 + ;; +esac + +if test -n "@HAVE_ILRUN@"; then + test -z "$CSHARP_VERBOSE" || echo ilrun $options_ilrun "$@" + exec ilrun $options_ilrun "$@" +else + if test -n "@HAVE_MONO@"; then + CONF_MONO_PATH='@MONO_PATH@' + if test -n "$libdirs_mono"; then + MONO_PATH="$libdirs_mono${CONF_MONO_PATH:+@MONO_PATH_SEPARATOR@$CONF_MONO_PATH}" + else + MONO_PATH="$CONF_MONO_PATH" + fi + export MONO_PATH + test -z "$CSHARP_VERBOSE" || echo mono "$@" + exec mono "$@" + else + if test -n "@HAVE_CLIX@"; then + CONF_CLIX_PATH='@CLIX_PATH@' + if test -n "$libdirs_mono"; then + @CLIX_PATH_VAR@="$libdirs_mono${CONF_CLIX_PATH:+@MONO_PATH_SEPARATOR@$CONF_CLIX_PATH}" + else + @CLIX_PATH_VAR@="$CONF_CLIX_PATH" + fi + export @CLIX_PATH_VAR@ + test -z "$CSHARP_VERBOSE" || echo clix "$@" + exec clix "$@" + else + echo 'C# virtual machine not found, try installing pnet, then reconfigure' 1>&2 + exit 1 + fi + fi +fi diff --git a/mingw/share/doc/gettext/examples/build-aux/gcj.m4 b/mingw/share/doc/gettext/examples/build-aux/gcj.m4 new file mode 100644 index 00000000..f84b7fbb --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/gcj.m4 @@ -0,0 +1,74 @@ +# gcj.m4 serial 2 (gettext-0.17) +dnl Copyright (C) 2002, 2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Check for a Java compiler that creates executables. +# Assigns the variables GCJ and GCJFLAGS, and set HAVE_GCJ to nonempty, +# if found. Otherwise sets HAVE_GCJ to empty. + +AC_DEFUN([gt_GCJ], +[ + AC_ARG_VAR([GCJ], [Java native code compiler command]) + AC_ARG_VAR([GCJFLAGS], [Java native code compiler flags]) + + AC_MSG_CHECKING([for Java to native code compiler]) + # Search for the gcj command or use the one provided by the user. + if test -z "$GCJ"; then + pushdef([AC_MSG_CHECKING],[:])dnl + pushdef([AC_CHECKING],[:])dnl + pushdef([AC_MSG_RESULT],[:])dnl + AC_CHECK_TOOL([GCJ], [gcj], [none]) + popdef([AC_MSG_RESULT])dnl + popdef([AC_CHECKING])dnl + popdef([AC_MSG_CHECKING])dnl + fi + # Choose GCJFLAGS or use the one provided by the user. + if test "$GCJ" != none; then + test "${GCJFLAGS+set}" != set || GCJFLAGS="-O2 -g" + fi + # Check whether the version is ok and it can create executables. + ac_gcj_link="$GCJ $GCJFLAGS conftest.java --main=conftest -o conftest$ac_exeext" +changequote(,)dnl + if test "$GCJ" != none \ + && $GCJ --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | grep '^[3-9]' >/dev/null \ + && ( + # See if libgcj.so is well installed and if exception handling works. + cat > conftest.java </dev/null 2>&1; echo $?` + test $error = 0 || error=1 + rm -f core conftest.core + fi + rm -f conftest.java conftest$ac_exeext + exit $error + ); then + : + else + GCJ=none + fi + AC_MSG_RESULT($GCJ) + if test "$GCJ" != none; then + HAVE_GCJ=1 + else + HAVE_GCJ= + fi + AC_SUBST(GCJ) + AC_SUBST(GCJFLAGS) + AC_SUBST(HAVE_GCJ) +]) diff --git a/mingw/share/doc/gettext/examples/build-aux/javacomp.m4 b/mingw/share/doc/gettext/examples/build-aux/javacomp.m4 new file mode 100644 index 00000000..bbca6183 --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/javacomp.m4 @@ -0,0 +1,637 @@ +# javacomp.m4 serial 12 +dnl Copyright (C) 2001-2003, 2006-2007, 2009-2010 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Prerequisites of javacomp.sh. +# gt_JAVACOMP([source-version], [target-version]) +# Sets HAVE_JAVACOMP to nonempty if javacomp.sh will allow Java source code +# according to source-version to be compiled to Java bytecode classes in the +# target-version format. +# +# source-version can be: support for +# 1.3 inner classes +# 1.4 assert keyword +# 1.5 generic classes and methods +# 1.6 (not yet supported) +# +# target-version can be: classfile version: +# 1.1 45.3 +# 1.2 46.0 +# 1.3 47.0 +# 1.4 48.0 +# 1.5 49.0 +# 1.6 50.0 +# The classfile version of a .class file can be determined through the "file" +# command. More portably, the classfile major version can be determined through +# "od -A n -t d1 -j 7 -N 1 classfile". +# target-version can also be omitted. In this case, the required target-version +# is determined from the found JVM (see macro gt_JAVAEXEC): +# target-version for JVM +# 1.1 JDK 1.1, jview +# 1.2 JDK/JRE 1.2 +# 1.3 JDK/JRE 1.3, gij 3.3, 3.4 +# 1.4 JDK/JRE 1.4, gij 4.0, 4.1 +# 1.5 JDK/JRE 1.5 +# 1.6 JDK/JRE 1.6 +# Note: gij >= 3.3 can in some cases handle classes compiled with -target 1.4, +# and gij >= 4.1 can in some cases partially handle classes compiled with +# -target 1.5, but I have no idea how complete this support is. +# +# Specifying target-version is useful when building a library (.jar) that is +# useful outside the given package. Omitting target-version is useful when +# building an application. +# +# It is unreasonable to ask for: +# - target-version < 1.4 with source-version >= 1.4, or +# - target-version < 1.5 with source-version >= 1.5, or +# - target-version < 1.6 with source-version >= 1.6, +# because even Sun's javac doesn't support these combinations. +# +# It is redundant to ask for a target-version > source-version, since the +# smaller target-version = source-version will also always work and newer JVMs +# support the older target-versions too. Except for the case +# target-version = 1.4, source-version = 1.3, which allows gcj versions 3.0 +# to 3.2 to be used. + +AC_DEFUN([gt_JAVACOMP], +[ + ifelse([$2], [], [AC_REQUIRE([gt_JAVAEXEC])], []) + AC_EGREP_CPP([yes], [ +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + yes +#endif +], CLASSPATH_SEPARATOR=';', CLASSPATH_SEPARATOR=':') + source_version=$1 + test -n "$source_version" || { + AC_MSG_ERROR([missing source-version argument to gt_@&t@JAVACOMP]) + } + ifelse([$2], [], + [if test -n "$HAVE_JAVAEXEC"; then + dnl Use $CONF_JAVA to determine the JVM's version. +changequote(,)dnl + cat > conftestver.java <"!=fYpYJmkb_ece_YnejiJpblmeji/!?!@)!A/!B!C"!._jicnbmnpbl"!3fYpYKgYidKSZfb_n"!3fYpYKgYidKUqmnbh"!$jon"!8QfYpYKejKTleinUnlbYhL"!.dbnTljkblnq"!EFQfYpYKgYidKUnleidLGQfYpYKgYidKUnleidL"!6fYpYKejKTleinUnlbYh"!)kleingi"!8FQfYpYKgYidKUnleidLGW!D!(!)!!!!!#!"!*!+!"!,!!!@!"!"!!!&Hu!"r!!!"!.!!!(!"!!!"!+!/!0!"!,!!!F!#!"!!!/s!#5$v!%t!&r!!!"!.!!!,!#!!!$!.!%!"!1!!!#!2' \ + | tr -d '\012\015' \ + | tr '!"#$%&()*+,./0123456789:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzI' '\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\046\050\051\052\056\057\073\074\076\103\106\114\116\117\120\123\124\126\133\141\142\143\144\145\146\147\151\152\154\155\156\157\160\162\163\164\165\166\171\261\262\266\267\270\272\276\312\376\055' \ + > conftestver.class + target_version=`{ + unset JAVA_HOME + echo "$as_me:__oline__: CLASSPATH=.${CLASSPATH:+$CLASSPATH_SEPARATOR$CLASSPATH} $CONF_JAVA conftestver" >&AS_MESSAGE_LOG_FD + CLASSPATH=.${CLASSPATH:+$CLASSPATH_SEPARATOR$CLASSPATH} $CONF_JAVA conftestver 2>&AS_MESSAGE_LOG_FD + }` + case "$target_version" in + 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6) ;; + null) + dnl JDK 1.1.X returns null. + target_version=1.1 ;; + *) AC_MSG_WARN([unknown target-version $target_version, please update gt_@&t@JAVACOMP macro]) + target_version=1.1 ;; + esac + else + target_version="1.1" + fi + ], + [target_version=$2]) + case "$source_version" in + 1.3) goodcode='class conftest {}' + failcode='class conftestfail { static { assert(true); } }' ;; + 1.4) goodcode='class conftest { static { assert(true); } }' + failcode='class conftestfail { T foo() { return null; } }' ;; + 1.5) goodcode='class conftest { T foo() { return null; } }' + failcode='class conftestfail syntax error' ;; + *) AC_MSG_ERROR([invalid source-version argument to gt_@&t@JAVACOMP: $source_version]) ;; + esac + case "$target_version" in + 1.1) cfversion=45 ;; + 1.2) cfversion=46 ;; + 1.3) cfversion=47 ;; + 1.4) cfversion=48 ;; + 1.5) cfversion=49 ;; + 1.6) cfversion=50 ;; + *) AC_MSG_ERROR([invalid target-version argument to gt_@&t@JAVACOMP: $target_version]) ;; + esac + # Function to output the classfile version of a file (8th byte) in decimal. + if od -A x < /dev/null >/dev/null 2>/dev/null; then + # Use POSIX od. + func_classfile_version () + { + od -A n -t d1 -j 7 -N 1 "[$]1" + } + else + # Use BSD hexdump. + func_classfile_version () + { + dd if="[$]1" bs=1 count=1 skip=7 2>/dev/null | hexdump -e '1/1 "%3d "' + echo + } + fi + AC_MSG_CHECKING([for Java compiler]) + dnl + dnl The support of GNU gcj for target-version and source-version: + dnl + dnl gcj 3.0.4 to 4.2 does not have a way to specify the target-version. + dnl It always assumes target-version=1.4 but labels the class files as 1.1. + dnl One consequence of this is that gcj compiles GetURL.java to invalid + dnl bytecode, which crashes with a VerifyError when executed by Sun Java + dnl 1.3.1. The bug is registered as java/7066, see + dnl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7066 + dnl gcj 4.3 and newer has an option -ftarget=1.X. + dnl + dnl For gcj < 3.3, the source-version always is 1.3. + dnl For 3.3 <= gcj < 4.3, the source-version defaults to 1.4; option + dnl "-fno-assert" switches to source-version 1.3. + dnl gcj >= 4.3 has an option -fsource=1.X. + dnl + dnl The support of Sun javac for target-version and source-version: + dnl + dnl javac 1.3: -target 1.1 1.2 1.3 default: 1.1 + dnl source always: 1.3 + dnl + dnl javac 1.4: -target 1.1 1.2 1.3 1.4 default: 1.2 + dnl -source 1.3 1.4 default: 1.3 + dnl -target 1.1/1.2/1.3 only possible with -source 1.3 or no -source + dnl + dnl javac 1.5: -target 1.1 1.2 1.3 1.4 1.5 default: 1.5 + dnl -source 1.3 1.4 1.5 default: 1.5 + dnl -target 1.1/1.2/1.3 only possible with -source 1.3 + dnl -target 1.4 only possible with -source 1.3/1.4 + dnl + dnl javac 1.6: -target 1.1 1.2 1.3 1.4 1.5 1.6 default: 1.6 + dnl -source 1.3 1.4 1.5 1.6 default: 1.5 + dnl -target 1.1/1.2/1.3 only possible with -source 1.3 + dnl -target 1.4 only possible with -source 1.3/1.4 + dnl -target 1.5 only possible with -source 1.3/1.4/1.5 or no -source + dnl + dnl The support of jikes for target-version and source-version: + dnl + dnl jikes 1.14 does not have a way to specify the target-version. It + dnl always assumes target-version=1.1. + dnl + dnl For jikes 1.14, the source-version always is 1.3. + dnl + CONF_JAVAC= + HAVE_JAVAC_ENVVAR= + HAVE_GCJ_C= + HAVE_JAVAC= + HAVE_JIKES= + HAVE_JAVACOMP= +changequote(,)dnl + cat > conftestlib.java < conftest.java + echo "$failcode" > conftestfail.java + dnl If the user has set the JAVAC environment variable, use that, if it + dnl satisfies the constraints (possibly after adding -target and -source + dnl options). + if test -n "$JAVAC"; then + dnl Try the original $JAVAC. + if $JAVAC --version 2>/dev/null | sed -e 1q | grep gcj > /dev/null; then + dnl It's a version of gcj. +changequote(,)dnl + if $JAVAC --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | sed -e '/^4\.[012]/d' | grep '^[4-9]' >/dev/null; then +changequote([,])dnl + dnl It's a version of gcj >= 4.3. Assume the classfile versions are correct. + dnl Try $JAVAC. + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + dnl Try adding -fsource option if it is useful. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: $JAVAC -fsource=$source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -fsource="$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \ + && { echo "$as_me:__oline__: $JAVAC -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: $JAVAC -fsource=$source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -fsource="$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + CONF_JAVAC="$JAVAC -fsource=$source_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + else + CONF_JAVAC="$JAVAC" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + else + dnl Try with -fsource and -ftarget options. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: $JAVAC -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -fsource="$source_version" -ftarget="$target_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + CONF_JAVAC="$JAVAC -fsource=$source_version -ftarget=$target_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + fi + else + dnl It's a version of gcj < 4.3. Ignore the version of conftest.class. + if test "$target_version" = 1.4 && test "$source_version" = 1.4; then + dnl Try $JAVAC. + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class; then + CONF_JAVAC="$JAVAC" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + else + if test "$target_version" = 1.4 && test "$source_version" = 1.3; then + dnl Try $JAVAC and "$JAVAC -fno-assert". But add -fno-assert only if + dnl it makes a difference. (It could already be part of $JAVAC.) + javac_works= + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class; then + javac_works=1 + fi + javac_noassert_works= + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -fno-assert -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -fno-assert -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class; then + javac_noassert_works=1 + fi + if test -n "$javac_works" && test -n "$javac_noassert_works"; then + rm -f conftestfail.class + if { echo "$as_me:__oline__: $JAVAC -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: $JAVAC -fno-assert -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -fno-assert -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + dnl "$JAVAC -fno-assert" works better than $JAVAC. + javac_works= + fi + fi + if test -n "$javac_works"; then + CONF_JAVAC="$JAVAC" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + else + if test -n "$javac_noassert_works"; then + CONF_JAVAC="$JAVAC -fno-assert" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + fi + fi + fi + fi + else + dnl It's not gcj. Assume the classfile versions are correct. + dnl Try $JAVAC. + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + dnl Try adding -source option if it is useful. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: $JAVAC -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \ + && { echo "$as_me:__oline__: $JAVAC -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: $JAVAC -source $source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -source "$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + CONF_JAVAC="$JAVAC -source $source_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + else + CONF_JAVAC="$JAVAC" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + else + dnl Try with -target option alone. (Sun javac 1.3.1 has the -target + dnl option but no -source option.) + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -target $target_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -target "$target_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + dnl Try adding -source option if it is useful. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: $JAVAC -target $target_version -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -target "$target_version" -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \ + && { echo "$as_me:__oline__: $JAVAC -target $target_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -target "$target_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: $JAVAC -target $target_version -source $source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + $JAVAC -target "$target_version" -source "$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + CONF_JAVAC="$JAVAC -target $target_version -source $source_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + else + CONF_JAVAC="$JAVAC -target $target_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + else + dnl Maybe this -target option requires a -source option? Try with + dnl -target and -source options. (Supported by Sun javac 1.4 and + dnl higher.) + rm -f conftest.class + if { echo "$as_me:__oline__: $JAVAC -target $target_version -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + $JAVAC -target "$target_version" -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + CONF_JAVAC="$JAVAC -target $target_version -source $source_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + fi + fi + fi + fi + if test -z "$HAVE_JAVACOMP"; then + pushdef([AC_MSG_CHECKING],[:])dnl + pushdef([AC_CHECKING],[:])dnl + pushdef([AC_MSG_RESULT],[:])dnl + AC_CHECK_PROG([HAVE_GCJ_IN_PATH], [gcj], [yes]) + AC_CHECK_PROG([HAVE_JAVAC_IN_PATH], [javac], [yes]) + AC_CHECK_PROG([HAVE_JIKES_IN_PATH], [jikes], [yes]) + popdef([AC_MSG_RESULT])dnl + popdef([AC_CHECKING])dnl + popdef([AC_MSG_CHECKING])dnl + if test -z "$HAVE_JAVACOMP" && test -n "$HAVE_GCJ_IN_PATH"; then + dnl Test for a good gcj version (>= 3.0). +changequote(,)dnl + if gcj --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | sed -e '/^3\.[01]/d' | grep '^[3-9]' >/dev/null; then +changequote([,])dnl + dnl See if libgcj.jar is well installed. + if { echo "$as_me:__oline__: gcj -C -d . conftestlib.java" >&AS_MESSAGE_LOG_FD + gcj -C -d . conftestlib.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + dnl OK, gcj works. +changequote(,)dnl + if gcj --version 2>/dev/null | sed -e 's,^[^0-9]*,,' -e 1q | sed -e '/^4\.[012]/d' | grep '^[4-9]' >/dev/null; then +changequote([,])dnl + dnl It's a version of gcj >= 4.3. Assume the classfile versions are correct. + dnl Try gcj. + rm -f conftest.class + if { echo "$as_me:__oline__: gcj -C -d . conftest.java" >&AS_MESSAGE_LOG_FD + gcj -C -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + dnl Try adding -fsource option if it is useful. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: gcj -C -fsource=$source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + gcj -C -fsource="$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \ + && { echo "$as_me:__oline__: gcj -C -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + gcj -C -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: gcj -C -fsource=$source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + gcj -C -fsource="$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + CONF_JAVAC="gcj -C -fsource=$source_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + else + CONF_JAVAC="gcj -C" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + else + dnl Try with -fsource and -ftarget options. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: gcj -C -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + gcj -C -fsource="$source_version" -ftarget="$target_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + CONF_JAVAC="gcj -C -fsource=$source_version -ftarget=$target_version" + HAVE_JAVAC_ENVVAR=1 + HAVE_JAVACOMP=1 + fi + fi + else + dnl It's a version of gcj < 4.3. Ignore the version of conftest.class. + dnl Now test whether it supports the desired target-version and + dnl source-version. + if test "$target_version" = 1.4 && test "$source_version" = 1.4; then + rm -f conftest.class + if { echo "$as_me:__oline__: gcj -C -d . conftest.java" >&AS_MESSAGE_LOG_FD + gcj -C -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class; then + CONF_JAVAC="gcj -C" + HAVE_GCJ_C=1 + HAVE_JAVACOMP=1 + fi + else + if test "$target_version" = 1.4 && test "$source_version" = 1.3; then + dnl Try gcj and "gcj -fno-assert". But add -fno-assert only if + dnl it works (not gcj < 3.3). + rm -f conftest.class + if { echo "$as_me:__oline__: gcj -C -fno-assert -d . conftest.java" >&AS_MESSAGE_LOG_FD + gcj -C -fno-assert -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class; then + CONF_JAVAC="gcj -C -fno-assert" + HAVE_GCJ_C=1 + HAVE_JAVACOMP=1 + else + rm -f conftest.class + if { echo "$as_me:__oline__: gcj -C -d . conftest.java" >&AS_MESSAGE_LOG_FD + gcj -C -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class; then + CONF_JAVAC="gcj -C" + HAVE_GCJ_C=1 + HAVE_JAVACOMP=1 + fi + fi + fi + fi + fi + fi + fi + fi + if test -z "$HAVE_JAVACOMP" && test -n "$HAVE_JAVAC_IN_PATH"; then + dnl Test whether javac is usable. + if { javac -version >/dev/null 2>/dev/null || test $? -le 2; } \ + && ( if javac -help 2>&1 >/dev/null | grep at.dms.kjc.Main >/dev/null && javac -help 2>/dev/null | grep 'released.*2000' >/dev/null ; then exit 1; else exit 0; fi ); then + dnl OK, javac works. + dnl Now test whether it supports the desired target-version and + dnl source-version. + rm -f conftest.class + if { echo "$as_me:__oline__: javac -d . conftest.java" >&AS_MESSAGE_LOG_FD + javac -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + dnl Try adding -source option if it is useful. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: javac -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + javac -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \ + && { echo "$as_me:__oline__: javac -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + javac -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: javac -source $source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + javac -source "$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + CONF_JAVAC="javac -source $source_version" + HAVE_JAVAC=1 + HAVE_JAVACOMP=1 + else + CONF_JAVAC="javac" + HAVE_JAVAC=1 + HAVE_JAVACOMP=1 + fi + else + dnl Try with -target option alone. (Sun javac 1.3.1 has the -target + dnl option but no -source option.) + rm -f conftest.class + if { echo "$as_me:__oline__: javac -target $target_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + javac -target "$target_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + dnl Try adding -source option if it is useful. + rm -f conftest.class + rm -f conftestfail.class + if { echo "$as_me:__oline__: javac -target $target_version -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + javac -target "$target_version" -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \ + && { echo "$as_me:__oline__: javac -target $target_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + javac -target "$target_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftestfail.class \ + && ! { echo "$as_me:__oline__: javac -target $target_version -source $source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD + javac -target "$target_version" -source "$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1 + }; then + CONF_JAVAC="javac -target $target_version -source $source_version" + HAVE_JAVAC=1 + HAVE_JAVACOMP=1 + else + CONF_JAVAC="javac -target $target_version" + HAVE_JAVAC=1 + HAVE_JAVACOMP=1 + fi + else + dnl Maybe this -target option requires a -source option? Try with + dnl -target and -source options. (Supported by Sun javac 1.4 and + dnl higher.) + rm -f conftest.class + if { echo "$as_me:__oline__: javac -target $target_version -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD + javac -target "$target_version" -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1 + } \ + && test -f conftest.class \ + && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then + CONF_JAVAC="javac -target $target_version -source $source_version" + HAVE_JAVAC=1 + HAVE_JAVACOMP=1 + fi + fi + fi + fi + fi + if test -z "$HAVE_JAVACOMP" && test -n "$HAVE_JIKES_IN_PATH"; then + dnl Test whether jikes is usable. + if { jikes >/dev/null 2>/dev/null || test $? = 1; } \ + && ( + # See if the existing CLASSPATH is sufficient to make jikes work. + unset JAVA_HOME + jikes conftestlib.java >&AS_MESSAGE_LOG_FD 2>&1 + error=$? + rm -f conftestlib.class + exit $error + ); then + dnl OK, jikes works. + dnl Now test whether it supports the desired target-version and + dnl source-version. + if test "$source_version" = 1.3; then + CONF_JAVAC="jikes" + HAVE_JIKES=1 + HAVE_JAVACOMP=1 + fi + fi + fi + fi + rm -f conftest*.java conftest*.class + if test -n "$HAVE_JAVACOMP"; then + ac_result="$CONF_JAVAC" + else + ac_result="no" + fi + AC_MSG_RESULT([$ac_result]) + AC_SUBST([CONF_JAVAC]) + AC_SUBST([CLASSPATH]) + AC_SUBST([CLASSPATH_SEPARATOR]) + AC_SUBST([HAVE_JAVAC_ENVVAR]) + AC_SUBST([HAVE_GCJ_C]) + AC_SUBST([HAVE_JAVAC]) + AC_SUBST([HAVE_JIKES]) +]) diff --git a/mingw/share/doc/gettext/examples/build-aux/javacomp.sh.in b/mingw/share/doc/gettext/examples/build-aux/javacomp.sh.in new file mode 100644 index 00000000..303a2715 --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/javacomp.sh.in @@ -0,0 +1,75 @@ +#!/bin/sh +# Compile a Java program. + +# Copyright (C) 2001-2002, 2006, 2009-2010 Free Software Foundation, Inc. +# Written by Bruno Haible , 2001. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This uses the same choices as javacomp.c, but instead of relying on the +# environment settings at run time, it uses the environment variables +# present at configuration time. +# +# This is a separate shell script, because it must be able to unset JAVA_HOME +# in some cases, which a simple shell command cannot do. +# +# The extra CLASSPATH must have been set prior to calling this script. +# Options that can be passed are -O, -g and "-d DIRECTORY". + +CONF_JAVAC='@CONF_JAVAC@' +CONF_CLASSPATH='@CLASSPATH@' +if test -n "@HAVE_JAVAC_ENVVAR@"; then + # Combine given CLASSPATH and configured CLASSPATH. + if test -n "$CLASSPATH"; then + CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}" + else + CLASSPATH="$CONF_CLASSPATH" + fi + export CLASSPATH + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@" + exec $CONF_JAVAC "$@" +else + unset JAVA_HOME + if test -n "@HAVE_GCJ_C@"; then + # In this case, $CONF_JAVAC starts with "gcj -C". + CLASSPATH="$CLASSPATH" + export CLASSPATH + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@" + exec $CONF_JAVAC "$@" + else + if test -n "@HAVE_JAVAC@"; then + # In this case, $CONF_JAVAC starts with "javac". + CLASSPATH="$CLASSPATH" + export CLASSPATH + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@" + exec $CONF_JAVAC "$@" + else + if test -n "@HAVE_JIKES@"; then + # In this case, $CONF_JAVAC starts with "jikes". + # Combine given CLASSPATH and configured CLASSPATH. + if test -n "$CLASSPATH"; then + CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}" + else + CLASSPATH="$CONF_CLASSPATH" + fi + export CLASSPATH + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@" + exec $CONF_JAVAC "$@" + else + echo 'Java compiler not found, try installing gcj or set $JAVAC, then reconfigure' 1>&2 + exit 1 + fi + fi + fi +fi diff --git a/mingw/share/doc/gettext/examples/build-aux/javaexec.m4 b/mingw/share/doc/gettext/examples/build-aux/javaexec.m4 new file mode 100644 index 00000000..21d7464f --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/javaexec.m4 @@ -0,0 +1,104 @@ +# javaexec.m4 serial 5 +dnl Copyright (C) 2001-2003, 2006, 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Prerequisites of javaexec.sh. +# gt_JAVAEXEC or gt_JAVAEXEC(testclass, its-directory) +# Sets HAVE_JAVAEXEC to nonempty if javaexec.sh will work. + +AC_DEFUN([gt_JAVAEXEC], +[ + AC_MSG_CHECKING([for Java virtual machine]) + AC_EGREP_CPP([yes], [ +#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ + yes +#endif +], CLASSPATH_SEPARATOR=';', CLASSPATH_SEPARATOR=':') + CONF_JAVA= + HAVE_JAVA_ENVVAR= + HAVE_GIJ= + HAVE_JAVA= + HAVE_JRE= + HAVE_JVIEW= + HAVE_JAVAEXEC=1 + if test -n "$JAVA"; then + HAVE_JAVA_ENVVAR=1 + CONF_JAVA="$JAVA" + else + pushdef([AC_MSG_CHECKING],[:])dnl + pushdef([AC_CHECKING],[:])dnl + pushdef([AC_MSG_RESULT],[:])dnl + AC_CHECK_PROG([HAVE_GIJ_IN_PATH], [gij], [yes]) + AC_CHECK_PROG([HAVE_JAVA_IN_PATH], [java], [yes]) + AC_CHECK_PROG([HAVE_JRE_IN_PATH], [jre], [yes]) + AC_CHECK_PROG([HAVE_JVIEW_IN_PATH], [jview], [yes]) + popdef([AC_MSG_RESULT])dnl + popdef([AC_CHECKING])dnl + popdef([AC_MSG_CHECKING])dnl + ifelse([$1], , , [ + save_CLASSPATH="$CLASSPATH" + CLASSPATH="$2"${CLASSPATH+"$CLASSPATH_SEPARATOR$CLASSPATH"} + ]) + export CLASSPATH + if test -n "$HAVE_GIJ_IN_PATH" \ + && gij --version >/dev/null 2>/dev/null \ + ifelse([$1], , , [&& { + echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD + gij $1 >&AS_MESSAGE_LOG_FD 2>&1 + }]); then + HAVE_GIJ=1 + CONF_JAVA="gij" + else + if test -n "$HAVE_JAVA_IN_PATH" \ + && java -version >/dev/null 2>/dev/null \ + ifelse([$1], , , [&& { + echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD + java $1 >&AS_MESSAGE_LOG_FD 2>&1 + }]); then + HAVE_JAVA=1 + CONF_JAVA="java" + else + if test -n "$HAVE_JRE_IN_PATH" \ + && (jre >/dev/null 2>/dev/null || test $? = 1) \ + ifelse([$1], , , [&& { + echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD + jre $1 >&AS_MESSAGE_LOG_FD 2>&1 + }]); then + HAVE_JRE=1 + CONF_JAVA="jre" + else + if test -n "$HAVE_JVIEW_IN_PATH" \ + && (jview -? >/dev/null 2>/dev/null || test $? = 1) \ + ifelse([$1], , , [&& { + echo "$as_me:__oline__: gij $1" >&AS_MESSAGE_LOG_FD + jview $1 >&AS_MESSAGE_LOG_FD 2>&1 + }]); then + HAVE_JVIEW=1 + CONF_JAVA="jview" + else + HAVE_JAVAEXEC= + fi + fi + fi + fi + ifelse([$1], , , [ + CLASSPATH="$save_CLASSPATH" + ]) + fi + if test -n "$HAVE_JAVAEXEC"; then + ac_result="$CONF_JAVA" + else + ac_result="no" + fi + AC_MSG_RESULT([$ac_result]) + AC_SUBST([CONF_JAVA]) + AC_SUBST([CLASSPATH]) + AC_SUBST([CLASSPATH_SEPARATOR]) + AC_SUBST([HAVE_JAVA_ENVVAR]) + AC_SUBST([HAVE_GIJ]) + AC_SUBST([HAVE_JAVA]) + AC_SUBST([HAVE_JRE]) + AC_SUBST([HAVE_JVIEW]) +]) diff --git a/mingw/share/doc/gettext/examples/build-aux/javaexec.sh.in b/mingw/share/doc/gettext/examples/build-aux/javaexec.sh.in new file mode 100644 index 00000000..87c4a424 --- /dev/null +++ b/mingw/share/doc/gettext/examples/build-aux/javaexec.sh.in @@ -0,0 +1,70 @@ +#!/bin/sh +# Execute a Java program. + +# Copyright (C) 2001, 2006, 2009, 2010 Free Software Foundation, Inc. +# Written by Bruno Haible , 2001. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This uses the same choices as javaexec.c, but instead of relying on the +# environment settings at run time, it uses the environment variables +# present at configuration time. +# +# This is a separate shell script, because it must be able to unset JAVA_HOME +# in some cases, which a simple shell command cannot do. +# +# The extra CLASSPATH must have been set prior to calling this script. + +CONF_JAVA='@CONF_JAVA@' +CONF_CLASSPATH='@CLASSPATH@' +if test -n "@HAVE_JAVA_ENVVAR@"; then + # Combine given CLASSPATH and configured CLASSPATH. + if test -n "$CLASSPATH"; then + CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}" + else + CLASSPATH="$CONF_CLASSPATH" + fi + export CLASSPATH + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVA $@" + exec $CONF_JAVA "$@" +else + unset JAVA_HOME + export CLASSPATH + if test -n "@HAVE_GIJ@"; then + # In this case, $CONF_JAVA is "gij". + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVA $@" + exec $CONF_JAVA "$@" + else + if test -n "@HAVE_JAVA@"; then + # In this case, $CONF_JAVA is "java". + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVA $@" + exec $CONF_JAVA "$@" + else + if test -n "@HAVE_JRE@"; then + # In this case, $CONF_JAVA is "jre". + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVA $@" + exec $CONF_JAVA "$@" + else + if test -n "@HAVE_JVIEW@"; then + # In this case, $CONF_JAVA is "jview". + test -z "$JAVA_VERBOSE" || echo "$CONF_JAVA $@" + exec $CONF_JAVA "$@" + else + echo 'Java virtual machine not found, try installing gij or set $JAVA, then reconfigure' 1>&2 + exit 1 + fi + fi + fi + fi +fi diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/INSTALL b/mingw/share/doc/gettext/examples/hello-c++-gnome/INSTALL new file mode 100644 index 00000000..45f18a1e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/INSTALL @@ -0,0 +1,19 @@ +This example relies on: + - the GNOME libraries (libgnomeui, libgnome, libgnomesupport, libart_lgpl) + and their dependencies: imlib (libgdk_imlib), audiofile (libaudiofile), + esound (libesd), zlib (libz). + - the GTK libraries (libgtk, libgdk) + - the glib libraries (libglib, libgmodule) + - the X11 libraries + - the GTK / C++ bindings (libgtkmm, libgdkmm) + - the C++ signal/slot library (libsigc++) + - the C++ runtime libraries (libstdc++) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-gnome/Makefile.am new file mode 100644 index 00000000..7eb62b4b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cc + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +# Make sure the gnome.h include file is found. +AM_CPPFLAGS = $(GTKMM_CFLAGS) $(GNOME_INCLUDEDIR) + +# Link time dependencies. +LDADD = $(GTKMM_LIBS) $(GNOME_LIBDIR) $(GNOMEUI_LIBS) @LIBINTL@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c++-gnome/autoclean.sh new file mode 100644 index 00000000..2968f903 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/autoclean.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f config.rpath +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/autogen.sh b/mingw/share/doc/gettext/examples/hello-c++-gnome/autogen.sh new file mode 100644 index 00000000..7fc22837 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/autogen.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +autopoint -f # was: gettextize -f -c +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/configure.ac b/mingw/share/doc/gettext/examples/hello-c++-gnome/configure.ac new file mode 100644 index 00000000..3da42218 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/configure.ac @@ -0,0 +1,25 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.cc) +AM_INIT_AUTOMAKE(hello-c++-gnome, 0) + +AC_PROG_CXX + +GNOME_INIT +GTKMM_CFLAGS=`gtkmm-config --cflags` +AC_SUBST([GTKMM_CFLAGS]) +GTKMM_LIBS=`gtkmm-config --libs` +AC_SUBST([GTKMM_LIBS]) + +AC_CHECK_HEADERS([unistd.h]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/hello.cc b/mingw/share/doc/gettext/examples/hello-c++-gnome/hello.cc new file mode 100644 index 00000000..6056083d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/hello.cc @@ -0,0 +1,87 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the C++ program. */ + + +/* Get GNOME declarations. */ +#include +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +static Gtk::Main *application; + +static gint +quit_callback (GdkEventAny*) +{ + application->quit (); +} + +int +main (int argc, char *argv[]) +{ + Gtk::Window *window; + Gtk::VBox *panel; + Gtk::Label *label1; + Gtk::Alignment *label1aligned; + Gtk::Label *label2; + Gtk::Alignment *label2aligned; + Gtk::Button *button; + Gtk::HButtonBox *buttonbar; + + /* Initializations. */ + + setlocale (LC_ALL, ""); + application = new Gtk::Main (argc, argv); + textdomain ("hello-c++-gnome"); + bindtextdomain ("hello-c++-gnome", LOCALEDIR); + + /* Create the GUI elements. */ + + window = new Gtk::Window (GTK_WINDOW_TOPLEVEL); + window->set_title ("Hello example"); + window->realize (); + window->delete_event.connect (SigC::slot (quit_callback)); + + label1 = new Gtk::Label (_("Hello, world!")); + + label1aligned = new Gtk::Alignment (0.0, 0.5, 0, 0); + label1aligned->add (*label1); + + label2 = new Gtk::Label (g_strdup_printf (_("This program is running as process number %d."), getpid ())); + + label2aligned = new Gtk::Alignment (0.0, 0.5, 0, 0); + label2aligned->add (*label2); + + button = new Gtk::Button ("OK"); + button->clicked.connect (Gtk::Main::quit.slot()); //slot (quit_callback)); + + buttonbar = new Gtk::HButtonBox (GTK_BUTTONBOX_END); + buttonbar->pack_start (*button); + + panel = new Gtk::VBox (false, GNOME_PAD_SMALL); + panel->pack_start (*label1aligned); + panel->pack_start (*label2aligned); + panel->pack_start (*buttonbar); + + window->add (*panel); + + /* Make the GUI elements visible. */ + + label1->show (); + label1aligned->show (); + label2->show (); + label2aligned->show (); + button->show (); + buttonbar->show (); + panel->show (); + window->show (); + + /* Start the event loop. */ + + application->run (); +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/Makefile.am new file mode 100644 index 00000000..9554c616 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/Makefile.am @@ -0,0 +1,7 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 \ + gnome.m4 gnome-gnorba-check.m4 gnome-orbit-check.m4 \ + gtk.m4 gtk--.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-gnorba-check.m4 b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-gnorba-check.m4 new file mode 100644 index 00000000..dbac0a6c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-gnorba-check.m4 @@ -0,0 +1,35 @@ +dnl +dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag) +dnl +dnl if failflag is "failure" it aborts if gnorba is not found. +dnl + +AC_DEFUN([GNOME_GNORBA_HOOK],[ + GNOME_ORBIT_HOOK([],$2) + AC_CACHE_CHECK([for gnorba libraries],gnome_cv_gnorba_found,[ + gnome_cv_gnorba_found=no + if test x$gnome_cv_orbit_found = xyes; then + GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`" + GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`" + if test -n "$GNORBA_LIBS"; then + gnome_cv_gnorba_found=yes + fi + fi + ]) + AM_CONDITIONAL(HAVE_GNORBA, test x$gnome_cv_gnorba_found = xyes) + if test x$gnome_cv_orbit_found = xyes; then + $1 + GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`" + GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`" + AC_SUBST(GNORBA_CFLAGS) + AC_SUBST(GNORBA_LIBS) + else + if test x$2 = xfailure; then + AC_MSG_ERROR(gnorba library not installed or installation problem) + fi + fi +]) + +AC_DEFUN([GNOME_GNORBA_CHECK], [ + GNOME_GNORBA_HOOK([],failure) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-orbit-check.m4 b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-orbit-check.m4 new file mode 100644 index 00000000..54bf33aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome-orbit-check.m4 @@ -0,0 +1,33 @@ +dnl +dnl GNOME_ORBIT_HOOK (script-if-orbit-found, failflag) +dnl +dnl if failflag is "failure" it aborts if orbit is not found. +dnl + +AC_DEFUN([GNOME_ORBIT_HOOK],[ + AC_PATH_PROG(ORBIT_CONFIG,orbit-config,no) + AC_PATH_PROG(ORBIT_IDL,orbit-idl,no) + AC_CACHE_CHECK([for working ORBit environment],gnome_cv_orbit_found,[ + if test x$ORBIT_CONFIG = xno -o x$ORBIT_IDL = xno; then + gnome_cv_orbit_found=no + else + gnome_cv_orbit_found=yes + fi + ]) + AM_CONDITIONAL(HAVE_ORBIT, test x$gnome_cv_orbit_found = xyes) + if test x$gnome_cv_orbit_found = xyes; then + $1 + ORBIT_CFLAGS=`orbit-config --cflags client server` + ORBIT_LIBS=`orbit-config --use-service=name --libs client server` + AC_SUBST(ORBIT_CFLAGS) + AC_SUBST(ORBIT_LIBS) + else + if test x$2 = xfailure; then + AC_MSG_ERROR(ORBit not installed or installation problem) + fi + fi +]) + +AC_DEFUN([GNOME_ORBIT_CHECK], [ + GNOME_ORBIT_HOOK([],failure) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome.m4 b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome.m4 new file mode 100644 index 00000000..659c22c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gnome.m4 @@ -0,0 +1,128 @@ +dnl +dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag], [additional-inits]) +dnl +dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh +dnl is not found. +dnl + +AC_DEFUN([GNOME_INIT_HOOK],[ + AC_SUBST(GNOME_LIBS) + AC_SUBST(GNOMEUI_LIBS) + AC_SUBST(GNOMEGNORBA_LIBS) + AC_SUBST(GTKXMHTML_LIBS) + AC_SUBST(ZVT_LIBS) + AC_SUBST(GNOME_LIBDIR) + AC_SUBST(GNOME_INCLUDEDIR) + + AC_ARG_WITH(gnome-includes, + [ --with-gnome-includes Specify location of GNOME headers],[ + CFLAGS="$CFLAGS -I$withval" + ]) + + AC_ARG_WITH(gnome-libs, + [ --with-gnome-libs Specify location of GNOME libs],[ + LDFLAGS="$LDFLAGS -L$withval" + gnome_prefix=$withval + ]) + + AC_ARG_WITH(gnome, + [ --with-gnome Specify prefix for GNOME files], + if test x$withval = xyes; then + want_gnome=yes + dnl Note that an empty true branch is not + dnl valid sh syntax. + ifelse([$1], [], :, [$1]) + else + if test "x$withval" = xno; then + want_gnome=no + else + want_gnome=yes + LDFLAGS="$LDFLAGS -L$withval/lib" + CFLAGS="$CFLAGS -I$withval/include" + gnome_prefix=$withval/lib + fi + fi, + want_gnome=yes) + + if test "x$want_gnome" = xyes; then + + AC_PATH_PROG(GNOME_CONFIG,gnome-config,no) + if test "$GNOME_CONFIG" = "no"; then + no_gnome_config="yes" + else + AC_MSG_CHECKING(if $GNOME_CONFIG works) + if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then + AC_MSG_RESULT(yes) + GNOME_GNORBA_HOOK([],$2) + GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`" + GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`" + GNOMEGNORBA_LIBS="`$GNOME_CONFIG --libs-only-l gnorba gnomeui`" + GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`" + ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`" + GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`" + GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`" + $1 + else + AC_MSG_RESULT(no) + no_gnome_config="yes" + fi + fi + + if test x$exec_prefix = xNONE; then + if test x$prefix = xNONE; then + gnome_prefix=$ac_default_prefix/lib + else + gnome_prefix=$prefix/lib + fi + else + gnome_prefix=`eval echo \`echo $libdir\`` + fi + + if test "$no_gnome_config" = "yes"; then + AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix) + if test -f $gnome_prefix/gnomeConf.sh; then + AC_MSG_RESULT(found) + echo "loading gnome configuration from" \ + "$gnome_prefix/gnomeConf.sh" + . $gnome_prefix/gnomeConf.sh + $1 + else + AC_MSG_RESULT(not found) + if test x$2 = xfail; then + AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install) + fi + fi + fi + fi + + if test -n "$3"; then + n="$3" + for i in $n; do + AC_MSG_CHECKING(extra library \"$i\") + case $i in + applets) + AC_SUBST(GNOME_APPLETS_LIBS) + GNOME_APPLETS_LIBS=`$GNOME_CONFIG --libs-only-l applets` + AC_MSG_RESULT($GNOME_APPLETS_LIBS);; + docklets) + AC_SUBST(GNOME_DOCKLETS_LIBS) + GNOME_DOCKLETS_LIBS=`$GNOME_CONFIG --libs-only-l docklets` + AC_MSG_RESULT($GNOME_DOCKLETS_LIBS);; + capplet) + AC_SUBST(GNOME_CAPPLET_LIBS) + GNOME_CAPPLET_LIBS=`$GNOME_CONFIG --libs-only-l capplet` + AC_MSG_RESULT($GNOME_CAPPLET_LIBS);; + *) + AC_MSG_RESULT(unknown library) + esac + done + fi +]) + +dnl +dnl GNOME_INIT ([additional-inits]) +dnl + +AC_DEFUN([GNOME_INIT],[ + GNOME_INIT_HOOK([],fail,$1) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk--.m4 b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk--.m4 new file mode 100644 index 00000000..896b64d6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk--.m4 @@ -0,0 +1,195 @@ +# Configure paths for GTK-- +# Erik Andersen 30 May 1998 +# Modified by Tero Pulkkinen (added the compiler checks... I hope they work..) +# Modified by Thomas Langen 16 Jan 2000 (corrected CXXFLAGS) + +dnl Test for GTKMM, and define GTKMM_CFLAGS and GTKMM_LIBS +dnl to be used as follows: +dnl AM_PATH_GTKMM([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl +AC_DEFUN([AM_PATH_GTKMM], +[dnl +dnl Get the cflags and libraries from the gtkmm-config script +dnl +AC_ARG_WITH(gtkmm-prefix,[ --with-gtkmm-prefix=PREFIX + Prefix where GTK-- is installed (optional)], + gtkmm_config_prefix="$withval", gtkmm_config_prefix="") +AC_ARG_WITH(gtkmm-exec-prefix,[ --with-gtkmm-exec-prefix=PREFIX + Exec prefix where GTK-- is installed (optional)], + gtkmm_config_exec_prefix="$withval", gtkmm_config_exec_prefix="") +AC_ARG_ENABLE(gtkmmtest, [ --disable-gtkmmtest Do not try to compile and run a test GTK-- program], + , enable_gtkmmtest=yes) + + if test x$gtkmm_config_exec_prefix != x ; then + gtkmm_config_args="$gtkmm_config_args --exec-prefix=$gtkmm_config_exec_prefix" + if test x${GTKMM_CONFIG+set} != xset ; then + GTKMM_CONFIG=$gtkmm_config_exec_prefix/bin/gtkmm-config + fi + fi + if test x$gtkmm_config_prefix != x ; then + gtkmm_config_args="$gtkmm_config_args --prefix=$gtkmm_config_prefix" + if test x${GTKMM_CONFIG+set} != xset ; then + GTKMM_CONFIG=$gtkmm_config_prefix/bin/gtkmm-config + fi + fi + + AC_PATH_PROG(GTKMM_CONFIG, gtkmm-config, no) + min_gtkmm_version=ifelse([$1], ,0.10.0,$1) + + AC_MSG_CHECKING(for GTK-- - version >= $min_gtkmm_version) + AC_LANG_SAVE + no_gtkmm="" + if test "$GTKMM_CONFIG" = "no" ; then + no_gtkmm=yes + else + AC_LANG_CPLUSPLUS + + GTKMM_CFLAGS=`$GTKMM_CONFIG $gtkmm_config_args --cflags` + GTKMM_LIBS=`$GTKMM_CONFIG $gtkmm_config_args --libs` + gtkmm_config_major_version=`$GTKMM_CONFIG $gtkmm_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + gtkmm_config_minor_version=`$GTKMM_CONFIG $gtkmm_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + gtkmm_config_micro_version=`$GTKMM_CONFIG $gtkmm_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_gtkmmtest" = "xyes" ; then + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $GTKMM_CFLAGS" + LIBS="$LIBS $GTKMM_LIBS" +dnl +dnl Now check if the installed GTK-- is sufficiently new. (Also sanity +dnl checks the results of gtkmm-config to some extent +dnl + rm -f conf.gtkmmtest + AC_TRY_RUN([ +#include +#include +#include + +int +main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.gtkmmtest"); + + /* HP/UX 0 (%@#!) writes to sscanf strings */ + tmp_version = g_strdup("$min_gtkmm_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_gtkmm_version"); + exit(1); + } + + if ((gtkmm_major_version != $gtkmm_config_major_version) || + (gtkmm_minor_version != $gtkmm_config_minor_version) || + (gtkmm_micro_version != $gtkmm_config_micro_version)) + { + printf("\n*** 'gtkmm-config --version' returned %d.%d.%d, but GTK-- (%d.%d.%d)\n", + $gtkmm_config_major_version, $gtkmm_config_minor_version, $gtkmm_config_micro_version, + gtkmm_major_version, gtkmm_minor_version, gtkmm_micro_version); + printf ("*** was found! If gtkmm-config was correct, then it is best\n"); + printf ("*** to remove the old version of GTK--. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If gtkmm-config was wrong, set the environment variable GTKMM_CONFIG\n"); + printf("*** to point to the correct copy of gtkmm-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } +/* GTK-- does not have the GTKMM_*_VERSION constants */ +/* + else if ((gtkmm_major_version != GTKMM_MAJOR_VERSION) || + (gtkmm_minor_version != GTKMM_MINOR_VERSION) || + (gtkmm_micro_version != GTKMM_MICRO_VERSION)) + { + printf("*** GTK-- header files (version %d.%d.%d) do not match\n", + GTKMM_MAJOR_VERSION, GTKMM_MINOR_VERSION, GTKMM_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + gtkmm_major_version, gtkmm_minor_version, gtkmm_micro_version); + } +*/ + else + { + if ((gtkmm_major_version > major) || + ((gtkmm_major_version == major) && (gtkmm_minor_version > minor)) || + ((gtkmm_major_version == major) && (gtkmm_minor_version == minor) && (gtkmm_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** An old version of GTK-- (%d.%d.%d) was found.\n", + gtkmm_major_version, gtkmm_minor_version, gtkmm_micro_version); + printf("*** You need a version of GTK-- newer than %d.%d.%d. The latest version of\n", + major, minor, micro); + printf("*** GTK-- is always available from ftp://ftp.gtk.org.\n"); + printf("***\n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the gtkmm-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of GTK--, but you can also set the GTKMM_CONFIG environment to point to the\n"); + printf("*** correct copy of gtkmm-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +],, no_gtkmm=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_gtkmm" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$GTKMM_CONFIG" = "no" ; then + echo "*** The gtkmm-config script installed by GTK-- could not be found" + echo "*** If GTK-- was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GTKMM_CONFIG environment variable to the" + echo "*** full path to gtkmm-config." + echo "*** The gtkmm-config script was not available in GTK-- versions" + echo "*** prior to 0.9.12. Perhaps you need to update your installed" + echo "*** version to 0.9.12 or later" + else + if test -f conf.gtkmmtest ; then + : + else + echo "*** Could not run GTK-- test program, checking why..." + CXXFLAGS="$CXXFLAGS $GTKMM_CFLAGS" + LIBS="$LIBS $GTKMM_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return ((gtkmm_major_version) || (gtkmm_minor_version) || (gtkmm_micro_version)); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GTK-- or finding the wrong" + echo "*** version of GTK--. If it is not finding GTK--, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GTK-- was incorrectly installed" + echo "*** or that you have moved GTK-- since it was installed. In the latter case, you" + echo "*** may want to edit the gtkmm-config script: $GTKMM_CONFIG" ]) + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + GTKMM_CFLAGS="" + GTKMM_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_LANG_RESTORE + AC_SUBST(GTKMM_CFLAGS) + AC_SUBST(GTKMM_LIBS) + rm -f conf.gtkmmtest +]) + diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk.m4 b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk.m4 new file mode 100644 index 00000000..f2dd4721 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/m4/gtk.m4 @@ -0,0 +1,194 @@ +# Configure paths for GTK+ +# Owen Taylor 97-11-3 + +dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) +dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS +dnl +AC_DEFUN([AM_PATH_GTK], +[dnl +dnl Get the cflags and libraries from the gtk-config script +dnl +AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], + gtk_config_prefix="$withval", gtk_config_prefix="") +AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], + gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") +AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], + , enable_gtktest=yes) + + for module in . $4 + do + case "$module" in + gthread) + gtk_config_args="$gtk_config_args gthread" + ;; + esac + done + + if test x$gtk_config_exec_prefix != x ; then + gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" + if test x${GTK_CONFIG+set} != xset ; then + GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config + fi + fi + if test x$gtk_config_prefix != x ; then + gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" + if test x${GTK_CONFIG+set} != xset ; then + GTK_CONFIG=$gtk_config_prefix/bin/gtk-config + fi + fi + + AC_PATH_PROG(GTK_CONFIG, gtk-config, no) + min_gtk_version=ifelse([$1], ,0.99.7,$1) + AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) + no_gtk="" + if test "$GTK_CONFIG" = "no" ; then + no_gtk=yes + else + GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` + GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` + gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_gtktest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$GTK_LIBS $LIBS" +dnl +dnl Now check if the installed GTK is sufficiently new. (Also sanity +dnl checks the results of gtk-config to some extent +dnl + rm -f conf.gtktest + AC_TRY_RUN([ +#include +#include +#include + +int +main () +{ + int major, minor, micro; + char *tmp_version; + + system ("touch conf.gtktest"); + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + tmp_version = g_strdup("$min_gtk_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_gtk_version"); + exit(1); + } + + if ((gtk_major_version != $gtk_config_major_version) || + (gtk_minor_version != $gtk_config_minor_version) || + (gtk_micro_version != $gtk_config_micro_version)) + { + printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", + $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, + gtk_major_version, gtk_minor_version, gtk_micro_version); + printf ("*** was found! If gtk-config was correct, then it is best\n"); + printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); + printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } +#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) + else if ((gtk_major_version != GTK_MAJOR_VERSION) || + (gtk_minor_version != GTK_MINOR_VERSION) || + (gtk_micro_version != GTK_MICRO_VERSION)) + { + printf("*** GTK+ header files (version %d.%d.%d) do not match\n", + GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + gtk_major_version, gtk_minor_version, gtk_micro_version); + } +#endif /* defined (GTK_MAJOR_VERSION) ... */ + else + { + if ((gtk_major_version > major) || + ((gtk_major_version == major) && (gtk_minor_version > minor)) || + ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", + gtk_major_version, gtk_minor_version, gtk_micro_version); + printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", + major, minor, micro); + printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); + printf("***\n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); + printf("*** correct copy of gtk-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_gtk" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$GTK_CONFIG" = "no" ; then + echo "*** The gtk-config script installed by GTK could not be found" + echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the GTK_CONFIG environment variable to the" + echo "*** full path to gtk-config." + else + if test -f conf.gtktest ; then + : + else + echo "*** Could not run GTK test program, checking why..." + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$LIBS $GTK_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GTK or finding the wrong" + echo "*** version of GTK. If it is not finding GTK, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + echo "***" + echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" + echo "*** came with the system with the command" + echo "***" + echo "*** rpm --erase --nodeps gtk gtk-devel" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GTK was incorrectly installed" + echo "*** or that you have moved GTK since it was installed. In the latter case, you" + echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + GTK_CFLAGS="" + GTK_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + rm -f conf.gtktest +]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/Makevars b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/Makevars new file mode 100644 index 00000000..7b158ff9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/Makevars @@ -0,0 +1,67 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format \ + --flag=g_log:3:c-format --flag=g_logv:3:c-format \ + --flag=g_error:1:c-format --flag=g_message:1:c-format \ + --flag=g_critical:1:c-format --flag=g_warning:1:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_strdup_printf:1:c-format --flag=g_strdup_vprintf:1:c-format \ + --flag=g_printf_string_upper_bound:1:c-format \ + --flag=g_snprintf:3:c-format --flag=g_vsnprintf:3:c-format \ + --flag=g_string_sprintf:2:c-format \ + --flag=g_string_sprintfa:2:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/POTFILES.in new file mode 100644 index 00000000..bd28e81c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/POTFILES.in @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.cc diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/af.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/af.po new file mode 100644 index 00000000..fda11ee8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ast.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ast.po new file mode 100644 index 00000000..678d47c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/bg.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/bg.po new file mode 100644 index 00000000..4d38a6e9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-c++-gnome package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-gnome 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ca.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ca.po new file mode 100644 index 00000000..52981a00 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-c++-gnome. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/de.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/de.po new file mode 100644 index 00000000..0f911a8b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-c++-gnome. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/el.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/el.po new file mode 100644 index 00000000..713f6a7d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-c++-gnome +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/eo.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/eo.po new file mode 100644 index 00000000..7a0b93f7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/es.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/es.po new file mode 100644 index 00000000..777f4a07 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/fi.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/fi.po new file mode 100644 index 00000000..4d1c4779 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/fr.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/fr.po new file mode 100644 index 00000000..54d91c0d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ga.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ga.po new file mode 100644 index 00000000..90cbc1c8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-c++-gnome. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/hu.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/hu.po new file mode 100644 index 00000000..66de0c97 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-c++-gnome. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/id.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/id.po new file mode 100644 index 00000000..0da3dd96 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-c++-gnome-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/it.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/it.po new file mode 100644 index 00000000..a7f6b11d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-c++-gnome. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ja.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ja.po new file mode 100644 index 00000000..abe00959 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-c++-gnome' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ky.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ky.po new file mode 100644 index 00000000..a137282f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-c++-gnome' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/lv.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/lv.po new file mode 100644 index 00000000..3abf515a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-c++-gnome +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ms.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ms.po new file mode 100644 index 00000000..0bfb853f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ms.po @@ -0,0 +1,26 @@ +# hello-c++-gnome Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/mt.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/mt.po new file mode 100644 index 00000000..f1c7a6e3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/mt.po @@ -0,0 +1,25 @@ +# hello-c++-gnome-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/nl.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/nl.po new file mode 100644 index 00000000..de3bd8a8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-gnome-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/pl.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/pl.po new file mode 100644 index 00000000..00efdb4b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-c++-gnome domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/pt.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/pt.po new file mode 100644 index 00000000..7562fb92 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-c++-gnome' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ro.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ro.po new file mode 100644 index 00000000..cbe0bda7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-c++-gnome-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-gnome. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ru.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ru.po new file mode 100644 index 00000000..a91a7015 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-gnome-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sk.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sk.po new file mode 100644 index 00000000..204ed404 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-c++-gnome package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c++-gnome package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-gnome 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sl.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sl.po new file mode 100644 index 00000000..84aca2e5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sr.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sr.po new file mode 100644 index 00000000..fdd3c919 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-c++-gnome. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c++-gnome' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sv.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sv.po new file mode 100644 index 00000000..630a1243 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-c++-gnome. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/tr.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/tr.po new file mode 100644 index 00000000..7a365637 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/uk.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/uk.po new file mode 100644 index 00000000..d47c29c3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-c++-gnome +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/vi.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/vi.po new file mode 100644 index 00000000..0fab5b84 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_CN.po new file mode 100644 index 00000000..df1cd16c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-c++-gnome. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-gnome package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_HK.po new file mode 100644 index 00000000..a1f3d7e1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-c++-gnome. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_TW.po new file mode 100644 index 00000000..707b034b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-gnome/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-c++-gnome. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:50 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.cc:55 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/BUGS b/mingw/share/doc/gettext/examples/hello-c++-kde/BUGS new file mode 100644 index 00000000..51e11724 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/BUGS @@ -0,0 +1,4 @@ +The language used by the program is not the one set by the environment variables +LANG, LC_MESSAGES, LC_ALL, but rather a setting set in the KDE control center. +The latter may be overridden through the KDE_LANG environment variable, whose +value should be a locale name. diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/INSTALL b/mingw/share/doc/gettext/examples/hello-c++-kde/INSTALL new file mode 100644 index 00000000..adba43a2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/INSTALL @@ -0,0 +1,13 @@ +This example relies on: + - KDE (libkdeui, libkdecore) and its dependencies + - Qt (libqt) and its dependencies: OpenGL (libGL), libpng, zlib (libz) + - the C++ runtime libraries (libstdc++) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-kde/Makefile.am new file mode 100644 index 00000000..12880b38 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/Makefile.am @@ -0,0 +1,56 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cc hellowindow.cc + +# Use 'moc' for QObject subclasses. +METASOURCES = AUTO + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DPREFIX=\"$(prefix)\" @DEFS@ + +# Make sure the KDE, Qt, X include file is found. +AM_CPPFLAGS = $(KDE_INCLUDES) $(QT_INCLUDES) $(X_INCLUDES) + +# CXXFLAGS += $(QT_CXXFLAGS) $(PTHREAD_CFLAGS) + +# Link time dependencies. +LDADD = $(KDE_LDFLAGS) $(QT_LDFLAGS) +LIBS += $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) + +# Generic KDE build mechanism. + +$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ; + +$(top_srcdir)/subdirs: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs + +$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in + @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4 + +MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files + +package-messages: + $(MAKE) -f admin/Makefile.common package-messages + $(MAKE) -C po merge + +dist-hook: + cd $(top_distdir) && perl admin/am_edit -padmin + cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs + +# Additional files to be distributed. +EXTRA_DIST = admin/config.rpath autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ChangeLog b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ChangeLog new file mode 100644 index 00000000..2599e438 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ChangeLog @@ -0,0 +1,761 @@ +2002-10-03 Stephan Kulow + + * made config.h.bot obsolete + +2002-04-26 Stephan Kulow + + * acinclude.m4.in removed bogus message + +2001-11-07 Walter Tasin + + * now #MIN_CONFIG tag takes parameters for KDE_USE_QT, too. + e.g. #MIN_CONFIG(2.2) for qt 2.2 usage + +2000-11-30 David Faure + + * acinclude.m4.in: Added kde_moduledir which points to $prefix/lib/kde2/ + +2000-07-24 Alex Zepeda + + * acinclude.m4.in: Remove the test for malloc.h + +2000-04-05 Michael Matz + + * config.pl : added kludge for compiling regexp's even if + perl < 5.005 is installed + * conf.change.pl : added support for autoconf 2.14.1 + +2000-03-27 David Faure + + * acinclude.m4.in, Makefile.common: changed inst-apps semantics + If present, only the subdirs it lists will be configured and compiled. + If absent, then subdirs is used (and inst-apps isn't generated anymore) + +2000-03-22 David Faure + + * am_edit: Added support for KDE_ICON = AUTO + +2000-03-18 David Faure + + * Makefile.common: Rewrote the list-of-Makefiles generation to make it + simpler and nicer, using create_makefiles' way of doing it. + Added support for COMPILE_LAST and COMPILE_FIRST in toplevel Makefile.am + +2000-01-05 David Faure + + * Makefile.common: hacked around autoconf bug (setting INSTALL to ".." + when calling a subconfigure and INSTALL is already set). + +1999-12-15 Waldo Bastian + + * acinclude.m4.in: Test whether Qt compiles AND LINKS without flags. + +1999-06-24 Stephan Kulow + + * am_edit: generate correct Makefile entries for kde-i18n toplevel directories + * am_edit: + +1999-06-14 Stephan Kulow + + * am_edit: remove idl generated files on make clean + +1999-06-09 Stephan Kulow + + * am_edit: skipping programs with variables in sources for final + +1999-06-07 Stephan Kulow + + * am_edit: added support for idl files + +1999-06-02 Stephan Kulow + + * Makefile.common: preserve comments in .pot files to make it + possible for programmers and translators to comment them + +1999-06-02 Simon Hausmann + + * acinclude.m4.in: added kde_servicetypesdir + +1999-06-02 David Faure + + * acinclude.m4.in: removed LIB_KFM and LIB_KDEUTIL aliases + +1999-05-28 Simon Hausmann + + * acinclude.m4.in: added kde_servicesdir + +1999-05-27 Stephan Kulow + + * am_edit: lots of changes for better support of --enable-final + +1999-05-22 Stephan Kulow + + * acinclude.m4.in: added support for --with-dmalloc + +1999-05-19 Stephan Kulow + + * acinclude.m4.in: added support for --enable-final + + * am_edit: added support for --enable-final + +1999-05-06 Stephan Kulow + + * acinclude.m4.in: change the meaning of --disable-debug + +1999-05-04 Helge Deller + + * acinclude.m4.in: the test for the X-includes/directories failed, + when compile & link work without special directories (as on HP-UX). + +1999-04-20 Stephan Kulow + + * am_edit: adding DESTDIR replacement for rm and uninstall-local + too. Seems very useless, but makes testing for uninstall easier + +1999-04-01 David Faure + + * acinclude.m4.in: Added -lkfile to $(LIB_KIO) + +1999-03-30 David Faure + + * acinclude.m4.in: Added AC_CHECK_KDEMAXPATHLEN, which defines KDEMAXPATHLEN. + +1999-03-29 David Faure + + * acinclude.m4.in: added LIB_X11 to XPMLIB and GLLIB, because + on SCO, they need it _after_ themselves. + +1999-03-28 David Faure + + * acinclude.m4.in: added LIB_KFM to LIB_KAB alias + +1999-03-26 David Faure + + * acinclude.m4.in: made LIB_KFILE use LIB_KIO instead of LIB_KFM + added LIB_KFORMULA + +1999-03-20 Stephan Kulow + + * acinclude.m4.in: check for libXext - for Russel :) + +1999-03-16 Stephan Kulow + + * acinclud3.m4.in: extend the MICO test with a list of possible + places where to find CORBA.h + +1999-03-15 Stephan Kulow + + * acinclude.m4.in: move $QTINC and $QTLIB in search path + +1999-03-14 Stephan Kulow + + * am_edit: install-root is obsolute. Use DESTDIR always + +1999-03-03 Stephan Kulow + + * acinclude.m4.in: fixing a bug, that $QTDIR was taken before --with-qt* + * acinclude.m4.in: added KDE_USE_QT, that you can choose if to + use QT 2.0 or KDE 1.0 + + * Makefile.common: added target package-merge + + * am_edit: many fixes to the POFILES handeling of am_edit + +1999-03-02 Stephan Kulow + + * acinclude.m4.in: first look at libjpeg6b (from kdesupport) then + for libjpeg + + * config.*, libtool.*: update to the latest FSF tools + +1999-02-23 Stephan Kulow + + * acinclude.m4.in: error when Sparc CC is used. Better use it in + configure and tell him the story then letting him find it while + compiling + + * acinclude.m4.in: adding KDE_CHECK_EXTRA_LIBS to all possible tests, + so that --with-extra-includes is used when needed. + + * acinclude.m4.in: configure looks for giflib30, so it should say so + + * acinclude.m4.in: don't overwrite x include parameters. Patch by + Ari Lemmke (bug report 741) + +1999-02-20 Stephan Kulow + + * acinclude.m4.in: fixing KDE_CHECK_PATHS for rechecking. In case + of defaults (kdelibs) configure didn't cache the results + +1999-02-18 David Faure + + * acinclude.m4.in: added AC_CHECK_S_ISSOCK, to fix #706. + +1999-02-17 David Faure + + * acinclude.m4.in: added AC_CHECK_RANDOM, just like + AC_CHECK_USLEEP, to enable the fake if necessary. + +1999-02-13 Kurt Granroth + + * acinclude.m4.in: look for QT-2.0 + +1999-02-05 Stephan Kulow + + * acinclude.m4.in: in macro KDE_FIND_PATH treat user given dirs + and $PATH dirs the same. Added seperate test for to find binary + ($5) to replace findperl + +1999-01-28 Stephan Kulow + + * automoc: added patch by jbb to be a little bit more precise about + the number of sourcefiles that include the moc file if it's != 1. + Besides that automoc will fail with exit code, so the Makefile.cvs + process does stop in case a problem accoured. + + * automoc: don't hardcode header suffix, but allow *.h, *.hh and *.H + +1999-01-27 Stephan Kulow + + * acinclude.m4.in: try qobjcoll.h and qapplication.h before saying + OK to qt headers. (I could kill SuSE for splitting into qt-dev + and qt-compat) + +1991-01-23 Stephan Kulow + + * automoc: added fixes by JB + +1999-01-21 Stephan Kulow + + * automoc: added --help and --path (for use in dist-hook) + +1999-01-20 Alex Zepeda + + * ltconfig: added entries for FreeBSD 4.x + +1999-01-19 Stephan Kulow + + * automoc: added a distclean-metasources target which deletes all + moc files and let distclean depend on it + +1999-01-18 Stephan Kulow + + * automoc: several fixes (ignore comment lines + join lines + with \ ) + + * automoc: support META_INCLUDES in case the header files are + not in the same dir as the sources. + +1999-01-17 Stephan Kulow + + * automoc: several fixes. + +1999-01-16 Stephan Kulow + + * automoc: added support for included MOC files. + + * acinclude.m4.in: use srcdir for the subdirs stuff as well + + * automoc: added better command line parsing and some preparation + for handling "normal" moc files + + * acinclude.m4.in: added aliases for libkio and libkdeutil + +1999-01-15 Harri Porten + + * automoc: Carved in stone syntax for Makefile.in: + {program}_METASOURCES = USE_AUTOMOC [{suffix}] + +1999-01-15 Stephan Kulow + + * Makefile.common: set top_srcdir to . + +1999-01-14 Stephan Kulow + + * acinclude.m4.in: don't use config.h.bot any longer + +1999-01-08 Stephan Kulow + + * acinclude.m4.in: added KDE_CHECK_NEWLIBS + + * acinclude.m4.in: test for Qt even if both --with-qt-headers and + --with-qt-libraries are given. They may be wrong. + +1999-01-06 Stephan Kulow + + * acinclude.m4.in: change the MOC test so it can be used for other + tools as well + +1998-12-28 Stephan Kulow + + * acinclude.m4.in: look for QT-1.42 since kpanel needs it + +1998-12-27 Stephan Kulow + + * acinclude.m4.in: added /usr/lib for libpython test + + * acinclude.m4.in: take my email address out of it and added a + reference to www.kde.org/faq + + * acinclude.m4.in: use Qt >= 1.4 + + * acinclude.m4.in: added KDE_CHECK_NAMESPACES + +1998-12-18 Stephan Kulow + + * acinclude.m4.in: test for directories to exist before saying yes + to compilation :) + +1998-12-14 Stephan Kulow + + * acinclude.m4.in: added CPLUSPLUS for the kimgio test. It's + only important for shaman right now, but at least there it is :) + +1998-12-12 Stephan Kulow + + * Makefile.cvs: added common Makefile.cvs + + * acinclude.m4.in: Thomas.Schwarz@pro-sieben.de reported a very ugly + bug in AC_PROG_CXXCPP, so I added my own version + + * acinclude.m4.in: added KDE_CREATE_SUBDIRS_LIST to simplify + most toplevel configures + +1998-12-11 Stephan Kulow + + * acinclude.m4.in: added call to AC_PROG_CXXCPP. Not really sure why + it never caused problems + + * acinclude.m4.in: moved LIBTIFF alias + + * acinclude.m4.in: only test for the existance of libkimgio if the + user wants to. For 99% of the applications it doesn't matter if + configure can find libkimgio :) + +1998-12-10 Stephan Kulow + + * acinclude.m4.in: some changes to the python check to handle $LIBDL + +1998-12-09 Stephan Kulow + + * acinclude.m4.in: make Alex's tiff test a real one + + * acinclude.m4.in: fix the LIB_TIFF alias to really expand + +1998-12-08 Alex Zepeda + + * acinclude.m4.in: Fix tiff test to use libtiff34 if it exists. + This is what the FreeBSD port installs to for whatever reason. + + * acinclude.m4.in: s/kde/KDE/ (at least in some of the + descriptions, obviously no variable names were touched. + +1998-12-08 Stephan Kulow + + * acinclude.m4.in: moved the LIB_QT alias to the Qt check + + * acinclude.m4.in: unset KDEDIR before running conftest + + * acinclude.m4.in: fixed mean typo + + * acinclude.m4.in: added the copyright header for the gettext + tests, so that people know we're legal ;) + + * acinclude.m4.in: set language to C++ before testing QIMGIO + +1998-12-07 Alex Zepeda + + * acinclude.m4.in: Fix PNG test to use correct ANSI C code, and + not trip up gcc. + +1998-12-07 Stephan Kulow + + * acinclude.m4.in: don't hardcode -ldl + + * acinclude.m4.in: move the LIB_X11 alias to the X test to make it + useful for kdesupport as well + + * acinclude.m4.in: give the word CHECK_KIMGIO a meaning in really + checking for it + + * acinclude.m4.in: simple fix to prevent kimgio test from compiling + KDE application in kdelibs + +1998-12-05 Stephan Kulow + + * acinclude.m4.in: let KDE_CHECK_KIMGIO depend on AC_PATH_KDE, + otherwise most tests fail. It didn't mean anything to 90% of the + packages since they test for KDE before kimgio, but for shaman + it does + + * ltconfig: the real fix for the Solaris && gcc problem. + Thanks Kurt for reporting it and Alexandre for fixing it :) + +1998-12-04 Stephan Kulow + + * libtool.*: update again + + * acinclude.m4.in: changed the function to test for libnsl to + inet_ntoa since UnixWare 7's version did not have gethostbyname, + but needs libnsl + +1998-12-02 Stephan Kulow + + * acinclude.m4.in: fixed the MOC test (again) to use the PATH variable + correctly (with the correct seperator) + + * config.guess: update from the soon to be released autoconf-2.13 + +1998-12-01 Stephan Kulow + + * acinclude.m4.in: fixes for the MOC test. Use PATH now when found + +1998-11-30 Stephan Kulow + + * acinclude.m4.in: extended the MOC test. It checks now for the + first line of the output of "moc --help" and looks for Qt in it. + +1998-11-27 Stephan Kulow + + * ltconfig: another libtool update. Fixes an ugly bug on Solaris, + when GNU ld is in path before Solaris ld, but gcc uses the later + +1998-11-26 Stephan Kulow + + * acinclude.m4.in: made the Qt test more advance to check for qt + 1.41 - I still need to make it better, but there shouldn't be too + many qt releases in a row, would there? ;) + + * ltconfig: libtool update with better BSD/OS support + +1998-11-22 Stephan Kulow + + * ltconfig: cool - libtool uses g++ now to link libraries on Solaris. + This means, static objects become usuable on that plattforms (some + others as well). + +1998-11-20 Stephan Kulow + + * ltmain.sh: updated libtool from their CVS - fixes bugs we haven't + found and adds some more features, that we do not need ;-) + +1998-11-19 David Faure + + * acinclude.m4.in: added AC_CHECK_UTMP_FILE, taken from kdebase + +1998-11-16 Harri Porten + + * automoc: take care of "ar" object files, too. + +1998-11-16 Stephan Kulow + + * libtool.m4.in: revised my --silent patch. The solution + Alexandre suggested is much better. + +1998-11-15 Stephan Kulow + + * ltconfig.in: done some tweakings to support -export-dynamic + with egcs + + * config.sub: wow - BeOS support :) + +1998-11-14 Stephan Kulow + + * acinclude.m4.in: don't use rpath for test program, if rpath is + disabled for applications + + * ltconfig: patched libtool to make it silent without making + ltconfig silent + + * acinclude.m4.in: make libtool silent again + + * libtool.m4.in: update to libtool-981114 (untested stuff, but + we have to test it to make it tested - sounds that logical? :-) + + * libtool.m4.in: moved the self stricked libtool tests to "our" + file. + + * acinclude.m4.in: moved ChangeLog of kdebase which I used to + maintain acinclude.m4.in logs to kde-common/admin. Hopefully I + will maintain it more often from now on :) + +1998-07-27 Stephan Kulow + + * acinclude.m4.in: fixed some things in the MOC test + + * acinclude.m4.in: fixed this damn msgfmt test + +1998-06-02 Stephan Kulow + + * acinclude.m4.in: ignore msgfmt, if not GNU gettext + +1998-05-28 Stephan Kulow + + * acinclude.m4.in: fixed KDE_CHECK_STL. Checks for HP and SGI type + + * acinclude.m4.in: embraced every variable with "" to make + it consistent + + * acinclude.m4.in: various fixes for the koffice checks + (mico, ministl and python) + +1998-05-16 Stephan Kulow + + * acinclude.m4.in: don't use KDE_CHECK_QT_DIRECT, when + --with-qt-libs are given + +1998-04-21 Stephan Kulow + + * acinclude.m4.in: cool, I found the trick to suppress the ls + errors + +1998-04-20 Stephan Kulow + + * acinclude.m4.in: rewrote the qt checking test, since it + didn't work under FreeBSD, since it relied on the .so link. + The new version is a little bit buggy, but I need some testing + to make it perfect + + * acinclude.m4.in: fixed the side effects of the PAM test + +1998-04-18 Stephan Kulow + + * acinclude.m4.in: hopefully fixed the PAM test (I rewrote it) + +1998-04-16 Stephan Kulow + + * acinclude.m4.in: extended the getsockname test inspired + by a patch by Martin Baulig + + * configure.in: added test for utmp file + + * acinclude.m4.in: made --without-pam default + + +1998-04-06 Stephan Kulow + + * acinclude.m4.in: don't test compiling, linking, running in + one step. This proved to be too dangerous for my mail box. + +1998-03-21 Stephan Kulow + + * libtool.m4.in: created some new macros to work around this + ugly (because long) help of configure --enable-shared/static + +1998-03-05 Stephan Kulow + + * acinclude.m4.in: set language to C++ before trying the ksize_t + test + + * configure.in: sorted the Makefile entries alphabeticly (and all + together: we love xemacs! we love xemacs! ;) + + * configure.in: added sk + + * acinclude.m4.in: substitute x_libraries to fix the empty -rpath + +1998-03-03 Stephan Kulow + + * acinclude.m4.in: add a rpath for every shared library, that is + linked too (especially X11 libraries) + +Tue Feb 24 22:04:59 1998 Stephan Kulow + + * acinclude.m4.in: added kde_sounddir and set kde_minidir to + kde_icondir/mini to break not too much + +Sun Feb 15 18:25:50 1998 Stephan Kulow + + * configure.in: added bugfix by Bob Miller + (correct reset of IFS) + +Wed Feb 11 00:53:11 1998 Stephan Kulow + + * configure.in: made shadow under Linux default, since the + binaries will work also under non-shadow systems. The only problem + left is PAM, so I disabled shadow in case, PAM is present + +Tue Feb 10 16:46:32 1998 Stephan Kulow + + * configure.in: added test for nice to find out, if the option + -nice works for the screensavers + + * acinclude.m4.in: port to LynxOS. For this I moved all library + search routines in KDE_MISC_TESTS, so I don't need to write this + in every package + + * README: some grammar fixes + + * acinclude.m4.in: search for the libs in the exec_prefix, when + it's present + +Sun Feb 8 14:07:23 1998 Stephan Kulow + + * acinclude.m4.in: updated all packages + + * libtool.m4.in: applied patch for libtool.m4.in to show the + correct default for shared and static + + +Sat Feb 7 10:56:00 1998 Stephan Kulow + + * configure.in: good news - KDE is relocatable again. + + * libtool.m4.in: updated to latest libtool 1.0i + +Fri Feb 6 21:26:51 1998 Stephan Kulow + + * acinclude.m4.in: added a AC_PROVIDE for AC_PROG_CC and + AC_PROG_CPP to KDE_CHECK_COMPILERS + +Thu Feb 5 16:27:47 1998 Stephan Kulow + + * acinclude.m4.in: put $QTDIR/bin before /usr/bin in the path to + look for moc. I don't know why, but I got a report, that configure + found /usr/bin/moc under Solaris + +Fri Jan 30 15:47:50 1998 Stephan Kulow + + * acinclude.m4.in: export LIBRARY_PATH after reset to the saved + value + + * acinclude.m4.in: unset the LIBRARY_PATH to get a relieable + result when trying to find, if Qt compiles without -L + +Sat Jan 24 00:45:52 1998 Stephan Kulow + + * acinclude.m4.in: fixed another bug in AC_PATH_KDE + +Thu Jan 22 14:46:15 1998 Stephan Kulow + + * configure.in: fixed an ugly bug in AC_BASE_PATH_KDE + + * kappfinder/kappfinder.in: let kappfinder create by configure to + allow the use of the kde_ paths + +Wed Jan 21 22:19:35 1998 Stephan Kulow + + * acinclude.m4.in: - added a install_root prefix to all paths, if + set, to enable package managers to move the whole installation at once + - added --with-install-root to set the install_root prefix + +Tue Jan 20 22:41:04 1998 Stephan Kulow + + * configure.in: added NOOPT_CXXFLAGS to allow kioslave to be + compiled without -O2 + +Mon Jan 19 21:55:21 1998 Stephan Kulow + + * configure.in: some little fixes for the Makefiles + + * acinclude.m4.in: --prefix will no longer override the search for + libraries. If they are present somewhere, they are used (through + the methodes in KApplication) + +Mon Jan 12 00:30:36 1998 Stephan Kulow + + * acinclude.m4.in fixed an ugly bug, that accoured, when + qt_libraries is not set (empty/equals X11/not necessary) + + * acinclude.m4.in moved the remove of the files after the error + detection + + +Sun Jan 11 17:27:53 1998 Stephan Kulow + + * acinclude.m4.in added a new macro KDE_CHECK_QT_DIRECT to unset + the Qt library path, if a Qt program compiles without them + + * acinclude.m4.in added a return value in the CREATE_KFSSTND + macro. Perhaps this has caused the problems + +Sat Jan 10 17:40:44 1998 Stephan Kulow + + * ChangeLog started to maintain a ChangeLog file again + * acinclude.m4.in the AC_CREATE_KFSSTND to get better debug output + to find the problem + + +Old logs, Stephan Kulow made: + +0.1 : first steps with libkde +0.2 : first release with libkde, khtmlw, kdehelp, acli, kwm, kpanel +0.3 : added kfm and bugfixes +0.4 : updated khtmlw, kdehelp, kwm, changed install in all subdirs +0.5 : support libtool (chooseable shared libs) +0.6 : split libkde in kdecore and kdeui +0.6.1 : Bugfixes +0.7 : added code from Janos Farkas (configure) + : added @{kde,qt}_{includes,libraries}@ +0.7.1: Bugfixes +0.7.2: Bugfixes +0.7.3: added @all_includes@ and @all_libraries@ + replaced all incompatible flags like $(CC) and -DHAVE_UNISTD_H +0.7.4: changed support for libkde (back in it's own) + added kpat + updated kpanel, kwm, kghostview +0.8: removed a bug in kghostview + lifted installation process of several apps + splitt kdebase into kdelibs and kdeapps + updated khtmlw, kfm and kdehelp + added kcalc and kpaint + updated kdisplay + added kscreensaver + added --enable-kscreensaver + added --enable-debug (and @CXXFLAGS@ to all Makefile.ins) + updated kwm to 0.4.7 + added make uninstall to every app + added kvt + added khexdit + added .kdelnk for kmines, kedit, ktetris + put kwm, kfind's .kdelnk in the right directories + replaced --enable-kscreensaver by --disable-kscreensaver + updated kpanel to 0.15 + some bugfixes (thanks Marco) + some bugfixes (thanks Martin) + changed acinclude.m4, because aclocal won't + updated kwm to 0.4.8 (patched it again for Qt-1.2) + updated kvt to 0.13 (patch from Matthias) + patched kvt and kwm + updated kwm to 0.5.0 + updated kvt for 0.14 (again and again :-) + updated kview to 0.10 + updated kfm to 0.6.3 + patched kscreensaver for FreeBSD (thanks Marc) +0.9: updated kdisplay to 0.5.3 + added klogout + patches from Matthias + updated kfm to 0.6.4 + updated kghostview to 0.4 + added QTINC and QTLIB + updated kdehelp to 0.4.11 + patched kfm to support ktoolbar + updated kedit to kedit+ + added kfontmanager 0.2.1 +0.9.1: changed kpaint's make style + bugfixing + updated kmines to 0.6.5 + updated ktetris to 0.2.4 + changed to Makefiles to depend on Makefile.in + changed the Makefiles to let install depend on all + added kjots-0.2.2 + updated kjots-0.2.3 + updated kfm to 0.6.6 + updated kjots-0.2.4 + updated kpaint-0.2 + updated kedit to 0.5 + updated kfontmanager to 0.2.2 + updated kfm to 0.6.7 + updated ktetris to 0.2.5 + updated kjots to 0.2.5 +0.10: added HAVE_SQRTL + added HAVE_CRYPT_H + updated kfind + updated kfm to kfm-0.8.1 + re-introduced automake to kdebase + bugfixes for the configure.in + added XPM, GL and PAM tests to configure + added morph3d to kscreensavers + updated kfind to 0.3.2 + added some patches for SGI +... lost the time to maintain a Changelog ;) diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.am b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.am new file mode 100644 index 00000000..46978879 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.am @@ -0,0 +1,163 @@ +## generate API documentation with doxygen +apidox-am-yes: + @if test "$(subdir)" != "."; then \ + $(mkinstalldirs) $(top_builddir)/apidocs/$(subdir) ;\ + if test ! -x $(top_builddir)/apidocs/common; then \ + if test -d $(top_srcdir)/doc/common; then \ + common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\ + else \ + common_dir=$(kde_libs_htmldir)/en/common ;\ + fi ;\ + $(LN_S) $$common_dir $(top_builddir)/apidocs/common; \ + fi ;\ + cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \ + echo "PROJECT_NAME = \"$(subdir) Library\"" >> Doxyfile; \ + echo "PROJECT_NUMBER = \"Version $(VERSION)\"" >> Doxyfile; \ + echo "INPUT = $(srcdir)" >> Doxyfile; \ + echo "IMAGE_PATH = $(top_srcdir)/doc/api" >> Doxyfile ;\ + echo "OUTPUT_DIRECTORY = $(top_builddir)/apidocs" >> Doxyfile; \ + echo "HTML_OUTPUT = $(subdir)/html" >> Doxyfile; \ + echo "LATEX_OUTPUT = $(subdir)/latex" >> Doxyfile; \ + echo "RTF_OUTPUT = $(subdir)/rtf" >> Doxyfile; \ + echo "MAN_OUTPUT = $(subdir)/man" >> Doxyfile; \ + echo "GENERATE_HTML = $(GENERATE_FLAG)" >> Doxyfile ;\ + echo "GENERATE_MAN = $(GENERATE_FLAG)" >> Doxyfile ;\ + echo "GENERATE_LATEX = $(GENERATE_FLAG)" >> Doxyfile ;\ + if test -n "$(DOXYGEN_EXCLUDE)"; then \ + echo "EXCLUDE_PATTERNS += $(DOXYGEN_EXCLUDE)" >> Doxyfile; \ + fi ;\ + echo "TAGFILES = \\" >> Doxyfile; \ + tags='$(DOXYGEN_REFERENCES) qt'; for tag in $$tags; do \ + tagpath= ;\ + path="../../$$tag" ;\ + if test -f $(top_builddir)/apidocs/$$tag/$$tag.tag; then \ + tagpath="$(top_builddir)/apidocs/$$tag/$$tag.tag" ;\ + else \ + tagpath=`ls -1 $(kde_htmldir)/en/*-apidocs/$$tag/$$tag.tag 2> /dev/null` ;\ + if test -n "$$tagpath"; then \ + path=`echo $$tagpath | sed -e "s,.*/\([^/]*-apidocs\)/$$tag/$$tag.tag,../../../\1/$$tag,"` ;\ + fi ;\ + fi ;\ + if test "$$tag" = qt; then \ + echo $$tagpath=$(QTDOCDIR) >> Doxyfile ;\ + else if test -n "$$tagpath"; then \ + echo "$$tagpath=$$path/html \\" >> Doxyfile ;\ + fi ;\ + fi ;\ + done ;\ + echo "GENERATE_TAGFILE = $(top_builddir)/apidocs/$(subdir)/$(subdir).tag" >> Doxyfile ;\ + echo "IGNORE_PREFIX = K" >> Doxyfile ;\ + echo "HAVE_DOT = $(KDE_HAVE_DOT)" >> Doxyfile ;\ + $(DOXYGEN) Doxyfile ;\ + fi + +apidox-am-no: + +install-data-local: install-apidox + +## install API documentation +install-apidox: + @if test "$(subdir)" != "."; then \ + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \ + if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \ + echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ + $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ + fi; \ + if test -d $(top_builddir)/apidocs/$(subdir)/html; then \ + list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \ + for file in $$list; do \ + echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ + $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ + done; \ + fi; \ + rm -f $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \ + $(LN_S) $(kde_libs_htmldir)/en/common $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \ + else\ + if test -d $(top_builddir)/apidocs; then \ + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\ + list=`cd $(top_builddir)/apidocs && ls -1`; \ + for file in $$list; do \ + if test -f $(top_builddir)/apidocs/$$file; then \ + echo $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ + $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ + fi; \ + done ; fi; \ + fi + +uninstall-local: uninstall-apidox + +## uninstall API documentation +uninstall-apidox: + @if test "$(subdir)" != "."; then \ + if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \ + rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ + fi\ + else\ + if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \ + rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ + fi\ + fi + +apidox: + @if test "$(subdir)" != "."; then \ + $(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\ + else \ + $(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\ + fi + @set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \ + list='$(SUBDIRS)'; \ + for subdir in $$list; do \ + if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \ + echo "Making apidox in $$subdir"; \ + if test "$$subdir" != "."; then \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no apidox) || exit 1; \ + fi ; fi ;\ + done; \ + for subdir in $$list; do \ + if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am; then \ + echo "Making apidox in $$subdir"; \ + if test "$$subdir" != "."; then \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=yes apidox) || exit 1; \ + fi ; fi ;\ + done; \ + fi + +apidox-am-toplevel-no: +apidox-am-toplevel-yes: + @echo "*** Creating API documentation main page"; \ + cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \ + echo "PROJECT_NAME = $(DOXYGEN_PROJECT_NAME)" >> Doxyfile ; \ + echo "PROJECT_NUMBER = $(DOXYGEN_PROJECT_NUMBER)" >> Doxyfile ; \ + echo "INPUT = $(top_srcdir)" >> Doxyfile ; \ + echo "OUTPUT_DIRECTORY = $(top_builddir)/apidocs" >> Doxyfile ; \ + echo "FILE_PATTERNS = *.dox" >> Doxyfile ; \ + echo "RECURSIVE = NO" >> Doxyfile ; \ + echo "SOURCE_BROWSER = NO" >> Doxyfile ; \ + echo "ALPHABETICAL_INDEX = NO" >> Doxyfile ; \ + echo "HTML_OUTPUT = ." >> Doxyfile ; \ + echo "HTML_HEADER = apidocs/common/mainheader.html" >> Doxyfile ; \ + echo "HTML_FOOTER = apidocs/common/mainfooter.html" >> Doxyfile ; \ + echo "HTML_STYLESHEET = apidocs/common/doxygen.css" >> Doxyfile ; \ + echo "GENERATE_LATEX = NO" >> Doxyfile ; \ + echo "GENERATE_RTF = NO" >> Doxyfile ; \ + echo "GENERATE_MAN = NO" >> Doxyfile ; \ + echo "GENERATE_XML = NO" >> Doxyfile ; \ + echo "GENERATE_AUTOGEN_DEF = NO" >> Doxyfile ; \ + echo "ENABLE_PREPROCESSING = NO" >> Doxyfile ; \ + echo "CLASS_DIAGRAMS = NO" >> Doxyfile ; \ + echo "HAVE_DOT = NO" >> Doxyfile ; \ + echo "GENERATE_HTML = YES" >> Doxyfile ;\ + $(mkinstalldirs) $(top_builddir)/apidocs ; \ + rm -f $(top_builddir)/apidocs/common ; \ + if test -d $(top_srcdir)/doc/common; then \ + common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\ + else \ + common_dir=$(kde_libs_htmldir)/en/common ;\ + fi ;\ + $(LN_S) $$common_dir $(top_builddir)/apidocs/common ;\ + doxygen Doxyfile; \ + rm -f Doxyfile + +# Local Variables: +# mode: makefile +# End: diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.global b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.global new file mode 100644 index 00000000..2ecb694b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Doxyfile.global @@ -0,0 +1,950 @@ +# Doxyfile 1.2.15 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = "Version 3.0" + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = ../apidocs/ + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, +# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, +# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish. + +OUTPUT_LANGUAGE = English + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these class will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = YES + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower case letters. If set to YES upper case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are adviced to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = NO + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = NO + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = libdoc=@mainpage \ + sect=

    \ + reimplemented= \ + "deprecated=This class or method is obsolete, it is provided for compatibility only." \ + obsolete=@deprecated + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consist of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl + +FILE_PATTERNS = *.h \ + *.cpp \ + *.cc \ + *.hpp + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = *.moc.* \ + moc* \ + *.all_cpp.* \ + *unload.* \ + */test/* \ + */tests/* + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse. + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 3 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = K + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = NO + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = ../apidocs/common/header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = ../apidocs/common/footer.html + +# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +HTML_STYLESHEET = ../apidocs/common/doxygen.css + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the Html help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = YES + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, +# or Internet explorer 4.0+). Note that for large projects the tree generation +# can take a very long time. In such cases it is better to disable this feature. +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .kde3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = QT_VERSION=305 + +# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line and do not end with a semicolon. Such function macros are typically +# used for boiler-plate code, and will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tagfiles. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = NO + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yield more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = NO + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 800 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermedate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Makefile.common b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Makefile.common new file mode 100644 index 00000000..d5c4d859 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/Makefile.common @@ -0,0 +1,34 @@ +### Makefile.common +### +### Copyright (C) 2002 by the KDE developers + +### All the real work is done by the shellscript cvs.sh + +SHELL=/bin/sh + +cvs dist cvs-clean configure.in configure.files subdirs package-messages package-merge: + @admindir=$(admindir); \ + if test "x$$admindir" = x; then \ + admindir=.; until test -f $$admindir/admin/cvs.sh; do \ + admindir=$$admindir/..; \ + if test `cd $$admindir && pwd` = / ; then break; fi; \ + done; \ + admindir=$$admindir/admin; \ + if test -f $$admindir/cvs.sh; then :; else \ + echo "Can't find the admin/ directory in any parent of the"; \ + echo "current directory. Please set it with admindir=..."; \ + exit 1; \ + fi; \ + fi; \ + if test "$@" = "package-merge"; then \ + MAKE=$(MAKE) POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \ + $(SHELL) $$admindir/cvs.sh package-merge ;\ + else MAKE=$(MAKE) $(SHELL) $$admindir/cvs.sh $@ ;\ + fi + +configure.in: configure.files $(shell test -f configure.files && cat configure.files) subdirs +configure.files: subdirs + +.SILENT: + +.PHONY: cvs dist cvs-clean package-merge package-messages diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/acinclude.m4.in b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/acinclude.m4.in new file mode 100644 index 00000000..18ca7092 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/acinclude.m4.in @@ -0,0 +1,5395 @@ +## -*- autoconf -*- + +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) +dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +dnl Boston, MA 02111-1307, USA. + +dnl IMPORTANT NOTE: +dnl Please do not modify this file unless you expect your modifications to be +dnl carried into every other module in the repository. +dnl +dnl Single-module modifications are best placed in configure.in for kdelibs +dnl and kdebase or configure.in.in if present. + +dnl ------------------------------------------------------------------------ +dnl Forward compatibility macros (make autoconf 2.13 look like 2.50), +dnl thanks to Raja R Harinath. +dnl ------------------------------------------------------------------------ +dnl +ifdef([_AC_PATH_X_XMKMF],[], + [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])]) +ifdef([AC_OUTPUT_SUBDIRS],[], + [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])]) + +# KDE_PATH_X_DIRECT +dnl Internal subroutine of AC_PATH_X. +dnl Set ac_x_includes and/or ac_x_libraries. +AC_DEFUN(KDE_PATH_X_DIRECT, +[ +AC_REQUIRE([KDE_CHECK_LIB64]) + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +AC_TRY_CPP([#include <$x_direct_test_include>], +[# We can compile using X headers with no special include directory. +ac_x_includes=], +[# Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/unsupported/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done]) +fi # $ac_x_includes = NO + +if test "$ac_x_libraries" = NO; then + # Check for the libraries. + + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc + + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +AC_TRY_LINK(, [${x_direct_test_function}()], +[LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries=], +[LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ + /usr/X11/lib${kdelibsuff} \ + /usr/X11R6/lib${kdelibsuff} \ + /usr/X11R5/lib${kdelibsuff} \ + /usr/X11R4/lib${kdelibsuff} \ + \ + /usr/lib${kdelibsuff}/X11 \ + /usr/lib${kdelibsuff}/X11R6 \ + /usr/lib${kdelibsuff}/X11R5 \ + /usr/lib${kdelibsuff}/X11R4 \ + \ + /usr/local/X11/lib${kdelibsuff} \ + /usr/local/X11R6/lib${kdelibsuff} \ + /usr/local/X11R5/lib${kdelibsuff} \ + /usr/local/X11R4/lib${kdelibsuff} \ + \ + /usr/local/lib${kdelibsuff}/X11 \ + /usr/local/lib${kdelibsuff}/X11R6 \ + /usr/local/lib${kdelibsuff}/X11R5 \ + /usr/local/lib${kdelibsuff}/X11R4 \ + \ + /usr/X386/lib${kdelibsuff} \ + /usr/x386/lib${kdelibsuff} \ + /usr/XFree86/lib${kdelibsuff}/X11 \ + \ + /usr/lib${kdelibsuff} \ + /usr/local/lib${kdelibsuff} \ + /usr/unsupported/lib${kdelibsuff} \ + /usr/athena/lib${kdelibsuff} \ + /usr/local/x11r5/lib${kdelibsuff} \ + /usr/lpp/Xamples/lib${kdelibsuff} \ + /lib/usr/lib${kdelibsuff}/X11 \ + \ + /usr/openwin/lib${kdelibsuff} \ + /usr/openwin/share/lib${kdelibsuff} \ + ; \ +do +dnl Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl; do + if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done]) +fi # $ac_x_libraries = NO +]) + + +dnl ------------------------------------------------------------------------ +dnl Find a file (or one of more files in a list of dirs) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(AC_FIND_FILE, +[ +$3=NO +for i in $2; +do + for j in $1; + do + echo "configure: __oline__: $i/$j" >&AC_FD_CC + if test -r "$i/$j"; then + echo "taking that" >&AC_FD_CC + $3=$i + break 2 + fi + done +done +]) + +dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, +dnl if-not-found, test-parameter) +AC_DEFUN(KDE_FIND_PATH, +[ + AC_MSG_CHECKING([for $1]) + if test -n "$$2"; then + kde_cv_path="$$2"; + else + kde_cache=`echo $1 | sed 'y%./+-%__p_%'` + + AC_CACHE_VAL(kde_cv_path_$kde_cache, + [ + kde_cv_path="NONE" + dirs="$3" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + dirs="$dirs $dir" + done + IFS=$kde_save_IFS + + for dir in $dirs; do + if test -x "$dir/$1"; then + if test -n "$5" + then + evalstr="$dir/$1 $5 2>&1 " + if eval $evalstr; then + kde_cv_path="$dir/$1" + break + fi + else + kde_cv_path="$dir/$1" + break + fi + fi + done + + eval "kde_cv_path_$kde_cache=$kde_cv_path" + + ]) + + eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" + + fi + + if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then + AC_MSG_RESULT(not found) + $4 + else + AC_MSG_RESULT($kde_cv_path) + $2=$kde_cv_path + + fi +]) + +AC_DEFUN(KDE_MOC_ERROR_MESSAGE, +[ + AC_MSG_ERROR([No Qt meta object compiler (moc) found! +Please check whether you installed Qt correctly. +You need to have a running moc binary. +configure tried to run $ac_cv_path_moc and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable MOC to the right one before running +configure. +]) +]) + +AC_DEFUN(KDE_UIC_ERROR_MESSAGE, +[ + AC_MSG_WARN([No Qt ui compiler (uic) found! +Please check whether you installed Qt correctly. +You need to have a running uic binary. +configure tried to run $ac_cv_path_uic and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable UIC to the right one before running +configure. +]) +]) + + +AC_DEFUN(KDE_CHECK_UIC_FLAG, +[ + AC_MSG_CHECKING([whether uic supports -$1 ]) + kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` + AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, + [ + cat >conftest.ui < +EOT + ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" + if AC_TRY_EVAL(ac_uic_testrun); then + eval "kde_cv_prog_uic_$kde_cache=yes" + else + eval "kde_cv_prog_uic_$kde_cache=no" + fi + rm -f conftest* + ]) + + if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then + AC_MSG_RESULT([yes]) + : + $3 + else + AC_MSG_RESULT([no]) + : + $4 + fi +]) + + +dnl ------------------------------------------------------------------------ +dnl Find the meta object compiler and the ui compiler in the PATH, +dnl in $QTDIR/bin, and some more usual places +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(AC_PATH_QT_MOC_UIC, +[ + qt_bindirs="" + for dir in $kde_qt_dirs; do + qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" + done + qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" + if test ! "$ac_qt_bindir" = "NO"; then + qt_bindirs="$ac_qt_bindir $qt_bindirs" + fi + + KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) + if test -z "$UIC_NOT_NEEDED"; then + KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) + if test -z "$UIC_PATH" ; then + KDE_UIC_ERROR_MESSAGE + exit 1 + elif test $kde_qtver = 3; then + KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) + KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) + + UIC=$UIC_PATH + if test x$ac_uic_supports_libpath = xyes; then + UIC="$UIC -L \$(kde_widgetdir)" + fi + if test x$ac_uic_supports_nounload = xyes; then + UIC="$UIC -nounload" + fi + fi + else + UIC="echo uic not available: " + fi + + AC_SUBST(MOC) + AC_SUBST(UIC) + + UIC_TR="i18n" + if test $kde_qtver = 3; then + UIC_TR="tr2i18n" + fi + + AC_SUBST(UIC_TR) +]) + +AC_DEFUN(KDE_1_CHECK_PATHS, +[ + KDE_1_CHECK_PATH_HEADERS + + KDE_TEST_RPATH= + + if test -n "$USE_RPATH"; then + + if test -n "$kde_libraries"; then + KDE_TEST_RPATH="-R $kde_libraries" + fi + + if test -n "$qt_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" + fi + + if test -n "$x_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" + fi + + KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" + fi + +AC_MSG_CHECKING([for KDE libraries installed]) +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + AC_MSG_RESULT(yes) +else + AC_MSG_ERROR([your system fails at linking a small KDE application! +Check, if your compiler is installed correctly and if you have used the +same compiler to compile Qt and kdelibs as you did use now. +For more details about this problem, look at the end of config.log.]) +fi + +if eval `KDEDIR= ./conftest 2>&5`; then + kde_result=done +else + kde_result=problems +fi + +KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log +kde_have_all_paths=yes + +KDE_SET_PATHS($kde_result) + +]) + +AC_DEFUN(KDE_SET_PATHS, +[ + kde_cv_all_paths="kde_have_all_paths=\"yes\" \ + kde_htmldir=\"$kde_htmldir\" \ + kde_appsdir=\"$kde_appsdir\" \ + kde_icondir=\"$kde_icondir\" \ + kde_sounddir=\"$kde_sounddir\" \ + kde_datadir=\"$kde_datadir\" \ + kde_locale=\"$kde_locale\" \ + kde_cgidir=\"$kde_cgidir\" \ + kde_confdir=\"$kde_confdir\" \ + kde_mimedir=\"$kde_mimedir\" \ + kde_toolbardir=\"$kde_toolbardir\" \ + kde_wallpaperdir=\"$kde_wallpaperdir\" \ + kde_templatesdir=\"$kde_templatesdir\" \ + kde_bindir=\"$kde_bindir\" \ + kde_servicesdir=\"$kde_servicesdir\" \ + kde_servicetypesdir=\"$kde_servicetypesdir\" \ + kde_moduledir=\"$kde_moduledir\" \ + kde_styledir=\"$kde_styledir\" \ + kde_widgetdir=\"$kde_widgetdir\" \ + kde_result=$1" +]) + +AC_DEFUN(KDE_SET_DEFAULT_PATHS, +[ +if test "$1" = "default"; then + + if test -z "$kde_htmldir"; then + kde_htmldir='\${prefix}/share/doc/HTML' + fi + if test -z "$kde_appsdir"; then + kde_appsdir='\${prefix}/share/applnk' + fi + if test -z "$kde_icondir"; then + kde_icondir='\${prefix}/share/icons' + fi + if test -z "$kde_sounddir"; then + kde_sounddir='\${prefix}/share/sounds' + fi + if test -z "$kde_datadir"; then + kde_datadir='\${prefix}/share/apps' + fi + if test -z "$kde_locale"; then + kde_locale='\${prefix}/share/locale' + fi + if test -z "$kde_cgidir"; then + kde_cgidir='\${exec_prefix}/cgi-bin' + fi + if test -z "$kde_confdir"; then + kde_confdir='\${prefix}/share/config' + fi + if test -z "$kde_mimedir"; then + kde_mimedir='\${prefix}/share/mimelnk' + fi + if test -z "$kde_toolbardir"; then + kde_toolbardir='\${prefix}/share/toolbar' + fi + if test -z "$kde_wallpaperdir"; then + kde_wallpaperdir='\${prefix}/share/wallpapers' + fi + if test -z "$kde_templatesdir"; then + kde_templatesdir='\${prefix}/share/templates' + fi + if test -z "$kde_bindir"; then + kde_bindir='\${exec_prefix}/bin' + fi + if test -z "$kde_servicesdir"; then + kde_servicesdir='\${prefix}/share/services' + fi + if test -z "$kde_servicetypesdir"; then + kde_servicetypesdir='\${prefix}/share/servicetypes' + fi + if test -z "$kde_moduledir"; then + if test "$kde_qtver" = "2"; then + kde_moduledir='\${libdir}/kde2' + else + kde_moduledir='\${libdir}/kde3' + fi + fi + if test -z "$kde_styledir"; then + kde_styledir='\${libdir}/kde3/plugins/styles' + fi + if test -z "$kde_widgetdir"; then + kde_widgetdir='\${libdir}/kde3/plugins/designer' + fi + + KDE_SET_PATHS(defaults) + +else + + if test $kde_qtver = 1; then + AC_MSG_RESULT([compiling]) + KDE_1_CHECK_PATHS + else + AC_MSG_ERROR([path checking not yet supported for KDE 2]) + fi + +fi +]) + +AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS, +[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || + test -z "$kde_icondir" || test -z "$kde_sounddir" || + test -z "$kde_datadir" || test -z "$kde_locale" || + test -z "$kde_cgidir" || test -z "$kde_confdir" || + test -z "$kde_mimedir" || test -z "$kde_toolbardir" || + test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || + test -z "$kde_bindir" || test -z "$kde_servicesdir" || + test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || + test -z "$kde_styledir" || test -z "kde_widgetdir" + test "x$kde_have_all_paths" != "xyes"; then + kde_have_all_paths=no + fi +]) + +AC_DEFUN(KDE_MISSING_PROG_ERROR, +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed KDE correctly. +]) +]) + +AC_DEFUN(KDE_MISSING_ARTS_ERROR, +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed aRts correctly. +]) +]) + +AC_DEFUN(KDE_SUBST_PROGRAMS, +[ + + kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" + test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" + if test -n "$KDEDIRS"; then + kde_save_IFS=$IFS + IFS=: + for dir in $KDEDIRS; do + kde_default_bindirs="$dir/bin $kde_default_bindirs " + done + IFS=$kde_save_IFS + fi + kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs" + KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) + KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) + KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) + KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) + KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) + + if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then + kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" + test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" + AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) + if test "$KDE_XSL_STYLESHEET" = "NO"; then + KDE_XSL_STYLESHEET="" + else + KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" + fi + fi + + DCOP_DEPENDENCIES='$(DCOPIDL)' + AC_SUBST(DCOPIDL) + AC_SUBST(DCOPIDL2CPP) + AC_SUBST(DCOP_DEPENDENCIES) + AC_SUBST(MCOPIDL) + AC_SUBST(ARTSCCONFIG) + AC_SUBST(KDECONFIG) + AC_SUBST(MEINPROC) + AC_SUBST(KDE_XSL_STYLESHEET) + + if test -x "$KDECONFIG"; then # it can be "compiled" + kde_libs_prefix=`$KDECONFIG --prefix` + if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then + AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. + This means it has been moved since you installed it. + This won't work. Please recompile kdelibs for the new prefix. + ]) + fi + kde_libs_htmldir=`$KDECONFIG --install html --expandvars` + else + kde_libs_prefix='$(prefix)' + kde_libs_htmldir='$(kde_htmldir)' + fi + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) +])dnl + +AC_DEFUN(AC_CREATE_KFSSTND, +[ +AC_REQUIRE([AC_CHECK_RPATH]) + +AC_MSG_CHECKING([for KDE paths]) +kde_result="" +kde_cached_paths=yes +AC_CACHE_VAL(kde_cv_all_paths, +[ + KDE_SET_DEFAULT_PATHS($1) + kde_cached_paths=no +]) +eval "$kde_cv_all_paths" +KDE_CHECK_PATHS_FOR_COMPLETENESS +if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then + # wrong values were cached, may be, we can set better ones + kde_result= + kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= + kde_datadir= kde_locale= kde_cgidir= kde_confdir= + kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= + kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= + kde_have_all_paths= + kde_styledir= + kde_widgetdir= + KDE_SET_DEFAULT_PATHS($1) + eval "$kde_cv_all_paths" + KDE_CHECK_PATHS_FOR_COMPLETENESS + kde_result="$kde_result (cache overridden)" +fi +if test "$kde_have_all_paths" = "no"; then + AC_MSG_ERROR([configure could not run a little KDE program to test the environment. +Since it had compiled and linked before, it must be a strange problem on your system. +Look at config.log for details. If you are not able to fix this, look at +http://www.kde.org/faq/installation.html or any www.kde.org mirror. +(If you're using an egcs version on Linux, you may update binutils!) +]) +else + rm -f conftest* + AC_MSG_RESULT($kde_result) +fi + +bindir=$kde_bindir + +KDE_SUBST_PROGRAMS + +]) + +AC_DEFUN(AC_SUBST_KFSSTND, +[ +AC_SUBST(kde_htmldir) +AC_SUBST(kde_appsdir) +AC_SUBST(kde_icondir) +AC_SUBST(kde_sounddir) +AC_SUBST(kde_datadir) +AC_SUBST(kde_locale) +AC_SUBST(kde_confdir) +AC_SUBST(kde_mimedir) +AC_SUBST(kde_wallpaperdir) +AC_SUBST(kde_bindir) +dnl for KDE 2 +AC_SUBST(kde_templatesdir) +AC_SUBST(kde_servicesdir) +AC_SUBST(kde_servicetypesdir) +AC_SUBST(kde_moduledir) +AC_SUBST(kde_styledir) +AC_SUBST(kde_widgetdir) +if test "$kde_qtver" = 1; then + kde_minidir="$kde_icondir/mini" +else +# for KDE 1 - this breaks KDE2 apps using minidir, but +# that's the plan ;-/ + kde_minidir="/dev/null" +fi +dnl AC_SUBST(kde_minidir) +dnl AC_SUBST(kde_cgidir) +dnl AC_SUBST(kde_toolbardir) +]) + +AC_DEFUN(KDE_MISC_TESTS, +[ + AC_LANG_C + dnl Checks for libraries. + AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD + AC_SUBST(LIBUTIL) + AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD + AC_SUBST(LIBCOMPAT) + kde_have_crypt= + AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], + AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ + AC_MSG_WARN([you have no crypt in either libcrypt or libc. +You should install libcrypt from another source or configure with PAM +support]) + kde_have_crypt=no + ])) + AC_SUBST(LIBCRYPT) + if test $kde_have_crypt = yes; then + AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) + fi + AC_CHECK_SOCKLEN_T + AC_LANG_C + AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + AC_CHECK_LIB(dnet_stub, dnet_ntoa, + [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) + fi + AC_CHECK_FUNC(inet_ntoa) + if test $ac_cv_func_inet_ntoa = no; then + AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") + fi + AC_CHECK_FUNC(connect) + if test $ac_cv_func_connect = no; then + AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , + $X_EXTRA_LIBS) + fi + + AC_CHECK_FUNC(remove) + if test $ac_cv_func_remove = no; then + AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + AC_CHECK_FUNC(shmat, , + AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) + + # darwin needs this to initialize the environment + AC_CHECK_HEADERS(crt_externs.h) + AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) + + # more headers that need to be explicitly included on darwin + AC_CHECK_HEADERS(sys/types.h stdint.h) + + # darwin requires a poll emulation library + AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") + + # CoreAudio framework + AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ + AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) + FRAMEWORK_COREAUDIO="-framework CoreAudio" + ]) + + AC_CHECK_RES_INIT + AC_SUBST(LIB_POLL) + AC_SUBST(FRAMEWORK_COREAUDIO) + LIBSOCKET="$X_EXTRA_LIBS" + AC_SUBST(LIBSOCKET) + AC_SUBST(X_EXTRA_LIBS) + AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 + AC_SUBST(LIBUCB) + + case $host in dnl this *is* LynxOS specific + *-*-lynxos* ) + AC_MSG_CHECKING([LynxOS header file wrappers]) + [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] + AC_MSG_RESULT(disabled) + AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS + ;; + esac + + KDE_CHECK_TYPES + KDE_CHECK_LIBDL + +AH_VERBATIM(_AIX_STRINGS_H_BZERO, +[ +/* + * AIX defines FD_SET in terms of bzero, but fails to include + * that defines bzero. + */ + +#if defined(_AIX) +#include +#endif +]) + +AC_CHECK_FUNCS([vsnprintf snprintf]) + +AH_VERBATIM(_TRU64,[ +/* + * On HP-UX, the declaration of vsnprintf() is needed every time ! + */ + +#if !defined(HAVE_VSNPRINTF) || defined(hpux) +#if __STDC__ +#include +#include +#else +#include +#endif +#ifdef __cplusplus +extern "C" +#endif +int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); +#ifdef __cplusplus +extern "C" +#endif +int snprintf(char *str, size_t n, char const *fmt, ...); +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Find the header files and libraries for X-Windows. Extended the +dnl macro AC_PATH_X +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(K_PATH_X, +[ +AC_REQUIRE([KDE_MISC_TESTS])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_ARG_ENABLE( + embedded, + [ --enable-embedded link to Qt-embedded, don't use X], + kde_use_qt_emb=$enableval, + kde_use_qt_emb=no +) + +AC_ARG_ENABLE( + qtopia, + [ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment], + kde_use_qt_emb_palm=$enableval, + kde_use_qt_emb_palm=no +) + +if test "$kde_use_qt_emb" = "no"; then + +AC_MSG_CHECKING(for X) +AC_LANG_SAVE +AC_LANG_C +AC_CACHE_VAL(kde_cv_have_x, +[# One or both of the vars are not set, and there is no cached value. +if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then + kde_x_includes=NO +else + kde_x_includes=$x_includes +fi +if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then + kde_x_libraries=NO +else + kde_x_libraries=$x_libraries +fi + +# below we use the standard autoconf calls +ac_x_libraries=$kde_x_libraries +ac_x_includes=$kde_x_includes + +KDE_PATH_X_DIRECT +dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. +dnl Unfortunately, if compiling with the N32 ABI, this is not the correct +dnl location. The correct location is /usr/lib32 or an undefined value +dnl (the linker is smart enough to pick the correct default library). +dnl Things work just fine if you use just AC_PATH_X_DIRECT. +dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to +dnl /usr/openwin/include, which doesn't work. /usr/include does work, so +dnl x_includes should be left alone. +case "$host" in +mips-sgi-irix6*) + ;; +*-*-solaris*) + ;; +*) + _AC_PATH_X_XMKMF + if test -z "$ac_x_includes"; then + ac_x_includes="." + fi + if test -z "$ac_x_libraries"; then + ac_x_libraries="/usr/lib${kdelibsuff}" + fi +esac +#from now on we use our own again + +# when the user already gave --x-includes, we ignore +# what the standard autoconf macros told us. +if test "$kde_x_includes" = NO; then + kde_x_includes=$ac_x_includes +fi + +# for --x-libraries too +if test "$kde_x_libraries" = NO; then + kde_x_libraries=$ac_x_libraries +fi + +if test "$kde_x_includes" = NO; then + AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) +fi + +if test "$kde_x_libraries" = NO; then + AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) +fi + +# Record where we found X for the cache. +kde_cv_have_x="have_x=yes \ + kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" +])dnl + +eval "$kde_cv_have_x" + +if test "$have_x" != yes; then + AC_MSG_RESULT($have_x) + no_x=yes +else + AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) +fi + +if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then + X_INCLUDES="" + x_includes="."; dnl better than nothing :- + else + x_includes=$kde_x_includes + X_INCLUDES="-I$x_includes" +fi + +if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then + X_LDFLAGS="" + x_libraries="/usr/lib"; dnl better than nothing :- + else + x_libraries=$kde_x_libraries + X_LDFLAGS="-L$x_libraries" +fi +all_includes="$X_INCLUDES" +all_libraries="$X_LDFLAGS" + +AC_SUBST(X_INCLUDES) +AC_SUBST(X_LDFLAGS) +AC_SUBST(x_libraries) +AC_SUBST(x_includes) + +# Check for libraries that X11R6 Xt/Xaw programs need. +ac_save_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to +# check for ICE first), but we must link in the order -lSM -lICE or +# we get undefined symbols. So assume we have SM if we have ICE. +# These have to be linked with before -lX11, unlike the other +# libraries we check for below, so use a different variable. +# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. +AC_CHECK_LIB(ICE, IceConnectionNumber, + [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) +AC_SUBST(LIBSM) +LDFLAGS="$ac_save_LDFLAGS" + +AC_SUBST(X_PRE_LIBS) + +LIB_X11='-lX11 $(LIBSOCKET)' +AC_SUBST(LIB_X11) + +AC_MSG_CHECKING(for libXext) +AC_CACHE_VAL(kde_cv_have_libXext, +[ +kde_ldflags_safe="$LDFLAGS" +kde_libs_safe="$LIBS" + +LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" +LIBS="-lXext -lX11 $LIBSOCKET" + +AC_TRY_LINK([ +#include +#ifdef STDC_HEADERS +# include +#endif +], +[ +printf("hello Xext\n"); +], +kde_cv_have_libXext=yes, +kde_cv_have_libXext=no + ) + +LDFLAGS=$kde_ldflags_safe +LIBS=$kde_libs_safe + ]) + +AC_MSG_RESULT($kde_cv_have_libXext) + +if test "$kde_cv_have_libXext" = "no"; then + AC_MSG_ERROR([We need a working libXext to proceed. Since configure +can't find it itself, we stop here assuming that make wouldn't find +them either.]) +fi + +AC_MSG_CHECKING(for Xinerama) + + AC_ARG_WITH(xinerama, + [ --with-xinerama enable support for Xinerama ], + [ + no_xinerama=no + ], [ + no_xinerama=yes + ] +) + +kde_save_LDFLAGS="$LDFLAGS" +kde_save_CFLAGS="$CFLAGS" +kde_save_LIBS="$LIBS" +LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" +CFLAGS="$CFLAGS -I$x_includes" +LIBS="-lXinerama -lXext" + +if test "x$no_xinerama" = "xno"; then + + AC_CACHE_VAL(ac_cv_have_xinerama, + [ + AC_TRY_LINK([#include + #include ], + [XineramaIsActive(NULL);], + [ac_cv_have_xinerama="yes"], + [ac_cv_have_xinerama="no"]) + ]) +else + ac_cv_have_xinerama=no; +fi + +AC_MSG_RESULT($ac_cv_have_xinerama) + +LIBXINERAMA="" + +if test "$ac_cv_have_xinerama" = "yes"; then + AC_DEFINE(HAVE_XINERAMA, 1, [Define if you want Xinerama support]) + LIBXINERAMA="-lXinerama" +fi + +AC_SUBST(LIBXINERAMA) + +LDFLAGS="$kde_save_LDFLAGS" +CFLAGS="$kde_save_CFLAGS" +LIBS="$kde_save_LIBS" + +LIB_XEXT="-lXext" +QTE_NORTTI="" + +else + dnl We're using QT Embedded + CPPFLAGS=-DQWS + CXXFLAGS="$CXXFLAGS -fno-rtti" + QTE_NORTTI="-fno-rtti -DQWS" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" + AC_SUBST(X_PRE_LIBS) + AC_SUBST(LIB_X11) + AC_SUBST(LIBSM) + AC_SUBST(X_INCLUDES) + AC_SUBST(X_LDFLAGS) + AC_SUBST(x_includes) + AC_SUBST(x_libraries) +fi +AC_SUBST(QTE_NORTTI) +AC_SUBST(LIB_XEXT) + + +AC_LANG_RESTORE + +]) + +AC_DEFUN(KDE_PRINT_QT_PROGRAM, +[ +AC_REQUIRE([KDE_USE_QT]) +cat > conftest.$ac_ext < +#include +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext < +#include +#include +EOF + +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <> conftest.$ac_ext < +#include +#include +EOF +fi + +echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext +cat >> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "$kde_cv_qt_direct" = "yes"; then + AC_MSG_RESULT(yes) + $1 +else + AC_MSG_RESULT(no) + $2 +fi +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the Qt headers and libraries. +dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) +dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(AC_PATH_QT_1_3, +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([KDE_USE_QT]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +dnl ------------------------------------------------------------------------ +dnl Add configure flag to enable linking to MT version of Qt library. +dnl ------------------------------------------------------------------------ + +AC_ARG_ENABLE( + mt, + [ --disable-mt link to non-threaded Qt (deprecated)], + kde_use_qt_mt=$enableval, + [ + if test $kde_qtver = 3; then + kde_use_qt_mt=yes + else + kde_use_qt_mt=no + fi + ] +) + +USING_QT_MT="" + +dnl ------------------------------------------------------------------------ +dnl If we not get --disable-qt-mt then adjust some vars for the host. +dnl ------------------------------------------------------------------------ + +KDE_MT_LDFLAGS= +KDE_MT_LIBS= +if test "x$kde_use_qt_mt" = "xyes"; then + KDE_CHECK_THREADING + if test "x$kde_use_threading" = "xyes"; then + CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" + KDE_MT_LDFLAGS="$USE_THREADS" + KDE_MT_LIBS="$LIBPTHREAD" + else + kde_use_qt_mt=no + fi +fi +AC_SUBST(KDE_MT_LDFLAGS) +AC_SUBST(KDE_MT_LIBS) + +kde_qt_was_given=yes + +dnl ------------------------------------------------------------------------ +dnl If we haven't been told how to link to Qt, we work it out for ourselves. +dnl ------------------------------------------------------------------------ +if test -z "$LIBQT_GLOB"; then + if test "x$kde_use_qt_emb" = "xyes"; then + LIBQT_GLOB="libqte.*" + else + LIBQT_GLOB="libqt.*" + fi +fi + +if test -z "$LIBQT"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-embedded then adjust the Qt library name. +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + qtlib="qte" + else + qtlib="qt" + fi + + kde_int_qt="-l$qtlib" +else + kde_int_qt="$LIBQT" + kde_lib_qt_set=yes +fi + +if test -z "$LIBQPE"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-palmtop then add -lqpe to the link line +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + if test "x$kde_use_qt_emb_palm" = "xyes"; then + LIB_QPE="-lqpe" + else + LIB_QPE="" + fi + else + LIB_QPE="" + fi +fi + +dnl ------------------------------------------------------------------------ +dnl If we got --enable-qt-mt then adjust the Qt library name for the host. +dnl ------------------------------------------------------------------------ + +if test "x$kde_use_qt_mt" = "xyes"; then + if test -z "$LIBQT"; then + LIBQT="-l$qtlib-mt" + kde_int_qt="-l$qtlib-mt" + else + LIBQT="$qtlib-mt" + kde_int_qt="$qtlib-mt" + fi + LIBQT_GLOB="lib$qtlib-mt.*" + USING_QT_MT="using -mt" +else + LIBQT="-l$qtlib" +fi + +if test $kde_qtver != 1; then + + AC_REQUIRE([AC_FIND_PNG]) + AC_REQUIRE([AC_FIND_JPEG]) + LIBQT="$LIBQT $LIBPNG $LIBJPEG" +fi + +if test $kde_qtver = 3; then + AC_REQUIRE([KDE_CHECK_LIBDL]) + LIBQT="$LIBQT $LIBDL" +fi + +AC_MSG_CHECKING([for Qt]) + +if test "x$kde_use_qt_emb" != "xyes"; then +LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" +fi +ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO +qt_libraries="" +qt_includes="" +AC_ARG_WITH(qt-dir, + [ --with-qt-dir=DIR where the root of Qt is installed ], + [ ac_qt_includes="$withval"/include + ac_qt_libraries="$withval"/lib${kdelibsuff} + ac_qt_bindir="$withval"/bin + ]) + +AC_ARG_WITH(qt-includes, + [ --with-qt-includes=DIR where the Qt includes are. ], + [ + ac_qt_includes="$withval" + ]) + +kde_qt_libs_given=no + +AC_ARG_WITH(qt-libraries, + [ --with-qt-libraries=DIR where the Qt library is installed.], + [ ac_qt_libraries="$withval" + kde_qt_libs_given=yes + ]) + +AC_CACHE_VAL(ac_cv_have_qt, +[#try to guess Qt locations + +qt_incdirs="" +for dir in $kde_qt_dirs; do + qt_incdirs="$qt_incdirs $dir/include $dir" +done +qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes" +if test ! "$ac_qt_includes" = "NO"; then + qt_incdirs="$ac_qt_includes $qt_incdirs" +fi + +if test "$kde_qtver" != "1"; then + kde_qt_header=qstyle.h +else + kde_qt_header=qglobal.h +fi + +AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) +ac_qt_includes="$qt_incdir" + +qt_libdirs="" +for dir in $kde_qt_dirs; do + qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" +done +qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" +if test ! "$ac_qt_libraries" = "NO"; then + qt_libdir=$ac_qt_libraries +else + qt_libdirs="$ac_qt_libraries $qt_libdirs" + # if the Qt was given, the chance is too big that libqt.* doesn't exist + qt_libdir=NONE + for dir in $qt_libdirs; do + try="ls -1 $dir/${LIBQT_GLOB}" + if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done +fi + +ac_qt_libraries="$qt_libdir" + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" +LIBS="$LIBS $LIBQT $KDE_MT_LIBS" + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* +else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC + ac_qt_libraries="NO" +fi +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +AC_LANG_RESTORE +if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then + ac_cv_have_qt="have_qt=no" + ac_qt_notfound="" + missing_qt_mt="" + if test "$ac_qt_includes" = NO; then + if test "$ac_qt_libraries" = NO; then + ac_qt_notfound="(headers and libraries)"; + else + ac_qt_notfound="(headers)"; + fi + else + if test "x$kde_use_qt_mt" = "xyes"; then + missing_qt_mt=" +Make sure that you have compiled Qt with thread support!" + ac_qt_notfound="(library $qtlib-mt)"; + else + ac_qt_notfound="(library $qtlib)"; + fi + fi + + AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! +For more details about this problem, look at the end of config.log.$missing_qt_mt]) +else + have_qt="yes" +fi +]) + +eval "$ac_cv_have_qt" + +if test "$have_qt" != yes; then + AC_MSG_RESULT([$have_qt]); +else + ac_cv_have_qt="have_qt=yes \ + ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" + AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) + + qt_libraries="$ac_qt_libraries" + qt_includes="$ac_qt_includes" +fi + +if test ! "$kde_qt_libs_given" = "yes"; then +KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) +fi + +AC_SUBST(qt_libraries) +AC_SUBST(qt_includes) + +if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then + QT_INCLUDES="" +else + QT_INCLUDES="-I$qt_includes" + all_includes="$QT_INCLUDES $all_includes" +fi + +if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then + QT_LDFLAGS="" +else + QT_LDFLAGS="-L$qt_libraries" + all_libraries="$all_libraries $QT_LDFLAGS" +fi +test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" + +AC_SUBST(QT_INCLUDES) +AC_SUBST(QT_LDFLAGS) +AC_PATH_QT_MOC_UIC + +KDE_CHECK_QT_JPEG + +if test "x$kde_use_qt_emb" != "xyes"; then +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' +else +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)' +fi +test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" + +AC_SUBST(LIB_QT) +AC_SUBST(LIB_QPE) + +AC_SUBST(kde_qtver) +]) + +AC_DEFUN(AC_PATH_QT, +[ +AC_PATH_QT_1_3 +]) + +AC_DEFUN(KDE_CHECK_UIC_PLUGINS, +[ +AC_REQUIRE([AC_PATH_QT_MOC_UIC]) + +if test x$ac_uic_supports_libpath = xyes; then + +AC_MSG_CHECKING([if UIC has KDE plugins available]) +AC_CACHE_VAL(kde_cv_uic_plugins, +[ +cat > actest.ui << EOF + +NewConnectionDialog + + + + testInput + + + + +EOF + + + +kde_cv_uic_plugins=no +kde_line="$UIC_PATH -L $kde_widgetdir" +if test x$ac_uic_supports_nounload = xyes; then + kde_line="$kde_line -nounload" +fi +kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" +if AC_TRY_EVAL(kde_line); then + if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then + kde_cv_uic_plugins=yes + fi +fi +rm -f actest.ui actest.cpp +]) + +if test "$kde_cv_uic_plugins" = yes; then + AC_MSG_RESULT([yes]) +else + AC_MSG_ERROR([not found - you need to install kdelibs first.]) +fi +fi +]) + +AC_DEFUN(KDE_CHECK_FINAL, +[ + AC_ARG_ENABLE(final, [ --enable-final build size optimized apps (experimental - needs lots of memory)], + kde_use_final=$enableval, kde_use_final=no) + + KDE_COMPILER_REPO + if test "x$kde_use_final" = "xyes"; then + KDE_USE_FINAL_TRUE="" + KDE_USE_FINAL_FALSE="#" + else + KDE_USE_FINAL_TRUE="#" + KDE_USE_FINAL_FALSE="" + fi + AC_SUBST(KDE_USE_FINAL_TRUE) + AC_SUBST(KDE_USE_FINAL_FALSE) + + AC_ARG_ENABLE(closure, [ --disable-closure don't delay template instantiation], + kde_use_closure=$enableval, kde_use_closure=yes) + + if test "x$kde_use_closure" = "xyes"; then + KDE_USE_CLOSURE_TRUE="" + KDE_USE_CLOSURE_FALSE="#" +# CXXFLAGS="$CXXFLAGS $REPO" + else + KDE_USE_CLOSURE_TRUE="#" + KDE_USE_CLOSURE_FALSE="" + fi + AC_SUBST(KDE_USE_CLOSURE_TRUE) + AC_SUBST(KDE_USE_CLOSURE_FALSE) +]) + +dnl ------------------------------------------------------------------------ +dnl Now, the same with KDE +dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) +dnl and $(kde_includes) will be the kdehdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(AC_BASE_PATH_KDE, +[ +AC_PREREQ([2.13]) +AC_REQUIRE([AC_PATH_QT])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_CHECK_RPATH +AC_MSG_CHECKING([for KDE]) + +if test "${prefix}" != NONE; then + kde_includes=${prefix}/include + ac_kde_includes=$prefix/include + + if test "${exec_prefix}" != NONE; then + kde_libraries=${libdir} + ac_kde_libraries=$libdir + if test "$ac_kde_libraries" = '${exec_prefix}/lib'${kdelibsuff}; then + ac_kde_libraries=$exec_prefix/lib${kdelibsuff} + fi + else + kde_libraries=${prefix}/lib${kdelibsuff} + ac_kde_libraries=$prefix/lib${kdelibsuff} + fi +else + ac_kde_includes= + ac_kde_libraries= + kde_libraries="" + kde_includes="" +fi + +AC_CACHE_VAL(ac_cv_have_kde, +[#try to guess kde locations + +if test "$kde_qtver" = 1; then + kde_check_header="ksock.h" + kde_check_lib="libkdecore.la" +else + kde_check_header="ksharedptr.h" + kde_check_lib="libkio.la" +fi + +if test -z "$1"; then + +kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" +test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" +kde_incdirs="$ac_kde_includes $kde_incdirs" +AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) +ac_kde_includes="$kde_incdir" + +if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then + AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE headers installed. This will fail. +So, check this please and use another prefix!]) +fi + +kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" +test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" +kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" +AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) +ac_kde_libraries="$kde_libdir" + +kde_widgetdir=NO +dnl this might be somewhere else +AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) + +if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then +AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE libraries installed. This will fail. +So, check this please and use another prefix!]) +fi + +if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then +AC_MSG_ERROR([ +I can't find the designer plugins. These are required and should have been installed +by kdelibs]) +fi + +if test -n "$kde_widgetdir"; then + kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" +fi + + +if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then + ac_cv_have_kde="have_kde=no" +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" +fi + +else dnl test -z $1 + + ac_cv_have_kde="have_kde=no" + +fi +])dnl + +eval "$ac_cv_have_kde" + +if test "$have_kde" != "yes"; then + if test "${prefix}" = NONE; then + ac_kde_prefix="$ac_default_prefix" + else + ac_kde_prefix="$prefix" + fi + if test "$exec_prefix" = NONE; then + ac_kde_exec_prefix="$ac_kde_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix]) + else + ac_kde_exec_prefix="$exec_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) + fi + + kde_libraries="${libdir}" + kde_includes=${ac_kde_prefix}/include + +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" + AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) + + kde_libraries="$ac_kde_libraries" + kde_includes="$ac_kde_includes" +fi +AC_SUBST(kde_libraries) +AC_SUBST(kde_includes) + +if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then + KDE_INCLUDES="" +else + KDE_INCLUDES="-I$kde_includes" + all_includes="$KDE_INCLUDES $all_includes" +fi + +KDE_LDFLAGS="-L$kde_libraries" +if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then + all_libraries="$all_libraries $KDE_LDFLAGS" +fi + +AC_SUBST(KDE_LDFLAGS) +AC_SUBST(KDE_INCLUDES) + +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +all_libraries="$all_libraries $USER_LDFLAGS" +all_includes="$all_includes $USER_INCLUDES" +AC_SUBST(all_includes) +AC_SUBST(all_libraries) + +if test -z "$1"; then +KDE_CHECK_UIC_PLUGINS +fi + +ac_kde_libraries="$kde_libdir" + +AC_SUBST(AUTODIRS) + + +]) + +AC_DEFUN(KDE_CHECK_EXTRA_LIBS, +[ +AC_MSG_CHECKING(for extra includes) +AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR + adds non standard include paths], + kde_use_extra_includes="$withval", + kde_use_extra_includes=NONE +) +kde_extra_includes= +if test -n "$kde_use_extra_includes" && \ + test "$kde_use_extra_includes" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_includes; do + kde_extra_includes="$kde_extra_includes $dir" + USER_INCLUDES="$USER_INCLUDES -I$dir" + done + IFS=$ac_save_ifs + kde_use_extra_includes="added" +else + kde_use_extra_includes="no" +fi +AC_SUBST(USER_INCLUDES) + +AC_MSG_RESULT($kde_use_extra_includes) + +kde_extra_libs= +AC_MSG_CHECKING(for extra libs) +AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths], + kde_use_extra_libs=$withval, + kde_use_extra_libs=NONE +) +if test -n "$kde_use_extra_libs" && \ + test "$kde_use_extra_libs" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_libs; do + kde_extra_libs="$kde_extra_libs $dir" + KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" + USER_LDFLAGS="$USER_LDFLAGS -L$dir" + done + IFS=$ac_save_ifs + kde_use_extra_libs="added" +else + kde_use_extra_libs="no" +fi + +AC_SUBST(USER_LDFLAGS) + +AC_MSG_RESULT($kde_use_extra_libs) + +]) + +AC_DEFUN(KDE_1_CHECK_PATH_HEADERS, +[ + AC_MSG_CHECKING([for KDE headers installed]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS +cat > conftest.$ac_ext < +#endif +#include +#include "confdefs.h" +#include + +int main() { + printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); + printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); + printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); + printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); + printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); + printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); + printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); + printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); + printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); + printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); + printf("kde_wallpaperdir=\\"%s\\"\n", + KApplication::kde_wallpaperdir().data()); + printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); + printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); + printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); + printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); + printf("kde_moduledir=\\"/tmp/dummy\\"\n"); + printf("kde_styledir=\\"/tmp/dummy\\"\n"); + printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); + return 0; + } +EOF + + ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext' + if AC_TRY_EVAL(ac_compile); then + AC_MSG_RESULT(yes) + else + AC_MSG_ERROR([your system is not able to compile a small KDE application! +Check, if you installed the KDE header files correctly. +For more details about this problem, look at the end of config.log.]) + fi + + AC_LANG_RESTORE +]) + +AC_DEFUN(KDE_CHECK_KDEQTADDON, +[ +AC_MSG_CHECKING(for kde-qt-addon) +AC_CACHE_VAL(kde_cv_have_kdeqtaddon, +[ + kde_ldflags_safe="$LDFLAGS" + kde_libs_safe="$LIBS" + kde_cxxflags_safe="$CXXFLAGS" + + LIBS="-lkde-qt-addon $LIBQT $LIBS" + CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" + LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" + + AC_TRY_LINK([ + #include + ], + [ + QDomDocument doc; + ], + kde_cv_have_kdeqtaddon=yes, + kde_cv_have_kdeqtaddon=no + ) + + LDFLAGS=$kde_ldflags_safe + LIBS=$kde_libs_safe + CXXFLAGS=$kde_cxxflags_safe +]) + +AC_MSG_RESULT($kde_cv_have_kdeqtaddon) + +if test "$kde_cv_have_kdeqtaddon" = "no"; then + AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. +It is a separate package (and CVS module) named kde-qt-addon.]) +fi +]) + +AC_DEFUN(KDE_CHECK_KIMGIO, +[ + AC_REQUIRE([AC_BASE_PATH_KDE]) + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + AC_REQUIRE([AC_FIND_TIFF]) + AC_REQUIRE([AC_FIND_JPEG]) + AC_REQUIRE([AC_FIND_PNG]) + AC_REQUIRE([KDE_CREATE_LIBS_ALIASES]) + + if test "$1" = "existance"; then + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + kde_save_LIBS="$LIBS" + LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm" + AC_CHECK_LIB(kimgio, kimgioRegister, [ + LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no) + LIBS="$kde_save_LIBS" + AC_LANG_RESTORE + else + LIBKIMGIO_EXISTS=yes + fi + + if test "$LIBKIMGIO_EXISTS" = "yes"; then + LIB_KIMGIO='-lkimgio' + else + LIB_KIMGIO='' + fi + AC_SUBST(LIB_KIMGIO) +]) + +AC_DEFUN(KDE_CREATE_LIBS_ALIASES, +[ + AC_REQUIRE([KDE_MISC_TESTS]) + AC_REQUIRE([KDE_CHECK_LIBDL]) + AC_REQUIRE([K_PATH_X]) + +if test $kde_qtver = 3; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KABC, "-lkabc") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") +# these are for backward compatibility + AC_SUBST(LIB_KSYCOCA, "-lkio") + AC_SUBST(LIB_KFILE, "-lkio") +elif test $kde_qtver = 2; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KSYCOCA, "-lksycoca") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KFILE, "-lkfile") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") +else + AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") + AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") + AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") + AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") + AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") +fi +]) + +AC_DEFUN(AC_PATH_KDE, +[ + AC_BASE_PATH_KDE + AC_ARG_ENABLE(path-check, [ --disable-path-check don't try to find out, where to install], + [ + if test "$enableval" = "no"; + then ac_use_path_checking="default" + else ac_use_path_checking="" + fi + ], + [ + if test "$kde_qtver" = 1; + then ac_use_path_checking="" + else ac_use_path_checking="default" + fi + ] + ) + + AC_CREATE_KFSSTND($ac_use_path_checking) + + AC_SUBST_KFSSTND + KDE_CREATE_LIBS_ALIASES +]) + +dnl KDE_CHECK_FUNC_EXT(, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) +AC_DEFUN(KDE_CHECK_FUNC_EXT, +[ +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL(kde_cv_func_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +save_CXXFLAGS="$CXXFLAGS" +kde_safe_LIBS="$LIBS" +LIBS="$LIBS $X_EXTRA_LIBS" +if test "$GXX" = "yes"; then + CXXFLAGS="$CXXFLAGS -pedantic-errors" +fi +AC_TRY_COMPILE([ +$2 +], +[ +$3 +], +kde_cv_func_$1=yes, +kde_cv_func_$1=no) +CXXFLAGS="$save_CXXFLAGS" +LIBS=$kde_safe_LIBS +AC_LANG_RESTORE +]) + +AC_MSG_RESULT($kde_cv_func_$1) + +AC_MSG_CHECKING([if $1 needs custom prototype]) +AC_CACHE_VAL(kde_cv_proto_$1, +[ +if test "x$kde_cv_func_$1" = xyes; then + kde_cv_proto_$1=no +else + case "$1" in + setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) + kde_cv_proto_$1="yes - in libkdefakes" + ;; + *) + kde_cv_proto_$1=unknown + ;; + esac +fi + +if test "x$kde_cv_proto_$1" = xunknown; then + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + kde_safe_libs=$LIBS + LIBS="$LIBS $X_EXTRA_LIBS" + AC_TRY_LINK([ +$2 + +extern "C" $4; +], +[ +$3 +], +[ kde_cv_func_$1=yes + kde_cv_proto_$1=yes ], + [kde_cv_proto_$1="$1 unavailable"] +) +LIBS=$kde_safe_libs +AC_LANG_RESTORE +fi +]) +AC_MSG_RESULT($kde_cv_proto_$1) + +if test "x$kde_cv_func_$1" = xyes; then + AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) + $6 +fi +if test "x$kde_cv_proto_$1" = xno; then + AC_DEFINE(HAVE_$5_PROTO, 1, + [Define if you have the $1 prototype]) +fi + +AH_VERBATIM([_HAVE_$5_PROTO], +[ +#if !defined(HAVE_$5_PROTO) +#ifdef __cplusplus +extern "C" +#endif +$4; +#endif +]) +]) + +AC_DEFUN(AC_CHECK_SETENV, +[ + KDE_CHECK_FUNC_EXT(setenv, [ +#include +], + [setenv("VAR", "VALUE", 1);], + [int setenv (const char *, const char *, int)], + [SETENV]) +]) + +AC_DEFUN(AC_CHECK_UNSETENV, +[ + KDE_CHECK_FUNC_EXT(unsetenv, [ +#include +], + [unsetenv("VAR");], + [void unsetenv (const char *)], + [UNSETENV]) +]) + +AC_DEFUN(AC_CHECK_GETDOMAINNAME, +[ + KDE_CHECK_FUNC_EXT(getdomainname, [ +#include +#include +], + [ +char buffer[200]; +getdomainname(buffer, 200); +], + [int getdomainname (char *, unsigned int)], + [GETDOMAINNAME]) +]) + +AC_DEFUN(AC_CHECK_GETHOSTNAME, +[ + KDE_CHECK_FUNC_EXT(gethostname, [ +#include +#include +], + [ +char buffer[200]; +gethostname(buffer, 200); +], + [int gethostname (char *, unsigned int)], + [GETHOSTNAME]) +]) + +AC_DEFUN(AC_CHECK_USLEEP, +[ + KDE_CHECK_FUNC_EXT(usleep, [ +#include +], + [ +usleep(200); +], + [int usleep (unsigned int)], + [USLEEP]) +]) + + +AC_DEFUN(AC_CHECK_RANDOM, +[ + KDE_CHECK_FUNC_EXT(random, [ +#include +], + [ +random(); +], + [long int random(void)], + [RANDOM]) + + KDE_CHECK_FUNC_EXT(srandom, [ +#include +], + [ +srandom(27); +], + [void srandom(unsigned int)], + [SRANDOM]) + +]) + +AC_DEFUN(AC_CHECK_INITGROUPS, +[ + KDE_CHECK_FUNC_EXT(initgroups, [ +#include +#include +#include +], + [ +char buffer[200]; +initgroups(buffer, 27); +], + [int initgroups(const char *, gid_t)], + [INITGROUPS]) +]) + +AC_DEFUN(AC_CHECK_MKSTEMP, +[ + KDE_CHECK_FUNC_EXT(mkstemp, [ +#include +], + [ +mkstemp("/tmp/aaaXXXXXX"); +], + [int mkstemp(char *)], + [MKSTEMP]) +]) + +AC_DEFUN(AC_CHECK_MKSTEMPS, +[ + KDE_CHECK_FUNC_EXT(mkstemps, [ +#include +#include +], + [ +mkstemps("/tmp/aaaXXXXXX", 6); +], + [int mkstemps(char *, int)], + [MKSTEMPS]) +]) + +AC_DEFUN(AC_CHECK_RES_INIT, +[ + AC_MSG_CHECKING([if res_init needs -lresolv]) + kde_libs_safe="$LIBS" + LIBS="$LIBS $X_EXTRA_LIBS -lresolv" + AC_TRY_LINK( + [ +#include +#include +#include +#include + ], + [ + res_init(); + ], + [ + LIBRESOLV="-lresolv" + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) + LIBS="$kde_libs_safe" + AC_SUBST(LIBRESOLV) + + AC_MSG_CHECKING([if res_init is available]) + AC_TRY_COMPILE( + [ +#include +#include +#include +#include + ], + [ + res_init(); + ], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) +]) + +AC_DEFUN(AC_CHECK_STRLCPY, +[ + KDE_CHECK_FUNC_EXT(strlcpy, [ +#include +], +[ char buf[20]; + strlcpy(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcpy(char*, const char*, unsigned long)], + [STRLCPY]) +]) + +AC_DEFUN(AC_CHECK_STRLCAT, +[ + KDE_CHECK_FUNC_EXT(strlcat, [ +#include +], +[ char buf[20]; + buf[0]='\0'; + strlcat(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcat(char*, const char*, unsigned long)], + [STRLCAT]) +]) + +AC_DEFUN(AC_FIND_GIF, + [AC_MSG_CHECKING([for giflib]) +AC_CACHE_VAL(ac_cv_lib_gif, +[ac_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes"; then +LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" +else +LIBS="$all_libraries -lgif" +fi +AC_TRY_LINK(dnl +[ +#ifdef __cplusplus +extern "C" { +#endif +int GifLastError(void); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [return GifLastError();], + eval "ac_cv_lib_gif=yes", + eval "ac_cv_lib_gif=no") +LIBS="$ac_save_LIBS" +])dnl +if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) +else + AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) +fi +]) + +AC_DEFUN(KDE_FIND_JPEG_HELPER, +[ +AC_MSG_CHECKING([for libjpeg$2]) +AC_CACHE_VAL(ac_cv_lib_jpeg_$1, +[ +AC_LANG_C +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" +ac_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[/* Override any gcc2 internal prototype to avoid an error. */ +struct jpeg_decompress_struct; +typedef struct jpeg_decompress_struct * j_decompress_ptr; +typedef int size_t; +#ifdef __cplusplus +extern "C" { +#endif + void jpeg_CreateDecompress(j_decompress_ptr cinfo, + int version, size_t structsize); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [jpeg_CreateDecompress(0L, 0, 0);], + eval "ac_cv_lib_jpeg_$1=-ljpeg$2", + eval "ac_cv_lib_jpeg_$1=no") +LIBS="$ac_save_LIBS" +CFLAGS="$ac_save_CFLAGS" +]) + +if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then + LIBJPEG="$ac_cv_lib_jpeg_$1" + AC_MSG_RESULT($ac_cv_lib_jpeg_$1) +else + AC_MSG_RESULT(no) + $3 +fi + +]) + +AC_DEFUN(AC_FIND_JPEG, +[ +dnl first look for libraries +KDE_FIND_JPEG_HELPER(6b, 6b, + KDE_FIND_JPEG_HELPER(normal, [], + [ + LIBJPEG= + ] + ) +) + +dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h +dnl requires system dependent includes loaded before it) +jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" +AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) +test "x$jpeg_incdir" = xNO && jpeg_incdir= + +dnl if headers _and_ libraries are missing, this is no error, and we +dnl continue with a warning (the user will get no jpeg support in khtml) +dnl if only one is missing, it means a configuration error, but we still +dnl only warn +if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then + AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) +else + if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then + AC_MSG_WARN([ +There is an installation error in jpeg support. You seem to have only one +of either the headers _or_ the libraries installed. You may need to either +provide correct --with-extra-... options, or the development package of +libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ +Disabling JPEG support. +]) + else + AC_MSG_WARN([libjpeg not found. disable JPEG support.]) + fi + jpeg_incdir= + LIBJPEG= +fi + +AC_SUBST(LIBJPEG) +AH_VERBATIM(_AC_CHECK_JPEG, +[/* + * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system + * headers and I'm too lazy to write a configure test as long as only + * unixware is related + */ +#ifdef _UNIXWARE +#define HAVE_BOOLEAN +#endif +]) +]) + +AC_DEFUN(KDE_CHECK_QT_JPEG, +[ +AC_MSG_CHECKING([if Qt needs $LIBJPEG]) +AC_CACHE_VAL(kde_cv_qt_jpeg, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS $LIBQT" +LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[#include ], + [ + int argc; + char** argv; + QApplication app(argc, argv);], + eval "kde_cv_qt_jpeg=no", + eval "kde_cv_qt_jpeg=yes") +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +]) + +if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then + AC_MSG_RESULT(yes) + LIBJPEG_QT='$(LIBJPEG)' +else + AC_MSG_RESULT(no) + LIBJPEG_QT= +fi + +]) + +AC_DEFUN(AC_FIND_ZLIB, +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for libz]) +AC_CACHE_VAL(ac_cv_lib_z, +[ +AC_LANG_C +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#include +], + [return (zlibVersion() == ZLIB_VERSION); ], + eval "ac_cv_lib_z='-lz'", + eval "ac_cv_lib_z=no") +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if test ! "$ac_cv_lib_z" = no; then + AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) + LIBZ="$ac_cv_lib_z" + AC_SUBST(LIBZ) + AC_MSG_RESULT($ac_cv_lib_z) +else + AC_MSG_ERROR(not found. Check your installation and look into config.log) + LIBZ="" + AC_SUBST(LIBZ) +fi +]) + +AC_DEFUN(KDE_TRY_TIFFLIB, +[ +AC_MSG_CHECKING([for libtiff $1]) + +AC_CACHE_VAL(kde_cv_libtiff_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes"; then +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" +else +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" +fi +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl +[ +#include +], + [return (TIFFOpen( "", "r") == 0); ], +[ + kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" +], [ + kde_cv_libtiff_$1=no +]) + +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +]) + +if test "$kde_cv_libtiff_$1" = "no"; then + AC_MSG_RESULT(no) + LIBTIFF="" + $3 +else + LIBTIFF="$kde_cv_libtiff_$1" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) + $2 +fi + +]) + +AC_DEFUN(AC_FIND_TIFF, +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +KDE_TRY_TIFFLIB(tiff, [], + KDE_TRY_TIFFLIB(tiff34)) + +AC_SUBST(LIBTIFF) +]) + + +AC_DEFUN(AC_FIND_PNG, +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_MSG_CHECKING([for libpng]) +AC_CACHE_VAL(ac_cv_lib_png, +[ +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes"; then +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" +else +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" +fi +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_LANG_C +AC_TRY_LINK(dnl + [ + #include + ], + [ + png_structp png_ptr = png_create_read_struct( /* image ptr */ + PNG_LIBPNG_VER_STRING, 0, 0, 0 ); + return( png_ptr != 0 ); + ], + eval "ac_cv_lib_png='-lpng $LIBZ -lm'", + eval "ac_cv_lib_png=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) + LIBPNG="$ac_cv_lib_png" + AC_SUBST(LIBPNG) + AC_MSG_RESULT($ac_cv_lib_png) +else + AC_MSG_RESULT(no) + LIBPNG="" + AC_SUBST(LIBPNG) +fi +]) + +AC_DEFUN(AC_CHECK_BOOL, +[ + AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) +]) + +AC_DEFUN(AC_CHECK_GNU_EXTENSIONS, +[ +AC_MSG_CHECKING(if you need GNU extensions) +AC_CACHE_VAL(ac_cv_gnu_extensions, +[ +cat > conftest.c << EOF +#include + +#ifdef __GNU_LIBRARY__ +yes +#endif +EOF + +if (eval "$ac_cpp conftest.c") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_gnu_extensions=yes +else + ac_cv_gnu_extensions=no +fi +]) + +AC_MSG_RESULT($ac_cv_gnu_extensions) +if test "$ac_cv_gnu_extensions" = "yes"; then + AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) +fi +]) + +AC_DEFUN(KDE_CHECK_COMPILER_FLAG, +[ +AC_MSG_CHECKING(whether $CXX supports -$1) +kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` +AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + +dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables +dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) +dnl it's all white-space separated +AC_DEFUN(AC_REMOVE_FORBIDDEN, +[ __val=$$1 + __forbid=" $2 " + if test -n "$__val"; then + __new="" + ac_save_IFS=$IFS + IFS=" " + for i in $__val; do + case "$__forbid" in + *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; + *) # Careful to not add spaces, where there were none, because otherwise + # libtool gets confused, if we change e.g. CXX + if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; + esac + done + IFS=$ac_save_IFS + $1=$__new + fi +]) + +dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given +AC_DEFUN(AC_VALIDIFY_CXXFLAGS, +[dnl +if test "x$kde_use_qt_emb" != "xyes"; then + AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) +else + AC_REMOVE_FORBIDDEN(CXX, [-rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) +fi +]) + +AC_DEFUN(AC_CHECK_COMPILERS, +[ + AC_ARG_ENABLE(debug,[ --enable-debug[=ARG] enables debug symbols (yes|no|full) [default=no]], + [ + case $enableval in + yes) + kde_use_debug_code="yes" + kde_use_debug_define=no + ;; + full) + kde_use_debug_code="full" + kde_use_debug_define=no + ;; + *) + kde_use_debug_code="no" + kde_use_debug_define=yes + ;; + esac + ], + [kde_use_debug_code="no" + kde_use_debug_define=no + ]) + + dnl Just for configure --help + AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[]) + + AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)], + [ + if test $enableval = "no"; then + kde_use_strict_options="no" + else + kde_use_strict_options="yes" + fi + ], [kde_use_strict_options="no"]) + + AC_ARG_ENABLE(warnings,[ --disable-warnings disables compilation with -Wall and similiar], + [ + if test $enableval = "no"; then + kde_use_warnings="no" + else + kde_use_warnings="yes" + fi + ], [kde_use_warnings="yes"]) + + dnl enable warnings for debug build + if test "$kde_use_debug_code" != "no"; then + kde_use_warnings=yes + fi + + AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]], + [kde_use_profiling=$enableval], + [kde_use_profiling="no"] + ) + + AC_ARG_ENABLE(gcov,[ --enable-gcov enables gcov test coverage support [default=no]], + [kde_use_gcov=$enableval], + [kde_use_gcov=no] + ) + + dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS + CFLAGS=" $CFLAGS" + + AC_PROG_CC + + AC_PROG_CPP + + if test "$GCC" = "yes"; then + if test "$kde_use_debug_code" != "no"; then + if test $kde_use_debug_code = "full" || test $kde_use_gcov = "yes"; then + CFLAGS="-g3 $CFLAGS" + else + CFLAGS="-g -O2 $CFLAGS" + fi + else + CFLAGS="-O2 $CFLAGS" + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CFLAGS="-DNDEBUG $CFLAGS" + fi + + + case "$host" in + *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; + *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; + esac + + if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then + LDFLAGS="" + fi + + CXXFLAGS=" $CXXFLAGS" + + AC_PROG_CXX + + if test "$GXX" = "yes" || test "$CXX" = "KCC"; then + if test "$kde_use_debug_code" != "no"; then + if test "$CXX" = "KCC"; then + CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + else + if test "$kde_use_debug_code" = "full"; then + CXXFLAGS="-g3 $CXXFLAGS" + else + CXXFLAGS="-g -O2 $CXXFLAGS" + fi + fi + KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) + + dnl convenience compiler flags + KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) + AC_SUBST(WOVERLOADED_VIRTUAL) + else + if test "$CXX" = "KCC"; then + CXXFLAGS="+K3 $CXXFLAGS" + else + CXXFLAGS="-O2 $CXXFLAGS" + fi + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" + fi + + if test "$kde_use_profiling" = "yes"; then + KDE_CHECK_COMPILER_FLAG(pg, + [ + CFLAGS="-pg $CFLAGS" + CXXFLAGS="-pg $CXXFLAGS" + ]) + fi + + if test "$kde_use_gcov" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fprofile-arcs, + [ + CFLAGS="-fprofile-arcs -ftest-coverage $CFLAGS" + CXXFLAGS="-fprofile-arcs -ftest-coverage $CXXFLAGS" + ]) + fi + + if test "$kde_use_warnings" = "yes"; then + if test "$GCC" = "yes"; then + case $host in + *-*-linux-gnu) + CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS" + ;; + esac + CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) + fi + fi + + if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then + CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" + fi + + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) + KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) + KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) + fi + if test "$CXX" = "KCC"; then + dnl unfortunately we currently cannot disable exception support in KCC + dnl because doing so is binary incompatible and Qt by default links with exceptions :-( + dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) + dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) + + AC_ARG_ENABLE(pch,[ --enable-pch enables precompiled header support (currently only KCC) [default=no]], + [ + kde_use_pch=$enableval + ],[kde_use_pch=no]) + + if test "$kde_use_pch" = "yes"; then + dnl TODO: support --pch-dir! + KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) + dnl the below works (but the dir must exist), but it's + dnl useless for a whole package. + dnl The are precompiled headers for each source file, so when compiling + dnl from scratch, it doesn't make a difference, and they take up + dnl around ~5Mb _per_ sourcefile. + dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, + dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) + fi + dnl this flag controls inlining. by default KCC inlines in optimisation mode + dnl all implementations that are defined inside the class {} declaration. + dnl because of templates-compatibility with broken gcc compilers, this + dnl can cause excessive inlining. This flag limits it to a sane level + KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) + KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) + KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) + KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) + dnl Some source files are shared between multiple executables + dnl (or libraries) and some of those need template instantiations. + dnl In that case KCC needs to compile those sources with + dnl --one_instantiation_per_object. To make it easy for us we compile + dnl _all_ objects with that flag (--one_per is a shorthand). + KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) + fi + AC_SUBST(USE_EXCEPTIONS) + dnl obsolete macro - provided to keep things going + USE_RTTI= + AC_SUBST(USE_RTTI) + + case "$host" in + *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; + *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; + *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; + *-*-solaris*) + if test "$GXX" = yes; then + libstdcpp=`$CXX -print-file-name=libstdc++.so` + if test ! -f $libstdcpp; then + AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) + fi + fi + ;; + esac + + AC_VALIDIFY_CXXFLAGS + + AC_PROG_CXXCPP + + if test "$GCC" = yes; then + NOOPT_CXXFLAGS=-O0 + NOOPT_CFLAGS=-O0 + fi + + AC_SUBST(NOOPT_CXXFLAGS) + AC_SUBST(NOOPT_CFLAGS) + + KDE_CHECK_FINAL + + ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) +]) + +AC_DEFUN(KDE_ADD_DEPENDENCIES, +[ + [A]M_DEPENDENCIES(CC) + [A]M_DEPENDENCIES(CXX) +]) + +dnl just a wrapper to clean up configure.in +AC_DEFUN(KDE_PROG_LIBTOOL, +[ +AC_REQUIRE([AC_CHECK_COMPILERS]) +AC_REQUIRE([AC_ENABLE_SHARED]) +AC_REQUIRE([AC_ENABLE_STATIC]) + +AC_REQUIRE([AC_LIBTOOL_DLOPEN]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_LANG_SAVE +AC_LANG_C +AC_OBJEXT +AC_EXEEXT +AC_LANG_RESTORE + +AM_PROG_LIBTOOL +AC_LIBTOOL_CXX + +LIBTOOL_SHELL="/bin/sh ./libtool" +# LIBTOOL="$LIBTOOL --silent" +KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" +AC_SUBST(KDE_PLUGIN) + +AC_ARG_ENABLE(objprelink, [ --enable-objprelink prelink apps using objprelink (obsolete)], + kde_use_objprelink=$enableval, kde_use_objprelink=no) + if test "x$kde_use_objprelink" = "xyes"; then + AC_MSG_WARN([ +------------------------------------------------------------ +Configuration option --enable-objprelink is no longer useful. +See http:://objprelink.sourceforge.net for details: +1- Recent binutils are fast enough to do without objprelink. +2- Newer versions of objprelink do not need this option. +------------------------------------------------------------ +]) + fi +]) + +AC_DEFUN(KDE_CHECK_LIB64, +[ + kdelibsuff=none + AC_ARG_ENABLE(libsuffix, + AC_HELP_STRING([--enable-libsuffix], + [/lib directory suffix (64,32,none[=default])]), + kdelibsuff=$enableval) + # TODO: add an auto case that compiles a little C app to check + # where the glibc is + if test "$kdelibsuff" = "none"; then + kdelibsuff= + fi + if test -z "$kdelibsuff"; then + AC_MSG_RESULT([not using lib directory suffix]) + AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) + else + if test "$libdir" = '${exec_prefix}/lib'; then + libdir="$libdir${kdelibsuff}" + AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms + fi + AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories) + AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) + fi +]) + +AC_DEFUN(KDE_CHECK_TYPES, +[ AC_CHECK_SIZEOF(int, 4)dnl + AC_CHECK_SIZEOF(long, 4)dnl + AC_CHECK_SIZEOF(char *, 4)dnl + AC_CHECK_SIZEOF(char, 1)dnl +])dnl + +AC_DEFUN(KDE_DO_IT_ALL, +[ +AC_CANONICAL_SYSTEM +AC_ARG_PROGRAM +AM_INIT_AUTOMAKE($1, $2) +AM_DISABLE_LIBRARIES +AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) +AC_CHECK_COMPILERS +KDE_PROG_LIBTOOL +AM_KDE_WITH_NLS +AC_PATH_KDE +]) + +AC_DEFUN(AC_CHECK_RPATH, +[ +AC_MSG_CHECKING(for rpath) +AC_ARG_ENABLE(rpath, + [ --disable-rpath do not use the rpath feature of ld], + USE_RPATH=$enableval, USE_RPATH=yes) + +if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then + + KDE_RPATH="-R \$(kde_libraries)" + + if test -n "$qt_libraries"; then + KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" + fi + dnl $x_libraries is set to /usr/lib in case + if test -n "$X_LDFLAGS"; then + X_RPATH="-R \$(x_libraries)" + KDE_RPATH="$KDE_RPATH $X_RPATH" + fi + if test -n "$KDE_EXTRA_RPATH"; then + KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" + fi +fi +AC_SUBST(KDE_EXTRA_RPATH) +AC_SUBST(KDE_RPATH) +AC_SUBST(X_RPATH) +AC_MSG_RESULT($USE_RPATH) +]) + +dnl Check for the type of the third argument of getsockname +AC_DEFUN(AC_CHECK_SOCKLEN_T, [ + AC_MSG_CHECKING(for socklen_t) + AC_CACHE_VAL(ac_cv_socklen_t, [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#include +#include + ],[ +socklen_t a=0; +getsockname(0,(struct sockaddr*)0, &a); + ], + ac_cv_socklen_t=socklen_t, + AC_TRY_COMPILE([ +#include +#include + ],[ +int a=0; +getsockname(0,(struct sockaddr*)0, &a); + ], + ac_cv_socklen_t=int, + ac_cv_socklen_t=size_t + ) + ) + AC_LANG_RESTORE + ]) + + AC_MSG_RESULT($ac_cv_socklen_t) + if test "$ac_cv_socklen_t" != "socklen_t"; then + AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t, + [Define the real type of socklen_t]) + fi + AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define]) + +]) + +dnl This is a merge of some macros out of the gettext aclocal.m4 +dnl since we don't need anything, I took the things we need +dnl the copyright for them is: +dnl > +dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +dnl This Makefile.in is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. +dnl > +dnl for this file it is relicensed under LGPL + +AC_DEFUN(AM_KDE_WITH_NLS, + [ + dnl If we use NLS figure out what method + + AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, + [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then + AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + MSGFMT=$GMSGFMT + AC_SUBST(GMSGFMT) + AC_SUBST(MSGFMT) + + AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext programs is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + AC_SUBST(XGETTEXT) + + ]) + +# Search path for a program which passes the given test. +# Ulrich Drepper , 1996. + +# serial 1 +# Stephan Kulow: I appended a _KDE against name conflicts + +dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE, +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test -n "[$]$1"; then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + + +# Check whether LC_MESSAGES is available in . +# Ulrich Drepper , 1995. + +# serial 1 + +AC_DEFUN(AM_LC_MESSAGES, + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) + fi + fi]) + +dnl From Jim Meyering. +dnl FIXME: migrate into libit. + +AC_DEFUN([AM_FUNC_OBSTACK], +[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)], + am_cv_func_obstack=yes, + am_cv_func_obstack=no)]) + if test $am_cv_func_obstack = yes; then + AC_DEFINE(HAVE_OBSTACK) + else + LIBOBJS="$LIBOBJS obstack.o" + fi +]) + +dnl From Jim Meyering. Use this if you use the GNU error.[ch]. +dnl FIXME: Migrate into libit + +AC_DEFUN([AM_FUNC_ERROR_AT_LINE], +[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, + [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], + am_cv_lib_error_at_line=yes, + am_cv_lib_error_at_line=no)]) + if test $am_cv_lib_error_at_line = no; then + LIBOBJS="$LIBOBJS error.o" + fi + AC_SUBST(LIBOBJS)dnl +]) + +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995. + +# serial 1 +# Stephan Kulow: I put a KDE in it to avoid name conflicts + +AC_DEFUN(AM_KDE_GNU_GETTEXT, + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([AM_KDE_WITH_NLS])dnl + AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ +__argz_count __argz_stringify __argz_next]) + + AC_MSG_CHECKING(for stpcpy) + AC_CACHE_VAL(kde_cv_func_stpcpy, + [ + kde_safe_cxxflags=$CXXFLAGS + CXXFLAGS="-Werror" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include + ], + [ + char buffer[200]; + stpcpy(buffer, buffer); + ], + kde_cv_func_stpcpy=yes, + kde_cv_func_stpcpy=no) + AC_LANG_RESTORE + CXXFLAGS=$kde_safe_cxxflags + ]) + AC_MSG_RESULT($kde_cv_func_stpcpy) + if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then + AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) + fi + + AM_LC_MESSAGES + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + ]) + +AC_DEFUN(AC_HAVE_XPM, + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= + test -z "$XPM_INCLUDE" && XPM_INCLUDE= + + AC_ARG_WITH(xpm, [ --without-xpm disable color pixmap XPM tests], + xpm_test=$withval, xpm_test="yes") + if test "x$xpm_test" = xno; then + ac_cv_have_xpm=no + else + AC_MSG_CHECKING(for XPM) + AC_CACHE_VAL(ac_cv_have_xpm, + [ + AC_LANG_C + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + if test "x$kde_use_qt_emb" != "xyes"; then + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" + else + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" + fi + CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" + test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" + AC_TRY_LINK([#include ],[], + ac_cv_have_xpm="yes",ac_cv_have_xpm="no") + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + ])dnl + + if test "$ac_cv_have_xpm" = no; then + AC_MSG_RESULT(no) + XPM_LDFLAGS="" + XPMINC="" + $2 + else + AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) + if test "$XPM_LDFLAGS" = ""; then + XPMLIB='-lXpm $(LIB_X11)' + else + XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' + fi + if test "$XPM_INCLUDE" = ""; then + XPMINC="" + else + XPMINC="-I$XPM_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + AC_SUBST(XPMINC) + AC_SUBST(XPMLIB) +]) + +AC_DEFUN(AC_HAVE_DPMS, + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= + test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= + DPMS_LIB= + + AC_ARG_WITH(dpms, [ --without-dpms disable DPMS power saving], + dpms_test=$withval, dpms_test="yes") + if test "x$dpms_test" = xno; then + ac_cv_have_dpms=no + else + AC_MSG_CHECKING(for DPMS) + dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. + dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". + AC_CACHE_VAL(ac_cv_have_dpms, + [ + if test "x$kde_use_qt_emb" = "xyes"; then + AC_MSG_RESULT(no) + ac_cv_have_dpms="no" + else + AC_LANG_C + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + ac_save_libs="$LIBS" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include + #include + #include + #include + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + ac_cv_have_dpms="yes", [ + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + LIBS="$LIBS -lXdpms" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include + #include + #include + #include + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + [ + ac_cv_have_dpms="-lXdpms" + ],ac_cv_have_dpms="no") + ]) + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LIBS="$ac_save_libs" + fi + ])dnl + + if test "$ac_cv_have_dpms" = no; then + AC_MSG_RESULT(no) + DPMS_LDFLAGS="" + DPMSINC="" + $2 + else + AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) + if test "$ac_cv_have_dpms" = "-lXdpms"; then + DPMS_LIB="-lXdpms" + fi + if test "$DPMS_LDFLAGS" = ""; then + DPMSLIB="$DPMS_LIB "'$(LIB_X11)' + else + DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' + fi + if test "$DPMS_INCLUDE" = ""; then + DPMSINC="" + else + DPMSINC="-I$DPMS_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + AC_SUBST(DPMSINC) + AC_SUBST(DPMSLIB) +]) + +AC_DEFUN(AC_HAVE_GL, + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$GL_LDFLAGS" && GL_LDFLAGS= + test -z "$GL_INCLUDE" && GL_INCLUDE= + + AC_ARG_WITH(gl, [ --without-gl disable 3D GL modes], + gl_test=$withval, gl_test="yes") + if test "x$kde_use_qt_emb" = "xyes"; then + # GL and Qt Embedded is a no-go for now. + ac_cv_have_gl=no + elif test "x$gl_test" = xno; then + ac_cv_have_gl=no + else + AC_MSG_CHECKING(for GL) + AC_CACHE_VAL(ac_cv_have_gl, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_ldflags="$LDFLAGS" + ac_save_cxxflags="$CXXFLAGS" + LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" + test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$CFLAGS $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include +#include +], [], + ac_cv_have_gl="mesa", ac_cv_have_gl="no") + if test "x$ac_cv_have_gl" = "xno"; then + LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL" + test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$ac_save_cflags $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include +#include +], [], + ac_cv_have_gl="yes", ac_cv_have_gl="no") + fi + AC_LANG_RESTORE + LDFLAGS="$ac_save_ldflags" + CXXFLAGS="$ac_save_cxxflags" + ])dnl + + if test "$ac_cv_have_gl" = "no"; then + AC_MSG_RESULT(no) + GL_LDFLAGS="" + GLINC="" + $2 + else + AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) + if test "$GL_LDFLAGS" = ""; then + if test "$ac_cv_have_gl" = "mesa"; then + GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)' + else + GLLIB='-lGLU -lGL $(LIB_X11)' + fi + else + if test "$ac_cv_have_gl" = "mesa"; then + GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)' + else + GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' + fi + fi + if test "$GL_INCLUDE" = ""; then + GLINC="" + else + GLINC="-I$GL_INCLUDE" + fi + AC_MSG_RESULT($ac_cv_have_gl) + $1 + fi + fi + AC_SUBST(GLINC) + AC_SUBST(GLLIB) +]) + + + dnl shadow password and PAM magic - maintained by ossi@kde.org + +AC_DEFUN(KDE_PAM, [ + AC_REQUIRE([KDE_CHECK_LIBDL]) + + AC_ARG_WITH(pam, + [ --with-pam[=ARG] enable support for PAM: ARG=[yes|no|service name]], + [ if test "x$withval" = "xyes"; then + use_pam=yes + pam_service=kde + elif test "x$withval" = "xno"; then + use_pam=no + else + use_pam=yes + pam_service=$withval + fi + ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" + ], [ + AC_CACHE_VAL(ac_cv_path_pam, + [ use_pam=no + AC_CHECK_LIB(pam, pam_start, + [ AC_CHECK_HEADER(security/pam_appl.h, + [ use_pam=yes + pam_service=kde ]) + ], , $LIBDL) + ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" + ]) + ]) + eval "$ac_cv_path_pam" + + AC_MSG_CHECKING(for PAM) + if test "x$use_pam" = xno; then + AC_MSG_RESULT(no) + PAMLIBS="" + else + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) + PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + + dnl test whether struct pam_message is const (Linux) or not (Sun) + AC_MSG_CHECKING(for const pam_message) + AC_EGREP_HEADER([struct pam_message], security/pam_appl.h, + [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h, + [AC_MSG_RESULT([const: Linux-type PAM])], + [AC_MSG_RESULT([nonconst: Sun-type PAM]) + AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] + )], + [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + fi + + AC_SUBST(PAMLIBS) +]) + +dnl DEF_PAM_SERVICE(arg name, full name, define name) +AC_DEFUN(DEF_PAM_SERVICE, [ + AC_ARG_WITH($1-pam, + [ --with-$1-pam=[val] override PAM service from --with-pam for $2], + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE="$withval" + else + AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. +You may want to enforce it by using --with-pam.]) + fi + ], + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE="$pam_service" + fi + ]) + if test -n "$$3_PAM_SERVICE"; then + AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) + AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) + fi + AC_SUBST($3_PAM_SERVICE) +]) + +AC_DEFUN(KDE_SHADOWPASSWD, [ + AC_REQUIRE([KDE_PAM]) + + AC_CHECK_LIB(shadow, getspent, + [ LIBSHADOW="-lshadow" + ac_use_shadow=yes + ], + [ dnl for UnixWare + AC_CHECK_LIB(gen, getspent, + [ LIBGEN="-lgen" + ac_use_shadow=yes + ], + [ AC_CHECK_FUNC(getspent, + [ ac_use_shadow=yes ], + [ ac_use_shadow=no ]) + ]) + ]) + AC_SUBST(LIBSHADOW) + AC_SUBST(LIBGEN) + + AC_MSG_CHECKING([for shadow passwords]) + + AC_ARG_WITH(shadow, + [ --with-shadow If you want shadow password support ], + [ if test "x$withval" != "xno"; then + use_shadow=yes + else + use_shadow=no + fi + ], [ + use_shadow="$ac_use_shadow" + ]) + + if test "x$use_shadow" = xyes; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) + else + AC_MSG_RESULT(no) + LIBSHADOW= + LIBGEN= + fi + + dnl finally make the relevant binaries setuid root, if we have shadow passwds. + dnl this still applies, if we could use it indirectly through pam. + if test "x$use_shadow" = xyes || + ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then + case $host in + *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) + SETUIDFLAGS="-m 4755 -o root";; + *) + SETUIDFLAGS="-m 4755";; + esac + fi + AC_SUBST(SETUIDFLAGS) + +]) + +AC_DEFUN(KDE_PASSWDLIBS, [ + AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT + AC_REQUIRE([KDE_PAM]) + AC_REQUIRE([KDE_SHADOWPASSWD]) + + if test "x$use_pam" = "xyes"; then + PASSWDLIBS="$PAMLIBS" + else + PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" + fi + + dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but + dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires + dnl root to read, so kcheckpass needs to be root (even when using pam, since pam + dnl may need to read /etc/master.passwd). + case $host in + *-*-freebsd*) + SETUIDFLAGS="-m 4755 -o root" + ;; + *) + ;; + esac + + AC_SUBST(PASSWDLIBS) +]) + +AC_DEFUN(KDE_CHECK_LIBDL, +[ +AC_CHECK_LIB(dl, dlopen, [ +LIBDL="-ldl" +ac_cv_have_dlfcn=yes +]) + +AC_CHECK_LIB(dld, shl_unload, [ +LIBDL="-ldld" +ac_cv_have_shload=yes +]) + +AC_SUBST(LIBDL) +]) + +AC_DEFUN(KDE_CHECK_DLOPEN, +[ +KDE_CHECK_LIBDL +AC_CHECK_HEADERS(dlfcn.h dl.h) +if test "$ac_cv_header_dlfcn_h" = "no"; then + ac_cv_have_dlfcn=no +fi + +if test "$ac_cv_header_dl_h" = "no"; then + ac_cv_have_shload=no +fi + +dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE +dnl (MM) +AC_ARG_ENABLE(dlopen, +[ --disable-dlopen link statically [default=no]] , +enable_dlopen=$enableval, +enable_dlopen=yes) + +# override the user's opinion, if we know it better ;) +if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then + enable_dlopen=no +fi + +if test "$ac_cv_have_dlfcn" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) +fi + +if test "$ac_cv_have_shload" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) +fi + +if test "$enable_dlopen" = no ; then + test -n "$1" && eval $1 +else + test -n "$2" && eval $2 +fi + +]) + +AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING, +[ +KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) +KDE_PROG_LIBTOOL +AC_MSG_CHECKING([dynamic loading]) +eval "`egrep '^build_libtool_libs=' libtool`" +if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then + dynamic_loading=yes + AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) +else + dynamic_loading=no +fi +AC_MSG_RESULT($dynamic_loading) +if test "$dynamic_loading" = "yes"; then + $1 +else + $2 +fi +]) + +AC_DEFUN(KDE_ADD_INCLUDES, +[ +if test -z "$1"; then + test_include="Pix.h" +else + test_include="$1" +fi + +AC_MSG_CHECKING([for libg++ ($test_include)]) + +AC_CACHE_VAL(kde_cv_libgpp_includes, +[ +kde_cv_libgpp_includes=no + + for ac_dir in \ + \ + /usr/include/g++ \ + /usr/include \ + /usr/unsupported/include \ + /opt/include \ + $extra_include \ + ; \ + do + if test -r "$ac_dir/$test_include"; then + kde_cv_libgpp_includes=$ac_dir + break + fi + done +]) + +AC_MSG_RESULT($kde_cv_libgpp_includes) +if test "$kde_cv_libgpp_includes" != "no"; then + all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" +fi +]) +]) + + +AC_DEFUN(KDE_CHECK_MICO, +[ +AC_REQUIRE([KDE_CHECK_LIBDL]) +AC_REQUIRE([KDE_MISC_TESTS]) +AC_MSG_CHECKING(for MICO) + +if test -z "$MICODIR"; then + kde_micodir=/usr/local + else + kde_micodir="$MICODIR" +fi + +AC_ARG_WITH(micodir, + [ --with-micodir=micodir where mico is installed ], + kde_micodir=$withval, + kde_micodir=$kde_micodir +) + +AC_CACHE_VAL(kde_cv_mico_incdir, +[ + mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes" +AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir) + +]) +kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'` + +if test ! -r $kde_micodir/include/CORBA.h; then + AC_MSG_ERROR([No CORBA.h found, specify another micodir]) +fi + +AC_MSG_RESULT($kde_micodir) + +MICO_INCLUDES=-I$kde_micodir/include +AC_SUBST(MICO_INCLUDES) +MICO_LDFLAGS=-L$kde_micodir/lib +AC_SUBST(MICO_LDFLAGS) +micodir=$kde_micodir +AC_SUBST(micodir) + +AC_MSG_CHECKING([for MICO version]) +AC_CACHE_VAL(kde_cv_mico_version, +[ +AC_LANG_C +cat >conftest.$ac_ext < +#include +int main() { + + printf("MICO_VERSION=%s\n",MICO_VERSION); + return (0); +} +EOF +ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest' +if AC_TRY_EVAL(ac_compile); then + if eval `./conftest 2>&5`; then + kde_cv_mico_version=$MICO_VERSION + else + AC_MSG_ERROR([your system is not able to execute a small application to + find MICO version! Check $kde_micodir/include/mico/version.h]) + fi +else + AC_MSG_ERROR([your system is not able to compile a small application to + find MICO version! Check $kde_micodir/include/mico/version.h]) +fi +]) + +dnl installed MICO version +mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'` +mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'` +mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'` + +if test "x$1" = "x"; then + req_version="2.3.0" +else + req_version=$1 +fi + +dnl required MICO version +req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'` +req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'` +req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'` + +if test "$mico_v_maj" -lt "$req_v_maj" || \ + ( test "$mico_v_maj" -eq "$req_v_maj" && \ + test "$mico_v_mid" -lt "$req_v_mid" ) || \ + ( test "$mico_v_mid" -eq "$req_v_mid" && \ + test "$mico_v_min" -lt "$req_v_min" ) + +then + AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \ +at least is required. You should upgrade MICO.]) +else + AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)]) +fi + +LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL" +AC_SUBST(LIBMICO) +if test -z "$IDL"; then + IDL='$(kde_bindir)/cuteidl' +fi +AC_SUBST(IDL) +IDL_DEPENDENCIES='$(kde_includes)/CUTE.h' +AC_SUBST(IDL_DEPENDENCIES) + +idldir="\$(includedir)/idl" +AC_SUBST(idldir) + +]) + +AC_DEFUN(KDE_CHECK_MINI_STL, +[ +AC_REQUIRE([KDE_CHECK_MICO]) + +AC_MSG_CHECKING(if we use mico's mini-STL) +AC_CACHE_VAL(kde_cv_have_mini_stl, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_cxxflags="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $MICO_INCLUDES" +AC_TRY_COMPILE( +[ +#include +], +[ +#ifdef HAVE_MINI_STL +#error "nothing" +#endif +], +kde_cv_have_mini_stl=no, +kde_cv_have_mini_stl=yes) +CXXFLAGS="$kde_save_cxxflags" +AC_LANG_RESTORE +]) + +if test "x$kde_cv_have_mini_stl" = "xyes"; then + AC_MSG_RESULT(yes) + $1 +else + AC_MSG_RESULT(no) + $2 +fi +]) + +]) + + +AC_DEFUN(KDE_CHECK_LIBPTHREAD, +[ +AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) +AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN(KDE_CHECK_PTHREAD_OPTION, +[ + AC_ARG_ENABLE(kernel-threads, [ --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.], + kde_use_kernthreads=$enableval, kde_use_kernthreads=no) + + if test "$kde_use_kernthreads" = "yes"; then + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_CFLAGS="$CFLAGS" + CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS" + CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS" + AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h) + CXXFLAGS="$ac_save_CXXFLAGS" + CFLAGS="$ac_save_CFLAGS" + if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then + kde_use_kernthreads=no + else + dnl Add proper -I and -l statements + AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD + if test "x$LIBPTHREAD" = "x"; then + kde_use_kernthreads=no + else + USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" + fi + fi + else + USE_THREADS="" + if test -z "$LIBPTHREAD"; then + KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] ) + fi + fi + + AH_VERBATIM(__svr_define, [ +#if defined(__SVR4) && !defined(__svr4__) +#define __svr4__ 1 +#endif +]) + case $host_os in + solaris*) + KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) + CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" + ;; + freebsd*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + ;; + aix*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + LIBPTHREAD="$LIBPTHREAD -lc_r" + ;; + linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" + if test "$CXX" = "KCC"; then + CXXFLAGS="$CXXFLAGS --thread_safe" + NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" + fi + ;; + *) + ;; + esac + AC_SUBST(USE_THREADS) + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN(KDE_CHECK_THREADING, +[ + AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) + AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) + dnl default is yes if libpthread is found and no if no libpthread is available + if test -z "$LIBPTHREAD"; then + if test -z "$USE_THREADS"; then + kde_check_threading_default=no + else + kde_check_threading_default=yes + fi + else + kde_check_threading_default=yes + fi + AC_ARG_ENABLE(threading, [ --disable-threading disables threading even if libpthread found ], + kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) + if test "x$kde_use_threading" = "xyes"; then + AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) + fi +]) + +AC_DEFUN(KDE_TRY_LINK_PYTHON, +[ +if test "$kde_python_link_found" = no; then + +if test "$1" = normal; then + AC_MSG_CHECKING(if a Python application links) +else + AC_MSG_CHECKING(if Python depends on $2) +fi + +AC_CACHE_VAL(kde_cv_try_link_python_$1, +[ +AC_LANG_SAVE +AC_LANG_C +kde_save_cflags="$CFLAGS" +CFLAGS="$CFLAGS $PYTHONINC" +kde_save_libs="$LIBS" +LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" +kde_save_ldflags="$LDFLAGS" +LDFLAGS="$LDFLAGS $PYTHONLIB" + +AC_TRY_LINK( +[ +#include +],[ + PySys_SetArgv(1, 0); +], + [kde_cv_try_link_python_$1=yes], + [kde_cv_try_link_python_$1=no] +) +CFLAGS="$kde_save_cflags" +LIBS="$kde_save_libs" +LDFLAGS="$kde_save_ldflags" +]) + +if test "$kde_cv_try_link_python_$1" = "yes"; then + AC_MSG_RESULT(yes) + kde_python_link_found=yes + if test ! "$1" = normal; then + LIBPYTHON="$LIBPYTHON $2" + fi + $3 +else + AC_MSG_RESULT(no) + $4 +fi +AC_LANG_RESTORE + +fi + +]) + +AC_DEFUN(KDE_CHECK_PYTHON_DIR, +[ +AC_MSG_CHECKING([for Python directory]) + +AC_CACHE_VAL(kde_cv_pythondir, +[ + if test -z "$PYTHONDIR"; then + kde_cv_pythondir=/usr/local + else + kde_cv_pythondir="$PYTHONDIR" + fi +]) + +AC_ARG_WITH(pythondir, +[ --with-pythondir=pythondir use python installed in pythondir ], +[ + ac_python_dir=$withval +], ac_python_dir=$kde_cv_pythondir +) + +AC_MSG_RESULT($ac_python_dir) +]) + +AC_DEFUN(KDE_CHECK_PYTHON_INTERN, +[ +AC_REQUIRE([KDE_CHECK_LIBDL]) +AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) +AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) + +if test -z "$1"; then + version="1.5" +else + version="$1" +fi + +AC_MSG_CHECKING([for Python$version]) + +python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" +AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) +if test ! -r $python_incdir/Python.h; then + AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) + python_incdir=$python_incdir/python$version + if test ! -r $python_incdir/Python.h; then + python_incdir=no + fi +fi + +PYTHONINC=-I$python_incdir + +python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs" +AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) +if test ! -r $python_libdir/libpython$version.a; then + AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) + python_libdir=$python_libdir/python$version/config + if test ! -r $python_libdir/libpython$version.a; then + python_libdir=no + fi +fi + +PYTHONLIB=-L$python_libdir +kde_orig_LIBPYTHON=$LIBPYTHON +if test -z "$LIBPYTHON"; then + LIBPYTHON=-lpython$version +fi + +python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs" +AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) +python_moddir=$python_moddir/python$version +if test ! -r $python_moddir/copy.py; then + python_moddir=no +fi + +PYTHONMODDIR=$python_moddir + +AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) + +if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then + LIBPYTHON=$kde_orig_LIBPYTHON + test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" + test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" + $2 +else + dnl Note: this test is very weak + kde_python_link_found=no + KDE_TRY_LINK_PYTHON(normal) + KDE_TRY_LINK_PYTHON(m, -lm) + KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) + KDE_TRY_LINK_PYTHON(tcl, -ltcl) + KDE_TRY_LINK_PYTHON(db2, -ldb2) + KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], + [AC_MSG_WARN([it seems, Python depends on another library. + Pleae set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this + and contact the authors to let them know about this problem]) + ]) + + LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" + AC_SUBST(PYTHONINC) + AC_SUBST(PYTHONLIB) + AC_SUBST(LIBPYTHON) + AC_SUBST(PYTHONMODDIR) + AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) +fi + +]) + + +AC_DEFUN(KDE_CHECK_PYTHON, +[ + KDE_CHECK_PYTHON_INTERN("2.3", + [KDE_CHECK_PYTHON_INTERN("2.2", + [KDE_CHECK_PYTHON_INTERN("2.1", + [KDE_CHECK_PYTHON_INTERN("2.0", [ KDE_CHECK_PYTHON_INTERN($1, $2) ]) + ])])]) +]) + +AC_DEFUN(KDE_CHECK_STL_SGI, +[ + AC_MSG_CHECKING([if STL implementation is SGI like]) + AC_CACHE_VAL(kde_cv_stl_type_sgi, + [ + AC_TRY_COMPILE([ +#include +using namespace std; +],[ + string astring="Hallo Welt."; + astring.erase(0, 6); // now astring is "Welt" + return 0; +], kde_cv_stl_type_sgi=yes, + kde_cv_stl_type_sgi=no) +]) + + AC_MSG_RESULT($kde_cv_stl_type_sgi) + + if test "$kde_cv_stl_type_sgi" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + fi +]) + +AC_DEFUN(KDE_CHECK_STL_HP, +[ + AC_MSG_CHECKING([if STL implementation is HP like]) + AC_CACHE_VAL(kde_cv_stl_type_hp, + [ + AC_TRY_COMPILE([ +#include +using namespace std; +],[ + string astring="Hello World"; + astring.remove(0, 6); // now astring is "World" + return 0; +], kde_cv_stl_type_hp=yes, + kde_cv_stl_type_hp=no) +]) + AC_MSG_RESULT($kde_cv_stl_type_hp) + + if test "$kde_cv_stl_type_hp" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP]) + fi +]) + +AC_DEFUN(KDE_CHECK_STL, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" + KDE_CHECK_STL_SGI + + if test "$kde_cv_stl_type_sgi" = "no"; then + KDE_CHECK_STL_HP + + if test "$kde_cv_stl_type_hp" = "no"; then + AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?") + fi + fi + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE +]) + +AC_DEFUN(AC_FIND_QIMGIO, + [AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for qimgio]) +AC_CACHE_VAL(ac_cv_lib_qimgio, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +ac_save_CXXFLAGS="$CXXFLAGS" +LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +AC_TRY_RUN(dnl +[ +#include +#include +int main() { + QString t = "hallo"; + t.fill('t'); + qInitImageIO(); +} +], + ac_cv_lib_qimgio=yes, + ac_cv_lib_qimgio=no, + ac_cv_lib_qimgio=no) +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then + LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) + AC_SUBST(LIBQIMGIO) +else + AC_MSG_RESULT(not found) +fi +]) + +AC_DEFUN(KDE_CHECK_ANSI, +[ +]) + +AC_DEFUN(KDE_CHECK_INSURE, +[ + AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]], + [ + if test $enableval = "no"; dnl + then ac_use_insure="no" + else ac_use_insure="yes" + fi + ], [ac_use_insure="no"]) + + AC_MSG_CHECKING(if we will use Insure++ to debug) + AC_MSG_RESULT($ac_use_insure) + if test "$ac_use_insure" = "yes"; dnl + then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "???? + fi +]) + +AC_DEFUN(AM_DISABLE_LIBRARIES, +[ + AC_PROVIDE([AM_ENABLE_STATIC]) + AC_PROVIDE([AM_ENABLE_SHARED]) + enable_static=no + enable_shared=yes +]) + + +AC_DEFUN(AC_CHECK_UTMP_FILE, +[ + AC_MSG_CHECKING([for utmp file]) + + AC_CACHE_VAL(kde_cv_utmp_file, + [ + kde_cv_utmp_file=no + + for ac_file in \ + \ + /var/run/utmp \ + /var/adm/utmp \ + /etc/utmp \ + ; \ + do + if test -r "$ac_file"; then + kde_cv_utmp_file=$ac_file + break + fi + done + ]) + + if test "$kde_cv_utmp_file" != "no"; then + AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) + $1 + AC_MSG_RESULT($kde_cv_utmp_file) + else + $2 + AC_MSG_RESULT([non found]) + fi +]) + + +AC_DEFUN(KDE_CREATE_SUBDIRSLIST, +[ + +DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" + +if test ! -s $srcdir/subdirs; then + dnl Note: Makefile.common creates subdirs, so this is just a fallback + TOPSUBDIRS="" + files=`cd $srcdir && ls -1` + dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` + for i in $dirs; do + echo $i >> $srcdir/subdirs + done +fi + +if test -s $srcdir/inst-apps; then + ac_topsubdirs="`cat $srcdir/inst-apps`" +else + ac_topsubdirs="`cat $srcdir/subdirs`" +fi + +for i in $ac_topsubdirs; do + AC_MSG_CHECKING([if $i should be compiled]) + if test -d $srcdir/$i; then + install_it="yes" + for j in $DO_NOT_COMPILE; do + if test $i = $j; then + install_it="no" + fi + done + else + install_it="no" + fi + AC_MSG_RESULT($install_it) + vari=`echo $i | sed -e 's,[[-+.]],_,g'` + if test $install_it = "yes"; then + TOPSUBDIRS="$TOPSUBDIRS $i" + eval "$vari""_SUBDIR_included=yes" + else + eval "$vari""_SUBDIR_included=no" + fi +done + +AC_SUBST(TOPSUBDIRS) +]) + +AC_DEFUN(KDE_CHECK_NAMESPACES, +[ +AC_MSG_CHECKING(whether C++ compiler supports namespaces) +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_TRY_COMPILE([ +], +[ +namespace Foo { + extern int i; + namespace Bar { + extern int i; + } +} + +int Foo::i = 0; +int Foo::Bar::i = 1; +],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_NAMESPACES) +], [ +AC_MSG_RESULT(no) +]) +AC_LANG_RESTORE +]) + +AC_DEFUN(KDE_CHECK_NEWLIBS, +[ + +]) + +dnl ------------------------------------------------------------------------ +dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(AC_CHECK_S_ISSOCK, +[ +AC_MSG_CHECKING(for S_ISSOCK) +AC_CACHE_VAL(ac_cv_have_s_issock, +[ +AC_LANG_SAVE +AC_LANG_C +AC_TRY_LINK( +[ +#include +], +[ +struct stat buff; +int b = S_ISSOCK( buff.st_mode ); +], +ac_cv_have_s_issock=yes, +ac_cv_have_s_issock=no) +AC_LANG_RESTORE +]) +AC_MSG_RESULT($ac_cv_have_s_issock) +if test "$ac_cv_have_s_issock" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) +fi + +AH_VERBATIM(_ISSOCK, +[ +#ifndef HAVE_S_ISSOCK +#define HAVE_S_ISSOCK +#define S_ISSOCK(mode) (1==0) +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(AC_CHECK_KDEMAXPATHLEN, +[ +AC_MSG_CHECKING(for MAXPATHLEN) +AC_CACHE_VAL(ac_cv_maxpathlen, +[ +AC_LANG_C +cat > conftest.$ac_ext < +#endif +#include +#include +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif + +KDE_HELLO MAXPATHLEN + +EOF + +ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" + +if AC_TRY_EVAL(ac_try) && test -s conftest.out; then + ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` +else + ac_cv_maxpathlen=1024 +fi + +rm conftest.* + +]) +AC_MSG_RESULT($ac_cv_maxpathlen) +AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) +]) + +dnl ------------------------------------------------------------------------- +dnl See if the compiler supports a template repository bero@redhat.de +dnl ------------------------------------------------------------------------- +AC_DEFUN(KDE_COMPILER_REPO, +[ + REPO="" + NOREPO="" + + KDE_CHECK_COMPILER_FLAG(frepo, + [ + REPO="-frepo" + NOREPO="-fno-repo" + ]) + + if test -z "$REPO"; then + KDE_CHECK_COMPILER_FLAG(instances=explicit, + [ + REPO="-instances=explicit" + NOREPO="-instances=extern" + ]) + fi + + if test -n "$REPO"; then + AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1, + [C++ compiler supports template repository]) + $1 + fi + + AC_SUBST(REPO) + AC_SUBST(NOREPO) +]) + +AC_DEFUN(KDE_CHECK_HEADER, +[ + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADER($1, $2, $3, $4) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN(KDE_CHECK_HEADERS, +[ + AH_CHECK_HEADERS([$1]) + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN(KDE_FAST_CONFIGURE, +[ + dnl makes configure fast (needs perl) + AC_ARG_ENABLE(fast-perl, [ --disable-fast-perl disable fast Makefile generation (needs perl)], + with_fast_perl=$enableval, with_fast_perl=yes) +]) + +AC_DEFUN(KDE_CONF_FILES, +[ + val= + if test -f $srcdir/configure.files ; then + val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` + fi + CONF_FILES= + if test -n "$val" ; then + for i in $val ; do + CONF_FILES="$CONF_FILES $i" + done + fi + AC_SUBST(CONF_FILES) +])dnl + +AC_DEFUN(KDE_SET_PREFIX, +[ + unset CDPATH + dnl make $KDEDIR the default for the installation + AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) + + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + ac_configure_args="$ac_configure_args --prefix=$prefix" + fi + # And delete superflous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + +pushdef([AC_PROG_INSTALL], +[ + dnl our own version, testing for a -p flag + popdef([AC_PROG_INSTALL]) + dnl as AC_PROG_INSTALL works as it works we first have + dnl to save if the user didn't specify INSTALL, as the + dnl autoconf one overwrites INSTALL and we have no chance to find + dnl out afterwards + test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL + test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM + test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT + AC_PROG_INSTALL + + if test -z "$kde_save_INSTALL_given" ; then + # OK, user hasn't given any INSTALL, autoconf found one for us + # now we test, if it supports the -p flag + AC_MSG_CHECKING(for -p flag to install) + rm -f confinst.$$.* > /dev/null 2>&1 + echo "Testtest" > confinst.$$.orig + ac_res=no + if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then + if test -f confinst.$$.new ; then + # OK, -p seems to do no harm to install + INSTALL="${INSTALL} -p" + ac_res=yes + fi + fi + rm -f confinst.$$.* + AC_MSG_RESULT($ac_res) + fi + dnl the following tries to resolve some signs and wonders coming up + dnl with different autoconf/automake versions + dnl e.g.: + dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s + dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) + dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s + dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has + dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the + dnl install-@DIR@PROGRAMS targets to explicitly use that flag + dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as + dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 + dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure + dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from + dnl automake (due to broken Makefile.am or whatever) to install programs, + dnl and so does not see the -s flag in automake > 1.4 + dnl to clean up that mess we: + dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG + dnl which cleans KDE's program with automake > 1.4; + dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems + dnl with automake<=1.4 + dnl note that dues to this sometimes two '-s' flags are used (if KDE + dnl properly uses install-@DIR@PROGRAMS, but I don't care + dnl + dnl And to all this comes, that I even can't write in comments variable + dnl names used by automake, because it is so stupid to think I wanted to + dnl _use_ them, therefor I have written A_M_... instead of AM_ + dnl hmm, I wanted to say something ... ahh yes: Arghhh. + + if test -z "$kde_save_INSTALL_PROGRAM_given" ; then + INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' + fi + if test -z "$kde_save_INSTALL_SCRIPT_given" ; then + INSTALL_SCRIPT='${INSTALL}' + fi +])dnl + +AC_DEFUN(KDE_LANG_CPLUSPLUS, +[AC_LANG_CPLUSPLUS +ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) +]) + +pushdef([AC_LANG_CPLUSPLUS], +[popdef([AC_LANG_CPLUSPLUS]) +KDE_LANG_CPLUSPLUS +]) + +AC_DEFUN(KDE_CHECK_LONG_LONG, +[ +AC_MSG_CHECKING(for long long) +AC_CACHE_VAL(kde_cv_c_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_LINK([], [ + long long foo = 0; + foo = foo+1; + ], + kde_cv_c_long_long=yes, kde_cv_c_long_long=no) + AC_LANG_RESTORE +]) +AC_MSG_RESULT($kde_cv_c_long_long) +if test "$kde_cv_c_long_long" = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) +fi +]) + +AC_DEFUN(KDE_CHECK_LIB, +[ + kde_save_LDFLAGS="$LDFLAGS" + dnl AC_CHECK_LIB modifies LIBS, so save it here + kde_save_LIBS="$LIBS" + LDFLAGS="$LDFLAGS $all_libraries" + case $host_os in + aix*) LDFLAGS="-brtl $LDFLAGS" + test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" + ;; + esac + AC_CHECK_LIB($1, $2, $3, $4, $5) + LDFLAGS="$kde_save_LDFLAGS" + LIBS="$kde_save_LIBS" +]) + +AC_DEFUN(KDE_JAVA_PREFIX, +[ + dir=`dirname "$1"` + base=`basename "$1"` + list=`ls -1 $dir 2> /dev/null` + for entry in $list; do + if test -d $dir/$entry/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/bin" + ;; + esac + elif test -d $dir/$entry/jre/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/jre/bin" + ;; + esac + fi + done +]) + +dnl KDE_CHEC_JAVA_DIR(onlyjre) +AC_DEFUN(KDE_CHECK_JAVA_DIR, +[ + +AC_ARG_WITH(java, +[ --with-java=javadir use java installed in javadir, --without-java disables ], +[ ac_java_dir=$withval +], ac_java_dir="" +) + +AC_MSG_CHECKING([for Java]) + +dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH +if test "x$ac_java_dir" = "xno"; then + kde_java_bindir=no + kde_java_includedir=no + kde_java_libjvmdir=no + kde_java_libhpidir=no +else + if test "x$ac_java_dir" = "x"; then + + + dnl No option set -> look in $PATH + KDE_JAVA_PREFIX(/usr/j2se) + KDE_JAVA_PREFIX(/usr/j*dk*) + KDE_JAVA_PREFIX(/usr/lib/j*dk*) + KDE_JAVA_PREFIX(/opt/j*sdk*) + KDE_JAVA_PREFIX(/usr/lib/java*) + KDE_JAVA_PREFIX(/usr/java*) + KDE_JAVA_PREFIX(/usr/java/j*dk*) + KDE_JAVA_PREFIX(/usr/java/j*re*) + KDE_JAVA_PREFIX(/usr/lib/SunJava2*) + KDE_JAVA_PREFIX(/usr/lib/SunJava*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava*) + KDE_JAVA_PREFIX(/opt/java*) + + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + javadirs="$javadirs $dir" + done + IFS=$kde_save_IFS + jredirs= + + for dir in $javadirs; do + if test ! -d $dir; then break; fi + if test -x "$dir/java"; then + libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + if test ! -f $libjvmdir/libjvm.so; then continue; fi + jredirs="$jredirs $dir" + fi + done + + JAVAC= + JAVA= + kde_java_bindir=no + for dir in $jredirs; do + JAVA="$dir/java" + kde_java_bindir=$dir + if test -x "$dir/javac"; then + JAVAC="$dir/javac" + break + fi + done + + if test -n "$JAVAC"; then + dnl this substitution might not work - well, we test for jni.h below + kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` + else + kde_java_includedir=no + fi + else + dnl config option set + kde_java_bindir=$ac_java_dir/bin + if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then + kde_java_includedir=no + else + kde_java_includedir=$ac_java_dir/include + fi + fi +fi + +dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" +if test "x$kde_java_bindir" != "xno"; then + + dnl Look for libjvm.so + kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + dnl Look for libhpi.so and avoid green threads + kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` + + dnl Now check everything's fine under there + dnl the include dir is our flag for having the JDK + if test -d "$kde_java_includedir"; then + if test ! -x "$kde_java_bindir/javac"; then + AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) + fi + if test ! -x "$kde_java_bindir/javah"; then + AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -x "$kde_java_bindir/jar"; then + AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -r "$kde_java_includedir/jni.h"; then + AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) + fi + + jni_includes="-I$kde_java_includedir" + dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. + dnl and under linux here.. + test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" + test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" + test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + + else + JAVAC= + jni_includes= + fi + + if test ! -r "$kde_java_libjvmdir/libjvm.so"; then + AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) + fi + + if test ! -x "$kde_java_bindir/java"; then + AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + + if test ! -r "$kde_java_libhpidir/libhpi.so"; then + AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + fi + + if test -n "$jni_includes"; then + dnl Check for JNI version + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_cxxflags_safe="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" + + AC_TRY_COMPILE([ + #include + ], + [ + #ifndef JNI_VERSION_1_2 + Syntax Error + #endif + ],[ kde_jni_works=yes ], + [ kde_jni_works=no ]) + + if test $kde_jni_works = no; then + AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. + You need to have Java Development Kit (JDK) version 1.2. + + Use --with-java to specify another location. + Use --without-java to configure without java support. + Or download a newer JDK and try again. + See e.g. http://java.sun.com/products/jdk/1.2 ]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + AC_LANG_RESTORE + + dnl All tests ok, inform and subst the variables + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + AC_MSG_RESULT([java JDK in $kde_java_bindir]) + + else + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([java JRE in $kde_java_bindir]) + fi +else # no + AC_MSG_RESULT([none found]) +fi + +AC_SUBST(JAVAC) +AC_SUBST(JAVAH) +AC_SUBST(JAR) +AC_SUBST(JVMLIBS) +AC_SUBST(jni_includes) + +# for backward compat +kde_cv_java_includedir=$kde_java_includedir +kde_cv_java_bindir=$kde_java_bindir +]) + +dnl this is a redefinition of autoconf 2.5x's INCOMPATIBLE_FOREACH. +dnl When the argument list becomes big, as in KDE for AC_OUTPUT in +dnl big packages, m4_foreach is dog-slow. So use our own version of +dnl it. (matz@kde.org) +m4_define([mm_foreach], +[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) +m4_define([mm_car], [[$1]]) +m4_define([mm_car2], [[$@]]) +m4_define([_mm_foreach], +[m4_if(m4_quote($2), [], [], + [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1], + mm_car2(m4_shift($2)), + [$3])])]) +m4_define([INCOMPATIBLE_FOREACH], +[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) + +AC_DEFUN(KDE_NEED_FLEX, +[ +kde_libs_safe=$LIBS +LIBS="$LIBS $USER_LDFLAGS" +AM_PROG_LEX +LIBS=$kde_libs_safe +if test -z "$LEXLIB"; then + AC_MSG_ERROR([You need to have flex installed.]) +fi +AC_SUBST(LEXLIB) +]) + +AC_DEFUN(AC_PATH_QTOPIA, +[ + dnl TODO: use AC_CACHE_VAL + + if test -z "$1"; then + qtopia_minver_maj=1 + qtopia_minver_min=5 + qtopia_minver_pat=0 + else + qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` + qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` + qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` + fi + + qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" + qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" + + AC_REQUIRE([AC_PATH_QT]) + + AC_MSG_CHECKING([for Qtopia]) + + LIB_QTOPIA="-lqpe" + AC_SUBST(LIB_QTOPIA) + + kde_qtopia_dirs="$QPEDIR /opt/Qtopia" + + ac_qtopia_incdir=NO + + AC_ARG_WITH(qtopia-dir, + [ --with-qtopia-dir=DIR where the root of Qtopia is installed ], + [ ac_qtopia_incdir="$withval"/include] ) + + qtopia_incdirs="" + for dir in $kde_qtopia_dirs; do + qtopia_incdirs="$qtopia_incdirs $dir/include" + done + + if test ! "$ac_qtopia_incdir" = "NO"; then + qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" + fi + + qtopia_incdir="" + AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) + ac_qtopia_incdir="$qtopia_incdir" + + if test -z "$qtopia_incdir"; then + AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) + fi + + qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; + qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; + qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; + + qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" + qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" + if test "$qtopia_ver" -lt "$qtopia_minver"; then + AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr +is required.]) + fi + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + ac_cxxflags_safe="$CXXFLAGS" + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" + LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" + LIBS="$LIBS $LIB_QTOPIA $LIBQT" + + cat > conftest.$ac_ext < +#include + +int main( int argc, char **argv ) +{ + QPEApplication app( argc, argv ); + return 0; +} +EOF + + if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* + else + rm -f conftest* + AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at +the end of config.log]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + AC_LANG_RESTORE + + QTOPIA_INCLUDES="-I$qtopia_incdir" + AC_SUBST(QTOPIA_INCLUDES) + + AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) +]) + + +AC_DEFUN(KDE_INIT_DOXYGEN, +[ +AC_MSG_CHECKING([for Qt docs]) +kde_qtdir= +if test "${with_qt_dir+set}" = set; then + kde_qtdir="$with_qt_dir" +fi + +AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html ], QTDOCDIR) +AC_MSG_RESULT($QTDOCDIR) + +AC_SUBST(QTDOCDIR) + +KDE_FIND_PATH(dot, DOT, [], []) +if test -n "$DOT"; then + KDE_HAVE_DOT="YES" +else + KDE_HAVE_DOT="NO" +fi +AC_SUBST(KDE_HAVE_DOT) +KDE_FIND_PATH(doxygen, DOXYGEN, [], []) +AC_SUBST(DOXYGEN) + +DOXYGEN_PROJECT_NAME="$1" +DOXYGEN_PROJECT_NUMBER="$2" +AC_SUBST(DOXYGEN_PROJECT_NAME) +AC_SUBST(DOXYGEN_PROJECT_NUMBER) + +KDE_HAS_DOXYGEN=no +if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then + KDE_HAS_DOXYGEN=yes +fi +AC_SUBST(KDE_HAS_DOXYGEN) + +]) + + +AC_DEFUN(AC_FIND_BZIP2, +[ +AC_MSG_CHECKING([for bzDecompress in libbz2]) +AC_CACHE_VAL(ac_cv_lib_bzip2, +[ +AC_LANG_C +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#define BZ_NO_STDIO +#include +], + [ bz_stream s; (void) bzDecompress(&s); ], + eval "ac_cv_lib_bzip2='-lbz2'", + eval "ac_cv_lib_bzip2=no") +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +AC_MSG_RESULT($ac_cv_lib_bzip2) + +if test ! "$ac_cv_lib_bzip2" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2" + AC_SUBST(LIBBZ2) + +else + + cxx_shared_flag= + ld_shared_flag= + KDE_CHECK_COMPILER_FLAG(shared, [ + ld_shared_flag="-shared" + ]) + KDE_CHECK_COMPILER_FLAG(fPIC, [ + cxx_shared_flag="-fPIC" + ]) + + AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) + AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, + [ + AC_LANG_CPLUSPLUS + kde_save_LIBS="$LIBS" + LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" + kde_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" + + AC_TRY_LINK(dnl + [ + #define BZ_NO_STDIO + #include + ], + [ bz_stream s; (void) BZ2_bzDecompress(&s); ], + eval "ac_cv_lib_bzip2_prefix='-lbz2'", + eval "ac_cv_lib_bzip2_prefix=no") + LIBS="$kde_save_LIBS" + CXXFLAGS="$kde_save_CXXFLAGS" + ])dnl + + AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) + + + + if test ! "$ac_cv_lib_bzip2_prefix" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2_prefix" + AC_SUBST(LIBBZ2) + + AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) + dnl else, we just ignore this + fi + +fi +AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the SSL headers and libraries. +dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) +dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN(KDE_CHECK_SSL, +[ +LIBSSL="-lssl -lcrypto" +AC_REQUIRE([KDE_CHECK_LIB64]) + +ac_ssl_includes=NO ac_ssl_libraries=NO +ssl_libraries="" +ssl_includes="" +AC_ARG_WITH(ssl-dir, + [ --with-ssl-dir=DIR where the root of OpenSSL is installed], + [ ac_ssl_includes="$withval"/include + ac_ssl_libraries="$withval"/lib$kdelibsuff + ]) + +want_ssl=yes +AC_ARG_WITH(ssl, + [ --without-ssl disable SSL checks], + [want_ssl=$withval]) + +if test $want_ssl = yes; then + +AC_MSG_CHECKING(for OpenSSL) + +AC_CACHE_VAL(ac_cv_have_ssl, +[#try to guess OpenSSL locations + + ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" + ssl_incdirs="$ac_ssl_includes $ssl_incdirs" + AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) + ac_ssl_includes="$ssl_incdir" + + ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" + if test ! "$ac_ssl_libraries" = "NO"; then + ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" + fi + + test=NONE + ssl_libdir=NONE + for dir in $ssl_libdirs; do + try="ls -1 $dir/libssl*" + if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done + + ac_ssl_libraries="$ssl_libdir" + + AC_LANG_SAVE + AC_LANG_C + + ac_cflags_safe="$CFLAGS" + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + CFLAGS="$CFLAGS -I$ssl_incdir $all_includes" + LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" + LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" + + AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, + ac_ssl_rsaref="yes" + , + ac_ssl_rsaref="no" + ) + + CFLAGS="$ac_cflags_safe" + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + AC_LANG_RESTORE + + if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then + have_ssl=no + else + have_ssl=yes; + fi + + ]) + + eval "$ac_cv_have_ssl" + + AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) + + AC_MSG_CHECKING([whether OpenSSL uses rsaref]) + AC_MSG_RESULT($ac_ssl_rsaref) + + AC_MSG_CHECKING([for easter eggs]) + AC_MSG_RESULT([none found]) + +else + have_ssl=no +fi + +if test "$have_ssl" = yes; then + AC_MSG_CHECKING(for OpenSSL version) + dnl Check for SSL version + AC_CACHE_VAL(ac_cv_ssl_version, + [ + AC_LANG_SAVE + AC_LANG_C + + cat >conftest.$ac_ext < +#include + int main() { + +#ifndef OPENSSL_VERSION_NUMBER + printf("ssl_version=\\"error\\"\n"); +#else + if (OPENSSL_VERSION_NUMBER < 0x00906000) + printf("ssl_version=\\"old\\"\n"); + else + printf("ssl_version=\\"ok\\"\n"); +#endif + return (0); + } +EOF + + ac_compile='${CC-gcc} $CFLAGS -I$ac_ssl_includes conftest.$ac_ext -o conftest' + if AC_TRY_EVAL(ac_compile); then + + if eval `./conftest 2>&5`; then + if test $ssl_version = error; then + AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) + else + if test $ssl_version = old; then + AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) + have_ssl=no + fi + fi + ac_cv_ssl_version="ssl_version=$ssl_version" + else + AC_MSG_ERROR([Your system couldn't run a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure , attaching your config.log]) + fi + + else + AC_MSG_ERROR([Your system couldn't link a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure , attaching your config.log]) + fi + + AC_LANG_RESTORE + + ]) + + eval "$ac_cv_ssl_version" + AC_MSG_RESULT($ssl_version) +fi + +if test "$have_ssl" != yes; then + LIBSSL=""; +else + AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) + ac_cv_have_ssl="have_ssl=yes \ + ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" + + + ssl_libraries="$ac_ssl_libraries" + ssl_includes="$ac_ssl_includes" + + if test "$ac_ssl_rsaref" = yes; then + LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" + fi + + if test $ssl_version = "old"; then + AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) + fi +fi + +if test "$ssl_includes" = "/usr/include" || test "$ssl_includes" = "/usr/local/include" || test -z "$ssl_includes"; then + SSL_INCLUDES=""; +else + SSL_INCLUDES="-I$ssl_includes" +fi + +if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries"; then + SSL_LDFLAGS="" +else + SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" +fi + +AC_SUBST(SSL_INCLUDES) +AC_SUBST(SSL_LDFLAGS) +AC_SUBST(LIBSSL) +]) + +AC_DEFUN(KDE_CHECK_STRLCPY, +[ + AC_CHECK_STRLCPY + AC_CHECK_STRLCAT + AC_CHECK_SIZEOF(size_t) + AC_CHECK_SIZEOF(unsigned long) + + AC_MSG_CHECKING([sizeof(size_t) == sizeof(unsigned long)]) + AC_TRY_COMPILE(,[ + #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG + choke me + #endif + ],[AC_MSG_RESULT([yes])],[ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([ + Apparently on your system our assumption sizeof(size_t) == sizeof(unsigned long) + does not apply. Please mail kde-devel@kde.org with a description of your system! + ]) + ]) +]) + diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/am_edit b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/am_edit new file mode 100644 index 00000000..a618de1e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/am_edit @@ -0,0 +1,2037 @@ +#!/usr/bin/perl -w + +# Expands the specialised KDE tags in Makefile.in to (hopefully) valid +# make syntax. +# When called without file parameters, we work recursively on all Makefile.in +# in and below the current subdirectory. When called with file parameters, +# only those Makefile.in are changed. +# The currently supported tags are +# +# {program}_METASOURCES +# where you have a choice of two styles +# {program}_METASOURCES = name1.moc name2.moc ... [\] +# {program}_METASOURCES = AUTO +# The second style requires other tags as well. +# +# To install icons : +# KDE_ICON = iconname iconname2 ... +# KDE_ICON = AUTO +# +# For documentation : +# http://developer.kde.org/documentation/other/developer-faq.html +# +# and more new tags TBD! +# +# The concept (and base code) for this program came from automoc, +# supplied by the following +# +# Matthias Ettrich (The originator) +# Kalle Dalheimer (The original implementator) +# Harri Porten +# Alex Zepeda +# David Faure +# Stephan Kulow + +use Cwd; +use File::Find; +use File::Basename; + +# Prototype the functions +sub initialise (); +sub processMakefile ($); +sub updateMakefile (); +sub restoreMakefile (); + +sub removeLine ($$); +sub appendLines ($); +sub substituteLine ($$); + +sub findMocCandidates (); +sub pruneMocCandidates ($); +sub checkMocCandidates (); +sub addMocRules (); + +sub tag_AUTOMAKE (); +sub tag_META_INCLUDES (); +sub tag_METASOURCES (); +sub tag_POFILES (); +sub tag_DOCFILES (); +sub tag_LOCALINSTALL(); +sub tag_IDLFILES(); +sub tag_UIFILES(); +sub tag_SUBDIRS(); +sub tag_ICON(); +sub tag_CLOSURE(); +sub tag_DIST(); + +# Some global globals... +$verbose = 0; # a debug flag +$thisProg = "$0"; # This programs name +$topdir = cwd(); # The current directory +@makefiles = (); # Contains all the files we'll process +@foreignfiles = (); +$start = (times)[0]; # some stats for testing - comment out for release +$version = "v0.2"; +$errorflag = 0; +$cppExt = "(cpp|cc|cxx|C|c\\+\\+)"; +$hExt = "(h|H|hh|hxx|hpp|h\\+\\+)"; +$progId = "KDE tags expanded automatically by " . basename($thisProg); +$automkCall = "\n"; +$printname = ""; # used to display the directory the Makefile is in +$use_final = 1; # create code for --enable-final +$cleantarget = "clean"; +$dryrun = 0; +$pathoption = 0; +$foreign_libtool = 0; + +while (defined ($ARGV[0])) +{ + $_ = shift; + if (/^--version$/) + { + print STDOUT "\n"; + print STDOUT basename($thisProg), " $version\n", + "This is really free software, unencumbered by the GPL.\n", + "You can do anything you like with it except sueing me.\n", + "Copyright 1998 Kalle Dalheimer \n", + "Concept, design and unnecessary questions about perl\n", + " by Matthias Ettrich \n\n", + "Making it useful by Stephan Kulow and\n", + "Harri Porten \n", + "Updated (Feb-1999), John Birch \n", + "Current Maintainer Stephan Kulow\n\n"; + exit 0; + } + elsif (/^--verbose$|^-v$/) + { + $verbose = 1; # Oh is there a problem...? + } + elsif (/^-p(.+)$|^--path=(.+)$/) + { + $thisProg = "$1/".basename($thisProg) if($1); + $thisProg = "$2/".basename($thisProg) if($2); + warn ("$thisProg doesn't exist\n") if (!(-f $thisProg)); + $pathoption=1; + } + elsif (/^--help$|^-h$/) + { + print STDOUT "Usage $thisProg [OPTION] ... [dir/Makefile.in]...\n", + "\n", + "Patches dir/Makefile.in generated by automake\n", + "(where dir can be an absolute or relative directory name)\n", + "\n", + " -v, --verbose verbosely list files processed\n", + " -h, --help print this help, then exit\n", + " --version print version number, then exit\n", + " -p, --path= use the path to am_edit if the path\n", + " called from is not the one to be used\n", + " --no-final don't patch for --enable-final\n"; + + exit 0; + } + elsif (/^--no-final$/) + { + $use_final = 0; + $thisProg .= " --no-final"; + } + elsif (/^--foreign-libtool$/) + { + $foreign_libtool = 1; + $thisProg .= " --foreign-libtool"; + } + elsif (/^-n$/) + { + $dryrun = 1; + } + else + { + # user selects what input files to check + # add full path if relative path is given + $_ = cwd()."/".$_ if (! /^\//); + print "User wants $_\n" if ($verbose); + push (@makefiles, $_); + } +} + +if ($thisProg =~ /^\// && !$pathoption ) +{ + print STDERR "Illegal full pathname call performed...\n", + "The call to \"$thisProg\"\nwould be inserted in some Makefile.in.\n", + "Please use option --path.\n"; + exit 1; +} + +# Only scan for files when the user hasn't entered data +if (!@makefiles) +{ + print STDOUT "Scanning for Makefile.in\n" if ($verbose); + find (\&add_makefile, cwd()); + #chdir('$topdir'); +} else { + print STDOUT "Using input files specified by user\n" if ($verbose); +} + +foreach $makefile (sort(@makefiles)) +{ + processMakefile ($makefile); + last if ($errorflag); +} + +# Just some debug statistics - comment out for release as it uses printf. +printf STDOUT "Time %.2f CPU sec\n", (times)[0] - $start if ($verbose); + +exit $errorflag; # causes make to fail if erroflag is set + +#----------------------------------------------------------------------------- + +# In conjunction with the "find" call, this builds the list of input files +sub add_makefile () +{ + push (@makefiles, $File::Find::name) if (/Makefile.in$/); +} + +#----------------------------------------------------------------------------- + +# Processes a single make file +# The parameter contains the full path name of the Makefile.in to use +sub processMakefile ($) +{ + # some useful globals for the subroutines called here + local ($makefile) = @_; + local @headerdirs = ('.'); + local $haveAutomocTag = 0; + local $MakefileData = ""; + + local $cxxsuffix = "KKK"; + + local @programs = (); # lists the names of programs and libraries + local $program = ""; + + local %realObjs = (); # lists the objects compiled into $program + local %sources = (); # lists the sources used for $program + local %finalObjs = (); # lists the objects compiled when final + local %realname = (); # the binary name of program variable + local %idlfiles = (); # lists the idl files used for $program + local %globalmocs = ();# list of all mocfiles (in %mocFiles format) + local %important = (); # list of files to be generated asap + local %uiFiles = (); + + local $allidls = ""; + local $idl_output = "";# lists all idl generated files for cleantarget + local $ui_output = "";# lists all uic generated files for cleantarget + + local %depedmocs = (); + + local $metasourceTags = 0; + local $dep_files = ""; + local $dep_finals = ""; + local %target_adds = (); # the targets to add + local $kdelang = ""; + local @cleanfiles = (); + local $cleanMoc = ""; + local $closure_output = ""; + + local %varcontent = (); + + $makefileDir = dirname($makefile); + chdir ($makefileDir); + $printname = $makefile; + $printname =~ s/^\Q$topdir\E\///; + $makefile = basename($makefile); + + print STDOUT "Processing makefile $printname\n" if ($verbose); + + # Setup and see if we need to do this. + return if (!initialise()); + + tag_AUTOMAKE (); # Allows a "make" to redo the Makefile.in + tag_META_INCLUDES (); # Supplies directories for src locations + + foreach $program (@programs) { + $sources_changed{$program} = 0; + $depedmocs{$program} = ""; + $important{$program} = ""; + tag_IDLFILES(); # Sorts out idl rules + tag_CLOSURE(); + tag_UIFILES(); # Sorts out ui rules + tag_METASOURCES (); # Sorts out the moc rules + if ($sources_changed{$program}) { + my $lookup = "$program" . '_SOURCES\s*=\s*(.*)'; + substituteLine($lookup, "$program\_SOURCES=" . $sources{$program}); + } + if ($important{$program}) { + local %source_dict = (); + for $source (split(/[\034\s]+/, $sources{$program})) { + $source_dict{$source} = 1; + } + for $source (@cleanfiles) { + $source_dict{$source} = 0; + } + for $source (keys %source_dict) { + next if (!$source); + if ($source_dict{$source}) { + # sanity check + if (! -f $source) { + print STDERR "Error: $source is listed in a _SOURCE line in $printname, but doesn't exist yet. Put it in DISTCLEANFILES!\n"; + } else { + $target_adds{"\$(srcdir)/$source"} .= $important{$program}; + } + } + } + } + } + if ($cleanMoc) { + # Always add dist clean tag + # Add extra *.moc.cpp files created for USE_AUTOMOC because they + # aren't included in the normal *.moc clean rules. + appendLines ("$cleantarget-metasources:\n\t-rm -f $cleanMoc\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-metasources "; + } + + tag_DIST() unless ($kdeopts{"noautodist"}); + + if ($idl_output) { + appendLines ("$cleantarget-idl:\n\t-rm -f $idl_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-idl "; + } + + if ($ui_output) { + appendLines ("$cleantarget-ui:\n\t-rm -f $ui_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-ui "; + } + + if ($closure_output) { + appendLines ("$cleantarget-closures:\n\t-rm -f $closure_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-closures "; + } + + if ($MakefileData =~ /\nKDE_LANG\s*=\s*(\S*)\s*\n/) { + $kdelang = '$(KDE_LANG)' + } else { + $kdelang = ''; + } + + tag_POFILES (); # language rules for po directory + tag_DOCFILES (); # language rules for doc directories + tag_LOCALINSTALL(); # add $(DESTDIR) before all kde_ dirs + tag_ICON(); + tag_SUBDIRS(); + + my $tmp = "force-reedit:\n"; + $tmp .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n"; + appendLines($tmp); + + make_meta_classes(); + tag_COMPILE_FIRST(); + tag_FINAL() if (!$kdeopts{"nofinal"}); + + my $final_lines = "final:\n\t\$(MAKE) "; + my $final_install_lines = "final-install:\n\t\$(MAKE) "; + my $nofinal_lines = "no-final:\n\t\$(MAKE) "; + my $nofinal_install_lines = "no-final-install:\n\t\$(MAKE) "; + + foreach $program (@programs) { + + my $lookup = "$program\_OBJECTS.*=[^\n]*"; + + my $new = ""; + + my @list = split(/[\034\s]+/, $realObjs{$program}); + + if (!$kdeopts{"nofinal"} && @list > 1 && $finalObjs{$program}) { + + $new .= "$program\_final\_OBJECTS = " . $finalObjs{$program}; + $new .= "\n$program\_nofinal\_OBJECTS = " . $realObjs{$program}; + $new .= "\n\@KDE_USE_FINAL_FALSE\@$program\_OBJECTS = \$($program\_nofinal\_OBJECTS)"; + $new .= "\n\@KDE_USE_FINAL_TRUE\@$program\_OBJECTS = \$($program\_final\_OBJECTS)"; + + $final_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; + $final_install_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; + $nofinal_lines .= "$program\_OBJECTS=\"\$($program\_nofinal\_OBJECTS)\" "; + $nofinal_install_lines .= "$program\_OBJECTS=\"\$($program\_nofinal_OBJECTS)\" "; + } else { + $new = "$program\_OBJECTS = " . $realObjs{$program}; + } + substituteLine ($lookup, $new); + } + appendLines($final_lines . "all-am"); + appendLines($final_install_lines . "install-am"); + appendLines($nofinal_lines . "all-am"); + appendLines($nofinal_install_lines . "install-am"); + + my $lookup = '(\@\S+\@)?DEP_FILES\s*=([^\n]*)'; + if ($MakefileData =~ /\n$lookup\n/o) { + my $condition = $1; + my $depfiles = $2; + my $workfiles; + + if ($dep_finals) { + # Add the conditions on every line, since + # there may be line continuations in the list. + $workfiles = "$dep_files $dep_finals $depfiles"; + $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_TRUE\@\t/g; + $lines = "$condition\@KDE_USE_FINAL_TRUE\@DEP_FILES = $workfiles\n"; + $workfiles = "$dep_files $depfiles"; + $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_FALSE\@\t/g; + $lines .= "$condition\@KDE_USE_FINAL_FALSE\@DEP_FILES = $workfiles\n"; + } else { + $workfiles = "$dep_files $depfiles"; + $workfiles =~ s/\034/\034$condition\t/g; + $lines = $condition . "DEP_FILES = $workfiles\n"; + } + substituteLine($lookup, $lines); + } + + my $cvs_lines = "cvs-clean:\n"; + $cvs_lines .= "\t\$(MAKE) admindir=\$(top_srcdir)/admin -f \$(top_srcdir)/admin/Makefile.common cvs-clean\n"; + appendLines($cvs_lines); + + $cvs_lines = "kde-rpo-clean:\n"; + $cvs_lines .= "\t-rm -f *.rpo\n"; + appendLines($cvs_lines); + $target_adds{"clean"} .= "kde-rpo-clean "; + + my %target_dels = ("install-data-am" => ""); + + # some strange people like to do a install-exec, and expect that also + # all modules are installed. automake doesn't know this, so we need to move + # this here from install-data to install-exec. + if ($MakefileData =~ m/\nkde_module_LTLIBRARIES\s*=/) { +# $target_adds{"install-exec-am"} .= "install-kde_moduleLTLIBRARIES "; +# don't use $target_adds here because we need to append the dependency, not +# prepend it. Fixes #44342 , when a module depends on a lib in the same dir +# and libtool needs it during relinking upon install (Simon) + my $lookup = "install-exec-am:([^\n]*)"; + if($MakefileData =~ /\n$lookup\n/) { + substituteLine("$lookup", "install-exec-am: $1 install-kde_moduleLTLIBRARIES"); + } + $target_dels{"install-data-am"} .= "install-kde_moduleLTLIBRARIES "; + $target_adds{"install-data-am"} .= " "; + } + + my $lines = ""; + + foreach $add (keys %target_adds) { + my $lookup = quotemeta($add) . ':([^\n]*)'; + if ($MakefileData =~ /\n$lookup\n/) { + my $newlines = $1; + my $oldlines = $lookup; + if (defined $target_dels{$add}) { + foreach $del (split(' ', $target_dels{$add})) { + $newlines =~ s/\s*$del\s*/ /g; + } + } + substituteLine($oldlines, "$add: " . $target_adds{$add} . $newlines); + } else { + $lines .= "$add: " . $target_adds{$add} . "\n"; + } + } + if ($lines) { + appendLines($lines); + } + + my $found = 1; + + while ($found) { + if ($MakefileData =~ m/\n(.*)\$\(CXXFLAGS\)(.*)\n/) { + my $vor = $1; # "vor" means before in German + my $nach = $2; # "nach" means after in German + my $lookup = quotemeta("$1\$(CXXFLAGS)$2"); + my $replacement = "$1\$(KCXXFLAGS)$2"; + $MakefileData =~ s/$lookup/$replacement/; + $lookup =~ s/\\\$\\\(CXXFLAGS\\\)/\\\$\\\(KCXXFLAGS\\\)/; + $replacement = "$vor\$(KCXXFLAGS) \$(KDE_CXXFLAGS)$nach"; + substituteLine($lookup, $replacement); + } else { + $found = 0; + } + } + + if($foreign_libtool == 0) { + $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=link) (\$\(CXXLD\).*\$\(KCXXFLAGS\))'; + + if ($MakefileData =~ m/$lookup/ ) { + $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; + } + + $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=compile)\s+(\$\(CXX\)\s+)'; + if ($MakefileData =~ m/$lookup/ ) { + $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; + } + } + + $MakefileData =~ s/\$\(KCXXFLAGS\)/\$\(CXXFLAGS\)/g; + + $lookup = '(.*)cp -pr \$\$/\$\$file \$\(distdir\)/\$\$file(.*)'; + if ($MakefileData =~ m/\n$lookup\n/) { + substituteLine($lookup, "$1cp -pr \$\$d/\$\$file \$(distdir)/\$\$file$2"); + } + + # Always update the Makefile.in + updateMakefile (); + return; +} + +#----------------------------------------------------------------------------- + +# Beware: This procedure is not complete. E.g. it also parses lines +# containing a '=' in rules (for instance setting shell vars). For our +# usage this us enough, though. +sub read_variables () +{ + while ($MakefileData =~ /\n\s*(\S+)\s*=([^\n]*)/g) { + $varcontent{$1} = $2; + } +} + +# Check to see whether we should process this make file. +# This is where we look for tags that we need to process. +# A small amount of initialising on the tags is also done here. +# And of course we open and/or create the needed make files. +sub initialise () +{ + if (! -r "Makefile.am") { + print STDOUT "found Makefile.in without Makefile.am\n" if ($verbose); + return 0; + } + + # Checking for files to process... + open (FILEIN, $makefile) + || die "Could not open $makefileDir/$makefile: $!\n"; + # Read the file + # stat(FILEIN)[7] might look more elegant, but is slower as it + # requires stat'ing the file + seek(FILEIN, 0, 2); + my $fsize = tell(FILEIN); + seek(FILEIN, 0, 0); + read FILEIN, $MakefileData, $fsize; + close FILEIN; + print "DOS CRLF within $makefileDir/$makefile!\n" if($MakefileData =~ y/\r//d); + + # Remove the line continuations, but keep them marked + # Note: we lose the trailing spaces but that's ok. + # Don't mangle line-leading spaces (usually tabs) + # since they're important. + $MakefileData =~ s/\\\s*\n/\034/g; + + # If we've processed the file before... + restoreMakefile () if ($MakefileData =~ /$progId/); + + foreach $dir (@foreignfiles) { + if (substr($makefileDir,0,length($dir)) eq $dir) { + return 0; + } + } + + %kdeopts = (); + $kdeopts{"foreign"} = 0; + $kdeopts{"qtonly"} = 0; + $kdeopts{"noautodist"} = 0; + $kdeopts{"foreign-libtool"} = $foreign_libtool; + $kdeopts{"nofinal"} = !$use_final; # default + + read_variables(); + + if ($MakefileData =~ /\nKDE_OPTIONS\s*=\s*([^\n]*)\n/) { + my $kde_options_str = $1; + local @kde_options = split(/[\034\s]+/, $kde_options_str); + if (grep(/^foreign$/, @kde_options)) { + push(@foreignfiles, $makefileDir . "/"); + return 0; # don't touch me + } + for $opt (@kde_options) { + if (!defined $kdeopts{$opt}) { + print STDERR "Warning: unknown option $opt in $printname\n"; + } else { + $kdeopts{$opt} = 1; + } + } + } + + # Look for the tags that mean we should process this file. + $metasourceTags = 0; + $metasourceTags++ while ($MakefileData =~ /\n[^=\#]*METASOURCES\s*=/g); + + my $pofileTag = 0; + $pofileTag++ while ($MakefileData =~ /\nPOFILES\s*=/g); + if ($pofileTag > 1) + { + print STDERR "Error: Only one POFILES tag allowed\n"; + $errorflag = 1; + } + + while ($MakefileData =~ /\n\.SUFFIXES:([^\n]+)\n/g) { + my $suffixes_str = $1; + my @list=split(' ', $suffixes_str); + foreach $ext (@list) { + if ($ext =~ /^\.$cppExt$/) { + $cxxsuffix = $ext; + $cxxsuffix =~ s/\.//g; + print STDOUT "will use suffix $cxxsuffix\n" if ($verbose); + last; + } + } + } + + while ($MakefileData =~ /\n(\S*)_OBJECTS\s*=[\034\s]*([^\n]*)\n/g) { + + my $program = $1; + my $objs = $2; # safe them + + my $ocv = 0; + + my @objlist = split(/[\034\s]+/, $objs); + foreach $obj (@objlist) { + if ($obj =~ /(\S*)\$\((\S+)\)/ ) { + my $pre = $1; + my $variable = $2; + if ($pre eq '' && exists($varcontent{$variable})) { + my @addlist = split(/[\034\s]+/, $varcontent{$variable}); + push(@objlist, @addlist); + } elsif ($variable !~ 'OBJEXT') { + $ocv = 1; + } + } + } + + next if ($ocv); + + $program =~ s/^am_// if ($program =~ /^am_/); + + my $sourceprogram = $program; + $sourceprogram =~ s/\@am_/\@/ if($sourceprogram =~ /^.*\@am_.+/); + + print STDOUT "found program $program\n" if ($verbose); + push(@programs, $program); + + $realObjs{$program} = $objs; + + if ($MakefileData =~ /\n$sourceprogram\_SOURCES\s*=\s*(.*)\n/) { + $sources{$program} = $1; + } + else { + $sources{$program} = ""; + print STDERR "found program with no _SOURCES: $program\n"; + } + + my $realprogram = $program; + $realprogram =~ s/_/./g; # unmask to regexp + if ($MakefileData =~ /\n($realprogram)(\$\(EXEEXT\)?)?:.*\$\($program\_OBJECTS\)/) { + $realname{$program} = $1; + } else { + # not standard Makefile - nothing to worry about + $realname{$program} = ""; + } + } + + my $lookup = 'DEPDIR\s*=.*'; + if ($MakefileData !~ /\n($lookup)\n/o) { + $lookup = 'bindir\s*=.*'; + if ($MakefileData =~ /\n($lookup)\n/) { + substituteLine ($lookup, "DEPDIR = .deps\n$1"); + } + } + + my @marks = ('MAINTAINERCLEANFILES', 'CLEANFILES', 'DISTCLEANFILES'); + foreach $mark (@marks) { + while ($MakefileData =~ /\n($mark)\s*=\s*([^\n]*)/g) { + my $clean_str = $2; + foreach $file (split('[\034\s]+', $clean_str)) { + $file =~ s/\.\///; + push(@cleanfiles, $file); + } + } + } + + my $localTag = 0; + $localTag++ if ($MakefileData =~ /\ninstall-\S+-local:/); + + return (!$errorflag); +} + +#----------------------------------------------------------------------------- + +# Gets the list of user defined directories - relative to $srcdir - where +# header files could be located. +sub tag_META_INCLUDES () +{ + my $lookup = '[^=\n]*META_INCLUDES\s*=\s*(.*)'; + return 1 if ($MakefileData !~ /($lookup)\n/o); + print STDOUT "META_INCLUDE processing <$1>\n" if ($verbose); + + my $headerStr = $2; + removeLine ($lookup, $1); + + my @headerlist = split(/[\034\s]+/, $headerStr); + + foreach $dir (@headerlist) + { + $dir =~ s#\$\(srcdir\)#.#; + if (! -d $dir) + { + print STDERR "Warning: $dir can't be found. ", + "Must be a relative path to \$(srcdir)\n"; + } + else + { + push (@headerdirs, $dir); + } + } + + return 0; +} + +#----------------------------------------------------------------------------- + +sub tag_FINAL() +{ + my @final_names = (); + + foreach $program (@programs) { + + if ($sources{$program} =~ /\(/) { + print STDOUT "found ( in $program\_SOURCES. skipping\n" if ($verbose); + next; + } + + my $mocs = ""; # Moc files (in this program) + my $moc_cpp_added = 0; # If we added some .moc.cpp files, due to + # no other .cpp file including the .moc one. + + my @progsources = split(/[\034\s]+/, $sources{$program}); + my %shash = (); + @shash{@progsources} = 1; # we are only interested in the existence + my %sourcelist = (); + + foreach $source (@progsources) { + my $suffix = $source; + $suffix =~ s/^.*\.([^\.]+)$/$1/; + + $sourcelist{$suffix} .= "$source "; + } + foreach my $mocFile (keys (%globalmocs)) + { + my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); + if (defined ($cppFile)) { + $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; + } else { + $sourcelist{$cxxsuffix} .= "$mocFile.moc.$cxxsuffix "; + $moc_cpp_added = 1; + } + } + foreach $suffix (keys %sourcelist) { + + # See if this file contains c++ code. (i.e., just check the file's suffix against c++ extensions) + my $suffix_is_cxx = 0; + if($suffix =~ /($cppExt)$/) { + $cxxsuffix = $1; + $suffix_is_cxx = 1; + } + + my $mocfiles_in = ($suffix eq $cxxsuffix) && $moc_cpp_added; + + my @sourcelist = split(/[\034\s]+/, $sourcelist{$suffix}); + + if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) { + + # we support IDL on our own + if ($suffix eq "skel" || $suffix =~ /^stub/ + || $suffix =~ /^signals/ # obsolete, remove in KDE-4 + || $suffix eq "h" || $suffix eq "ui" ) { + next; + } + + foreach $file (@sourcelist) { + $file =~ s/\Q$suffix\E$//; + + $finalObjs{$program} .= $file; + if ($program =~ /_la$/) { + $finalObjs{$program} .= "lo "; + } else { + $finalObjs{$program} .= "o "; + } + } + next; # suffix + } + + my $source_deps = ""; + foreach $source (@sourcelist) { + if (-f $source) { + $source_deps .= " \$(srcdir)/$source"; + } else { + $source_deps .= " $source"; + } + } + + $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in" . $source_deps . " " . join(' ', $mocs) . "\n"; + $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n"; + $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n"; + $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n"; + $handling .= "\tfor file in " . $sourcelist{$suffix} . "; do \\\n"; + $handling .= "\t echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n"; + $handling .= "\t test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n"; + $handling .= "\tdone; \\\n"; + $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files > $program.all_$suffix.$suffix; \\\n"; + $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n"; + + appendLines($handling); + + push(@final_names, "$program.all_$suffix.$suffix"); + my $finalObj = "$program.all_$suffix."; + if ($program =~ /_la$/) { + $finalObj .= "lo"; + } else { + $finalObj .= "o"; + } + $finalObjs{$program} .= $finalObj . " "; + } + } + + if (!$kdeopts{"nofinal"} && @final_names >= 1) { + # add clean-final target + my $lines = "$cleantarget-final:\n"; + $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names); + appendLines($lines); + $target_adds{"$cleantarget-am"} .= "$cleantarget-final "; + + foreach $finalfile (@final_names) { + $finalfile =~ s/\.[^.]*$/.P/; + $dep_finals .= " \$(DEPDIR)/$finalfile"; + } + } +} + +#----------------------------------------------------------------------------- + +sub tag_COMPILE_FIRST() +{ + foreach $program (@programs) { + my $lookup = "$program" . '_COMPILE_FIRST\s*=\s*(.*)'; + if ($MakefileData =~ m/\n$lookup\n/) { + my $compilefirst_str = $1; + my @compilefirst = split(/[\034\s]+/, $compilefirst_str); + my @progsources = split(/[\034\s]+/, $sources{$program}); + my %donesources = (); + $handling = ""; + foreach $source (@progsources) { + my @deps = (); + my $sdeps = ""; + if (-f $source) { + $sdeps = "\$(srcdir)/$source"; + } else { + $sdeps = "$source"; + } + foreach $depend (@compilefirst) { + next if ($source eq $depend); + # avoid cyclic dependencies + next if defined($donesources{$depend}); + push @deps, $depend; + } + $handling .= "$sdeps: " . join(' ', @deps) . "\n" if (@deps); + $donesources{$source} = 1; + } + appendLines($handling) if (length($handling)); + } + } +} + +#----------------------------------------------------------------------------- + + +# Organises the list of headers that we'll use to produce moc files +# from. +sub tag_METASOURCES () +{ + local @newObs = (); # here we add to create object files + local @deped = (); # here we add to create moc files + local $mocExt = ".moc"; + local %mocFiles = (); + + my $line = ""; + my $postEqual = ""; + + my $lookup; + my $found = ""; +#print "$program: tag_METASOURCES\n"; + if ($metasourceTags > 1) { + $lookup = $program . '_METASOURCES\s*=\s*(.*)'; + return 1 if ($MakefileData !~ /\n($lookup)\n/); + $found = $1; + } else { + $lookup = $program . '_METASOURCES\s*=\s*(.*)'; + if ($MakefileData !~ /\n($lookup)\n/) { + $lookup = 'METASOURCES\s*=\s*(.*)'; + return 1 if ($MakefileData !~ /\n($lookup)\n/o); + $found = $1; + $metasourceTags = 0; # we can use the general target only once + } else { + $found = $1; + } + } + print STDOUT "METASOURCE processing <$found>)\n" if ($verbose); + + $postEqual = $found; + $postEqual =~ s/[^=]*=//; + + removeLine ($lookup, $found); + + # Always find the header files that could be used to "moc" + return 1 if (findMocCandidates ()); + + if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/) + { + print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+); + $mocExt = ".moc.$cxxsuffix"; + $haveAutomocTag = 1; + } + else + { + # Not automoc so read the list of files supplied which + # should be .moc files. + + $postEqual =~ tr/\034/ /; + + # prune out extra headers - This also checks to make sure that + # the list is valid. + pruneMocCandidates ($postEqual); + } + + checkMocCandidates (); + + if (@newObs) { + my $ext = ($program =~ /_la$/) ? ".moc.lo " : ".moc.o "; + $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext; + $depedmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix"; + foreach $file (@newObs) { + $dep_files .= " \$(DEPDIR)/$file.moc.P" if($dep_files !~/$file.moc.P/); + } + } + if (@deped) { + $depedmocs{$program} .= " "; + $depedmocs{$program} .= join('.moc ', @deped) . ".moc"; + $depedmocs{$program} .= " "; + } + addMocRules (); + @globalmocs{keys %mocFiles}=values %mocFiles; +} + +#----------------------------------------------------------------------------- + +# Returns 0 if the line was processed - 1 otherwise. +# Errors are logged in the global $errorflags +sub tag_AUTOMAKE () +{ + my $lookup = '.*cd \$\(top_srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\)(.*)'; + return 1 if ($MakefileData !~ /\n($lookup)\n/); + print STDOUT "AUTOMAKE processing <$1>\n" if ($verbose); + + my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname"; + substituteLine ($lookup, $newLine); + $automkCall = $1; + return 0; +} + +#----------------------------------------------------------------------------- + +sub handle_TOPLEVEL() +{ + my $pofiles = ""; + my @restfiles = (); + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if (-d $entry); + + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry =~ /.gmo$/); + + if ($entry =~ /\.po$/) { + next; + } + push(@restfiles, $entry); + } + closedir (THISDIR); + + if (@restfiles) { + $target_adds{"install-data-am"} .= "install-nls-files "; + $lines = "install-nls-files:\n"; + $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$kdelang\n"; + for $file (@restfiles) { + $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; + } + $target_adds{"uninstall"} .= "uninstall-nls-files "; + $lines .= "uninstall-nls-files:\n"; + for $file (@restfiles) { + $lines .= "\t-rm -f \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; + } + appendLines($lines); + } + + return 0; +} + +#----------------------------------------------------------------------------- + +sub tag_SUBDIRS () +{ + if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) { + return 1; + } + + my $subdirs = "."; + + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./); + if (-d $entry && -f $entry . "/Makefile.am") { + $subdirs .= " $entry"; + next; + } + } + closedir (THISDIR); + + my $lines = "SUBDIRS =$subdirs\n"; + substituteLine('SUBDIRS\s*=.*', $lines); + return 0; +} + +sub tag_IDLFILES () +{ + my @psources = split(/[\034\s]+/, $sources{$program}); + my $dep_lines = ""; + my @cppFiles = (); + + foreach $source (@psources) { + + my $skel = ($source =~ m/\.skel$/); + my $stub = ($source =~ m/\.stub$/); + my $signals = ($source =~ m/\.signals$/); # obsolete, remove in KDE-4 + + if ($stub || $skel || $signals) { + + my $qs = quotemeta($source); + $sources{$program} =~ s/$qs//; + $sources_changed{$program} = 1; + + print STDOUT "adding IDL file $source\n" if ($verbose); + + $source =~ s/\.(stub|skel|signals)$//; + + my $sourcename; + + if ($skel) { + $sourcename = "$source\_skel"; + } elsif ($stub) { + $sourcename = "$source\_stub"; + } else { + $sourcename = "$source\_signals"; + } + + my $sourcedir = ''; + if (-f "$makefileDir/$source.h") { + $sourcedir = '$(srcdir)/'; + } else { + if ($MakefileData =~ /\n$source\_DIR\s*=\s*(\S+)\n/) { + $sourcedir = $1; + $sourcedir .= "/" if ($sourcedir !~ /\/$/); + } + } + + if ($allidls !~ /$source\_kidl/) { + + $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOP_DEPENDENCIES)\n"; + $dep_lines .= "\t\$(DCOPIDL) $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n"; + + $allidls .= $source . "_kidl "; + } + + if ($allidls !~ /$sourcename/) { + + $dep_lines_tmp = ""; + + if ($skel) { + $dep_lines .= "$sourcename.$cxxsuffix: $source.kidl\n"; + $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-stub $source.kidl\n"; + } elsif ($stub) { + $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-skel $source.kidl\n"; + } else { # signals - obsolete, remove in KDE 4 + $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-stub --no-skel $source.kidl\n"; + } + + if ($stub || $signals) { + $target_adds{"$sourcename.$cxxsuffix"} .= "$sourcename.h "; + $dep_lines .= "$sourcename.h: $source.kidl\n"; + $dep_lines .= $dep_lines_tmp; + } + + $allidls .= $sourcename . " "; + } + + $idlfiles{$program} .= $sourcename . " "; + + if ($program =~ /_la$/) { + $realObjs{$program} .= " $sourcename.lo"; + } else { + $realObjs{$program} .= " $sourcename.\$(OBJEXT)"; + } + $sources{$program} .= " $sourcename.$cxxsuffix"; + $sources_changed{$program} = 1; + $important{$program} .= "$sourcename.h " if (!$skel); + $idl_output .= "\\\n\t$sourcename.$cxxsuffix $sourcename.h $source.kidl "; + push(@cleanfiles, "$sourcename.$cxxsuffix"); + push(@cleanfiles, "$sourcename.h"); + push(@cleanfiles, "$sourcename.kidl"); + $dep_files .= " \$(DEPDIR)/$sourcename.P" if ($dep_files !~/$sourcename.P/); + } + } + if ($dep_lines) { + appendLines($dep_lines); + } + + if (0) { + my $lookup = "($program)"; + $lookup .= '(|\$\(EXEEXT\))'; + $lookup =~ s/\_/./g; + $lookup .= ":(.*..$program\_OBJECTS..*)"; + # $lookup = quotemeta($lookup); + if ($MakefileData =~ /\n$lookup\n/) { + + my $line = "$1$2: "; + foreach $file (split(' ', $idlfiles{$program})) { + $line .= "$file.$cxxsuffix "; + } + $line .= $3; + substituteLine($lookup, $line); + } else { + print STDERR "no built dependency found $lookup\n"; + } + } +} + +sub tag_UIFILES () +{ + my @psources = split(/[\034\s]+/, $sources{$program}); + my $dep_lines = ""; + my @depFiles = (); + + foreach $source (@psources) { + + if ($source =~ m/\.ui$/) { + + print STDERR "adding UI file $source\n" if ($verbose); + + my $qs = quotemeta($source); + $sources{$program} =~ s/$qs//; + $sources_changed{$program} = 1; + + $source =~ s/\.ui$//; + + my $sourcedir = ''; + if (-f "$makefileDir/$source.ui") { + $sourcedir = '$(srcdir)/'; + } + + if (!$uiFiles{$source}) { + + $dep_lines .= "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n"; + $dep_lines .= "\trm -f $source.$cxxsuffix\n"; + if (!$kdeopts{"qtonly"}) { + $dep_lines .= "\techo '#include ' > $source.$cxxsuffix\n"; + my ($mangled_source) = $source; + $mangled_source =~ s/[^A-Za-z0-9]/_/g; # get rid of garbage + $dep_lines .= "\t\$(UIC) -tr \${UIC_TR} -i $source.h $sourcedir$source.ui > $source.$cxxsuffix.temp ; ret=\$\$?; \\\n"; + $dep_lines .= "\tsed -e \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | sed -e \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | sed -e \"s,image\\([0-9][0-9]*\\)_data,img\\1_" . $mangled_source . ",g\" >> $source.$cxxsuffix ;\\\n"; + $dep_lines .= "\trm -f $source.$cxxsuffix.temp ;\\\n"; + } else { + $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix; ret=\$\$?; \\\n"; + } + $dep_lines .= "\tif test \"\$\$ret\" = 0; then echo '#include \"$source.moc\"' >> $source.$cxxsuffix; else rm -f $source.$cxxsuffix ; exit \$\$ret ; fi\n\n"; + $dep_lines .= "$source.h: $sourcedir$source.ui\n"; + $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n\n"; + $dep_lines .= "$source.moc: $source.h\n"; + $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n"; + + $uiFiles{$source} = 1; + $depedmocs{$program} .= " $source.moc"; + $globalmocs{$source} = "\035$source.h\035$source.cpp"; + } + + if ($program =~ /_la$/) { + $realObjs{$program} .= " $source.lo"; + } else { + $realObjs{$program} .= " $source.\$(OBJEXT)"; + } + $sources{$program} .= " $source.$cxxsuffix"; + $sources_changed{$program} = 1; + $important{$program} .= "$source.h "; + $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc "; + push(@cleanfiles, "$source.$cxxsuffix"); + push(@cleanfiles, "source.h"); + push(@cleanfiles, "$source.moc"); + $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); + } + } + if ($dep_lines) { + appendLines($dep_lines); + } +} + +sub tag_ICON() +{ + my $lookup = '([^\s]*)_ICON\s*=\s*([^\n]*)'; + my $install = ""; + my $uninstall = ""; + + while ($MakefileData =~ /\n$lookup/og) { + my $destdir; + if ($1 eq "KDE") { + $destdir = "kde_icondir"; + } else { + $destdir = $1 . "dir"; + } + my $iconauto = ($2 =~ /AUTO\s*$/); + my @appnames = (); + if ( ! $iconauto ) { + my $appicon_str = $2; + my @_appnames = split(" ", $appicon_str); + print STDOUT "KDE_ICON processing <@_appnames>\n" if ($verbose); + foreach $appname (@_appnames) { + push(@appnames, quotemeta($appname)); + } + } else { + print STDOUT "KDE_ICON processing \n" if ($verbose); + } + + my @files = (); + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); + next if (! -f $entry); + if ( $iconauto ) + { + push(@files, $entry) + if ($entry =~ /\.xpm/ || $entry =~ /\.png/ || $entry =~ /\.mng/ || $entry =~ /\.svg/); + } else { + foreach $appname (@appnames) { + push(@files, $entry) + if ($entry =~ /-$appname\.xpm/ || $entry =~ /-$appname\.png/ || $entry =~ /-$appname\.mng/ || $entry =~ /-$appname\.svg/); + } + } + } + closedir (THISDIR); + + my %directories = (); + + foreach $file (@files) { + my $newfile = $file; + my $prefix = $file; + $prefix =~ s/\.(png|xpm|mng|svg|svgz)$//; + my $appname = $prefix; + $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; + $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; + $appname = quotemeta($appname); + $prefix =~ s/$appname$//; + $prefix =~ s/-$//; + + $prefix = 'lo16-app' if ($prefix eq 'mini'); + $prefix = 'lo32-app' if ($prefix eq 'lo'); + $prefix = 'hi48-app' if ($prefix eq 'large'); + $prefix .= '-app' if ($prefix =~ m/^...$/); + + my $type = $prefix; + $type =~ s/^.*-([^-]+)$/$1/; + $prefix =~ s/^(.*)-[^-]+$/$1/; + + my %type_hash = + ( + 'action' => 'actions', + 'app' => 'apps', + 'device' => 'devices', + 'filesys' => 'filesystems', + 'mime' => 'mimetypes' + ); + + if (! defined $type_hash{$type} ) { + print STDERR "unknown icon type $type in $printname ($file)\n"; + next; + } + + my %dir_hash = + ( + 'los' => 'locolor/16x16', + 'lom' => 'locolor/32x32', + 'him' => 'hicolor/32x32', + 'hil' => 'hicolor/48x48', + 'lo16' => 'locolor/16x16', + 'lo22' => 'locolor/22x22', + 'lo32' => 'locolor/32x32', + 'hi16' => 'hicolor/16x16', + 'hi22' => 'hicolor/22x22', + 'hi32' => 'hicolor/32x32', + 'hi48' => 'hicolor/48x48', + 'hi64' => 'hicolor/64x64', + 'hi128' => 'hicolor/128x128', + 'hisc' => 'hicolor/scalable', + 'cr16' => 'crystalsvg/16x16', + 'cr22' => 'crystalsvg/22x22', + 'cr32' => 'crystalsvg/32x32', + 'cr48' => 'crystalsvg/48x48', + 'cr64' => 'crystalsvg/64x64', + 'cr128' => 'crystalsvg/128x128', + 'crsc' => 'crystalsvg/scalable' + ); + + $newfile =~ s@.*-($appname\.(png|xpm|mng|svgz|svg?))@$1@; + + if (! defined $dir_hash{$prefix}) { + print STDERR "unknown icon prefix $prefix in $printname\n"; + next; + } + + my $dir = $dir_hash{$prefix} . "/" . $type_hash{$type}; + if ($newfile =~ /-[^\.]/) { + my $tmp = $newfile; + $tmp =~ s/^([^-]+)-.*$/$1/; + $dir = $dir . "/" . $tmp; + $newfile =~ s/^[^-]+-//; + } + + if (!defined $directories{$dir}) { + $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$($destdir)/$dir\n"; + $directories{$dir} = 1; + } + + $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; + $uninstall .= "\t-rm -f \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; + + } + } + + if (length($install)) { + $target_adds{"install-data-am"} .= "install-kde-icons "; + $target_adds{"uninstall-am"} .= "uninstall-kde-icons "; + appendLines("install-kde-icons:\n" . $install . "\nuninstall-kde-icons:\n" . $uninstall); + } +} + +sub handle_POFILES($$) +{ + my @pofiles = split(" ", $_[0]); + my $lang = $_[1]; + + # Build rules for creating the gmo files + my $tmp = ""; + my $allgmofiles = ""; + my $pofileLine = "POFILES ="; + foreach $pofile (@pofiles) + { + $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension + $tmp .= "$1.gmo: $pofile\n"; + $tmp .= "\trm -f $1.gmo; \$(GMSGFMT) -o $1.gmo \$(srcdir)/$pofile\n"; + $tmp .= "\ttest ! -f $1.gmo || touch $1.gmo\n"; + $allgmofiles .= " $1.gmo"; + $pofileLine .= " $1.po"; + } + appendLines ($tmp); + my $lookup = 'POFILES\s*=([^\n]*)'; + if ($MakefileData !~ /\n$lookup/o) { + appendLines("$pofileLine\nGMOFILES =$allgmofiles"); + } else { + substituteLine ($lookup, "$pofileLine\nGMOFILES =$allgmofiles"); + } + + if ($allgmofiles) { + + # Add the "clean" rule so that the maintainer-clean does something + appendLines ("clean-nls:\n\t-rm -f $allgmofiles\n"); + + $target_adds{"maintainer-clean"} .= "clean-nls "; + + $lookup = 'DISTFILES\s*=\s*(.*)'; + if ($MakefileData =~ /\n$lookup\n/o) { + $tmp = "DISTFILES = \$(GMOFILES) \$(POFILES) $1"; + substituteLine ($lookup, $tmp); + } + } + + $target_adds{"install-data-am"} .= "install-nls "; + + $tmp = "install-nls:\n"; + if ($lang) { + $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES\n"; + } + $tmp .= "\t\@for base in "; + foreach $pofile (@pofiles) + { + $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension + $tmp .= "$1 "; + } + + $tmp .= "; do \\\n"; + if ($lang) { + $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; + $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; + $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; + $tmp .= "\t fi ;\\\n"; + } else { + $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; + $tmp .= "\t \$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES ; \\\n"; + $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; + $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; + $tmp .= "\t fi ;\\\n"; + } + $tmp .= "\tdone\n\n"; + appendLines ($tmp); + + $target_adds{"uninstall"} .= "uninstall-nls "; + + $tmp = "uninstall-nls:\n"; + foreach $pofile (@pofiles) + { + $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension + if ($lang) { + $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/$1.mo\n"; + } else { + $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$1/LC_MESSAGES/\$(PACKAGE).mo\n"; + } + } + appendLines($tmp); + + $target_adds{"all"} .= "all-nls "; + + $tmp = "all-nls: \$(GMOFILES)\n"; + + appendLines($tmp); + + $target_adds{"distdir"} .= "distdir-nls "; + + $tmp = "distdir-nls:\$(GMOFILES)\n"; + $tmp .= "\tfor file in \$(POFILES); do \\\n"; + $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; + $tmp .= "\tdone\n"; + $tmp .= "\tfor file in \$(GMOFILES); do \\\n"; + $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; + $tmp .= "\tdone\n"; + + appendLines ($tmp); + + if (!$lang) { + appendLines("merge:\n\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common package-merge POFILES=\"\${POFILES}\" PACKAGE=\${PACKAGE}\n\n"); + } + +} + +#----------------------------------------------------------------------------- + +# Returns 0 if the line was processed - 1 otherwise. +# Errors are logged in the global $errorflags +sub tag_POFILES () +{ + my $lookup = 'POFILES\s*=([^\n]*)'; + return 1 if ($MakefileData !~ /\n$lookup/o); + print STDOUT "POFILES processing <$1>\n" if ($verbose); + + my $tmp = $1; + + # make sure these are all gone. + if ($MakefileData =~ /\n\.po\.gmo:\n/) + { + print STDERR "Warning: Found old .po.gmo rules in $printname. New po rules not added\n"; + return 1; + } + + # Either find the pofiles in the directory (AUTO) or use + # only the specified po files. + my $pofiles = ""; + if ($tmp =~ /^\s*AUTO\s*$/) + { + opendir (THISDIR, "."); + $pofiles = join(" ", grep(/\.po$/, readdir(THISDIR))); + closedir (THISDIR); + print STDOUT "pofiles found = $pofiles\n" if ($verbose); + if (-f "charset" && -f "kdelibs.po") { + handle_TOPLEVEL(); + } + } + else + { + $tmp =~ s/\034/ /g; + $pofiles = $tmp; + } + return 1 if (!$pofiles); # Nothing to do + + handle_POFILES($pofiles, $kdelang); + + return 0; +} + +sub helper_LOCALINSTALL($) +{ + my $lookup = "\035" . $_[0] . " *:[^\035]*\035\t"; + my $copy = $MakefileData; + $copy =~ s/\n/\035/g; + if ($copy =~ /($lookup.*)$/) { + + $install = $1; + $install =~ s/\035$_[0] *:[^\035]*\035//; + my $emptyline = 0; + while (! $emptyline ) { + if ($install =~ /([^\035]*)\035(.*)/) { + local $line = $1; + $install = $2; + if ($line !~ /^\s*$/ && $line !~ /^(\@.*\@)*\t/) { + $emptyline = 1; + } else { + replaceDestDir($line); + } + } else { + $emptyline = 1; + } + } + } + +} + +sub tag_LOCALINSTALL () +{ + helper_LOCALINSTALL('install-exec-local'); + helper_LOCALINSTALL('install-data-local'); + helper_LOCALINSTALL('uninstall-local'); + + return 0; +} + +sub replaceDestDir($) { + local $line = $_[0]; + + if ( $line =~ /^\s*(\@.*\@)*\s*\$\(mkinstalldirs\)/ + || $line =~ /^\s*(\@.*\@)*\s*\$\(INSTALL\S*\)/ + || $line =~ /^\s*(\@.*\@)*\s*(-?rm.*) \S*$/) + { + $line =~ s/^(.*) ([^\s]+)\s*$/$1 \$(DESTDIR)$2/ if ($line !~ /\$\(DESTDIR\)/); + } + + if ($line ne $_[0]) { + $_[0] = quotemeta $_[0]; + substituteLine($_[0], $line); + } +} + +#--------------------------------------------------------------------------- +sub tag_CLOSURE () { + return if ($program !~ /_la$/); + + my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; + $MakefileData =~ m/$lookup/; + return if ($1 !~ /CXXLINK/); + + if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ && + $MakefileData !~ /\n$program\_LDFLAGS\s*=.*KDE_PLUGIN/ ) { + print STDERR "Report: $program contains undefined in $printname\n" if ($program =~ /^lib/ && $dryrun); + return; + } + + my $closure = $realname{$program} . ".closure"; + my $lines = "$closure: \$($program\_OBJECTS) \$($program\_DEPENDENCIES)\n"; + $lines .= "\t\@echo \"int main() {return 0;}\" > $program\_closure.$cxxsuffix\n"; + $lines .= "\t\@\$\(LTCXXCOMPILE\) -c $program\_closure.$cxxsuffix\n"; + $lines .= "\t\$\(CXXLINK\) $program\_closure.lo \$($program\_LDFLAGS) \$($program\_OBJECTS) \$($program\_LIBADD) \$(LIBS)\n"; + $lines .= "\t\@rm -f $program\_closure.* $closure\n"; + $lines .= "\t\@echo \"timestamp\" > $closure\n"; + $lines .= "\n"; + appendLines($lines); + $lookup = $realname{$program} . ": (.*)"; + if ($MakefileData =~ /\n$lookup\n/) { + $lines = "\@KDE_USE_CLOSURE_TRUE@". $realname{$program} . ": $closure $1"; + $lines .= "\n\@KDE_USE_CLOSURE_FALSE@" . $realname{$program} . ": $1"; + substituteLine($lookup, $lines); + } + $closure_output .= " $closure"; +} + +sub tag_DIST () { + my %foundfiles = (); + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry eq "Makefile" || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); + next if (! -f $entry); + next if ($entry =~ /\.moc/ || $entry =~ /\.moc.$cppExt$/ || $entry =~ /\.lo$/ || $entry =~ /\.la$/ || $entry =~ /\.o/); + next if ($entry =~ /\.all_$cppExt\.$cppExt$/); + $foundfiles{$entry} = 1; + } + closedir (THISDIR); + + # doing this for MAINTAINERCLEANFILES would be wrong + my @marks = ("EXTRA_DIST", "DIST_COMMON", '\S*_SOURCES', '\S*_HEADERS', 'CLEANFILES', 'DISTCLEANFILES', '\S*_OBJECTS'); + foreach $mark (@marks) { + while ($MakefileData =~ /\n($mark)\s*=\s*([^\n]*)/g) { + my $cleanfiles_str = $2; + foreach $file (split('[\034\s]+', $cleanfiles_str)) { + $file =~ s/\.\///; + $foundfiles{$file} = 0 if (defined $foundfiles{$file}); + } + } + } + my @files = ("Makefile", "config.cache", "config.log", "stamp-h", + "stamp-h1", "stamp-h1", "config.h", "Makefile", + "config.status", "config.h", "libtool", "core" ); + foreach $file (@files) { + $foundfiles{$file} = 0 if (defined $foundfiles{$file}); + } + + my $KDE_DIST = ""; + foreach $file (keys %foundfiles) { + if ($foundfiles{$file} == 1) { + $KDE_DIST .= "$file "; + } + } + if ($KDE_DIST) { + print "KDE_DIST $printname $KDE_DIST\n" if ($verbose); + + my $lookup = "DISTFILES *=(.*)"; + if ($MakefileData =~ /\n$lookup\n/o) { + substituteLine($lookup, "KDE_DIST=$KDE_DIST\n\nDISTFILES=$1 \$(KDE_DIST)\n"); + } + } +} + +#----------------------------------------------------------------------------- +# Returns 0 if the line was processed - 1 otherwise. +# Errors are logged in the global $errorflags +sub tag_DOCFILES () +{ + $target_adds{"all"} .= "docs-am "; + + my $lookup = 'KDE_DOCS\s*=\s*([^\n]*)'; + goto nodocs if ($MakefileData !~ /\n$lookup/o); + print STDOUT "KDE_DOCS processing <$1>\n" if ($verbose); + + my $tmp = $1; + + # Either find the files in the directory (AUTO) or use + # only the specified po files. + my $files = ""; + my $appname = $tmp; + $appname =~ s/^(\S*)\s*.*$/$1/; + if ($appname =~ /AUTO/) { + $appname = basename($makefileDir); + if ("$appname" eq "en") { + print STDERR "Error: KDE_DOCS = AUTO relies on the directory name. Yours is 'en' - you most likely want something else, e.g. KDE_DOCS = myapp\n"; + exit(1); + } + } + + if ($tmp !~ / - /) + { + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry eq "core" || $entry eq "index.cache.bz2"); + next if (! -f $entry); + $files .= "$entry "; + } + closedir (THISDIR); + print STDOUT "docfiles found = $files\n" if ($verbose); + } + else + { + $tmp =~ s/\034/ /g; + $tmp =~ s/^\S*\s*-\s*//; + $files = $tmp; + } + goto nodocs if (!$files); # Nothing to do + + if ($files =~ /(^| )index\.docbook($| )/) { + + my $lines = ""; + my $lookup = 'MEINPROC\s*='; + if ($MakefileData !~ /\n($lookup)/) { + $lines = "MEINPROC=/\$(kde_bindir)/meinproc\n"; + } + $lookup = 'KDE_XSL_STYLESHEET\s*='; + if ($MakefileData !~ /\n($lookup)/) { + $lines .= "KDE_XSL_STYLESHEET=/\$(kde_datadir)/ksgmltools2/customization/kde-chunk.xsl\n"; + } + $lookup = '\nindex.cache.bz2:'; + if ($MakefileData !~ /\n($lookup)/) { + $lines .= "index.cache.bz2: \$(srcdir)/index.docbook \$(KDE_XSL_STYLESHEET) $files\n"; + $lines .= "\t\@if test -n \"\$(MEINPROC)\"; then echo \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook || true; fi\n"; + $lines .= "\n"; + } + + $lines .= "docs-am: index.cache.bz2\n"; + $lines .= "\n"; + $lines .= "install-docs: docs-am install-nls\n"; + $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; + $lines .= "\t\@if test -f index.cache.bz2; then \\\n"; + $lines .= "\techo \$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\t\$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\telif test -f \$(srcdir)/index.cache.bz2; then \\\n"; + $lines .= "\techo \$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\t\$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\tfi\n"; + $lines .= "\t-rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; + $lines .= "\t\$(LN_S) \$(kde_libs_htmldir)/$kdelang/common \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; + + $lines .= "\n"; + $lines .= "uninstall-docs:\n"; + $lines .= "\t-rm -rf \$(kde_htmldir)/$kdelang/$appname\n"; + $lines .= "\n"; + $lines .= "clean-docs:\n"; + $lines .= "\t-rm -f index.cache.bz2\n"; + $lines .= "\n"; + $target_adds{"install-data-am"} .= "install-docs "; + $target_adds{"uninstall"} .= "uninstall-docs "; + $target_adds{"clean-am"} .= "clean-docs "; + appendLines ($lines); + } else { + appendLines("docs-am: $files\n"); + } + + $target_adds{"install-data-am"} .= "install-nls "; + $target_adds{"uninstall"} .= "uninstall-nls "; + + $tmp = "install-nls:\n"; + $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; + $tmp .= "\t\@for base in $files; do \\\n"; + $tmp .= "\t echo \$(INSTALL_DATA) \$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; + $tmp .= "\t \$(INSTALL_DATA) \$(srcdir)/\$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; + $tmp .= "\tdone\n"; + if ($appname eq 'common') { + $tmp .= "\t\@echo \"merging common and language specific dir\" ;\\\n"; + $tmp .= "\tif test ! -f \$(kde_htmldir)/en/common/kde-common.css; then echo 'no english docs found in \$(kde_htmldir)/en/common/'; exit 1; fi \n"; + $tmp .= "\t\@com_files=`cd \$(kde_htmldir)/en/common && echo *` ;\\\n"; + $tmp .= "\tcd \$(DESTDIR)\$(kde_htmldir)/$kdelang/common ;\\\n"; + $tmp .= "\tif test -n \"\$\$com_files\"; then for p in \$\$com_files ; do \\\n"; + $tmp .= "\t case \" $files \" in \\\n"; + $tmp .= "\t *\" \$\$p \"*) ;; \\\n"; + $tmp .= "\t *) test ! -f \$\$p && echo \$(LN_S) ../../en/common/\$\$p \$(DESTDIR)\$(kde_htmldir)/$kdelang/common/\$\$p && \$(LN_S) ../../en/common/\$\$p \$\$p ;; \\\n"; + $tmp .= "\t esac ; \\\n"; + $tmp .= "\tdone ; fi ; true\n"; + } + $tmp .= "\n"; + $tmp .= "uninstall-nls:\n"; + $tmp .= "\tfor base in $files; do \\\n"; + $tmp .= "\t rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; + $tmp .= "\tdone\n\n"; + appendLines ($tmp); + + $target_adds{"distdir"} .= "distdir-nls "; + + $tmp = "distdir-nls:\n"; + $tmp .= "\tfor file in $files; do \\\n"; + $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; + $tmp .= "\tdone\n"; + + appendLines ($tmp); + + return 0; + + nodocs: + appendLines("docs-am:\n"); + return 1; +} + +#----------------------------------------------------------------------------- +# Find headers in any of the source directories specified previously, that +# are candidates for "moc-ing". +sub findMocCandidates () +{ + foreach $dir (@headerdirs) + { + my @list = (); + opendir (SRCDIR, "$dir"); + @hFiles = grep { /.+\.$hExt$/o && !/^\./ } readdir(SRCDIR); + closedir SRCDIR; + foreach $hf (@hFiles) + { + next if ($hf =~ /^\.\#/); + $hf =~ /(.*)\.[^\.]*$/; # Find name minus extension + next if ($uiFiles{$1}); + open (HFIN, "$dir/$hf") || die "Could not open $dir/$hf: $!\n"; + my $hfsize = 0; + seek(HFIN, 0, 2); + $hfsize = tell(HFIN); + seek(HFIN, 0, 0); + read HFIN, $hfData, $hfsize; + close HFIN; + # push (@list, $hf) if(index($hfData, "Q_OBJECT") >= 0); ### fast but doesn't handle //Q_OBJECT + # handle " { friend class blah; Q_OBJECT ", but don't match antlarr_Q_OBJECT (\b). + if ( $hfData =~ /{([^}]*)\bQ_OBJECT/s ) { + push (@list, $hf) unless $1 =~ m://[^\n]*Q_OBJECT[^\n]*$:s; ## reject "// Q_OBJECT" + } + } + # The assoc array of root of headerfile and header filename + foreach $hFile (@list) + { + $hFile =~ /(.*)\.[^\.]*$/; # Find name minus extension + if ($mocFiles{$1}) + { + print STDERR "Warning: Multiple header files found for $1\n"; + next; # Use the first one + } + $mocFiles{$1} = "$dir\035$hFile"; # Add relative dir + } + } + + return 0; +} + +#----------------------------------------------------------------------------- + +# The programmer has specified a moc list. Prune out the moc candidates +# list that we found based on looking at the header files. This generates +# a warning if the programmer gets the list wrong, but this doesn't have +# to be fatal here. +sub pruneMocCandidates ($) +{ + my %prunedMoc = (); + local @mocList = split(' ', $_[0]); + + foreach $mocname (@mocList) + { + $mocname =~ s/\.moc$//; + if ($mocFiles{$mocname}) + { + $prunedMoc{$mocname} = $mocFiles{$mocname}; + } + else + { + my $print = $makefileDir; + $print =~ s/^\Q$topdir\E\\//; + # They specified a moc file but we can't find a header that + # will generate this moc file. That's possible fatal! + print STDERR "Warning: No moc-able header file for $print/$mocname\n"; + } + } + + undef %mocFiles; + %mocFiles = %prunedMoc; +} + +#----------------------------------------------------------------------------- + +# Finds the cpp files (If they exist). +# The cpp files get appended to the header file separated by \035 +sub checkMocCandidates () +{ + my @cppFiles; + my $cpp2moc; # which c++ file includes which .moc files + my $moc2cpp; # which moc file is included by which c++ files + + return unless (keys %mocFiles); + opendir(THISDIR, ".") || return; + @cppFiles = grep { /.+\.$cppExt$/o && !/.+\.moc\.$cppExt$/o + && !/.+\.all_$cppExt\.$cppExt$/o + && !/^\./ } readdir(THISDIR); + closedir THISDIR; + return unless (@cppFiles); + my $files = join (" ", @cppFiles); + $cpp2moc = {}; + $moc2cpp = {}; + foreach $cxxf (@cppFiles) + { + open (CXXFIN, $cxxf) || die "Could not open $cxxf: $!\n"; + seek(CXXFIN, 0, 2); + my $cxxfsize = tell(CXXFIN); + seek(CXXFIN, 0, 0); + read CXXFIN, $cxxfData, $cxxfsize; + close CXXFIN; + while(($cxxfData =~ m/^[ \t]*\#include\s*[<\"](.*\.moc)[>\"]/gm)) { + $cpp2moc->{$cxxf}->{$1} = 1; + $moc2cpp->{$1}->{$cxxf} = 1; + } + } + foreach my $mocFile (keys (%mocFiles)) + { + @cppFiles = keys %{$moc2cpp->{"$mocFile.moc"}}; + if (@cppFiles == 1) { + $mocFiles{$mocFile} .= "\035" . $cppFiles[0]; + push(@deped, $mocFile); + } elsif (@cppFiles == 0) { + push (@newObs, $mocFile); # Produce new object file + next if ($haveAutomocTag); # This is expected... + # But this is an error we can deal with - let them know + print STDERR + "Warning: No c++ file that includes $mocFile.moc\n"; + } else { + # We can't decide which file to use, so it's fatal. Although as a + # guess we could use the mocFile.cpp file if it's in the list??? + print STDERR + "Error: Multiple c++ files that include $mocFile.moc\n"; + print STDERR "\t",join ("\t", @cppFiles),"\n"; + $errorflag = 1; + delete $mocFiles{$mocFile}; + # Let's continue and see what happens - They have been told! + } + } +} + +#----------------------------------------------------------------------------- + +# Add the rules for generating moc source from header files +# For Automoc output *.moc.cpp but normally we'll output *.moc +# (We must compile *.moc.cpp separately. *.moc files are included +# in the appropriate *.cpp file by the programmer) +sub addMocRules () +{ + my $cppFile; + my $hFile; + + foreach $mocFile (keys (%mocFiles)) + { + undef $cppFile; + ($dir, $hFile, $cppFile) = split ("\035", $mocFiles{$mocFile}, 3); + $dir =~ s#^\.#\$(srcdir)#; + if (defined ($cppFile)) + { + $cppFile =~ s,\.[^.]*$,,; + $target_adds{"$cppFile.o"} .= "$mocFile.moc "; + $target_adds{"$cppFile.lo"} .= "$mocFile.moc "; + appendLines ("$mocFile.moc: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile.moc\n"); + $cleanMoc .= " $mocFile.moc"; + appendLines ("mocs: $mocFile.moc"); + } + else + { + appendLines ("$mocFile$mocExt: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile$mocExt\n"); + $cleanMoc .= " $mocFile$mocExt"; + appendLines ("mocs: $mocFile$mocExt"); + } + } +} + +sub make_meta_classes () +{ + return if ($kdeopts{"qtonly"}); + + my $cppFile; + my $hFile; + my $moc_class_headers = ""; + foreach $program (@programs) { + my $mocs = ""; + my @progsources = split(/[\034\s]+/, $sources{$program}); + my @depmocs = split(' ', $depedmocs{$program}); + my %shash = (), %mhash = (); + @shash{@progsources} = 1; # we are only interested in the existence + @mhash{@depmocs} = 1; + + print STDOUT "program=$program\n" if ($verbose); + print STDOUT "psources=[".join(' ', keys %shash)."]\n" if ($verbose); + print STDOUT "depmocs=[".join(' ', keys %mhash)."]\n" if ($verbose); + print STDOUT "globalmocs=[".join(' ', keys(%globalmocs))."]\n" if ($verbose); + foreach my $mocFile (keys (%globalmocs)) + { + my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); + if (defined ($cppFile)) + { + $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; + } + else + { + # Bah. This is the case, if no C++ file includes the .moc + # file. We make a .moc.cpp file for that. Unfortunately this + # is not included in the %sources hash, but rather is mentioned + # in %depedmocs. If the user wants to use AUTO he can't just + # use an unspecific METAINCLUDES. Instead he must use + # program_METAINCLUDES. Anyway, it's not working real nicely. + # E.g. Its not clear what happens if user specifies two + # METAINCLUDES=AUTO in the same Makefile.am. + $mocs .= " $mocFile.moc.$cxxsuffix" + if exists $mhash{$mocFile.".moc.$cxxsuffix"}; + } + } + if ($mocs) { + print STDOUT "==> mocs=[".$mocs."]\n" if ($verbose); + } + print STDOUT "\n" if $verbose; + } + if ($moc_class_headers) { + appendLines ("$cleantarget-moc-classes:\n\t-rm -f $moc_class_headers\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-moc-classes "; + } +} + +#----------------------------------------------------------------------------- + +sub updateMakefile () +{ + return if ($dryrun); + + open (FILEOUT, "> $makefile") + || die "Could not create $makefile: $!\n"; + + $MakefileData =~ s/\034/\\\n/g; # Restore continuation lines + # Append our $progId line, _below_ the "generated by automake" line + # because automake-1.6 relies on the first line to be his own. + my $progIdLine = "\# $progId - " . '$Revision: 1.349.2.6 $ '."\n"; + if ( !( $MakefileData =~ s/^(.*generated .*by automake.*\n)/$1$progIdLine/ ) ) { + warn "automake line not found in $makefile\n"; + # Fallback: first line + print FILEOUT $progIdLine; + }; + print FILEOUT $MakefileData; + close FILEOUT; +} + +#----------------------------------------------------------------------------- + +# The given line needs to be removed from the makefile +# Do this by adding the special "removed line" comment at the line start. +sub removeLine ($$) +{ + my ($lookup, $old) = @_; + + $old =~ s/\034/\\\n#>- /g; # Fix continuation lines + $MakefileData =~ s/\n$lookup/\n#>\- $old/; +} + +#----------------------------------------------------------------------------- + +# Replaces the old line with the new line +# old line(s) are retained but tagged as removed. The new line(s) have the +# "added" tag placed before it. +sub substituteLine ($$) +{ + my ($lookup, $new) = @_; + + if ($MakefileData =~ /\n($lookup)/) { + $old = $1; + $old =~ s/\034/\\\n#>\- /g; # Fix continuation lines + my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; + $new =~ s/\\\n/\034/g; + $MakefileData =~ s/\n$lookup/\n#>- $old\n#>\+ $newCount\n$new/; + } else { + print STDERR "Warning: substitution of \"$lookup\" in $printname failed\n"; + } +} + +#----------------------------------------------------------------------------- + +# Slap new lines on the back of the file. +sub appendLines ($) +{ + my ($new) = @_; + my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; + $new =~ s/\\\n/\034/g; # Fix continuation lines + $MakefileData .= "\n#>\+ $newCount\n$new"; +} + +#----------------------------------------------------------------------------- + +# Restore the Makefile.in to the state it was before we fiddled with it +sub restoreMakefile () +{ + $MakefileData =~ s/# $progId[^\n\034]*[\n\034]*//g; + # Restore removed lines + $MakefileData =~ s/([\n\034])#>\- /$1/g; + # Remove added lines + while ($MakefileData =~ /[\n\034]#>\+ ([^\n\034]*)/) + { + my $newCount = $1; + my $removeLines = ""; + while ($newCount--) { + $removeLines .= "[^\n\034]*([\n\034]|)"; + } + $MakefileData =~ s/[\n\034]#>\+.*[\n\034]$removeLines/\n/; + } +} + +#----------------------------------------------------------------------------- diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/compile b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/compile new file mode 100644 index 00000000..9bb997a6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/compile @@ -0,0 +1,99 @@ +#! /bin/sh + +# Wrapper for compilers which do not understand `-c -o'. + +# Copyright 1999, 2000 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Usage: +# compile PROGRAM [ARGS]... +# `-o FOO.o' is removed from the args passed to the actual compile. + +prog=$1 +shift + +ofile= +cfile= +args= +while test $# -gt 0; do + case "$1" in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we do something ugly here. + ofile=$2 + shift + case "$ofile" in + *.o | *.obj) + ;; + *) + args="$args -o $ofile" + ofile= + ;; + esac + ;; + *.c) + cfile=$1 + args="$args $1" + ;; + *) + args="$args $1" + ;; + esac + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$prog" $args +fi + +# Name of file we expect compiler to create. +cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir $lockdir > /dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir $lockdir; exit 1" 1 2 15 + +# Run the compile. +"$prog" $args +status=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +fi + +rmdir $lockdir +exit $status diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/conf.change.pl b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/conf.change.pl new file mode 100644 index 00000000..bb7dcc1a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/conf.change.pl @@ -0,0 +1,177 @@ +#!/usr/bin/perl -w + +# this script patches a config.status file, to use our own perl script +# in the main loop +# we do it this way to circumvent hacking (and thereby including) +# autoconf function (which are GPL) into our LGPL acinclude.m4.in +# written by Michael Matz +# adapted by Dirk Mueller +# +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public License +# along with this library; see the file COPYING.LIB. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# we have to change two places +# 1. the splitting of the substitutions into chunks of 90 (or even 48 in +# later autoconf's +# 2. the big main loop which patches all Makefile.in's + +use File::Basename; + +my $ac_aux_dir = dirname($0); +my ($flag); +local $ac_version = 0; +my $vpath_seen = 0; +$flag = 0; + +while (<>) { +# usage of $flag: 0 -- we have seen nothing yet +# 1 -- we are in (1) +# 2 -- we have ended (1) +# 3 -- we are in (2) +# 4 -- we ended (2) + + if ($flag == 4) { + print; + } elsif ($flag == 0) { +# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..." +# ends with (excluding) "CONFIG_FILE=..." +# in later autoconf (2.14.1) there is no CONFIG_FILES= line, +# but instead the (2) directly follow (1) + if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) { + $flag = 1; + if ($1 eq 'lines') { + # lets hope its different with 2141, + # wasn't able to verify that + if ($2 eq '48') { + $ac_version = 250; + } + else { + $ac_version = 2141; + } + } elsif ($1 eq 'cmds') { + $ac_version = 213; + } + # hmm, we don't know the autoconf version, but we try anyway + } else { + print; + } + } elsif ($flag == 1) { + if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) { + print; + $flag = 2; + } elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { + $flag = 3; + } + } elsif ($flag == 2) { +# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1)) +# end with: "rm -f conftest.s\*" +# on autoconf 250, it ends with '# CONFIG_HEADER section' + if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { + $flag = 3; + } else { + print; + } + } elsif ($flag == 3) { + if (/^\s*rm\s+-f\s+conftest/ ) { + $flag = 4; + &insert_main_loop(); + } elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) { + $flag = 4; + &insert_main_loop(); + #die "hhhhhhh"; + if ($ac_version != 2141) { + print STDERR "hmm, don't know autoconf version\n"; + } + } elsif (/^\#\s*CONFIG_HEADER section.*/) { + $flag = 4; + &insert_main_loop(); + if($ac_version != 250) { + print STDERR "hmm, something went wrong :-(\n"; + } + } elsif (/VPATH/ ) { + $vpath_seen = 1; + } + } +} + +die "wrong input (flag != 4)" unless $flag == 4; +print STDERR "hmm, don't know autoconf version\n" unless $ac_version; + +sub insert_main_loop { + + if ($ac_version == 250) { + &insert_main_loop_250(); + } + else { + &insert_main_loop_213(); + } +} + +sub insert_main_loop_250 { + + print <>\$tmp/subs.sed +EOF + } + print <> \$tmp/subs.files + fi + done + if test -f \$tmp/subs.files ; then + perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL" + fi + rm -f \$tmp/subs.files + +fi +EOF + return; +} + +sub insert_main_loop_213 { + print <> \$ac_cs_root.subs +EOF + } + print <> \$ac_cs_root.sacfiles + fi +done +if test -f \$ac_cs_root.sacfiles ; then + perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL" +fi +rm -f \$ac_cs_root.s* + +EOF + return; +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.guess b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.guess new file mode 100644 index 00000000..5145e357 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.guess @@ -0,0 +1,1363 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. + +timestamp='2002-10-21' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# This shell variable is my proudest work .. or something. --bje + +set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; +(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) + || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; +dummy=$tmpdir/dummy ; +files="$dummy.c $dummy.o $dummy.rel $dummy" ; +trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + rm -f $files ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; +unset files' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + if test $UNAME_RELEASE = "V4.0"; then + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + fi + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + eval $set_cc_for_build + cat <$dummy.s + .data +\$Lformat: + .byte 37,100,45,37,120,10,0 # "%d-%x\n" + + .text + .globl main + .align 4 + .ent main +main: + .frame \$30,16,\$26,0 + ldgp \$29,0(\$27) + .prologue 1 + .long 0x47e03d80 # implver \$0 + lda \$2,-1 + .long 0x47e20c21 # amask \$2,\$1 + lda \$16,\$Lformat + mov \$0,\$17 + not \$1,\$18 + jsr \$26,printf + ldgp \$29,0(\$26) + mov 0,\$16 + jsr \$26,exit + .end main +EOF + $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null + if test "$?" = 0 ; then + case `$dummy` in + 0-0) + UNAME_MACHINE="alpha" + ;; + 1-0) + UNAME_MACHINE="alphaev5" + ;; + 1-1) + UNAME_MACHINE="alphaev56" + ;; + 1-101) + UNAME_MACHINE="alphapca56" + ;; + 2-303) + UNAME_MACHINE="alphaev6" + ;; + 2-307) + UNAME_MACHINE="alphaev67" + ;; + 2-1307) + UNAME_MACHINE="alphaev68" + ;; + 3-1307) + UNAME_MACHINE="alphaev7" + ;; + esac + fi + rm -f $dummy.s $dummy && rmdir $tmpdir + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi + rm -f $dummy.c $dummy && rmdir $tmpdir + fi ;; + esac + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3D:*:*:*) + echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c && rmdir $tmpdir + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:3*) + echo i386-pc-interix3 + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i386-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + rm -f $dummy.c && rmdir $tmpdir + test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c && rmdir $tmpdir + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M68*:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + echo `uname -p`-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 +rm -f $dummy.c $dummy && rmdir $tmpdir + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.pl b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.pl new file mode 100644 index 00000000..1af1cf27 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.pl @@ -0,0 +1,235 @@ +#!/usr/bin/perl +# a script for use by autoconf to make the Makefiles +# from the Makefile.in's +# +# the original autoconf mechanism first splits all substitutions into groups +# of ca. 90, and than invokes sed for _every_ Makefile.in and every group +# (so around 2-3 times per Makefile.in). So this takes forever, as sed +# has to recompile the regexps every time. +# +# this script does better. It changes all Makefile.ins in one process. +# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec! +# +# written by Michael Matz +# adapted by Dirk Mueller + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public License +# along with this library; see the file COPYING.LIB. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +my $ac_subs=$ARGV[0]; +my $ac_sacfiles = $ARGV[1]; +my $ac_given_srcdir=$ARGV[2]; +my $ac_given_INSTALL=$ARGV[3]; + +#print "ac_subs=$ac_subs\n"; +#print "ac_sacfiles=$ac_sacfiles\n"; +#print "ac_given_srcdir=$ac_given_srcdir\n"; +#print "ac_given_INSTALL=$ac_given_INSTALL\n"; + +my ($srcdir, $top_srcdir); +my $INSTALL; +my $bad_perl = ($] < 5.005); + +open(CF, "< $ac_subs") || die "can't open $ac_subs: $!"; +my @subs = ; +close(CF); +chomp @subs; +@comp_match=(); +@comp_subs=(); + +if ($bad_perl) { + print "Using perl older than version 5.005\n"; + foreach my $pat (@subs) { + if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ ) + || ($pat =~ m/s%([^%]*)%([^%]*)%;t/ ) + || ($pat =~ m/s,([^,]*),(.*),;t/) + || ($pat =~ m%s/([^/]*)/([^/]*)/g% ) + || ($pat =~ m%s/([^/]*)/([^/]*)/;t% ) + ) { + # form : s%bla%blubb%g + # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) + # or s,bla,blubb,;t t (autoconf 2.52) + my $srch = $1; + my $repl = $2; + $repl =~ s/\\(.)/$1/g; + push @comp_subs, make_closure($srch, $repl); + + } elsif ( ($pat =~ /%([^%]*)%d/ ) + || ($pat =~ m%/([^/]*)/d% ) + ) { + push @comp_subs, make_closure($1, ""); + } else { + die "Uhh. Malformed pattern in $ac_subs ($pat)" + unless ( $pat =~ /^\s*$/ ); # ignore white lines + } + } +} else { + foreach my $pat (@subs) { + if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) || + ($pat =~ /s%([^%]*)%([^%]*)%;t/ ) || + ($pat =~ /s,([^,]*),(.*),;t/) ) { + # form : s%bla%blubb%g + # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) + # or s,bla,blubb,;t t (autoconf 2.52) + my $srch = $1; + my $repl = $2; + push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern + $repl =~ s/\\(.)/$1/g; + push @comp_subs, $repl; + } elsif ( ($pat =~ /%([^%]*)%d/ ) + || ($pat =~ m%/([^/]*)/d% ) + ) { + push @comp_match, eval "qr/\Q$1\E/"; + push @comp_subs, ""; + } else { + die "Uhh. Malformed pattern in $ac_cs_root.subs ($pat)" + unless ( $pat =~ /^\s*$/ ); # ignore white lines + } + } +} +undef @subs; + +# read the list of files to be patched, form: +# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile + +open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!"; +my @ac_files = ; +close(CF); +chomp @ac_files; + + +my $ac_file; +foreach $ac_file (@ac_files) { + next if $ac_file =~ /\.\./; + next if $ac_file =~ /^\s*$/; + my $ac_file_in; + my ($ac_dir, $ac_dots, $ac_dir_suffix); + + if ($ac_file =~ /.*:.*/ ) { + ($ac_file_in = $ac_file) =~ s%[^:]*:%%; + $ac_file =~ s%:.*%%; + } else { + $ac_file_in = $ac_file.".in"; + } + +# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + +# Remove last slash and all that follows it. Not all systems have dirname. + ($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%; + if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) { +# The file is in a subdirectory. + if (! -d "$ac_dir") { mkdir "$ac_dir", 0777; } + ($ac_dir_suffix = $ac_dir) =~ s%^./%%; + $ac_dir_suffix="/".$ac_dir_suffix; +# A "../" for each directory in $ac_dir_suffix. + ($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g; + } else { + $ac_dir_suffix=""; + $ac_dots=""; + } + + if ($ac_given_srcdir eq ".") { + $srcdir="."; + if ($ac_dots) { + ( $top_srcdir = $ac_dots) =~ s%/$%%; + } else { $top_srcdir="."; } + } elsif ($ac_given_srcdir =~ m%^/%) { + $srcdir=$ac_given_srcdir.$ac_dir_suffix; + $top_srcdir = $ac_given_srcdir; + } else { + $srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix; + $top_srcdir = $ac_dots.$ac_given_srcdir; + } + + if ($ac_given_INSTALL) { + if ($ac_given_INSTALL =~ m%^/% ) { + $INSTALL = $ac_given_INSTALL; + } else { + $INSTALL = $ac_dots.$ac_given_INSTALL; + } + } + + print "fast creating $ac_file\n"; + unlink $ac_file; + my $ac_comsub=""; + my $fname=$ac_file_in; + $fname =~ s%.*/%%; + my $configure_input="Generated automatically from $fname by config.pl."; + if ($ac_file =~ /.*[Mm]akefile.*/) { + $ac_comsub="# ".$configure_input."\n"; # for the first line in $ac_file + } + + my $ac_file_inputs; + ($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%; + $ac_file_inputs =~ s%:% $ac_given_srcdir/%g; + + patch_file($ac_file, $ac_file_inputs, $ac_comsub); +} + +sub patch_file { + my ($outf, $infiles, $identline) = @_; + my $filedata; + my @infiles=split(' ', $infiles); + my $i=0; + + foreach my $name (@infiles) { + if (open(CF, "< $name")) { + while () { + $filedata .= $_; + } + close(CF); + } else { + print STDERR "can't open $name: $!"."\n"; + } + } + if ($identline) { + # Put the ident in the second line. For shitty automake 1.6x. + $filedata =~ s%\n%\n$identline%; + } + + $filedata =~ s%\@configure_input\@%$configure_input%g; + $filedata =~ s%\@srcdir\@%$srcdir%g; + $filedata =~ s%\@top_srcdir\@%$top_srcdir%g; + $filedata =~ s%\@INSTALL\@%$INSTALL%g; + + if ($bad_perl) { + while ($i <= $#comp_subs) { + my $ref = $comp_subs[$i]; + &$ref(\$filedata); + $i++; + } + } else { + while ($i <= $#comp_match) { + $filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g; + $i++; + } + } + open(CF, "> $outf") || die "can't create $outf: $!"; + print CF $filedata; + close(CF); +} + +sub make_closure { + my ($pat, $sub) = @_; + $pat =~ s/\@/\\@/g; # @bla@ -> \@bla\@ + $pat =~ s/\$/\\\$/g; # $bla -> \$bla + $sub =~ s/\@/\\@/g; + $sub =~ s/\$/\\\$/g; + my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%$pat%$sub%g; }"; + if ($@) { + print "can't create CODE: $@\n"; + } + return $ret; +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.sub b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.sub new file mode 100644 index 00000000..1dea9b79 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/config.sub @@ -0,0 +1,1470 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. + +timestamp='2002-09-05' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k \ + | m32r | m68000 | m68k | m88k | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ + | clipper-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* \ + | m32r-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39 | mipstx39el \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + mmix*) + basic_machine=mmix-knuth + os=-mmixware + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2) + basic_machine=i686-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3d) + basic_machine=alpha-cray + os=-unicos + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic4x | c4x*) + basic_machine=tic4x-unknown + os=-coff + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + windows32) + basic_machine=i386-pc + os=-windows32-msvcrt + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto*) + os=-nto-qnx + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.bot.end b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.bot.end new file mode 100644 index 00000000..fb483b67 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.bot.end @@ -0,0 +1,12 @@ +if test "$all_tests" = "bad"; then + if test ! "$cache_file" = "/dev/null"; then + echo "" + echo "Please remove the file $cache_file after changing your setup" + echo "so that configure will find the changes next time." + echo "" + fi +else + echo "" + echo "Good - your configure finished. Start make now" + echo "" +fi diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.min b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.min new file mode 100644 index 00000000..7c7e25a9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/configure.in.min @@ -0,0 +1,57 @@ +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +dnl Boston, MA 02111-1307, USA. + +# Original Author was Kalle@kde.org +# I lifted it in some mater. (Stephan Kulow) +# I used much code from Janos Farkas + +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(acinclude.m4) dnl a source file from your sub dir + +dnl This is so we can use kde-common +AC_CONFIG_AUX_DIR(admin) + +dnl This ksh/zsh feature conflicts with `cd blah ; pwd` +unset CDPATH + +dnl Checking host/target/build systems, for make, install etc. +AC_CANONICAL_SYSTEM +dnl Perform program name transformation +AC_ARG_PROGRAM + +dnl Automake doc recommends to do this only here. (Janos) +AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs + +KDE_SET_PREFIX + +dnl generate the config header +AM_CONFIG_HEADER(config.h) dnl at the distribution this done + +dnl Checks for programs. +AC_CHECK_COMPILERS +AC_ENABLE_SHARED(yes) +AC_ENABLE_STATIC(no) +KDE_PROG_LIBTOOL + +dnl for NLS support. Call them in this order! +dnl WITH_NLS is for the po files +AM_KDE_WITH_NLS + +dnl KDE_USE_QT +AC_PATH_KDE diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs-clean.pl b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs-clean.pl new file mode 100644 index 00000000..669dbdc6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs-clean.pl @@ -0,0 +1,87 @@ +#! /usr/bin/perl + +# +# This script recursively (beginning with the current directory) +# wipes out everything not registered in CVS. +# +# written by Oswald Buddenhagen +# inspired by the "old" cvs-clean target from Makefile.common +# +# This file is free software in terms of the BSD licence. That means +# that you can do anything with it except removing this license or +# the above copyright notice. There is NO WARRANTY of any kind. +# + +sub rmrf() +{ + my $fn = shift; + lstat ($fn); + if (-d _) { + if (opendir (DIR, $fn)) { + for my $efn (grep (!/^\.\.?$/, readdir (DIR))) { + &rmrf ($fn."/".$efn); + } + closedir (DIR); + rmdir ($fn); + } + } else { + unlink ($fn); + } +} + +sub newfiles() +{ + my ($indir, $incvs) = @_; + for my $n (keys (%$incvs)) { delete $$indir{$n} } + return sort (keys (%$indir)); +} + +sub cvsclean() +{ + my $dir = shift; + my (%dirsdir, %filesdir, %dirscvs, %filescvs); + my $dnam = $dir ? $dir : "."; + if (!opendir (DIR, $dnam)) { + print STDERR "Cannot enter \"".$dnam."\".\n"; + return; + } + for my $fn (grep (!/^\.\.?$/, readdir (DIR))) { + if (-d $dir.$fn) { + $fn eq "CVS" or $dirsdir{$fn} = 1; + } else { + $filesdir{$fn} = 1; + } + } + closedir (DIR); + if (!open (FILE, "<".$dir."CVS/Entries")) { + print STDERR "No CVS information in \"".$dnam."\".\n"; + return; + } + while () { + m%^D/([^/]+)/.*$% and $dirscvs{$1} = 1; + m%^/([^/]+)/.*$% and $filescvs{$1} = 1; + } + close (FILE); + if (open (FILE, "<".$dir."CVS/Entries.Log")) { + while () { + m%^A D/([^/]+)/.*$% and $dirscvs{$1} = 1; + m%^A /([^/]+)/.*$% and $filescvs{$1} = 1; + m%^R D/([^/]+)/.*$% and delete $dirscvs{$1}; + m%^R /([^/]+)/.*$% and delete $filescvs{$1}; + } + close (FILE); + } + for my $fn (&newfiles (\%filesdir, \%filescvs)) { + print ("F ".$dir.$fn."\n"); + &rmrf ($dir.$fn); + } + for my $fn (&newfiles (\%dirsdir, \%dirscvs)) { + print ("D ".$dir.$fn."\n"); + &rmrf ($dir.$fn); + } + for my $fn (sort (keys (%dirscvs))) { + &cvsclean ($dir.$fn."/"); + } +} + +&cvsclean (""); diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs.sh b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs.sh new file mode 100644 index 00000000..a39fddd7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/cvs.sh @@ -0,0 +1,506 @@ +#! /bin/sh +# +# cvs.sh +# +# This file contains support code from Makefile.common +# It defines a shell function for each known target +# and then does a case to call the correct function. + +call_and_fix_autoconf() +{ + $AUTOCONF || exit 1 + if test -r configure.in.in ; then + perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\ + \\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\ + \\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\ + \\n rm -f \\\$CONFIG_STATUS.bak\\nfi\ + \\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/;" configure + fi +} + +strip_makefile() +{ + if test -f $makefile_wo; then :; else + perl -e '$in=0; while ( <> ) { $in = 1 if ($_=~ m/^if /); print $_ unless ($in); $in = 0 if ($_ =~ m/^endif/); }' < Makefile.am.in > $makefile_wo + fi +} + +check_autotool_versions() +{ +AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1` +case $AUTOCONF_VERSION in + Autoconf*2.[5-9]* | autoconf*2.[5-9]* ) : ;; + "" ) + echo "*** AUTOCONF NOT FOUND!." + echo "*** KDE requires autoconf 2.52, 2.53 or 2.54" + exit 1 + ;; + * ) + echo "*** YOU'RE USING $AUTOCONF_VERSION." + echo "*** KDE requires autoconf 2.52, 2.53 or 2.54" + exit 1 + ;; +esac + +AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1` +case $AUTOHEADER_VERSION in + Autoconf*2.[5-9]* | autoheader*2.[5-9]* ) : ;; + "" ) + echo "*** AUTOHEADER NOT FOUND!." + echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)" + exit 1 + ;; + * ) + echo "*** YOU'RE USING $AUTOHEADER_VERSION." + echo "*** KDE requires autoheader 2.52 or 2.53 (part of autoconf)" + exit 1 + ;; +esac + +AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` +case $AUTOMAKE_STRING in + automake*1.5d* ) + echo "*** YOU'RE USING $AUTOMAKE_STRING." + echo "*** KDE requires automake 1.6" + exit 1 + ;; + automake*1.[6-9] | automake*1.[6-9].* | automake*1.1[0-9] | automake*1.1[0-9].* ) : ;; + "" ) + echo "*** AUTOMAKE NOT FOUND!." + echo "*** KDE requires automake 1.6" + exit 1 + ;; + unsermake* ) : + echo "*** YOU'RE USING UNSERMAKE." + echo "*** GOOD LUCK!! :)" + ;; + * ) + echo "*** YOU'RE USING $AUTOMAKE_STRING." + echo "*** KDE requires automake 1.6" + exit 1 + ;; +esac +} + +cvs() +{ +check_autotool_versions + +### Produce acinclude.m4 +if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then + echo "*** Creating acinclude.m4" + rm -f acinclude.m4 configure.files + + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 +fi + +### Make new subdirs and configure.in. +### The make calls could be optimized away here, +### with a little thought. +if test -r configure.in.in; then + rm -f subdirs configure.in + echo "*** Creating list of subdirectories" + subdirs + echo "*** Creating configure.in" + configure_files + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 +fi + +echo "*** Creating aclocal.m4" +$ACLOCAL || exit 1 +echo "*** Creating configure" +call_and_fix_autoconf + +if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then + echo "*** Creating config.h template" + $AUTOHEADER || exit 1 +fi + +echo "*** Creating Makefile templates" +$AUTOMAKE || exit 1 +if test -z "$UNSERMAKE"; then + echo "*** Postprocessing Makefile templates" + perl -w admin/am_edit || exit 1 +fi + +if egrep "^cvs-local:" $makefile_am >/dev/null; then \ + strip_makefile + $MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1 +fi + +echo "*** Creating date/time stamp" +touch stamp-h.in + +echo "*** Finished" +echo " Don't forget to run ./configure" +echo " If you haven't done so in a while, run ./configure --help" +} + +dist() +{ +check_autotool_versions + +### +### First build all of the files necessary to do just "make" +### +if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 +fi +if test -r configure.in.in; then + subdirs + configure_files + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./configure.in +fi +$ACLOCAL +$AUTOHEADER +$AUTOMAKE --foreign --include-deps +perl -w admin/am_edit +call_and_fix_autoconf +touch stamp-h.in +if grep "^cvs-local:" $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo cvs-local top_srcdir=. +fi + +### +### Then make messages +### +if test -d po; then + LIST=`find ./po -name "*.po"` + for i in $LIST; do + file2=`echo $i | sed -e "s#\.po#\.gmo#"` + msgfmt -o $file2 $i || touch $file2 + done +fi +if grep "^cvs-dist-local:" $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo cvs-dist-local top_srcdir=. +fi +} + +subdir_dist() +{ +$ACLOCAL +$AUTOHEADER +$AUTOMAKE --foreign --include-deps +perl -w ../admin/am_edit +call_and_fix_autoconf +touch stamp-h.in +} + +configure_in() +{ +rm -f configure.in configure.in.new +kde_use_qt_param= +test -f configure.files || { echo "need configure.files for configure.in"; exit 1; } +cat `egrep -v "configure.in.bot" < configure.files` > configure.in.new +echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new +if test -f Makefile.am.in; then + subdirs=`cat subdirs` + for dir in $subdirs; do + dir=`echo $dir | sed -e "s,[-+.],_,g"` + echo "AM_CONDITIONAL($dir""_SUBDIR_included, test \"x\$$dir""_SUBDIR_included\" = xyes)" >> configure.in.new + done +fi +# echo "AC_OUTPUT( \\" >> configure.in.new +mfs=`find . -type d -print | fgrep -v "/." | \ + sed -e "s#\./##" -e "/^debian/d" | sort` +for i in $mfs; do + topleveldir=`echo $i| sed -e "s#/.*##"` + if test -f $topleveldir/configure.in; then + continue + fi + if test -f $i/Makefile.am; then :; else + continue + fi + if test -s inst-apps; then + if grep "\"^$topleveldir\"" inst-apps > /dev/null 2>&1; then + continue + fi + fi + if test "$i" = "."; then + echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new + else + echo "AC_CONFIG_FILES([ $i/Makefile ])" >> configure.in.new + fi + if test -n "$UNSERMAKE"; then + if test "$i" = "."; then + echo "AC_CONFIG_FILES([ Makefile.rules ])" >> configure.in.new + else + echo "AC_CONFIG_FILES([ $i/Makefile.rules ])" >> configure.in.new + fi + fi +done + +files=`cat configure.files` +list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"` +for file in $list; do + echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new +done + +if test -n "$UNSERMAKE"; then + echo "AC_CONFIG_FILES([ MakeVars ])" >> configure.in.new +fi +echo "AC_OUTPUT" >> configure.in.new +modulename= +if test -f configure.in.in; then + if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then + kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"` + fi + if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then + line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in` + if test -n "$line"; then + modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"` + VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"` + fi + sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \ + configure.in.new > configure.in && mv configure.in configure.in.new + fi +fi +if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then + VERSION="\"3.1.3\"" +fi +if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then + modulename=`pwd`; + modulename=`basename $modulename` + esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"` + modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"` + +fi +if test -n "$kde_use_qt_param"; then + sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \ + configure.in.new > configure.in && mv configure.in configure.in.new +fi +sed -e "s#@MODULENAME@#$modulename#" configure.in.new | + sed -e "s#@VERSION@#$VERSION#" > configure.in +botfiles=`cat configure.files | egrep "configure.in.bot"` +test -n "$botfiles" && cat $botfiles >> configure.in +cat $admindir/configure.in.bot.end >> configure.in +rm -f configure.in.new +} + +configure_files() +{ +admindir=NO +for i in . .. ../.. ../../..; do + if test -x $i/admin; then admindir=$i/admin; break; fi +done +rm -f configure.files +touch configure.files +if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then + echo $admindir/configure.in.min >> configure.files +fi +test -f configure.in.in && echo configure.in.in >> configure.files +list=`find . -name "configure.in.in" -o -name "configure.in.bot" | \ + sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"` +for i in $list; do if test -f $i && test `dirname $i` != "." ; then + echo $i >> configure.files +fi; done +test -f configure.in.mid && echo configure.in.mid >> configure.files +test -f configure.in.bot && echo configure.in.bot >> configure.files +} + +subdirs() +{ +dirs= +compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` +compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` +for i in `ls -1`; do + if test -f $i/Makefile.am; then + case " $compilefirst $compilelast " in + *" $i "*) ;; + *) dirs="$dirs $i" + esac + fi +done + +: > ./_SUBDIRS + +for d in $compilefirst; do + echo $d >> ./_SUBDIRS +done + +(for d in $dirs; do + list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` + for s in $list; do + echo $s $d + done + list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` + for s in $list; do + echo $d $s + done + echo $d $d +done ) | tsort >> ./_SUBDIRS + +for d in $compilelast; do + echo $d >> ./_SUBDIRS +done + +if test -f Makefile.am.in; then + cp Makefile.am.in Makefile.am + if test -n "$UNSERMAKE"; then + topsubdirs= + for i in $compilefirst $dirs $compilelast; do + vari=`echo $i | sed -e "s,[-+],_,g"` + echo "if $vari""_SUBDIR_included" >> Makefile.am + echo "$vari""_SUBDIR=$i" >> Makefile.am + echo "endif" >> Makefile.am + topsubdirs="$topsubdirs \$($vari""_SUBDIR)" + done + echo "SUBDIRS=$topsubdirs" >> Makefile.am + else + echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am + fi +fi +if test -r subdirs && diff subdirs _SUBDIRS > /dev/null; then + rm -f _SUBDIRS +fi +test -r _SUBDIRS && mv _SUBDIRS subdirs || true +} + +cvs_clean() +{ +if test -d CVS; then :; else + echo "You don't have a toplevel CVS directory." + echo "You most certainly didn't use cvs to get these sources." + echo "But this function depends on cvs's information." + exit 1 +fi +perl $admindir/cvs-clean.pl +} + +package_merge() +{ +catalogs=$POFILES +for cat in $catalogs; do + msgmerge -o $cat.new $cat $PACKAGE.pot + if test -s $cat.new; then + grep -v "\"POT-Creation" $cat.new > $cat.new.2 + grep -v "\"POT-Creation" $cat >> $cat.new.1 + if diff $cat.new.1 $cat.new.2; then + rm $cat.new + else + mv $cat.new $cat + fi + rm -f $cat.new.1 $cat.new.2 + fi +done +} + +package_messages() +{ +rm -rf po.backup +mkdir po.backup + +for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do + egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i + cp po/$i po.backup/backup_$i + touch -r po/$i po.backup/backup_$i + rm po/$i +done + +podir=${podir:-$PWD/po} +files=`find . -name Makefile.am | xargs egrep -l '^messages:' ` +dirs=`for i in $files; do echo \`dirname $i\`; done` +tmpname="$PWD/messages.log" +if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi +if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi +export EXTRACTRC PREPARETIPS + +for subdir in $dirs; do + test -z "$VERBOSE" || echo "Making messages in $subdir" + (cd $subdir + if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then + $EXTRACTRC *.rc *.ui > rc.cpp + else + candidates=`ls -1 *.rc *.ui 2>/dev/null` + if test -n "$candidates"; then + echo "$subdir has *.rc or *.ui files, but not correct messages line" + fi + fi + if test -n "`grep -r KAboutData *.c* *.C* 2>/dev/null`"; then + echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp + else echo " " > _translatorinfo.cpp + fi + perl -e '$mes=0; while () { next if (/^(if|else|endif)\s/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile + + $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" \ + XGETTEXT="${XGETTEXT:-xgettext} -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x ${includedir:-$KDEDIR/include}/kde.pot" \ + messages + ) 2>&1 | grep -v '^make\[1\]' > $tmpname + test -s $tmpname && { echo $subdir ; cat "$tmpname"; } + test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp + rm -f $subdir/_translatorinfo.cpp + rm -f $subdir/_transMakefile +done +rm -f $tmpname +for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do + test -f po/$i || echo "disappeared: $i" +done +for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do + msgmerge -q -o po/$i po/$i po/$i + egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot + if test -f po.backup/$i && test -n "`diff temp.pot po.backup/$i`"; then + echo "will update $i" + msgmerge -q po.backup/backup_$i po/$i > temp.pot + mv temp.pot po/$i + else + if test -f po.backup/backup_$i; then + test -z "$VERBOSE" || echo "I'm restoring $i" + mv po.backup/backup_$i po/$i + rm po.backup/$i + else + echo "will add $i" + fi + fi +done +rm -f temp.pot +rm -rf po.backup +} + +admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'` +test "x$admindir" = "x$0" && admindir=. + +test "x$MAKE" = x && MAKE=make +makefile_am=Makefile.am +makefile_wo=Makefile.am +if test -f Makefile.am.in; then + makefile_am=Makefile.am.in + makefile_wo=Makefile.am.in.wo +fi + +# Sucking AUTOCONF detection code - commented out +#. $admindir/detect-autoconf.sh +AUTOCONF="autoconf" +AUTOHEADER="autoheader" +AUTOM4TE="autom4te" +AUTOMAKE="automake" +ACLOCAL="aclocal -I m4" + +### +### Main +### + +arg=`echo $1 | tr '\-.' __` +case $arg in + cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \ + cvs_clean | package_merge | package_messages ) $arg ;; + * ) echo "Usage: cvs.sh " + echo "Target can be one of:" + echo " cvs cvs-clean dist" + echo " configure.in configure.files" + echo " package-merge package-messages" + echo "" + echo "Usage: anything but $1" + exit 1 ;; +esac + +if test -f Makefile.am.in.wo; then + rm Makefile.am.in.wo +fi + +exit 0 diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/debianrules b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/debianrules new file mode 100644 index 00000000..bdf347dc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/debianrules @@ -0,0 +1,114 @@ +#!/usr/bin/perl -w + +use Shell qw(mv cp mkdir rm) ; +use File::Find; +use Cwd; + +$origPwd = `pwd`; +chomp $origPwd; + +$kde_confdir = "/etc/kde3"; +$kde_prefix = "/usr"; +$kde_bindir = "$kde_prefix/bin"; +$kde_includedir = "$kde_prefix/include/kde"; +$kde_libdir = "$kde_prefix/lib"; +$kde_cgidir = "$kde_prefix/lib/cgi-bin"; +$kde_moduledir = "$kde_prefix/lib/kde3"; +$kde_appsdir = "$kde_prefix/share/applnk"; +$kde_datadir = "$kde_prefix/share/apps"; +$kde_htmldir = "$kde_prefix/share/doc/kde/HTML"; +$kde_icondir = "$kde_prefix/share/icons"; +$kde_locale = "$kde_prefix/share/locale"; +$kde_mimedir = "$kde_prefix/share/mimelnk"; +$kde_servicesdir = "$kde_prefix/share/services"; +$kde_servicetypesdir = "$kde_prefix/share/servicetypes"; +$kde_sounddir = "$kde_prefix/share/sounds"; +$kde_templatesdir = "$kde_prefix/share/templates"; +$kde_wallpaperdir = "$kde_prefix/share/wallpapers"; + +$mandir = "$kde_prefix/share/man"; +$infodir = "$kde_prefix/share/info"; +$sysconfdir = "/etc"; + +$QTDIR = "/usr/share/qt3"; +$IDL = "$kde_bindir/cuteidl"; +$DCOPIDL = "$kde_bindir/dcopidl"; +$DCOPIDL2CPP = "$kde_bindir/dcopidl2cpp"; +$KDB2HTML = "$kde_bindir/kdb2html"; +$MCOPIDL = "$kde_bindir/mcopidl"; +$ARTSCCONFIG = "$kde_bindir/artsc-config"; + +if (defined $ENV{DEB_BUILD_OPTIONS} && + $ENV{DEB_BUILD_OPTIONS} =~ /\bdebug\b/) { + $enable_debug="--enable-debug"; + $enable_final=""; +} +else { + $enable_debug="--disable-debug"; + $enable_final="--enable-final"; +} + +if (@ARGV && $ARGV[0] eq 'echodirs') { + print STDOUT "export kde_confdir=$kde_confdir\n"; + print STDOUT "export kde_prefix=$kde_prefix\n"; + print STDOUT "export kde_bindir=$kde_bindir\n"; + print STDOUT "export kde_includedir=$kde_includedir\n"; + print STDOUT "export kde_libdir=$kde_libdir\n"; + print STDOUT "export kde_cgidir=$kde_cgidir\n"; + print STDOUT "export kde_moduledir=$kde_moduledir\n"; + print STDOUT "export kde_appsdir=$kde_appsdir\n"; + print STDOUT "export kde_datadir=$kde_datadir\n"; + print STDOUT "export kde_htmldir=$kde_htmldir\n"; + print STDOUT "export kde_icondir=$kde_icondir\n"; + print STDOUT "export kde_locale=$kde_locale\n"; + print STDOUT "export kde_mimedir=$kde_mimedir\n"; + print STDOUT "export kde_servicesdir=$kde_servicesdir\n"; + print STDOUT "export kde_servicetypesdir=$kde_servicetypesdir\n"; + print STDOUT "export kde_sounddir=$kde_sounddir\n"; + print STDOUT "export kde_templatesdir=$kde_templatesdir\n"; + print STDOUT "export kde_wallpaperdir=$kde_wallpaperdir\n"; + + print STDOUT "export mandir=$mandir\n"; + print STDOUT "export infodir=$infodir\n"; + print STDOUT "export sysconfdir=$sysconfdir\n"; + + print STDOUT "export QTDIR=$QTDIR\n"; + print STDOUT "export IDL=$IDL\n"; + print STDOUT "export DCOPIDL=$DCOPIDL\n"; + print STDOUT "export DCOPIDL2CPP=$DCOPIDL2CPP\n"; + print STDOUT "export KDB2HTML=$KDB2HTML\n"; + print STDOUT "export MCOPIDL=$MCOPIDL\n"; + print STDOUT "export ARTSCCONFIG=$ARTSCCONFIG\n"; + print STDOUT "export INSTALL_DATA=install -p -c -m 644\n"; + + print STDOUT "configkde=$enable_debug $enable_final --disable-rpath --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --sysconfdir=\$(sysconfdir) --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --infodir=\$(infodir) --with-xinerama\n"; + print STDOUT "configkdevelop=$enable_debug $enable_final --disable-rpath --enable-docbase --enable-kdoc2 --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --with-kdelibsdoc-dir=/usr/share/doc/kdelibs3-doc/html --with-xinerama\n"; + print STDOUT "configkdepim=$enable_debug $enable_final --disable-rpath --with-extra-includes=/usr/include/libpisock --enable-shared --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --with-qt-includes=/usr/include/qt3 --mandir=\$(mandir) --infodir=\$(infodir) --with-xinerama\n"; + + exit +} + +if (@ARGV && $ARGV[0] eq 'echoglobals') { + print STDOUT "[Directories]\n"; + print STDOUT "dir_config=$kde_confdir\n"; + print STDOUT "dir_tmp=/tmp\n"; + print STDOUT "dir_socket=/tmp\n"; + print STDOUT "dir_exe=$kde_bindir\n"; + print STDOUT "dir_lib=$kde_libdir\n"; + print STDOUT "dir_cgi=$kde_cgidir\n"; + print STDOUT "dir_module=$kde_moduledir\n"; + print STDOUT "dir_apps=$kde_appsdir\n"; + print STDOUT "dir_data=$kde_datadir\n"; + print STDOUT "dir_html=$kde_htmldir\n"; + print STDOUT "dir_icon=$kde_icondir\n"; + print STDOUT "dir_locale=$kde_locale\n"; + print STDOUT "dir_mime=$kde_mimedir\n"; + print STDOUT "dir_services=$kde_servicesdir\n"; + print STDOUT "dir_servicetypes=$kde_servicetypesdir\n"; + print STDOUT "dir_sound=$kde_sounddir\n"; + print STDOUT "dir_templates=$kde_templatesdir\n"; + print STDOUT "dir_wallpaper=$kde_wallpaperdir\n"; + print STDOUT "[General]\n"; + print STDOUT "TerminalApplication=x-terminal-emulator\n"; + exit +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/depcomp b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/depcomp new file mode 100644 index 00000000..65899658 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/depcomp @@ -0,0 +1,411 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. This file always lives in the current directory. + # Also, the AIX compiler puts `$object:' at the start of each line; + # $object doesn't have directory information. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 AIX compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + + tmpdepfile1="$object.d" + tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` + if test "$libtool" = yes; then + "$@" -Wc,-MD + else + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + test -z "$dashmflag" && dashmflag=-M + ( IFS=" " + case " $* " in + *" --mode=compile "*) # this is libtool, let us make it quiet + for arg + do # cycle over the arguments + case "$arg" in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + # X makedepend + ( + shift + cleared=no + for arg in "$@"; do + case $cleared in no) + set ""; shift + cleared=yes + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift;; + -*) + ;; + *) + set fnord "$@" "$arg"; shift;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tail +3 "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + ( IFS=" " + case " $* " in + *" --mode=compile "*) + for arg + do # cycle over the arguments + case $arg in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + ( IFS=" " + case " $* " in + *" --mode=compile "*) + for arg + do # cycle over the arguments + case $arg in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/detect-autoconf.sh b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/detect-autoconf.sh new file mode 100644 index 00000000..56950cab --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/detect-autoconf.sh @@ -0,0 +1,81 @@ +#! /bin/sh + +# Global variables... +AUTOCONF="autoconf" +AUTOHEADER="autoheader" +AUTOM4TE="autom4te" +AUTOMAKE="automake" +ACLOCAL="aclocal" + + +# We don't use variable here for remembering the type ... strings. +# local variables are not that portable, but we fear namespace issues with +# our includer. The repeated type calls are not that expensive. +checkAutoconf() +{ + if test -x "`$WHICH autoconf-2.5x`" ; then + AUTOCONF="`$WHICH autoconf-2.5x`" + elif test -x "`$WHICH autoconf-2.54`" ; then + AUTOCONF="`$WHICH autoconf-2.54`" + elif test -x "`$WHICH autoconf-2.53`" ; then + AUTOCONF="`$WHICH autoconf-2.53`" + elif test -x "`$WHICH autoconf-2.53a`" ; then + AUTOCONF="`$WHICH autoconf-2.53a`" + elif test -x "`$WHICH autoconf-2.52`" ; then + AUTOCONF="`$WHICH autoconf-2.52`" + elif test -x "`$WHICH autoconf2.50`" ; then + AUTOCONF="`$WHICH autoconf2.50`" + fi +} + +checkAutoheader() +{ + if test -x "`$WHICH autoheader-2.5x`" ; then + AUTOHEADER="`$WHICH autoheader-2.5x`" + AUTOM4TE="`$WHICH autom4te-2.5x`" + elif test -x "`$WHICH autoheader-2.54`" ; then + AUTOHEADER="`$WHICH autoheader-2.54`" + AUTOM4TE="`$WHICH autom4te-2.54`" + elif test -x "`$WHICH autoheader-2.53`" ; then + AUTOHEADER="`$WHICH autoheader-2.53`" + AUTOM4TE="`$WHICH autom4te-2.53`" + elif test -x "`$WHICH autoheader-2.53a`" ; then + AUTOHEADER="`$WHICH autoheader-2.53a`" + AUTOM4TE="`$WHICH autom4te-2.53a`" + elif test -x "`$WHICH autoheader-2.52`" ; then + AUTOHEADER="`$WHICH autoheader-2.52`" + elif test -x "`$WHICH autoheader2.50`" ; then + AUTOHEADER="`$WHICH autoheader2.50`" + fi +} + +checkAutomakeAclocal () +{ + if test -z "$UNSERMAKE"; then + if test -x "`$WHICH automake-1.6`" ; then + AUTOMAKE="`$WHICH automake-1.6`" + ACLOCAL="`$WHICH aclocal-1.6`" + elif test -x "`$WHICH automake-1.7`" ; then + AUTOMAKE="`$WHICH automake-1.7`" + ACLOCAL="`$WHICH aclocal-1.7`" + fi + else + AUTOMAKE="$UNSERMAKE" + fi +} + +checkWhich () +{ + WHICH="" + for i in "type -p" "which" "type" ; do + T=`$i sh 2> /dev/null` + test -x "$T" && WHICH="$i" && break + done +} + +checkWhich +checkAutoconf +checkAutoheader +checkAutomakeAclocal + +export WHICH AUTOHEADER AUTOCONF AUTOM4TE AUTOMAKE ACLOCAL diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/install-sh b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/install-sh new file mode 100644 index 00000000..11870f1b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/install-sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + : + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + : + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/libtool.m4.in b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/libtool.m4.in new file mode 100644 index 00000000..a9d56dcd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/libtool.m4.in @@ -0,0 +1,5402 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 1996 +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +## +## As a special exception to the GNU General Public License, if you +## distribute this file as part of a program that contains a +## configuration script generated by Autoconf, you may include it under +## the same distribution terms that you use for the rest of that program. + +# serial 47 AC_PROG_LIBTOOL + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([LT_AC_PROG_SED])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +set dummy $CC +compiler="[$]2" +])# _LT_AC_SYS_COMPILER + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null && + echo_test_string="`eval $cmd`" && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +AC_DIVERT_POP +])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-linux*) + # Test if the compiler is 64bit + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *"ELF 32"*) + LINUX_64_MODE="32" + ;; + *"ELF 64"*) + LINUX_64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one + AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, + [AC_TRY_LINK([], + [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); + DllMain (0, 0, 0);], + [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) + + case $host/$CC in + *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) + # old mingw systems require "-dll" to link a DLL, while more recent ones + # require "-mdll" + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mdll" + AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, + [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) + CFLAGS="$SAVE_CFLAGS" ;; + *-*-cygwin* | *-*-pw32*) + # cygwin systems need to pass --dll to the linker, and not link + # crt.o which will require a WinMain@16 definition. + lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; + esac + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $3" + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + else + $2=yes + fi + fi + $rm conftest* + CFLAGS="$save_CFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + testring="ABCD" + + case $host_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + cygwin* | mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + ifelse([$1],[],[save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"], + [$1],[CXX],[save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"], + [$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS" + GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s out/conftest.err; then + # Append any errors to the config.log. + cat out/conftest.err 1>&AS_MESSAGE_LOG_FD + else + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + ifelse([$1],[],[CFLAGS="$save_CFLAGS"], + [$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"], + [$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"]) + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}.so$major' + ;; + +aix4* | aix5*) + version_type=linux + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}.so$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}.so' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + need_version=no + need_lib_prefix=no + case $GCC,$host_os in + yes,cygwin*) + library_names_spec='$libname.dll.a' + sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' + postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog .libs/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + ;; + yes,mingw*) + library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"` + if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + yes,pw32*) + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' + ;; + *) + library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. + library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' + soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + if test "$host_cpu" = ia64; then + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + else + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' + soname_spec='${libname}${release}.sl$major' + fi + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) version_type=irix ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + libsuff= + if test "x$LINUX_64_MODE" = x64; then + # Some platforms are per default 64-bit, so there's no /lib64 + if test -d /lib64; then + libsuff=64 + fi + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' + soname_spec='${libname}${release}.so$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + need_lib_prefix=no + library_names_spec='$libname.dll $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}.so' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' + soname_spec='$libname.so.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags=TAGS], + [include additional configurations @<:@CXX,GCJ@:>@])], + [tagnames="$withval"], + [tagnames="CXX,GCJ" + case $host_os in + mingw*|cygwin*) tagnames="$tagnames,RC" ;; + esac]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + AC_LIBTOOL_LANG_CXX_CONFIG + ;; + + GCJ) + AC_LIBTOOL_LANG_GCJ_CONFIG + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + available_tags="$available_tags $tagname" + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 dll's +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +#- set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the path to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +])# AC_PROG_LD + + +# AC_PROG_LD_GNU +# -------------- +AC_DEFUN([AC_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + lt_cv_prog_gnu_ld=yes +else + lt_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$lt_cv_prog_gnu_ld +])# AC_PROG_LD_GNU + + +# AC_PROG_LD_RELOAD_FLAG +# ---------------------- +# find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], +[AC_CACHE_CHECK([for $LD option to reload object files], + lt_cv_ld_reload_flag, + [lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +])# AC_PROG_LD_RELOAD_FLAG + + +# AC_DEPLIBS_CHECK_METHOD +# ----------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], +[AC_CACHE_CHECK([how to recognise dependant libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* | pw32*) + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.[[012]]) + lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + ;; + +freebsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + if test "$host_cpu" = ia64; then + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + else + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + fi + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh* | x86_64* ) + lt_cv_deplibs_check_method=pass_all ;; + # the debian people say, arm and glibc 2.3.1 works for them with pass_all + arm* ) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the path to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + if ("$tmp_nm" -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then + lt_cv_path_NM="$tmp_nm -B" + break + elif ("$tmp_nm" -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + lt_cv_path_NM="$tmp_nm -p" + break + else + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will +# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided and an installed libltdl is not found, it is +# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' +# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single +# quotes!). If your package is not flat and you're not using automake, +# define top_builddir and top_srcdir appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# If this macro is not defined by Autoconf, define it here. +ifdef([AC_PROVIDE_IFELSE], + [], + [define([AC_PROVIDE_IFELSE], + [ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) +])# _LT_AC_LANG_CXX + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# -------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([AC_PROG_RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='main(){return(0);}' + +_LT_AC_SYS_COMPILER + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_DLOPEN_SELF($1) + +# Report which librarie types wil actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C test sources. +ac_ext=cc + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${CXX-"c++"} +set dummy $CC +compiler="[$]2" +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if eval "`$CC -print-prog-name=ld` --version 2>&1" | \ + egrep 'GNU ld' > /dev/null; then + with_gnu_ld=yes + + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + egrep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux*) + if test $with_gnu_ld = no; then + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + else + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + fi + fi + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + else + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + fi + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC) + case $host_os in + hpux9*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + ;; + *) + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + fi + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_os in + hpux9*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + ;; + *) + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + fi + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + cxx) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd*) + # NetBSD uses g++ - do we need to do anything? + ;; + osf3*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | egrep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# Figure out "hidden" C++ library dependencies from verbose +# compiler output whening linking a shared library. +cat > conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="sed -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A sed program that does not truncate output. +SED=$lt_SED + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + + cygwin* | mingw* | pw32* | os2*) + cat <<'EOF' >> "$cfgfile" + # This is a source program that is used to create dlls on Windows + # Don't remove nor modify the starting and closing comments + _LT_AC_FILE_LTDLL_C + # This is a source program that is used to create import libraries + # on Windows for dlls which lack them. Don't remove nor modify the + # starting and closing comments + _LT_AC_FILE_IMPGEN_C +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions -c conftest.$ac_ext], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $host_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then + symcode='[[ABCDGISTW]]' +fi + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if egrep ' nm_test_var$' "$nlist" >/dev/null; then + if egrep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + cygwin* | mingw* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX, but not for PA HP-UX. + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + fi + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + cxx) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + cygwin* | mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX, but not for PA HP-UX. + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + fi + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + cygwin* | mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + if test "x$host_vendor" = xsni; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD' + else + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + fi + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC" + ;; +esac +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + cygwin* | mingw* | pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an egrep regular expression of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + + extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ + sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ + test -f $output_objdir/impgen.exe || (cd $output_objdir && \ + if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ + else $CC -o impgen impgen.c ; fi)~ + $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' + + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' + + # cygwin and mingw dlls have different entry points and sets of symbols + # to exclude. + # FIXME: what about values for MSVC? + dll_entry=__cygwin_dll_entry@12 + dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ + case $host_os in + mingw*) + # mingw values + dll_entry=_DllMainCRTStartup@12 + dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ + ;; + esac + + # mingw and cygwin differ, and it's simplest to just exclude the union + # of the two symbol sets. + dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 + + # recent cygwin and mingw systems supply a stub DllMain which the user + # can override, but on older systems we have to supply one (in ltdll.c) + if test "x$lt_cv_need_dllmain" = "xyes"; then + ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " + ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ + test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' + else + ltdll_obj= + ltdll_cmds= + fi + + # Extract the symbol export list from an `--export-all' def file, + # then regenerate the def file from the symbol export list, so that + # the compiled dll only exports the symbol export list. + # Be careful not to strip the DATA tag left by newer dlltools. + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"' + $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ + sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' + + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is. + # If DATA tags from a recent dlltool are present, honour them! + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname-def; + else + echo EXPORTS > $output_objdir/$soname-def; + _lt_hint=1; + cat $export_symbols | while read symbol; do + set dummy \$symbol; + case \[$]# in + 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; + *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; + esac; + _lt_hint=`expr 1 + \$_lt_hint`; + done; + fi~ + '"$ltdll_cmds"' + $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ + $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ + $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + case $host_os in + cygwin* | mingw* | pw32*) + # dlltool doesn't understand --whole-archive et. al. + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + ;; + *) + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + ;; + esac + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi4*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + ;; + + darwin* | rhapsody*) + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + _LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' + # We need to add '_' to the symbols in $export_symbols first + #_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9* | hpux10* | hpux11*) + if test "$GCC" = yes; then + case $host_os in + hpux9*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + ;; + *) + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + esac + else + case $host_os in + hpux9*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + ;; + *) + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + ;; + esac + fi + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + else + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + fi + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + if test "x$host_vendor" = xsni; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes +if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + echo 'static int dummy;' > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac +fi +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_FILE_IMPGEN_C +# -------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [ +# /* impgen.c starts here */ +# /* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +# +# This file is part of GNU libtool. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# */ +# +# #include /* for printf() */ +# #include /* for open(), lseek(), read() */ +# #include /* for O_RDONLY, O_BINARY */ +# #include /* for strdup() */ +# +# /* O_BINARY isn't required (or even defined sometimes) under Unix */ +# #ifndef O_BINARY +# #define O_BINARY 0 +# #endif +# +# static unsigned int +# pe_get16 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[2]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 2); +# return b[0] + (b[1]<<8); +# } +# +# static unsigned int +# pe_get32 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[4]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 4); +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# static unsigned int +# pe_as32 (ptr) +# void *ptr; +# { +# unsigned char *b = ptr; +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# int +# main (argc, argv) +# int argc; +# char *argv[]; +# { +# int dll; +# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; +# unsigned long export_rva, export_size, nsections, secptr, expptr; +# unsigned long name_rvas, nexp; +# unsigned char *expdata, *erva; +# char *filename, *dll_name; +# +# filename = argv[1]; +# +# dll = open(filename, O_RDONLY|O_BINARY); +# if (dll < 1) +# return 1; +# +# dll_name = filename; +# +# for (i=0; filename[i]; i++) +# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') +# dll_name = filename + i +1; +# +# pe_header_offset = pe_get32 (dll, 0x3c); +# opthdr_ofs = pe_header_offset + 4 + 20; +# num_entries = pe_get32 (dll, opthdr_ofs + 92); +# +# if (num_entries < 1) /* no exports */ +# return 1; +# +# export_rva = pe_get32 (dll, opthdr_ofs + 96); +# export_size = pe_get32 (dll, opthdr_ofs + 100); +# nsections = pe_get16 (dll, pe_header_offset + 4 +2); +# secptr = (pe_header_offset + 4 + 20 + +# pe_get16 (dll, pe_header_offset + 4 + 16)); +# +# expptr = 0; +# for (i = 0; i < nsections; i++) +# { +# char sname[8]; +# unsigned long secptr1 = secptr + 40 * i; +# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); +# unsigned long vsize = pe_get32 (dll, secptr1 + 16); +# unsigned long fptr = pe_get32 (dll, secptr1 + 20); +# lseek(dll, secptr1, SEEK_SET); +# read(dll, sname, 8); +# if (vaddr <= export_rva && vaddr+vsize > export_rva) +# { +# expptr = fptr + (export_rva - vaddr); +# if (export_rva + export_size > vaddr + vsize) +# export_size = vsize - (export_rva - vaddr); +# break; +# } +# } +# +# expdata = (unsigned char*)malloc(export_size); +# lseek (dll, expptr, SEEK_SET); +# read (dll, expdata, export_size); +# erva = expdata - export_rva; +# +# nexp = pe_as32 (expdata+24); +# name_rvas = pe_as32 (expdata+32); +# +# printf ("EXPORTS\n"); +# for (i = 0; i/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=$TMPDIR/sed$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + { (exit 1); exit 1; } +} + _max=0 + _count=0 + # Add /usr/xpg4/bin/sed as it is typically found on Solaris + # along with /bin/sed that truncates output. + for _sed in $_sed_list /usr/xpg4/bin/sed; do + test ! -f ${_sed} && break + cat /dev/null > "$tmp/sed.in" + _count=0 + echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in" + # Check for GNU sed and select it if it is found. + if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then + lt_cv_path_SED=${_sed} + break; + fi + while true; do + cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" + mv "$tmp/sed.tmp" "$tmp/sed.in" + cp "$tmp/sed.in" "$tmp/sed.nl" + echo >>"$tmp/sed.nl" + ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break + cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break + # 10000 chars as input seems more than enough + test $_count -gt 10 && break + _count=`expr $_count + 1` + if test $_count -gt $_max; then + _max=$_count + lt_cv_path_SED=$_sed + fi + done + done + rm -rf "$tmp" +]) +AC_MSG_RESULT([$SED]) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ltmain.sh b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ltmain.sh new file mode 100644 index 00000000..f2a88efa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ltmain.sh @@ -0,0 +1,5572 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + echo "$progname: invalid tag name: $tagname" 1>&2 + exit 1 + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" + else + echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + echo + echo "Copyright 1996, 1997, 1998, 1999, 2000, 2001" + echo "Free Software Foundation, Inc." + echo "This is free software; see the source for copying conditions. There is NO" + echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit 0 + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" + done + exit 0 + ;; + + --debug) + echo "$progname: enabling shell trace mode" + set -x + ;; + + --dry-run | -n) + run=: + ;; + + --features) + echo "host: $host" + if test "$build_libtool_libs" = yes; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + exit 0 + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + ;; + + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 +fi + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + case $nonopt in + *cc | *++ | gcc* | *-gcc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + prev= + lastarg= + srcfile="$nonopt" + suppress_output= + + user_target=no + for arg + do + case $prev in + "") ;; + xcompiler) + # Aesthetically quote the previous argument. + prev= + lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + + case $arg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + + # Add the previous argument to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + continue + ;; + esac + + # Accept any command-line options. + case $arg in + -o) + if test "$user_target" != "no"; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + user_target=next + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + continue + ;; + esac + + case $user_target in + next) + # The next one is the -o target name + user_target=yes + continue + ;; + yes) + # We got the output file + user_target=set + libobj="$arg" + continue + ;; + esac + + # Accept the current argument as the source file. + lastarg="$srcfile" + srcfile="$arg" + + # Aesthetically quote the previous argument. + + # Backslashify any backslashes, double quotes, and dollar signs. + # These are the only characters that are still specially + # interpreted inside of double-quoted scrings. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $lastarg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + # Add the previous argument to base_compile. + if test -z "$base_compile"; then + base_compile="$lastarg" + else + base_compile="$base_compile $lastarg" + fi + done + + case $user_target in + set) + ;; + no) + # Get the name of the library object. + libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + *) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit 1 + ;; + esac + + # Infer tagged configuration to use if any are available and + # if one wasn't chosen via the "--tag" command line option. + # Only attempt this if the compiler in the base compile + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case "$base_compile " in + "$CC "*) ;; + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when ltconfig was run. + "`$echo $CC` "*) ;; + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case "$base_compile " in + "$CC "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + "`$echo $CC` "*) + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + echo "$modename: unable to infer tagged configuration" + echo "$modename: specify a tag with \`--tag'" 1>&2 + exit 1 +# else +# echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + base_compile="$base_compile $arg" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit 1 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit 1 + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit 1 + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + add_flags="$add_flags $arg" + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit 1 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + add_flags="$add_flags $arg" + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Infer tagged configuration to use if any are available and + # if one wasn't chosen via the "--tag" command line option. + # Only attempt this if the compiler in the base link + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile in + "$CC "*) ;; + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when ltconfig was run. + "`$echo $CC` "*) ;; + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case $base_compile in + "$CC "*) + # The compiler in $compile_command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + "`$echo $CC` "*) + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + echo "$modename: unable to infer tagged configuration" + echo "$modename: specify a tag with \`--tag'" 1>&2 + exit 1 +# else +# echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test "$status" -ne 0 && test ! -d "$output_objdir"; then + exit $status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit 1 + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + if test "$pass" = conv && test "$allow_undefined" = yes; then + deplibs="$deplib $deplibs" + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + # Search the libtool library + lib="$searchdir/lib${name}.la" + if test -f "$lib"; then + found=yes + break + fi + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + if test "$deplibs_check_method" != pass_all; then + echo + echo "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not used here." + else + echo + echo "*** Warning: Linking the shared library $output against the" + echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + tmp_libs= + for deplib in $dependency_libs; do + #echo "Adding $deplib to \$deplibs" + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit 1 + fi + continue + fi # $pass = conv + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit 1 + fi + if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit 1 + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + eval cmds=\"$extract_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + eval cmds=\"$old_archive_from_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + echo "*** Warning: This system can not link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + #if test -n "$dependency_libs" && + # { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || + # test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + #fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="-L$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + path="-L$absdir" + fi + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$deplibs $path" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + -R*) + temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit 1 + else + echo + echo "*** Warning: Linking the shared library $output against the non-libtool" + echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + current="$2" + revision="$3" + age="$4" + + # Check that each of the things are valid numbers. + case $current in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case $revision in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case $age in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + major=`expr $current - $age + 1` + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` + deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` + dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if true || test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behaviour. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | egrep "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + echo "*** with $libname but no candidates were found. (...for file magic test)" + else + echo "*** with $libname and none of the candidates passed a file format test" + echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name="`expr $a_deplib : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | egrep "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + echo "*** with $libname and none of the candidates passed a file format test" + echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | + grep . >/dev/null; then + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + echo "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && test "$fast_install" = no && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + eval cmds=\"$export_symbols_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + status=$? + if test "$status" -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Add all flags from the command line. We here create a library, + # but those flags were only added to compile_command and + # finalize_command, which are only used when creating executables. + # So do it by hand here. + compiler_flags="$compiler_flags $add_flags" + # Only add it to commands which use CC, instead of LD, i.e. + # only to $compiler_flags + #linker_flags="$linker_flags $add_flags" + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$save_output-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$save_output-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$save_output-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + # Set up a command to remove the reloadale object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + exit 0 + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit 1 + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + status=$? + if test "$status" -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + eval cmds=\"$reload_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit 0 + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + eval cmds=\"$reload_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + ;; + + prog) + case $host in + *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$output.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval 'echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit 1 + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G + # Also add -bnolibpath to the beginning of the link line, to clear the hardcoded runpath. + # Otherwise, things like the -L path to libgcc.a are accidentally hardcoded by ld. + # This does not apply on AIX for ia64, which uses a SysV linker. + case "$host" in + ia64-*-aix5*) ;; + *-*-aix4* | *-*-aix5*) + compile_command=`$echo "X$compile_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` + finalize_command=`$echo "X$finalize_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` ;; + esac + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit 0 + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $0 --fallback-echo"; then + case $0 in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; + *) qecho="$SHELL `pwd`/$0 --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) exeext=.exe ;; + *) exeext= ;; + esac + $rm $output + trap "$rm $output; exit 1" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit 1 + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # win32 systems need to use the prog path for dll + # lookup to work + *-*-cygwin* | *-*-pw32*) + $echo >> $output "\ + exec \$progdir/\$program \${1+\"\$@\"} +" + ;; + + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + # Export the path to the program. + PATH=\"\$progdir:\$PATH\" + export PATH + + exec \$program \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit 1 + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" + chmod +x $output + fi + exit 0 + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + #oldobjs="$oldobjs$old_deplibs $non_pic_objects" + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + status=$? + if test "$status" -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + # Add in members from convenience archives. + for xlib in $addlibs; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` + done + fi + + compiler_flags="$compiler_flags $add_flags" + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + eval cmds=\"$old_archive_from_new_cmds\" + else + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + eval cmds=\"\$concat_cmds~$old_archive_cmds\" + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="($relink_command; cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit 1 + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes && test "$fast_install" = no; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit 0 + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg="$nonopt" + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest="$arg" + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) prev="-f" ;; + -g) prev="-g" ;; + -m) prev="-m" ;; + -o) prev="-o" ;; + -s) + stripme=" -s" + continue + ;; + -*) ;; + + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest="$arg" + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit 1 + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + continue + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + eval cmds=\"$postinstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit 0 + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $wrapper ;; + *) . ./$wrapper ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit 1 + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir="/tmp" + test -n "$TMPDIR" && tmpdir="$TMPDIR" + tmpdir="$tmpdir/libtool-$$" + if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : + else + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyways + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + eval cmds=\"$old_postinstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $0 --finish$current_libdirs' + else + exit 0 + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + eval cmds=\"$finish_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + exit 0 + + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + echo " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + echo + echo "See any operating system documentation about shared libraries for" + echo "more information, such as the ld(1) and ld.so(8) manual pages." + echo "----------------------------------------------------------------------" + exit 0 + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit 1 + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit 1 + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved enviroment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit 0 + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + rmdirs= + + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$objdir" + else + objdir="$dir/$objdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + + if test "$mode" = uninstall; then + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + eval cmds=\"$postuninstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + eval cmds=\"$old_postuninstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + fi + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + # Do a test to see if this is a libtool program. + if test "$mode" = clean && + (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$file + + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit 1 +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE." + exit 0 + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; +esac + +echo +$echo "Try \`$modename --help' for more information about other modes." + +exit 0 + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/missing b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/missing new file mode 100644 index 00000000..6a37006e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/missing @@ -0,0 +1,336 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing 0.4 - GNU automake" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. + You can get \`$1Help2man' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequirements for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/mkinstalldirs b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/mkinstalldirs new file mode 100644 index 00000000..d2d5f21b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/mkinstalldirs @@ -0,0 +1,111 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" 1>&2 + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +case $dirmode in + '') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi + ;; + *) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi + ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# End: +# mkinstalldirs ends here diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ylwrap b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ylwrap new file mode 100644 index 00000000..5ea68e4f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/admin/ylwrap @@ -0,0 +1,143 @@ +#! /bin/sh +# ylwrap - wrapper for lex/yacc invocations. +# Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Usage: +# ylwrap INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... +# * INPUT is the input file +# * OUTPUT is file PROG generates +# * DESIRED is file we actually want +# * PROGRAM is program to run +# * ARGS are passed to PROG +# Any number of OUTPUT,DESIRED pairs may be used. + +# The input. +input="$1" +shift +case "$input" in + [\\/]* | ?:[\\/]*) + # Absolute path; do nothing. + ;; + *) + # Relative path. Make it absolute. + input="`pwd`/$input" + ;; +esac + +# The directory holding the input. +input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` +# Quote $INPUT_DIR so we can use it in a regexp. +# FIXME: really we should care about more than `.' and `\'. +input_rx=`echo "$input_dir" | sed -e 's,\\\\,\\\\\\\\,g' -e 's,\\.,\\\\.,g'` + +echo "got $input_rx" + +pairlist= +while test "$#" -ne 0; do + if test "$1" = "--"; then + shift + break + fi + pairlist="$pairlist $1" + shift +done + +# The program to run. +prog="$1" +shift +# Make any relative path in $prog absolute. +case "$prog" in + [\\/]* | ?:[\\/]*) ;; + *[\\/]*) prog="`pwd`/$prog" ;; +esac + +# FIXME: add hostname here for parallel makes that run commands on +# other machines. But that might take us over the 14-char limit. +dirname=ylwrap$$ +trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 +mkdir $dirname || exit 1 + +cd $dirname + +$prog ${1+"$@"} "$input" +status=$? + +if test $status -eq 0; then + set X $pairlist + shift + first=yes + # Since DOS filename conventions don't allow two dots, + # the DOS version of Bison writes out y_tab.c instead of y.tab.c + # and y_tab.h instead of y.tab.h. Test to see if this is the case. + y_tab_nodot="no" + if test -f y_tab.c || test -f y_tab.h; then + y_tab_nodot="yes" + fi + + while test "$#" -ne 0; do + from="$1" + # Handle y_tab.c and y_tab.h output by DOS + if test $y_tab_nodot = "yes"; then + if test $from = "y.tab.c"; then + from="y_tab.c" + else + if test $from = "y.tab.h"; then + from="y_tab.h" + fi + fi + fi + if test -f "$from"; then + # If $2 is an absolute path name, then just use that, + # otherwise prepend `../'. + case "$2" in + [\\/]* | ?:[\\/]*) target="$2";; + *) target="../$2";; + esac + + # Edit out `#line' or `#' directives. We don't want the + # resulting debug information to point at an absolute srcdir; + # it is better for it to just mention the .y file with no + # path. + sed -e "/^#/ s,$input_rx,," "$from" > "$target" || status=$? + else + # A missing file is only an error for the first file. This + # is a blatant hack to let us support using "yacc -d". If -d + # is not specified, we don't want an error when the header + # file is "missing". + if test $first = yes; then + status=1 + fi + fi + shift + shift + first=no + done +else + status=$? +fi + +# Remove the directory. +cd .. +rm -rf $dirname + +exit $status diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c++-kde/autoclean.sh new file mode 100644 index 00000000..79c7121f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/autoclean.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +if test "$1" = fromscratch; then + + # Brought in by explicit copy. + rm -rf admin + +fi + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin +rm -f admin/config.rpath + +# Generated through admin/cvs.sh. + rm -f acinclude.m4 + rm -f subdirs configure.files + rm -f configure.in + # Generated by aclocal. + rm -f aclocal.m4 + # Generated by autoconf. + rm -f configure + rm -f config.h.in stamp-h.in + rm -f Makefile.in m4/Makefile.in + +# Generated. +rm -f po/Makefile.in +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/autogen.sh b/mingw/share/doc/gettext/examples/hello-c++-kde/autogen.sh new file mode 100644 index 00000000..ded134bc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test "$1" = fromscratch; then + + kdedir= + for d in /usr/lib/kde /usr/local/kde /usr/local /usr/kde /usr /opt/kde3 /opt/kde /suse/opt/kde3 $KDEDIR; do + if test -f $d/share/apps/kdelibs/admin/cvs.sh; then + kdedir=$d + break + fi + done + if test -z "$kdedir"; then + echo "*** KDE directory not found. Try setting KDEDIR." 1>&2 + exit 1 + fi + + cp -a $kdedir/share/apps/kdelibs/admin . + sed -e s/AC_FOREACH/INCOMPATIBLE_FOREACH/g < $kdedir/share/apps/kdelibs/admin/acinclude.m4.in > admin/acinclude.m4.in + sed -e 's/automake\*1.6/automake\*1.[678] | automake\*1.[678]/' < admin/cvs.sh > admin/cvs.sh.new + mv admin/cvs.sh.new admin/cvs.sh + +fi + +autopoint -f # was: gettextize -f -c +mv config.rpath admin/config.rpath +rm -f mkinstalldirs +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +sh admin/cvs.sh cvs + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/configure.in.in b/mingw/share/doc/gettext/examples/hello-c++-kde/configure.in.in new file mode 100644 index 00000000..21d5a967 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/configure.in.in @@ -0,0 +1,6 @@ +#MIN_CONFIG +AC_CHECK_HEADERS([unistd.h]) + +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) +AC_CONFIG_FILES([po/Makefile.in]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/hello.cc b/mingw/share/doc/gettext/examples/hello-c++-kde/hello.cc new file mode 100644 index 00000000..5e091287 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/hello.cc @@ -0,0 +1,73 @@ +// Example for use of GNU gettext. +// Copyright (C) 2003 Free Software Foundation, Inc. +// This file is published under the GNU General Public License. + +// Source code of the C++ program. + +#if HAVE_CONFIG_H +# include +#endif + +#include +/* Declare KCmdLineArgs, KCmdLineOptions. */ +#include +/* Declare KApplication. */ +#include +/* Declare KAboutData. */ +#include +/* Declare main window widget. */ +#include "hellowindow.h" + +// Comment line options. + +static KCmdLineOptions options[] = +{ + { 0, 0, 0 } // End of options. +}; + +int +main (int argc, char *argv[]) +{ + // Initializations. + + { + // Add our installation directory to KDE's search list for message + // catalogs. By default it looks only in $KDEHOME/share/locale and + // $KDEDIR/share/locale. + QString kdedirs = getenv ("KDEDIRS"); + if (kdedirs.isEmpty ()) + kdedirs = PREFIX; + else + kdedirs = kdedirs + ":" + PREFIX; + setenv ("KDEDIRS", (const char *) kdedirs.local8Bit(), true); + } + + KAboutData aboutData ("hello-c++-kde", + I18N_NOOP ("Hello example"), + VERSION, + I18N_NOOP ("Hello world example"), + KAboutData::License_GPL, + "(C) 2003 Free Software Foundation", + NULL, + NULL, + "bug-gnu-gettext@gnu.org"); + KCmdLineArgs::init (argc, argv, &aboutData); + KCmdLineArgs::addCmdLineOptions (options); + KApplication application; + + // Create the GUI elements. + + HelloMainWindow *window = new HelloMainWindow (); + QObject::connect (window->button, SIGNAL (clicked ()), + &application, SLOT (quit ())); + + application.setMainWidget (window); + + // Make the GUI elements visible. + + window->show (); + + // Start the event loop. + + return application.exec (); +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.cc b/mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.cc new file mode 100644 index 00000000..67aa2b44 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.cc @@ -0,0 +1,63 @@ +// Example for use of GNU gettext. +// Copyright (C) 2003 Free Software Foundation, Inc. +// This file is published under the GNU General Public License. + +#if HAVE_CONFIG_H +# include +#endif + +/* Specification. */ +#include "hellowindow.h" + +/* Declare i18n. */ +#include +/* Declare KMainWindow. */ +#include +/* Declare QLabel. */ +#include +/* Declare QPushButton. */ +#include +/* Declare QString. */ +#include +/* Declare QVBox. */ +#include +/* Declare QHBox. */ +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +// The main window widget. + +HelloMainWindow::HelloMainWindow (QWidget * parent, const char * name) + : KMainWindow (parent, name) +{ + setCaption ("Hello example"); + + QVBox *panel = new QVBox (this); + panel->setSpacing (2); + + QLabel *label1 = new QLabel (i18n ("Hello, world!"), panel); + + QString label2text; + // NOT using QString::sprintf because it doesn't support reordering of + // arguments. + //label2text.sprintf (i18n ("This program is running as process number %d"), + // getpid ()); + label2text = i18n ("This program is running as process number %1.").arg(getpid ()); + QLabel *label2 = new QLabel (label2text, panel); + + QHBox *buttonbar = new QHBox (panel); + QWidget *filler = new QWidget (buttonbar); // makes the button right-aligned + button = new QPushButton ("OK", buttonbar); + button->setMaximumWidth (button->sizeHint().width() + 20); + + panel->resize (panel->sizeHint ()); + resize (panel->frameSize ()); +} + +HelloMainWindow::~HelloMainWindow () +{ +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.h b/mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.h new file mode 100644 index 00000000..6457a487 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/hellowindow.h @@ -0,0 +1,20 @@ +// Example for use of GNU gettext. +// Copyright (C) 2003 Free Software Foundation, Inc. +// This file is published under the GNU General Public License. + +/* Declare KMainWindow. */ +#include +/* Declare QPushButton. */ +#include + +// The main window widget. + +class HelloMainWindow : public KMainWindow +{ + Q_OBJECT +public: + HelloMainWindow (QWidget * parent = NULL, const char * name = NULL); + ~HelloMainWindow (); +public: + QPushButton *button; +}; diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-kde/m4/Makefile.am new file mode 100644 index 00000000..000cd06f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/m4/Makefile.am @@ -0,0 +1,5 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c++-kde/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/Makevars b/mingw/share/doc/gettext/examples/hello-c++-kde/po/Makevars new file mode 100644 index 00000000..b5477ea0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/Makevars @@ -0,0 +1,63 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --qt \ + --keyword=i18n --flag=i18n:1:pass-c-format --flag=i18n:1:pass-qt-format \ + --keyword=tr2i18n --flag=tr2i18n:1:pass-c-format --flag=tr2i18n:1:pass-qt-format \ + --keyword=I18N_NOOP --flag=I18N_NOOP:1:pass-c-format --flag=I18N_NOOP:1:pass-qt-format \ + --keyword=tr --flag=tr:1:pass-c-format --flag=tr:1:pass-qt-format \ + --keyword=translate:2 --flag=translate:2:pass-c-format --flag=translate:2:pass-qt-format \ + --keyword=QT_TR_NOOP --flag=QT_TR_NOOP:1:pass-c-format --flag=QT_TR_NOOP:1:pass-qt-format \ + --keyword=QT_TRANSLATE_NOOP:2 --flag=QT_TRANSLATE_NOOP:2:pass-c-format --flag=QT_TRANSLATE_NOOP:2:pass-qt-format \ + --keyword=_ --flag=_:1:pass-c-format --flag=_:1:pass-qt-format \ + --keyword=N_ --flag=N_:1:pass-c-format --flag=N_:1:pass-qt-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-c++-kde/po/POTFILES.in new file mode 100644 index 00000000..d631e96b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/POTFILES.in @@ -0,0 +1,6 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.cc +hellowindow.cc diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/af.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/af.po new file mode 100644 index 00000000..54ffa7f4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/af.po @@ -0,0 +1,33 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Hallo voorbeeld" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Hallo wêreld voorbeeld" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Hierdie program loop as prosesnommer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ast.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ast.po new file mode 100644 index 00000000..3a90fbd3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ast.po @@ -0,0 +1,34 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Hola exemplu" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Exemplu de hola mundu" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Esti programa ta corriendo como'l procesu númberu %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/bg.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/bg.po new file mode 100644 index 00000000..7815f20d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/bg.po @@ -0,0 +1,33 @@ +# Bulgarian translations for hello-c++-kde package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-kde 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Пример: Здравейте" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Пример: Здравейте на всички" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Програмата е запусната под процес номер %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ca.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ca.po new file mode 100644 index 00000000..d4c6cecb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ca.po @@ -0,0 +1,34 @@ +# Catalan messages for GNU hello-c++-kde. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Exemple Hola" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Exemple Hola Món" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Aquest programa està corrent amb el número de procés %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/de.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/de.po new file mode 100644 index 00000000..18ff1028 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/de.po @@ -0,0 +1,35 @@ +# German messages for hello-c++-kde. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Beispiel Hallo" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Beispiel Hallo-Welt" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/el.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/el.po new file mode 100644 index 00000000..fada13f7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/el.po @@ -0,0 +1,33 @@ +# Greek translation of hello-c++-kde +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Παράδειγμα χαιρετισμού" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Παράδειγμα \"γεια σου κόσμε\"" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/eo.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/eo.po new file mode 100644 index 00000000..ec09dd77 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/eo.po @@ -0,0 +1,33 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Saluto-ekzemplo" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Saluton-mondo-ekzemplo" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/es.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/es.po new file mode 100644 index 00000000..fc10b754 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/es.po @@ -0,0 +1,33 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Hola ejemplo" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Ejemplo de hola mundo" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Este programa está corriendo como el proceso número %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/fi.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/fi.po new file mode 100644 index 00000000..30b73861 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/fi.po @@ -0,0 +1,33 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Tervehdysesimerkki" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Terve maailma -esimerkki" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Tämän ohjelman prosessinumero on %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/fr.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/fr.po new file mode 100644 index 00000000..e864baf4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/fr.po @@ -0,0 +1,34 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-kde 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Exemple Hello" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Exemple de « Hello world »" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ce programme est exécuté en tant que processus numéro %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ga.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ga.po new file mode 100644 index 00000000..10fe113a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ga.po @@ -0,0 +1,33 @@ +# Irish translations for hello-c++-kde. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Sampla `Dia duit'" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Sampla `Dia duit a dhomhain'" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Tá an clár seo á rith mar phróiseas %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/hu.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/hu.po new file mode 100644 index 00000000..184ebdb8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/hu.po @@ -0,0 +1,33 @@ +# Hungarian translation for hello-c++-kde. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Hello példa" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Hello világ példa" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ez a program a %1 processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/id.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/id.po new file mode 100644 index 00000000..2fcc0570 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/id.po @@ -0,0 +1,34 @@ +# translation of hello-c++-kde-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Contoh hello" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Contoh hello world" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Program ini berjalan sebagai proses nomor %1" diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/it.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/it.po new file mode 100644 index 00000000..47dd43de --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/it.po @@ -0,0 +1,33 @@ +# Italian messages for hello-c++-kde. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Esempio di Salve mondo" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Esempio di Salve mondo" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Questo programma è in esecuzione con numero di processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ja.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ja.po new file mode 100644 index 00000000..34ccfb1f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ja.po @@ -0,0 +1,33 @@ +# Translation of `hello-c++-kde' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-kde 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "¡Ö¤³¤ó¤Ë¤Á¤Ï¡×¤ÎÎã" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "¡ÖÀ¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï¡×¤ÎÎã" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %1 ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ky.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ky.po new file mode 100644 index 00000000..aeb782da --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ky.po @@ -0,0 +1,35 @@ +# Translation of 'hello-c++-kde' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Салам мисалы" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Салам дүйнө мисалы" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Бул программа %1 процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/lv.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/lv.po new file mode 100644 index 00000000..b8ffc11e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/lv.po @@ -0,0 +1,37 @@ +# Latvian translation of hello-c++-kde +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Sveiki paraugs" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Sveika pasaule paraugs" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Šī programma darbojas kā process ar numuru %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ms.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ms.po new file mode 100644 index 00000000..b0fe1c66 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ms.po @@ -0,0 +1,34 @@ +# hello-c++-kde Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Contoh hello" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Contoh hello world" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Program ini dilaksanakan sebagai proses bernombor %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/mt.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/mt.po new file mode 100644 index 00000000..dfc8ac44 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/mt.po @@ -0,0 +1,33 @@ +# hello-c++-kde-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Eżempju tal-Hello" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Eżempju ta' Hello lil kulħadd" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/nl.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/nl.po new file mode 100644 index 00000000..69ecb82f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/nl.po @@ -0,0 +1,35 @@ +# Translation of hello-c++-kde-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "'Hallo'-voorbeeld" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "'Hallo wereld'-voorbeeld" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Dit programma draait als proces nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/pl.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/pl.po new file mode 100644 index 00000000..11967dd0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/pl.po @@ -0,0 +1,35 @@ +# Polish translations for the GNU gettext messages, hello-c++-kde domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Przykładowy program witający" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Przykładowy program witający świat" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ten program działa jako proces o numerze %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/pt.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/pt.po new file mode 100644 index 00000000..7dc9ed88 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/pt.po @@ -0,0 +1,33 @@ +# Portuguese translation of 'hello-c++-kde' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Exemplo Olá" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Exemplo Olá Mundo" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Este programa está a ser executado com o número de processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ro.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ro.po new file mode 100644 index 00000000..d0b8a962 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ro.po @@ -0,0 +1,33 @@ +# Mesajele în limba românã pentru pachetul hello-c++-kde-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-kde. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Exemplu Salut(Hello)" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Exemplu Salut lume(Hello world)" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Acest program este rulat ca procesul numãrul %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/ru.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ru.po new file mode 100644 index 00000000..688c082c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/ru.po @@ -0,0 +1,35 @@ +# Translation of hello-c++-kde-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "ðÒÉÍÅÒ: úÄÒÁ×ÓÔ×ÕÊ" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "ðÒÉÍÅÒ: úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/sk.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sk.po new file mode 100644 index 00000000..0317c450 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sk.po @@ -0,0 +1,33 @@ +# Slovak translations GNU for hello-c++-kde package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c++-kde package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-kde 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Príklad \"Ahoj\"" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Príklad \"Ahoj svet\"" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Tento program beží ako proces s číslom %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/sl.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sl.po new file mode 100644 index 00000000..764b4c55 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sl.po @@ -0,0 +1,34 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Zgled Pozdravljen" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Zgled Pozdravljen svet" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ta program teče kot proces številka %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/sr.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sr.po new file mode 100644 index 00000000..201f969a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sr.po @@ -0,0 +1,32 @@ +# Serbian translation of hello-c++-kde. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c++-kde' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "„Здраво“ пример" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "„Здраво свима“ пример" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Овај програм се извршава као процес број %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/sv.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sv.po new file mode 100644 index 00000000..4e02709c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/sv.po @@ -0,0 +1,32 @@ +# Swedish messages for hello-c++-kde. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Hälsningsexempel" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "\"Hej världen\"-exempel" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Detta program kör som process nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/tr.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/tr.po new file mode 100644 index 00000000..ec2a2737 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/tr.po @@ -0,0 +1,33 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Hello örneği" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Hello world örneği" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Bu yazılım, %1 süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/uk.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/uk.po new file mode 100644 index 00000000..1fda66a7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/uk.po @@ -0,0 +1,33 @@ +# Ukrainian translation to hello-c++-kde +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Приклад привітання" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Приклад \"Привітання\"" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ця програма виконується як процес з номером %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/vi.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/vi.po new file mode 100644 index 00000000..e1de8460 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/vi.po @@ -0,0 +1,36 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "Lời ví dụ « Chào »" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "Lời ví dụ « Chào thế giới »" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_CN.po new file mode 100644 index 00000000..c46e87a2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_CN.po @@ -0,0 +1,33 @@ +# zh_CN translation for hello-c++-kde. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-kde package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "世界你好示例" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "世界你好示例" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "此程序正以进程号 %1 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_HK.po new file mode 100644 index 00000000..2e7d4908 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_HK.po @@ -0,0 +1,32 @@ +# Chinese (Hong Kong) translation of hello-c++-kde. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "測試範例" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "訊息測試範例" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "你好!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_TW.po new file mode 100644 index 00000000..e9677c83 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-kde/po/zh_TW.po @@ -0,0 +1,32 @@ +# traditional Chinese translation of hello-c++-kde. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-kde 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:46 +msgid "Hello example" +msgstr "測試範例" + +#: hello.cc:48 +msgid "Hello world example" +msgstr "訊息測試範例" + +#: hellowindow.cc:42 +msgid "Hello, world!" +msgstr "您好!" + +#: hellowindow.cc:49 +#, qt-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/BUGS b/mingw/share/doc/gettext/examples/hello-c++-qt/BUGS new file mode 100644 index 00000000..6899f3e4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/BUGS @@ -0,0 +1,3 @@ +Qt looks only at the LANG value and ignores LC_MESSAGES and LC_ALL. (Bug in +function QTextCodec::locale().) Therefore, to make it work, you have to set +LANG to the same value as LC_ALL or LC_MESSAGES. diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/INSTALL b/mingw/share/doc/gettext/examples/hello-c++-qt/INSTALL new file mode 100644 index 00000000..351c025b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/INSTALL @@ -0,0 +1,12 @@ +This example relies on: + - Qt (libqt) and its dependencies: OpenGL (libGL), libpng, zlib (libz) + - the C++ runtime libraries (libstdc++) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix --with-qt-dir=/usr/lib/qt3 --enable-threads + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-qt/Makefile.am new file mode 100644 index 00000000..44b29ffc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/Makefile.am @@ -0,0 +1,31 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cc + +# Define C macros LOCALEDIR and PKGLOCALEDIR indicating where catalogs will be +# installed. +pkglocaledir = $(pkgdatadir)/locale +DEFS = -DLOCALEDIR=\"$(localedir)\" -DPKGLOCALEDIR=\"$(pkglocaledir)\" @DEFS@ + +CXXFLAGS += $(QT_CXXFLAGS) $(PTHREAD_CFLAGS) + +# Link time dependencies. +LDADD = $(QT_LDFLAGS) +LIBS += $(QT_LIBS) + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c++-qt/autoclean.sh new file mode 100644 index 00000000..ef9a6c5f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/autoclean.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.qm diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/autogen.sh b/mingw/share/doc/gettext/examples/hello-c++-qt/autogen.sh new file mode 100644 index 00000000..11df112e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c --qt -o $lang.qm $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/configure.ac b/mingw/share/doc/gettext/examples/hello-c++-qt/configure.ac new file mode 100644 index 00000000..9858a528 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/configure.ac @@ -0,0 +1,23 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.cc) +AM_INIT_AUTOMAKE(hello-c++-qt, 0) + +AC_PROG_CXX +FUN_TYPE_BOOL +AC_CHECK_HEADERS([unistd.h]) +FUN_HEADER_STDCXX +FUN_CHECK_PTHREAD +FUN_CHECK_QT(220) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/hello.cc b/mingw/share/doc/gettext/examples/hello-c++-qt/hello.cc new file mode 100644 index 00000000..577a54e1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/hello.cc @@ -0,0 +1,73 @@ +// Example for use of GNU gettext. +// This file is in the public domain. + +// Source code of the C++ program. + +#include +#include +#include +#include +#include +#include +#include +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +int +main (int argc, char *argv[]) +{ + // Initializations. + + QApplication application (argc, argv); +#if 0 + GettextTranslator *translator = + new GettextTranslator (&application, "hello-c++-qt", LOCALEDIR); +#else + QTranslator *translator = new QTranslator (NULL); + translator->load (QString ("hello-c++-qt") + "_" + QTextCodec::locale(), + PKGLOCALEDIR); +#endif + application.installTranslator (translator); +#define _(string) application.translate ("", string) + + // Create the GUI elements. + + QMainWindow *window = new QMainWindow (); + window->setCaption ("Hello example"); + + QVBox *panel = new QVBox (window); + panel->setSpacing (2); + + QLabel *label1 = new QLabel (_("Hello, world!"), panel); + + QString label2text; + // NOT using QString::sprintf because it doesn't support reordering of + // arguments. + //label2text.sprintf (_("This program is running as process number %d"), + // getpid ()); + label2text = _("This program is running as process number %1.").arg(getpid ()); + QLabel *label2 = new QLabel (label2text, panel); + + QHBox *buttonbar = new QHBox (panel); + QWidget *filler = new QWidget (buttonbar); // makes the button right-aligned + QPushButton *button = new QPushButton ("OK", buttonbar); + button->setMaximumWidth (button->sizeHint().width() + 20); + QObject::connect (button, SIGNAL (clicked ()), &application, SLOT (quit ())); + + panel->resize (panel->sizeHint ()); + window->resize (panel->frameSize ()); + + application.setMainWidget (window); + + // Make the GUI elements visible. + + window->show (); + + // Start the event loop. + + return application.exec (); +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-qt/m4/Makefile.am new file mode 100644 index 00000000..b15ec45d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + qt.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/m4/qt.m4 b/mingw/share/doc/gettext/examples/hello-c++-qt/m4/qt.m4 new file mode 100644 index 00000000..b734356a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/m4/qt.m4 @@ -0,0 +1,466 @@ +# Copyright (C) 2001 David Johnson +# This file is free software; the author gives unlimited permission to copy +# and/or distribute it, with or without modifications, as long as this notice +# is preserved. + +# FUN_TYPE BOOL +# check for a built-in bool type +# HAVE_BOOL will be defined in the config header + +AC_DEFUN([FUN_TYPE_BOOL], +[ + AC_REQUIRE([AC_PROG_CXX]) + + AC_LANG_PUSH(C++) + AC_CHECK_TYPE(bool, ac_check_bool=yes, ac_check_bool=no) + AC_LANG_POP(C++) + if test "x$ac_check_bool" = "xyes" ; then + AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type]) + fi + + AH_BOTTOM([#ifndef HAVE_BOOL]) + AH_BOTTOM([enum booltyp { false, true }; typedef enum booltyp bool;]) + AH_BOTTOM([#endif]) +])# FUN_TYPE_BOOL + +# FUN_HEADER_STDCXX +# check for standard ISO C++ headers + +AC_DEFUN([FUN_HEADER_STDCXX], +[ + AC_REQUIRE([AC_PROG_CXX]) + + AC_LANG_PUSH(C++) + + ac_check_headers=no + AC_CHECK_HEADER(cstdlib, + ac_check_headers=yes, + ac_check_headers=no) + AC_CHECK_HEADER(cstring, + ac_check_headers=$ac_check_headers, + ac_check_headers=no) + AC_CHECK_HEADER(iostream, + ac_check_headers=$ac_check_headers, + ac_check_headers=no) + + AC_LANG_POP(C++) + + if test "x$ac_check_headers" = "xno" ; then + AC_MSG_ERROR(standard ISO C++ headers not found!) + fi +])#FUN_HEADER_STDCXX + +# FUN_CHECK_PTHREAD +# check for posix pthreads +# sets PTHREAD_LIBS and PTHREAD_CFLAGS +# sets HAVE_PTHREADS in the configuration header + +AC_DEFUN([FUN_CHECK_PTHREAD], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_PROG_CC]) + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + + AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads], + [enable the use of the threads [[default=no]]]), + ac_use_threads=$enableval, ac_use_threads=no) + + if test "x$ac_use_threads" = "xyes" ; then + + AC_CHECK_HEADER(pthread.h, ac_posix_threads=yes, ac_posix_threads=no) + + if test "x$ac_posix_threads" = "xyes" ; then + + AC_MSG_CHECKING([whether ${CC} accepts -pthread]) + ac_cflags_save="$CFLAGS" + CFLAGS="$CFLAGS -pthread" + AC_TRY_COMPILE([#include ], [pthread_attr_init(0)], + ac_cc_pthread=yes, ac_cc_pthread=no) + CFLAGS="$ac_cflags_save" + + if test "x$ac_cc_pthread" = "xyes" ; then + AC_MSG_RESULT([yes]) + PTHREAD_CFLAGS="-pthread" + else + AC_MSG_RESULT([no]) + ac_thread_library=none + + if test "x$ac_thread_library" = "xnone" ; then + AC_CHECK_LIB(c_r, pthread_self, ac_thread_library=c_r) + fi + if test "x$ac_thread_library" = "xnone" ; then + AC_CHECK_LIB(pthread, pthread_self, ac_thread_library=pthread) + fi + if test "x$ac_thread_library" = "xnone" ; then + AC_CHECK_LIB(pthreads, pthread_self, ac_thread_library=pthreads) + fi + if test "x$ac_thread_library" = "xnone" ; then + AC_CHECK_LIB(thread, pthread_self, ac_thread_library=thread) + fi + if test "x$ac_thread_library" = "xnone" ; then + AC_CHECK_LIB(gthreads, pthread_self, ac_thread_library=gthreads) + fi + if test "x$ac_thread_library" = "xnone" ; then + AC_CHECK_LIB(c, pthread_self, ac_thread_library=c) + fi + if test "x$ac_thread_library" = "xnone" ; then + ac_use_threads=no + else + PTHREAD_LIBS="-l$ac_thread_library" + fi + fi + else + ac_use_threads=no + fi + fi + + if test "x$ac_use_threads" = "xyes" ; then + AC_DEFINE(HAVE_PTHREAD, 1, [Define if you have POSIX threads]) + case $host_os in + aix* | freebsd*) + PTHREAD_CFLAGS="$PTHREAD_CFLAGS -D_THREAD_SAFE" + ;; + linux* | solaris*) + PTHREAD_CFLAGS="$PTHREAD_CFLAGS -D_REENTRANT" + ;; + *) + ;; + esac + fi +])#FUN_CHECK_PTHREAD + +# FUN_CHECK_QT([qt_min_version],[qt_max_version]) +# check for qt headers, libs, progs and compilation +# substs QT_CXXFLAGS, QT_LDFLAGS, and QT_LIBS +# substs QTVERSION, MOC and UIC +# LIBQT, MOC and UIC 'precious' variables + +AC_DEFUN([FUN_CHECK_QT], +[ + AC_REQUIRE([AC_PROG_CXX]) + AC_REQUIRE([AC_PATH_X]) + AC_REQUIRE([AC_PATH_XTRA]) + AC_REQUIRE([FUN_CHECK_PTHREAD]) + + # some 'precious' variables for configure --help + AC_ARG_VAR(QTMIN, minimum version of Qt to search for e.g. 220) + AC_ARG_VAR(QTMAX, maximum version of Qt to search for e.g. 399) + AC_ARG_VAR(LIBQT, library flag for the Qt libary e.g. -lqt) + AC_ARG_VAR(MOC, QT meta object compiler command) + AC_ARG_VAR(UIC, Qt UI compiler command) + + AC_CACHE_SAVE + + AC_MSG_NOTICE([checking for Qt]) + + # process our args + if test -z "$1" ; then + qt_min_version=0 + else + qt_min_version=$1 + fi + if test -z "$2" ; then + qt_max_version=9999 + else + qt_max_version=$2 + fi + # adjust for user preferences + if test "x$QTMIN" != "x" ; then + if expr $QTMIN '>' $qt_min_version > /dev/null ; then + qt_min_version=$QTMIN; + fi + fi + if test "x$QTMAX" != "x" ; then + if expr $QTMAX '<' $qt_max_version > /dev/null ; then + qt_max_version=$QTMAX; + fi + fi + + # set up our configuration options + qt_dir="" + qt_includes="" + qt_libraries="" + qt_programs="" + AC_ARG_WITH([qt_dir], AC_HELP_STRING([--with-qt-dir=DIR], + [where the Qt package is installed]), + [ qt_dir="$withval" + qt_includes="$withval"/include + qt_libraries="$withval"/lib + qt_programs="$withval"/bin + ]) + AC_ARG_WITH([qt_includes], AC_HELP_STRING([--with-qt-includes=DIR], + [where the Qt includes are installed]), + [qt_includes="$withval"]) + AC_ARG_WITH([qt_libraries], AC_HELP_STRING([--with-qt-libraries=DIR], + [where the Qt libraries are installed]), + [qt_libraries="$withval"]) + AC_ARG_WITH([qt_programs], AC_HELP_STRING([--with-qt-programs=DIR], + [where the Qt programs are installed]), + [qt_programs="$withval"]) + + QTVERSION="000" + + FUN_QT_HEADERS + + # check for a traditional qt installation tree + if ls $qt_includes/../lib/libqt* > /dev/null 2> /dev/null; then + qt_dir="`echo $qt_includes | sed s,'/include',,`" + qt_libraries="$qt_dir/lib" + qt_programs="$qt_dir/bin" + fi + + FUN_QT_LIBRARIES + FUN_QT_PROGRAMS + FUN_QT_COMPILE + + AC_MSG_NOTICE([Found Qt version $QTVERSION]) + + AC_SUBST(QTVERSION) + AC_SUBST(MOC) + AC_SUBST(UIC) + QT_CXXFLAGS="-I$qt_includes" + AC_SUBST(QT_CXXFLAGS) + QT_LDFLAGS="-L$qt_libraries" + AC_SUBST(QT_LDFLAGS) + QT_LIBS="$LIBQT" + AC_SUBST(QT_LIBS) +])#FUN_CHECK_QT + +# FUN_QT_HEADERS +# helper function for FUN_CHECK_QT +# check for qt headers in standard locations + +AC_DEFUN([FUN_QT_HEADERS], +[ + AC_MSG_CHECKING([for Qt headers]) + + if test "x$qt_includes" = "x" ; then + # look in standard locations + qt_found_dirs="" + qt_include_dirs=" + $QTDIR + /usr/include + /usr/local/include + /usr/X11R6/include + `ls -dr /usr/include/qt* 2>/dev/null` + `ls -dr /usr/local/include/qt* 2>/dev/null` + `ls -dr /usr/X11R6/include/qt* 2>/dev/null` + `ls -dr /usr/lib/qt*/include 2>/dev/null` + `ls -dr /usr/local/lib/qt*/include 2>/dev/null` + `ls -dr /usr/X11R6/lib/qt*/include 2>/dev/null` + `ls -dr /usr/local/qt*/include 2>/dev/null` + `ls -dr /opt/qt*/include 2>/dev/null` " + for n in $qt_include_dirs ; do + if test -r "$n/qglobal.h"; then + qt_found_dirs="$qt_found_dirs $n" + fi + done + + # find the latest version between min_version and max_version + qt_prev_version=$qt_min_version + qt_found_version="" + for n in $qt_found_dirs ; do + qt_current_version=`grep -w '#define QT_VERSION' $n/qglobal.h | + sed s/'#define QT_VERSION'//` + if expr $qt_current_version '>=' $qt_prev_version > /dev/null ; then + if expr $qt_current_version '<=' $qt_max_version > /dev/null ; then + qt_includes=$n + qt_prev_version=$qt_current_version + fi + fi + done + fi + + if test "x$qt_includes" = "x" ; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot find correct Qt headers!]) + else + dnl TODO need to strip out white space + QTVERSION=$qt_prev_version; + AC_MSG_RESULT([$qt_includes]) + fi +])#FUN_QT_HEADERS + +# FUN_QT_LIBRARIES +# helper function for FUN_CHECK_QT +# check for qt libs in standard locations + +AC_DEFUN([FUN_QT_LIBRARIES], +[ + AC_REQUIRE([FUN_QT_HEADERS]) + + AC_MSG_CHECKING([for Qt libraries]) + + # check which library to look for + if test -z "$LIBQT" ; then + if test "x$ac_use_threads" = "xyes" ; then + LIBQT="-lqt-mt" + else + LIBQT="-lqt" + fi + fi + + lib_qt=`echo $LIBQT | sed s/'-l'//` + + if test "x$qt_libraries" = "x" ; then + # see if it is relative to the includes + qt_tree="$qt_includes" + while test "x$qt_tree" != "x" ; do + # first go around will fail... + if ls $qt_tree/lib/libqt* > /dev/null 2> /dev/null ; then + qt_libraries=$qt_tree/lib + break + else + # lop off tail of path + dnl not as portable as it should be... + qt_tree="`dirname $qt_tree`" + fi + done + fi + + if test "x$qt_libraries" = "x" ; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot find Qt libraries!]) + else + # check that we're looking at the right library + if ls $qt_libraries/lib$lib_qt.* > /dev/null 2> /dev/null ; then + AC_MSG_RESULT([$qt_libraries]) + else + AC_MSG_RESULT([no]) + if test "x$ac_use_threads" = "xyes" ; then + AC_MSG_ERROR([cannot find the threaded Qt library in $qt_libraries!]) + else + AC_MSG_ERROR([cannot find the non-threaded Qt library in $qt_libraries!]) + fi + fi + fi +])#FUN_QT_LIBRARIES + +# FUN_QT_PROGRAMS +# helper function for FUN_CHECK_QT +# searches for moc and uic + +AC_DEFUN([FUN_QT_PROGRAMS], +[ + AC_REQUIRE([FUN_QT_LIBRARIES]) + + AC_MSG_CHECKING([for Qt utilities]) + + if test "x$q_programs" = "x" ; then + # see if it is relative to the libraries + qt_tree="$qt_libraries" + while test "x$qt_tree" != "x" ; do + # first go around will fail + if ls $qt_tree/bin/moc* > /dev/null 2> /dev/null ; then + qt_programs=$qt_tree/bin + break + else + # lop off tail of path + dnl not as portable as it should be... + qt_tree="`dirname $qt_tree`" + fi + done + # if we haven't found the progs, there's not much more we can do + fi + + if test "x$qt_programs" = "x" ; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot find Qt utilities!]) + else + AC_MSG_RESULT([$qt_programs]) + # find the right moc + if test -z "$MOC" ; then + AC_CHECK_PROG(MOC, moc, moc) + if test "x$MOC" = "x" ; then + # could be renamed to avoid clashes + if ls $qt_programs/moc > /dev/null 2> /dev/null ; then + MOC="$qt_programs/moc" + else + if expr "$QTVERSION" '>=' "200" > /dev/null ; then + if ls $qt_programs/moc2 > /dev/null 2> /dev/null ; then + MOC="$qt_programs/moc2" + fi + else + if expr "$QTVERSION" '>=' "300" > /dev/null ; then + if $qt_programs/moc3 > /dev/null 2> /dev/null ; then + MOC="$qt_programs/moc3" + fi + fi + fi + fi + fi + if test "x$MOC" = "x" ; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot find Qt meta object compiler!]) + fi + fi + + # find the right uic + if expr "$QTVERSION" '>=' "220" > /dev/null ; then + if test -z "$UIC" ; then + AC_CHECK_PROG(UIC, uic, uic) + if test "x$UIC" = "x" ; then + # could be renamed to avoid clashes + if ls $qt_programs/uic > /dev/null 2> /dev/null ; then + UIC="$qt_programs/uic" + else + if expr "$QTVERSION" '>=' "300" > /dev/null ; then + if ls $qt_programs/uic3 > /dev/null 2> /dev/null ; then + UIC="$qt_programs/uic3" + fi + fi + fi + fi + fi + else + # if uic is important to the build, change this + UIC="" + fi + fi +])#FUN_QT_PROGRAMS + +# FUN_QT_COMPILE +# helper function for FUN_CHECK_QT +# compile a simple qt program + +AC_DEFUN([FUN_QT_COMPILE], +[ + AC_REQUIRE([FUN_QT_HEADERS]) + AC_REQUIRE([FUN_QT_LIBRARIES]) + AC_REQUIRE([FUN_QT_PROGRAMS]) + + AC_MSG_CHECKING([whether a simple Qt program compiles]) + + AC_LANG_PUSH(C++) + + ac_cxxflags_save="$CXXFLAGS" + ac_ldflags_save="$LDFLAGS" + ac_libs_save="$LIBS" + CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS -I$qt_includes $X_CFLAGS $all_includes" + LDFLAGS="$LDFLAGS -L$qt_libraries $X_LIBS " + LIBS="$LIBS $PTHREAD_LIBS $X_PRE_LIBS $X_EXTRA_LIBS -lXext -lX11 $LIBQT" + + AC_TRY_LINK([ + #include + #include + #include ], + [QString s = "hello world"; + QMessageBox::information(0, s, "no he is not"); + return 0;], + qt_compile=yes, qt_compile=no) + + CXXFLAGS="$ac_cxxflags_save" + LDFLAGS="$ac_ldflags_save" + LIBS="$ac_libs_save" + + AC_LANG_POP(C++) + + if test "x$qt_compile" = "xyes" ; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot compile a Qt program!]) + fi +])#FUN_QT_COMPILE diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c++-qt/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-qt/po/Makefile.am new file mode 100644 index 00000000..57d18879 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/Makefile.am @@ -0,0 +1,289 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.cc + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --qt \ + --keyword=tr:1,1t --keyword=tr:1,2c,2t --keyword=tr:1,1,2c,3t --flag=tr:1:pass-c-format --flag=tr:1:pass-qt-format \ + --keyword=translate:2 --flag=translate:2:pass-c-format --flag=translate:2:pass-qt-format \ + --keyword=QT_TR_NOOP --flag=QT_TR_NOOP:1:pass-c-format --flag=QT_TR_NOOP:1:pass-qt-format \ + --keyword=QT_TRANSLATE_NOOP:2 --flag=QT_TRANSLATE_NOOP:2:pass-c-format --flag=QT_TRANSLATE_NOOP:2:pass-qt-format \ + --keyword=_ --flag=_:1:pass-c-format --flag=_:1:pass-qt-format \ + --keyword=N_ --flag=N_:1:pass-c-format --flag=N_:1:pass-qt-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).qm) +QMFILES = @QMFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).qm) +CATALOGS = @QTCATALOGS@ + +SUFFIXES = .po .qm .sed .sin .nop .po-create .po-update + +.po.qm: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.qm && $(GMSGFMT) -c --qt --statistics --verbose -o $${lang}.qm $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.qm && $(GMSGFMT) -c --qt --statistics --verbose -o t-$${lang}.qm $${lang}.po && mv t-$${lang}.qm $${lang}.qm + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(QMFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(QMFILES)" || $(MAKE) $(QMFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(pkgdatadir)/locale + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$(pkgdatadir)/locale/$(DOMAIN)_$$cat; \ + echo "installing $$realcat as $(DESTDIR)$(pkgdatadir)/locale/$(DOMAIN)_$$cat"; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(pkgdatadir)/locale + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + rm -f $(DESTDIR)$(pkgdatadir)/locale/$(DOMAIN)_$$cat; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +MAINTAINERCLEANFILES = stamp-po $(QMFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(QMFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(QMFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/af.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/af.po new file mode 100644 index 00000000..1861c432 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Hierdie program loop as prosesnommer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ast.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ast.po new file mode 100644 index 00000000..fc567699 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Esti programa ta corriendo como'l procesu númberu %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/bg.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/bg.po new file mode 100644 index 00000000..c9fe9d1c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-c++-qt package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-qt 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Програмата е запусната под процес номер %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ca.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ca.po new file mode 100644 index 00000000..92e4c597 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-c++-qt. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Aquest programa està corrent amb el número de procés %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/de.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/de.po new file mode 100644 index 00000000..0fa21d68 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-c++-qt. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/el.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/el.po new file mode 100644 index 00000000..52726210 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-c++-qt +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/eo.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/eo.po new file mode 100644 index 00000000..85b510bc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/es.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/es.po new file mode 100644 index 00000000..be6a3bf5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Este programa está corriendo como el proceso número %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/fi.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/fi.po new file mode 100644 index 00000000..534024cf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Tämän ohjelman prosessinumero on %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/fr.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/fr.po new file mode 100644 index 00000000..7552f6fd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-qt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ce programme est exécuté en tant que processus numéro %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ga.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ga.po new file mode 100644 index 00000000..45d550e1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-c++-qt. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Tá an clár seo á rith mar phróiseas %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/hu.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/hu.po new file mode 100644 index 00000000..b7f36cbc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-c++-qt. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ez a program a %1 processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/id.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/id.po new file mode 100644 index 00000000..122b58c2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-c++-qt-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Program ini berjalan sebagai proses nomor %1" diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/it.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/it.po new file mode 100644 index 00000000..48476466 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-c++-qt. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Questo programma è in esecuzione con numero di processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ja.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ja.po new file mode 100644 index 00000000..4c9d8e81 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-c++-qt' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-qt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %1 ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ky.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ky.po new file mode 100644 index 00000000..7ddf81f0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-c++-qt' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Бул программа %1 процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/lv.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/lv.po new file mode 100644 index 00000000..fa44aede --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-c++-qt +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Šī programma darbojas kā process ar numuru %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ms.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ms.po new file mode 100644 index 00000000..b6ae5b5c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ms.po @@ -0,0 +1,26 @@ +# hello-c++-qt Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Program ini dilaksanakan sebagai proses bernombor %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/mt.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/mt.po new file mode 100644 index 00000000..46b899a0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/mt.po @@ -0,0 +1,25 @@ +# hello-c++-qt-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/nl.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/nl.po new file mode 100644 index 00000000..80b891aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-qt-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Dit programma draait als proces nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/pl.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/pl.po new file mode 100644 index 00000000..d5ae5f9f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-c++-qt domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ten program działa jako proces o numerze %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/pt.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/pt.po new file mode 100644 index 00000000..73c2398c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-c++-qt' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Este programa está a ser executado com o número de processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ro.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ro.po new file mode 100644 index 00000000..a56f920c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-c++-qt-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-qt. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Acest program este rulat ca procesul numãrul %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/ru.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ru.po new file mode 100644 index 00000000..2f2453ad --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-qt-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/sk.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sk.po new file mode 100644 index 00000000..fad91289 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-c++-qt package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c++-qt package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-qt 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Tento program beží ako proces s číslom %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/sl.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sl.po new file mode 100644 index 00000000..7cf660dd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ta program teče kot proces številka %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/sr.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sr.po new file mode 100644 index 00000000..90d38b0a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-c++-qt. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c++-qt' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Овај програм се извршава као процес број %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/sv.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sv.po new file mode 100644 index 00000000..57863fc7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-c++-qt. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Detta program kör som process nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/tr.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/tr.po new file mode 100644 index 00000000..305adaf6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Bu yazılım, %1 süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/uk.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/uk.po new file mode 100644 index 00000000..0cbb9ca2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-c++-qt +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Ця програма виконується як процес з номером %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/vi.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/vi.po new file mode 100644 index 00000000..ae79a38a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %1." diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_CN.po new file mode 100644 index 00000000..38477c1b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-c++-qt. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-qt package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "此程序正以进程号 %1 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_HK.po new file mode 100644 index 00000000..40cbeff1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-c++-qt. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_TW.po new file mode 100644 index 00000000..edbfde6b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-qt/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-c++-qt. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-qt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:45 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.cc:52 +#, qt-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/INSTALL b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/INSTALL new file mode 100644 index 00000000..8658c155 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/INSTALL @@ -0,0 +1,12 @@ +This example relies on: + - wxWidgets (libwx_*) and its dependencies + - the C++ runtime libraries (libstdc++) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix --with-wx-prefix=/opt/wxw + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/Makefile.am new file mode 100644 index 00000000..ea1667b1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/Makefile.am @@ -0,0 +1,31 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cc + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +CPPFLAGS += $(WX_CPPFLAGS) +CFLAGS = $(WX_CFLAGS_ONLY) +CXXFLAGS += $(WX_CXXFLAGS_ONLY) + +# Link time dependencies. +LDADD = $(WX_LDADD) +LIBS += $(WX_LIBS) + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autoclean.sh new file mode 100644 index 00000000..74d76737 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autoclean.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f config.rpath +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autogen.sh b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autogen.sh new file mode 100644 index 00000000..54136409 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/gnulib-m4}/lib-ld.m4 m4/lib-ld.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/gnulib-m4}/lib-link.m4 m4/lib-link.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/gnulib-m4}/lib-prefix.m4 m4/lib-prefix.m4 +cp -p ${GETTEXTSRCDIR-$GETTEXT_TOPSRCDIR/build-aux}/config.rpath config.rpath +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/configure.ac b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/configure.ac new file mode 100644 index 00000000..a25a6b94 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/configure.ac @@ -0,0 +1,23 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.cc) +AM_INIT_AUTOMAKE(hello-c++-wxwidgets, 0) + +AC_PROG_CXX +AC_CHECK_HEADERS([unistd.h]) + +AM_OPTIONS_WXCONFIG +AM_PATH_WXCONFIG([2.6.0], [], [AC_MSG_ERROR([wxWidgets not found])]) +AC_LIB_LINKFLAGS_FROM_LIBS([WX_LDADD], [$WX_LIBS]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/hello.cc b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/hello.cc new file mode 100644 index 00000000..47191c79 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/hello.cc @@ -0,0 +1,80 @@ +// Example for use of GNU gettext. +// This file is in the public domain. + +// Source code of the C++ program. + +#include +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +class MyApp: public wxApp +{ +public: + virtual bool OnInit(); +private: + // wxWidgets has the concept of a "current locale". It is the one returned + // by wxGetLocale() and implicitly used by wxGetTranslation. + // But there is no way to explicitly set this current locale! Rather, it is + // always set to the last constructed locale(!), and is modified when a + // locale is destroyed. In such a way that the current locale points to + // invalid memory after you do + // wxLocale *a = new wxLocale; + // wxLocale *b = new wxLocale; + // delete a; + // delete b; + // So, to avoid problems, we use exactly one instance of wxLocale, and keep + // it alive for the entire application lifetime. + wxLocale appLocale; +}; + +class MyFrame: public wxFrame +{ +public: + MyFrame(); +}; + +// This defines the main() function. +IMPLEMENT_APP(MyApp) + +bool MyApp::OnInit() +{ + // First, register the base directory where to look up .mo files. + wxLocale::AddCatalogLookupPathPrefix(wxT(LOCALEDIR)); + // Second, initialize the locale and set the application-wide message domain. + appLocale.Init(); + appLocale.AddCatalog(wxT("hello-c++-wxwidgets")); + // Now wxGetLocale() is initialized appropriately. + + // Then only start building the GUI elements of the application. + + // Create the main frame window. + MyFrame *frame = new MyFrame(); + + // Show the frame. + frame->Show(true); + SetTopWindow(frame); + + return true; +} + +MyFrame::MyFrame() + : wxFrame(NULL, wxID_ANY, _T("Hello example")) +{ + wxStaticText *label1 = + new wxStaticText(this, wxID_ANY, _("Hello, world!")); + + wxString label2text = + wxString::Format(_("This program is running as process number %d."), + getpid()); + wxStaticText *label2 = + new wxStaticText(this, wxID_ANY, label2text); + + wxBoxSizer *topSizer = new wxBoxSizer(wxVERTICAL); + topSizer->Add(label1); + topSizer->Add(label2); + SetSizer(topSizer); +} diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/Makefile.am new file mode 100644 index 00000000..9c2d2c21 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + wxwidgets.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/wxwidgets.m4 b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/wxwidgets.m4 new file mode 100644 index 00000000..24c258a2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/m4/wxwidgets.m4 @@ -0,0 +1,345 @@ +dnl --------------------------------------------------------------------------- +dnl Macros for wxWidgets detection. Typically used in configure.in as: +dnl +dnl AC_ARG_ENABLE(...) +dnl AC_ARG_WITH(...) +dnl ... +dnl AM_OPTIONS_WXCONFIG +dnl ... +dnl ... +dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1) +dnl if test "$wxWin" != 1; then +dnl AC_MSG_ERROR([ +dnl wxWidgets must be installed on your system +dnl but wx-config script couldn't be found. +dnl +dnl Please check that wx-config is in path, the directory +dnl where wxWidgets libraries are installed (returned by +dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or +dnl equivalent variable and wxWidgets version is 2.3.4 or above. +dnl ]) +dnl fi +dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" +dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY" +dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" +dnl +dnl LIBS="$LIBS $WX_LIBS" +dnl --------------------------------------------------------------------------- + +dnl --------------------------------------------------------------------------- +dnl AM_OPTIONS_WXCONFIG +dnl +dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and +dnl --wx-config command line options +dnl --------------------------------------------------------------------------- + +AC_DEFUN([AM_OPTIONS_WXCONFIG], +[ + AC_ARG_WITH(wxdir, + [ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH], + [ wx_config_name="$withval/wx-config" + wx_config_args="--inplace"]) + AC_ARG_WITH(wx-config, + [ --with-wx-config=CONFIG wx-config script to use (optional)], + wx_config_name="$withval" ) + AC_ARG_WITH(wx-prefix, + [ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)], + wx_config_prefix="$withval", wx_config_prefix="") + AC_ARG_WITH(wx-exec-prefix, + [ --with-wx-exec-prefix=PREFIX + Exec prefix where wxWidgets is installed (optional)], + wx_config_exec_prefix="$withval", wx_config_exec_prefix="") +]) + +dnl Helper macro for checking if wx version is at least $1.$2.$3, set's +dnl wx_ver_ok=yes if it is: +AC_DEFUN([_WX_PRIVATE_CHECK_VERSION], +[ + wx_ver_ok="" + if test "x$WX_VERSION" != x ; then + if test $wx_config_major_version -gt $1; then + wx_ver_ok=yes + else + if test $wx_config_major_version -eq $1; then + if test $wx_config_minor_version -gt $2; then + wx_ver_ok=yes + else + if test $wx_config_minor_version -eq $2; then + if test $wx_config_micro_version -ge $3; then + wx_ver_ok=yes + fi + fi + fi + fi + fi + fi +]) + +dnl --------------------------------------------------------------------------- +dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND +dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]]) +dnl +dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC +dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME +dnl environment variable to override the default name of the wx-config script +dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this +dnl case the macro won't even waste time on tests for its existence. +dnl +dnl Optional WX-LIBS argument contains comma- or space-separated list of +dnl wxWidgets libraries to link against (it may include contrib libraries). If +dnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags to +dnl link with all of the core wxWidgets libraries. +dnl +dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config +dnl invocation command in present. It can be used to fine-tune lookup of +dnl best wxWidgets build available. +dnl +dnl Example use: +dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net] +dnl [--unicode --debug]) +dnl --------------------------------------------------------------------------- + +dnl +dnl Get the cflags and libraries from the wx-config script +dnl +AC_DEFUN([AM_PATH_WXCONFIG], +[ + dnl do we have wx-config name: it can be wx-config or wxd-config or ... + if test x${WX_CONFIG_NAME+set} != xset ; then + WX_CONFIG_NAME=wx-config + fi + + if test "x$wx_config_name" != x ; then + WX_CONFIG_NAME="$wx_config_name" + fi + + dnl deal with optional prefixes + if test x$wx_config_exec_prefix != x ; then + wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix" + WX_LOOKUP_PATH="$wx_config_exec_prefix/bin" + fi + if test x$wx_config_prefix != x ; then + wx_config_args="$wx_config_args --prefix=$wx_config_prefix" + WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin" + fi + if test "$cross_compiling" = "yes"; then + wx_config_args="$wx_config_args --host=$host_alias" + fi + + dnl don't search the PATH if WX_CONFIG_NAME is absolute filename + if test -x "$WX_CONFIG_NAME" ; then + AC_MSG_CHECKING(for wx-config) + WX_CONFIG_PATH="$WX_CONFIG_NAME" + AC_MSG_RESULT($WX_CONFIG_PATH) + else + AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH") + fi + + if test "$WX_CONFIG_PATH" != "no" ; then + WX_VERSION="" + + min_wx_version=ifelse([$1], ,2.2.1,$1) + if test -z "$5" ; then + AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version]) + else + AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)]) + fi + + WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4" + + WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null` + wx_config_major_version=`echo $WX_VERSION | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + wx_config_minor_version=`echo $WX_VERSION | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + wx_config_micro_version=`echo $WX_VERSION | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + + wx_requested_major_version=`echo $min_wx_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + wx_requested_minor_version=`echo $min_wx_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + wx_requested_micro_version=`echo $min_wx_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + + _WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version], + [$wx_requested_minor_version], + [$wx_requested_micro_version]) + + if test -n "$wx_ver_ok"; then + + AC_MSG_RESULT(yes (version $WX_VERSION)) + WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs` + + dnl is this even still appropriate? --static is a real option now + dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is + dnl what the user actually wants, making this redundant at best. + dnl For now keep it in case anyone actually used it in the past. + AC_MSG_CHECKING([for wxWidgets static library]) + WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null` + if test "x$WX_LIBS_STATIC" = "x"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + fi + + dnl starting with version 2.2.6 wx-config has --cppflags argument + wx_has_cppflags="" + if test $wx_config_major_version -gt 2; then + wx_has_cppflags=yes + else + if test $wx_config_major_version -eq 2; then + if test $wx_config_minor_version -gt 2; then + wx_has_cppflags=yes + else + if test $wx_config_minor_version -eq 2; then + if test $wx_config_micro_version -ge 6; then + wx_has_cppflags=yes + fi + fi + fi + fi + fi + + if test "x$wx_has_cppflags" = x ; then + dnl no choice but to define all flags like CFLAGS + WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` + WX_CPPFLAGS=$WX_CFLAGS + WX_CXXFLAGS=$WX_CFLAGS + + WX_CFLAGS_ONLY=$WX_CFLAGS + WX_CXXFLAGS_ONLY=$WX_CFLAGS + else + dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS + WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags` + WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags` + WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` + + WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"` + WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"` + fi + + ifelse([$2], , :, [$2]) + + else + + if test "x$WX_VERSION" = x; then + dnl no wx-config at all + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(no (version $WX_VERSION is not new enough)) + fi + + WX_CFLAGS="" + WX_CPPFLAGS="" + WX_CXXFLAGS="" + WX_LIBS="" + WX_LIBS_STATIC="" + ifelse([$3], , :, [$3]) + + fi + else + + WX_CFLAGS="" + WX_CPPFLAGS="" + WX_CXXFLAGS="" + WX_LIBS="" + WX_LIBS_STATIC="" + ifelse([$3], , :, [$3]) + + fi + + AC_SUBST(WX_CPPFLAGS) + AC_SUBST(WX_CFLAGS) + AC_SUBST(WX_CXXFLAGS) + AC_SUBST(WX_CFLAGS_ONLY) + AC_SUBST(WX_CXXFLAGS_ONLY) + AC_SUBST(WX_LIBS) + AC_SUBST(WX_LIBS_STATIC) + AC_SUBST(WX_VERSION) +]) + +dnl --------------------------------------------------------------------------- +dnl Get information on the wxrc program for making C++, Python and xrs +dnl resource files. +dnl +dnl AC_ARG_ENABLE(...) +dnl AC_ARG_WITH(...) +dnl ... +dnl AM_OPTIONS_WXCONFIG +dnl AM_OPTIONS_WXRC +dnl ... +dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1) +dnl if test "$wxWin" != 1; then +dnl AC_MSG_ERROR([ +dnl wxWidgets must be installed on your system +dnl but wx-config script couldn't be found. +dnl +dnl Please check that wx-config is in path, the directory +dnl where wxWidgets libraries are installed (returned by +dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or +dnl equivalent variable and wxWidgets version is 2.6.0 or above. +dnl ]) +dnl fi +dnl +dnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0]) +dnl if test "x$HAVE_WXRC" != x1; then +dnl AC_MSG_ERROR([ +dnl The wxrc program was not installed or not found. +dnl +dnl Please check the wxWidgets installation. +dnl ]) +dnl fi +dnl +dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" +dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY" +dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" +dnl +dnl LDFLAGS="$LDFLAGS $WX_LIBS" +dnl --------------------------------------------------------------------------- + + + +dnl --------------------------------------------------------------------------- +dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl +dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS +dnl resources. The variable WXRC will be set and substituted in the configure +dnl script and Makefiles. +dnl +dnl Example use: +dnl AM_PATH_WXRC([wxrc=1], [wxrc=0]) +dnl --------------------------------------------------------------------------- + +dnl +dnl wxrc program from the wx-config script +dnl +AC_DEFUN([AM_PATH_WXRC], +[ + AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler]) + + if test "x$WX_CONFIG_NAME" = x; then + AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.]) + else + + AC_MSG_CHECKING([for wxrc]) + + if test "x$WXRC" = x ; then + dnl wx-config --utility is a new addition to wxWidgets: + _WX_PRIVATE_CHECK_VERSION(2,5,3) + if test -n "$wx_ver_ok"; then + WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc` + fi + fi + + if test "x$WXRC" = x ; then + AC_MSG_RESULT([not found]) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT([$WXRC]) + ifelse([$1], , :, [$1]) + fi + + AC_SUBST(WXRC) + fi +]) diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/Makefile.am new file mode 100644 index 00000000..f1c9e931 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/Makefile.am @@ -0,0 +1,362 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.cc + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=wxGetTranslation:1 --keyword=wxGetTranslation:1,2 \ + --flag=wxGetTranslation:1:pass-c-format --flag=wxGetTranslation:2:pass-c-format \ + --keyword=wxTRANSLATE --flag=wxTRANSLATE:1:pass-c-format \ + --keyword=wxPLURAL:1,2 --flag=wxPLURAL:1:pass-c-format --flag=wxPLURAL:2:pass-c-format \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/af.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/af.po new file mode 100644 index 00000000..bd692771 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ast.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ast.po new file mode 100644 index 00000000..1ed7335c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/bg.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/bg.po new file mode 100644 index 00000000..e7bbab19 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-c++-wxwidgets package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-wxwidgets 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ca.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ca.po new file mode 100644 index 00000000..2c727e25 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-c++-wxwidgets. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/de.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/de.po new file mode 100644 index 00000000..0075772b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-c++-wxwidgets. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/el.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/el.po new file mode 100644 index 00000000..efde163e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-c++-wxwidgets +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/eo.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/eo.po new file mode 100644 index 00000000..5d1d7385 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/es.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/es.po new file mode 100644 index 00000000..30a427bc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fi.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fi.po new file mode 100644 index 00000000..99595119 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fr.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fr.po new file mode 100644 index 00000000..e3f36e18 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-wxwidgets 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ga.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ga.po new file mode 100644 index 00000000..714350b1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-c++-wxwidgets. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/hu.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/hu.po new file mode 100644 index 00000000..86d99484 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-c++-wxwidgets. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/id.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/id.po new file mode 100644 index 00000000..746cf8fe --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-c++-wxwidgets-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/it.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/it.po new file mode 100644 index 00000000..7cfb8772 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-c++-wxwidgets. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ja.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ja.po new file mode 100644 index 00000000..1adbb613 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-c++-wxwidgets' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-wxwidgets 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ky.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ky.po new file mode 100644 index 00000000..8be86f0e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-c++-wxwidgets' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/lv.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/lv.po new file mode 100644 index 00000000..e15ad0dd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-c++-wxwidgets +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ms.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ms.po new file mode 100644 index 00000000..351f2371 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ms.po @@ -0,0 +1,26 @@ +# hello-c++-wxwidgets Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/mt.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/mt.po new file mode 100644 index 00000000..eec86f0b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/mt.po @@ -0,0 +1,25 @@ +# hello-c++-wxwidgets-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/nl.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/nl.po new file mode 100644 index 00000000..8dc5da1c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-wxwidgets-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pl.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pl.po new file mode 100644 index 00000000..07b1d2c8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-c++-wxwidgets domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pt.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pt.po new file mode 100644 index 00000000..a7fcd8bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-c++-wxwidgets' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ro.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ro.po new file mode 100644 index 00000000..8f8a6de1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-c++-wxwidgets-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++-wxwidgets. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ru.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ru.po new file mode 100644 index 00000000..e424e534 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-wxwidgets-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sk.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sk.po new file mode 100644 index 00000000..b751b86e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-c++-wxwidgets package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c++-wxwidgets package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++-wxwidgets 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sl.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sl.po new file mode 100644 index 00000000..0b130bf9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sr.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sr.po new file mode 100644 index 00000000..79c52f60 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-c++-wxwidgets. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c++-wxwidgets' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sv.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sv.po new file mode 100644 index 00000000..4a533d3a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-c++-wxwidgets. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/tr.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/tr.po new file mode 100644 index 00000000..6e762bc0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/uk.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/uk.po new file mode 100644 index 00000000..043c911d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-c++-wxwidgets +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/vi.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/vi.po new file mode 100644 index 00000000..2258cd9c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_CN.po new file mode 100644 index 00000000..21ada9c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-c++-wxwidgets. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++-wxwidgets package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_HK.po new file mode 100644 index 00000000..45418b62 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-c++-wxwidgets. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_TW.po new file mode 100644 index 00000000..85d53e59 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++-wxwidgets/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-c++-wxwidgets. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-wxwidgets 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:68 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.cc:71 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c++/INSTALL b/mingw/share/doc/gettext/examples/hello-c++/INSTALL new file mode 100644 index 00000000..5837269d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/INSTALL @@ -0,0 +1,10 @@ +This example relies on libstdc++, gettext-runtime. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix --with-libasprintf-prefix=/previous/gettext/install/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++/Makefile.am new file mode 100644 index 00000000..9ff98258 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cc gettext.h + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +# Make sure the gettext.h include file is found. +AM_CPPFLAGS = -I. -I$(srcdir) + +# Link time dependencies. +LDADD = @LIBASPRINTF@ @LIBINTL@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c++/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c++/autoclean.sh new file mode 100644 index 00000000..7575334a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/autoclean.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f gettext.h + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f config.rpath +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-c++/autogen.sh b/mingw/share/doc/gettext/examples/hello-c++/autogen.sh new file mode 100644 index 00000000..0332a9b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${GETTEXTSRCDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-lib}/gettext.h gettext.h + +autopoint -f # was: gettextize -f -c +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c++/configure.ac b/mingw/share/doc/gettext/examples/hello-c++/configure.ac new file mode 100644 index 00000000..999937eb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/configure.ac @@ -0,0 +1,19 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.cc) +AM_INIT_AUTOMAKE(hello-c++, 0) + +AC_PROG_CXX +AC_CHECK_HEADERS([unistd.h]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) +AC_LIB_LINKFLAGS([asprintf]) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-c++/hello.cc b/mingw/share/doc/gettext/examples/hello-c++/hello.cc new file mode 100644 index 00000000..579490ee --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/hello.cc @@ -0,0 +1,43 @@ +// Example for use of GNU gettext. +// This file is in the public domain. + +// Source code of the C++ program. + + +// Avoid deprecation warnings from g++ 3.1 or newer. +#if defined __GNUG__ && defined __DEPRECATED +# include +using namespace std; +#else +# include +#endif + +// Get setlocale() declaration. +#include + +// Get getpid() declaration. +#if HAVE_UNISTD_H +# include +#endif + +// Get gettext(), textdomain(), bindtextdomain() declaration. +#include "gettext.h" +// Define shortcut for gettext(). +#define _(string) gettext (string) + +// Get autosprintf class declaration. +#include "autosprintf.h" +using gnu::autosprintf; + +int +main () +{ + setlocale (LC_ALL, ""); + textdomain ("hello-c++"); + bindtextdomain ("hello-c++", LOCALEDIR); + + cout << _("Hello, world!") << endl; + cout << autosprintf (_("This program is running as process number %d."), + getpid ()) + << endl; +} diff --git a/mingw/share/doc/gettext/examples/hello-c++/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c++/m4/Makefile.am new file mode 100644 index 00000000..000cd06f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/m4/Makefile.am @@ -0,0 +1,5 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c++/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/Makevars b/mingw/share/doc/gettext/examples/hello-c++/po/Makevars new file mode 100644 index 00000000..929ab538 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/Makevars @@ -0,0 +1,56 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format \ + --flag=autosprintf:1:c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-c++/po/POTFILES.in new file mode 100644 index 00000000..bd28e81c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/POTFILES.in @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.cc diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/af.po b/mingw/share/doc/gettext/examples/hello-c++/po/af.po new file mode 100644 index 00000000..c9c93ee6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ast.po b/mingw/share/doc/gettext/examples/hello-c++/po/ast.po new file mode 100644 index 00000000..f014abbb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/bg.po b/mingw/share/doc/gettext/examples/hello-c++/po/bg.po new file mode 100644 index 00000000..cebfde36 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-c++ package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++ 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ca.po b/mingw/share/doc/gettext/examples/hello-c++/po/ca.po new file mode 100644 index 00000000..1de30e19 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-c++. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/de.po b/mingw/share/doc/gettext/examples/hello-c++/po/de.po new file mode 100644 index 00000000..a197b208 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-c++. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/el.po b/mingw/share/doc/gettext/examples/hello-c++/po/el.po new file mode 100644 index 00000000..cb44d28d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-c++ +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/eo.po b/mingw/share/doc/gettext/examples/hello-c++/po/eo.po new file mode 100644 index 00000000..8d89ef59 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/es.po b/mingw/share/doc/gettext/examples/hello-c++/po/es.po new file mode 100644 index 00000000..2ca1f051 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/fi.po b/mingw/share/doc/gettext/examples/hello-c++/po/fi.po new file mode 100644 index 00000000..39f60380 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/fr.po b/mingw/share/doc/gettext/examples/hello-c++/po/fr.po new file mode 100644 index 00000000..d8bec449 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++ 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ga.po b/mingw/share/doc/gettext/examples/hello-c++/po/ga.po new file mode 100644 index 00000000..aaba0895 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-c++. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/hu.po b/mingw/share/doc/gettext/examples/hello-c++/po/hu.po new file mode 100644 index 00000000..190945c2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-c++. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/id.po b/mingw/share/doc/gettext/examples/hello-c++/po/id.po new file mode 100644 index 00000000..bfba1517 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-c++-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/it.po b/mingw/share/doc/gettext/examples/hello-c++/po/it.po new file mode 100644 index 00000000..45334391 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-c++. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ja.po b/mingw/share/doc/gettext/examples/hello-c++/po/ja.po new file mode 100644 index 00000000..509ef295 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-c++' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++ 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ky.po b/mingw/share/doc/gettext/examples/hello-c++/po/ky.po new file mode 100644 index 00000000..08e9bc99 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-c++' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/lv.po b/mingw/share/doc/gettext/examples/hello-c++/po/lv.po new file mode 100644 index 00000000..5504cdb4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-c++ +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ms.po b/mingw/share/doc/gettext/examples/hello-c++/po/ms.po new file mode 100644 index 00000000..99069ed8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ms.po @@ -0,0 +1,26 @@ +# hello-c++ Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/mt.po b/mingw/share/doc/gettext/examples/hello-c++/po/mt.po new file mode 100644 index 00000000..f3995cf1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/mt.po @@ -0,0 +1,25 @@ +# hello-c++-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/nl.po b/mingw/share/doc/gettext/examples/hello-c++/po/nl.po new file mode 100644 index 00000000..87c6db04 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++ package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/pl.po b/mingw/share/doc/gettext/examples/hello-c++/po/pl.po new file mode 100644 index 00000000..331099a5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-c++ domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c++-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/pt.po b/mingw/share/doc/gettext/examples/hello-c++/po/pt.po new file mode 100644 index 00000000..4f76f1fa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-c++' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ro.po b/mingw/share/doc/gettext/examples/hello-c++/po/ro.po new file mode 100644 index 00000000..2698008c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-c++-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c++. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/ru.po b/mingw/share/doc/gettext/examples/hello-c++/po/ru.po new file mode 100644 index 00000000..3c875fde --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-c++-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/sk.po b/mingw/share/doc/gettext/examples/hello-c++/po/sk.po new file mode 100644 index 00000000..d96c6fd7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-c++ package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c++ package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c++ 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/sl.po b/mingw/share/doc/gettext/examples/hello-c++/po/sl.po new file mode 100644 index 00000000..fe69c5f8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/sr.po b/mingw/share/doc/gettext/examples/hello-c++/po/sr.po new file mode 100644 index 00000000..41f6caa9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-c++. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c++' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/sv.po b/mingw/share/doc/gettext/examples/hello-c++/po/sv.po new file mode 100644 index 00000000..fdf44e18 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-c++. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/tr.po b/mingw/share/doc/gettext/examples/hello-c++/po/tr.po new file mode 100644 index 00000000..6ba5f7fa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/uk.po b/mingw/share/doc/gettext/examples/hello-c++/po/uk.po new file mode 100644 index 00000000..10c6973c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-c++ +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/vi.po b/mingw/share/doc/gettext/examples/hello-c++/po/vi.po new file mode 100644 index 00000000..4118bf09 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c++/po/zh_CN.po new file mode 100644 index 00000000..f5234987 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-c++. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c++ package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c++/po/zh_HK.po new file mode 100644 index 00000000..7cebf693 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-c++. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c++/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c++/po/zh_TW.po new file mode 100644 index 00000000..12a1dc06 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c++/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-c++. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c++ 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cc:39 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.cc:40 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/INSTALL b/mingw/share/doc/gettext/examples/hello-c-gnome/INSTALL new file mode 100644 index 00000000..6a6db9af --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/INSTALL @@ -0,0 +1,16 @@ +This example relies on: + - the GNOME libraries (libgnomeui, libgnome, libgnomesupport, libart_lgpl) + and their dependencies: imlib (libgdk_imlib), audiofile (libaudiofile), + esound (libesd), zlib (libz). + - the GTK libraries (libgtk, libgdk) + - the glib libraries (libglib, libgmodule) + - the X11 libraries + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/Makefile.am b/mingw/share/doc/gettext/examples/hello-c-gnome/Makefile.am new file mode 100644 index 00000000..ef6ea732 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.c + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +# Make sure the gnome.h include file is found. +AM_CPPFLAGS = $(GNOME_INCLUDEDIR) + +# Link time dependencies. +LDADD = $(GNOME_LIBDIR) $(GNOMEUI_LIBS) @LIBINTL@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c-gnome/autoclean.sh new file mode 100644 index 00000000..2968f903 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/autoclean.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f config.rpath +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/autogen.sh b/mingw/share/doc/gettext/examples/hello-c-gnome/autogen.sh new file mode 100644 index 00000000..7fc22837 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/autogen.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +autopoint -f # was: gettextize -f -c +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/configure.ac b/mingw/share/doc/gettext/examples/hello-c-gnome/configure.ac new file mode 100644 index 00000000..d2e42c97 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/configure.ac @@ -0,0 +1,19 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.c) +AM_INIT_AUTOMAKE(hello-c-gnome, 0) + +AC_PROG_CC +GNOME_INIT +AC_CHECK_HEADERS([unistd.h]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/hello.c b/mingw/share/doc/gettext/examples/hello-c-gnome/hello.c new file mode 100644 index 00000000..e7f5826b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/hello.c @@ -0,0 +1,87 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the C program. */ + + +/* Get GNOME declarations. */ +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +static void +quit_callback (GtkWidget *widget, void *data) +{ + gtk_main_quit (); +} + +int +main (int argc, char *argv[]) +{ + GtkWidget *window; + GtkWidget *panel; + GtkWidget *label1; + GtkWidget *label1aligned; + GtkWidget *label2; + GtkWidget *label2aligned; + GtkWidget *button; + GtkWidget *buttonbar; + + /* Initializations. */ + + gnome_init (PACKAGE, VERSION, argc, argv); + textdomain ("hello-c-gnome"); + bindtextdomain ("hello-c-gnome", LOCALEDIR); + + /* Create the GUI elements. */ + + window = gnome_app_new ("hello-c-gnome", "Hello example"); + gtk_widget_realize (window); + gtk_signal_connect (GTK_OBJECT (window), "delete_event", + GTK_SIGNAL_FUNC (quit_callback), NULL); + + label1 = gtk_label_new (_("Hello, world!")); + + label1aligned = gtk_alignment_new (0.0, 0.5, 0, 0); + gtk_container_add (GTK_CONTAINER (label1aligned), label1); + + label2 = gtk_label_new (g_strdup_printf (_("This program is running as process number %d."), getpid ())); + + label2aligned = gtk_alignment_new (0.0, 0.5, 0, 0); + gtk_container_add (GTK_CONTAINER (label2aligned), label2); + + button = gtk_button_new_with_label ("OK"); + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (quit_callback), NULL); + + buttonbar = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (buttonbar), GTK_BUTTONBOX_END); + gtk_box_pack_start_defaults (GTK_BOX (buttonbar), button); + + panel = gtk_vbox_new (FALSE, GNOME_PAD_SMALL); + gtk_box_pack_start_defaults (GTK_BOX (panel), label1aligned); + gtk_box_pack_start_defaults (GTK_BOX (panel), label2aligned); + gtk_box_pack_start_defaults (GTK_BOX (panel), buttonbar); + + gnome_app_set_contents (GNOME_APP (window), panel); + + /* Make the GUI elements visible. */ + + gtk_widget_show (label1); + gtk_widget_show (label1aligned); + gtk_widget_show (label2); + gtk_widget_show (label2aligned); + gtk_widget_show (button); + gtk_widget_show (buttonbar); + gtk_widget_show (panel); + gtk_widget_show (window); + + /* Start the event loop. */ + + gtk_main (); + + return 0; +} diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/Makefile.am new file mode 100644 index 00000000..dc63c0f2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/Makefile.am @@ -0,0 +1,6 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 \ + gnome.m4 gnome-gnorba-check.m4 gnome-orbit-check.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-gnorba-check.m4 b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-gnorba-check.m4 new file mode 100644 index 00000000..dbac0a6c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-gnorba-check.m4 @@ -0,0 +1,35 @@ +dnl +dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag) +dnl +dnl if failflag is "failure" it aborts if gnorba is not found. +dnl + +AC_DEFUN([GNOME_GNORBA_HOOK],[ + GNOME_ORBIT_HOOK([],$2) + AC_CACHE_CHECK([for gnorba libraries],gnome_cv_gnorba_found,[ + gnome_cv_gnorba_found=no + if test x$gnome_cv_orbit_found = xyes; then + GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`" + GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`" + if test -n "$GNORBA_LIBS"; then + gnome_cv_gnorba_found=yes + fi + fi + ]) + AM_CONDITIONAL(HAVE_GNORBA, test x$gnome_cv_gnorba_found = xyes) + if test x$gnome_cv_orbit_found = xyes; then + $1 + GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`" + GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`" + AC_SUBST(GNORBA_CFLAGS) + AC_SUBST(GNORBA_LIBS) + else + if test x$2 = xfailure; then + AC_MSG_ERROR(gnorba library not installed or installation problem) + fi + fi +]) + +AC_DEFUN([GNOME_GNORBA_CHECK], [ + GNOME_GNORBA_HOOK([],failure) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-orbit-check.m4 b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-orbit-check.m4 new file mode 100644 index 00000000..54bf33aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome-orbit-check.m4 @@ -0,0 +1,33 @@ +dnl +dnl GNOME_ORBIT_HOOK (script-if-orbit-found, failflag) +dnl +dnl if failflag is "failure" it aborts if orbit is not found. +dnl + +AC_DEFUN([GNOME_ORBIT_HOOK],[ + AC_PATH_PROG(ORBIT_CONFIG,orbit-config,no) + AC_PATH_PROG(ORBIT_IDL,orbit-idl,no) + AC_CACHE_CHECK([for working ORBit environment],gnome_cv_orbit_found,[ + if test x$ORBIT_CONFIG = xno -o x$ORBIT_IDL = xno; then + gnome_cv_orbit_found=no + else + gnome_cv_orbit_found=yes + fi + ]) + AM_CONDITIONAL(HAVE_ORBIT, test x$gnome_cv_orbit_found = xyes) + if test x$gnome_cv_orbit_found = xyes; then + $1 + ORBIT_CFLAGS=`orbit-config --cflags client server` + ORBIT_LIBS=`orbit-config --use-service=name --libs client server` + AC_SUBST(ORBIT_CFLAGS) + AC_SUBST(ORBIT_LIBS) + else + if test x$2 = xfailure; then + AC_MSG_ERROR(ORBit not installed or installation problem) + fi + fi +]) + +AC_DEFUN([GNOME_ORBIT_CHECK], [ + GNOME_ORBIT_HOOK([],failure) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome.m4 b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome.m4 new file mode 100644 index 00000000..659c22c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/m4/gnome.m4 @@ -0,0 +1,128 @@ +dnl +dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag], [additional-inits]) +dnl +dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh +dnl is not found. +dnl + +AC_DEFUN([GNOME_INIT_HOOK],[ + AC_SUBST(GNOME_LIBS) + AC_SUBST(GNOMEUI_LIBS) + AC_SUBST(GNOMEGNORBA_LIBS) + AC_SUBST(GTKXMHTML_LIBS) + AC_SUBST(ZVT_LIBS) + AC_SUBST(GNOME_LIBDIR) + AC_SUBST(GNOME_INCLUDEDIR) + + AC_ARG_WITH(gnome-includes, + [ --with-gnome-includes Specify location of GNOME headers],[ + CFLAGS="$CFLAGS -I$withval" + ]) + + AC_ARG_WITH(gnome-libs, + [ --with-gnome-libs Specify location of GNOME libs],[ + LDFLAGS="$LDFLAGS -L$withval" + gnome_prefix=$withval + ]) + + AC_ARG_WITH(gnome, + [ --with-gnome Specify prefix for GNOME files], + if test x$withval = xyes; then + want_gnome=yes + dnl Note that an empty true branch is not + dnl valid sh syntax. + ifelse([$1], [], :, [$1]) + else + if test "x$withval" = xno; then + want_gnome=no + else + want_gnome=yes + LDFLAGS="$LDFLAGS -L$withval/lib" + CFLAGS="$CFLAGS -I$withval/include" + gnome_prefix=$withval/lib + fi + fi, + want_gnome=yes) + + if test "x$want_gnome" = xyes; then + + AC_PATH_PROG(GNOME_CONFIG,gnome-config,no) + if test "$GNOME_CONFIG" = "no"; then + no_gnome_config="yes" + else + AC_MSG_CHECKING(if $GNOME_CONFIG works) + if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then + AC_MSG_RESULT(yes) + GNOME_GNORBA_HOOK([],$2) + GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`" + GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`" + GNOMEGNORBA_LIBS="`$GNOME_CONFIG --libs-only-l gnorba gnomeui`" + GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`" + ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`" + GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`" + GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`" + $1 + else + AC_MSG_RESULT(no) + no_gnome_config="yes" + fi + fi + + if test x$exec_prefix = xNONE; then + if test x$prefix = xNONE; then + gnome_prefix=$ac_default_prefix/lib + else + gnome_prefix=$prefix/lib + fi + else + gnome_prefix=`eval echo \`echo $libdir\`` + fi + + if test "$no_gnome_config" = "yes"; then + AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix) + if test -f $gnome_prefix/gnomeConf.sh; then + AC_MSG_RESULT(found) + echo "loading gnome configuration from" \ + "$gnome_prefix/gnomeConf.sh" + . $gnome_prefix/gnomeConf.sh + $1 + else + AC_MSG_RESULT(not found) + if test x$2 = xfail; then + AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install) + fi + fi + fi + fi + + if test -n "$3"; then + n="$3" + for i in $n; do + AC_MSG_CHECKING(extra library \"$i\") + case $i in + applets) + AC_SUBST(GNOME_APPLETS_LIBS) + GNOME_APPLETS_LIBS=`$GNOME_CONFIG --libs-only-l applets` + AC_MSG_RESULT($GNOME_APPLETS_LIBS);; + docklets) + AC_SUBST(GNOME_DOCKLETS_LIBS) + GNOME_DOCKLETS_LIBS=`$GNOME_CONFIG --libs-only-l docklets` + AC_MSG_RESULT($GNOME_DOCKLETS_LIBS);; + capplet) + AC_SUBST(GNOME_CAPPLET_LIBS) + GNOME_CAPPLET_LIBS=`$GNOME_CONFIG --libs-only-l capplet` + AC_MSG_RESULT($GNOME_CAPPLET_LIBS);; + *) + AC_MSG_RESULT(unknown library) + esac + done + fi +]) + +dnl +dnl GNOME_INIT ([additional-inits]) +dnl + +AC_DEFUN([GNOME_INIT],[ + GNOME_INIT_HOOK([],fail,$1) +]) diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c-gnome/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/Makevars b/mingw/share/doc/gettext/examples/hello-c-gnome/po/Makevars new file mode 100644 index 00000000..7b158ff9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/Makevars @@ -0,0 +1,67 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format \ + --flag=g_log:3:c-format --flag=g_logv:3:c-format \ + --flag=g_error:1:c-format --flag=g_message:1:c-format \ + --flag=g_critical:1:c-format --flag=g_warning:1:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_strdup_printf:1:c-format --flag=g_strdup_vprintf:1:c-format \ + --flag=g_printf_string_upper_bound:1:c-format \ + --flag=g_snprintf:3:c-format --flag=g_vsnprintf:3:c-format \ + --flag=g_string_sprintf:2:c-format \ + --flag=g_string_sprintfa:2:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-c-gnome/po/POTFILES.in new file mode 100644 index 00000000..92cdf789 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/POTFILES.in @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.c diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/af.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/af.po new file mode 100644 index 00000000..fe76c188 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ast.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ast.po new file mode 100644 index 00000000..f6416167 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/bg.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/bg.po new file mode 100644 index 00000000..542650d1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-c-gnome package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c-gnome 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ca.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ca.po new file mode 100644 index 00000000..ac6dfa21 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-c-gnome. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/de.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/de.po new file mode 100644 index 00000000..94d00dba --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-c-gnome. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/el.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/el.po new file mode 100644 index 00000000..5ecec321 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-c-gnome +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/eo.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/eo.po new file mode 100644 index 00000000..fee62b11 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/es.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/es.po new file mode 100644 index 00000000..ef795346 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/fi.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/fi.po new file mode 100644 index 00000000..28b40fb1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.c:46 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/fr.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/fr.po new file mode 100644 index 00000000..67f244df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ga.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ga.po new file mode 100644 index 00000000..c5eea272 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-c-gnome. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/hu.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/hu.po new file mode 100644 index 00000000..6f152f6e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-c-gnome. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/id.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/id.po new file mode 100644 index 00000000..a95f5086 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-c-gnome-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/it.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/it.po new file mode 100644 index 00000000..79366b2e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-c-gnome. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ja.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ja.po new file mode 100644 index 00000000..bdf7c526 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-c-gnome' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ky.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ky.po new file mode 100644 index 00000000..03ae71b3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-c-gnome' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/lv.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/lv.po new file mode 100644 index 00000000..dfab8bbd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-c-gnome +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ms.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ms.po new file mode 100644 index 00000000..93f80771 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ms.po @@ -0,0 +1,26 @@ +# hello-c-gnome Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/mt.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/mt.po new file mode 100644 index 00000000..ebbe7845 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/mt.po @@ -0,0 +1,25 @@ +# hello-c-gnome-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/nl.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/nl.po new file mode 100644 index 00000000..6f378e91 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-c-gnome-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/pl.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/pl.po new file mode 100644 index 00000000..7b7ba69e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-c-gnome domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/pt.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/pt.po new file mode 100644 index 00000000..f0b35948 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-c-gnome' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ro.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ro.po new file mode 100644 index 00000000..3a603e93 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-c-gnome-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c-gnome. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/ru.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ru.po new file mode 100644 index 00000000..68ba29d8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-c-gnome-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/sk.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sk.po new file mode 100644 index 00000000..a5a0d210 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-c-gnome package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c-gnome package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c-gnome 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/sl.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sl.po new file mode 100644 index 00000000..a3f948ad --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/sr.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sr.po new file mode 100644 index 00000000..fc3c3bf9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-c-gnome. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c-gnome' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/sv.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sv.po new file mode 100644 index 00000000..374ef9c8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-c-gnome. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/tr.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/tr.po new file mode 100644 index 00000000..c73f85d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/uk.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/uk.po new file mode 100644 index 00000000..1e140144 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-c-gnome +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/vi.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/vi.po new file mode 100644 index 00000000..c16108f5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_CN.po new file mode 100644 index 00000000..f1e5edc3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-c-gnome. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c-gnome package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_HK.po new file mode 100644 index 00000000..3c1ed434 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-c-gnome. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_TW.po new file mode 100644 index 00000000..1d804dcf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c-gnome/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-c-gnome. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:46 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.c:51 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c/INSTALL b/mingw/share/doc/gettext/examples/hello-c/INSTALL new file mode 100644 index 00000000..0f981dc9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/INSTALL @@ -0,0 +1,10 @@ +This example relies just on gettext-runtime (and libc, of course). + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c/Makefile.am b/mingw/share/doc/gettext/examples/hello-c/Makefile.am new file mode 100644 index 00000000..2afd4562 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.c gettext.h + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +# Make sure the gettext.h include file is found. +AM_CPPFLAGS = -I. -I$(srcdir) + +# Link time dependencies. +LDADD = @LIBINTL@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-c/autoclean.sh b/mingw/share/doc/gettext/examples/hello-c/autoclean.sh new file mode 100644 index 00000000..7575334a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/autoclean.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f gettext.h + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f config.rpath +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-c/autogen.sh b/mingw/share/doc/gettext/examples/hello-c/autogen.sh new file mode 100644 index 00000000..78b15039 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/autogen.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${GETTEXTSRCDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-lib}/gettext.h gettext.h + +autopoint -f # was: gettextize -f -c +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-c/configure.ac b/mingw/share/doc/gettext/examples/hello-c/configure.ac new file mode 100644 index 00000000..ce35685a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/configure.ac @@ -0,0 +1,18 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.c) +AM_INIT_AUTOMAKE(hello-c, 0) + +AC_PROG_CC +AC_CHECK_HEADERS([unistd.h]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-c/hello.c b/mingw/share/doc/gettext/examples/hello-c/hello.c new file mode 100644 index 00000000..20be7f3b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/hello.c @@ -0,0 +1,35 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the C program. */ + + +/* Get setlocale() declaration. */ +#include + +/* Get printf() declaration. */ +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +/* Get gettext(), textdomain(), bindtextdomain() declaration. */ +#include "gettext.h" +/* Define shortcut for gettext(). */ +#define _(string) gettext (string) + +int +main () +{ + setlocale (LC_ALL, ""); + textdomain ("hello-c"); + bindtextdomain ("hello-c", LOCALEDIR); + + printf ("%s\n", _("Hello, world!")); + printf (_("This program is running as process number %d."), getpid ()); + putchar ('\n'); + + return 0; +} diff --git a/mingw/share/doc/gettext/examples/hello-c/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-c/m4/Makefile.am new file mode 100644 index 00000000..000cd06f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/m4/Makefile.am @@ -0,0 +1,5 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 diff --git a/mingw/share/doc/gettext/examples/hello-c/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-c/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-c/po/Makevars b/mingw/share/doc/gettext/examples/hello-c/po/Makevars new file mode 100644 index 00000000..6b3a68c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/Makevars @@ -0,0 +1,55 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-c/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-c/po/POTFILES.in new file mode 100644 index 00000000..92cdf789 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/POTFILES.in @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.c diff --git a/mingw/share/doc/gettext/examples/hello-c/po/af.po b/mingw/share/doc/gettext/examples/hello-c/po/af.po new file mode 100644 index 00000000..cc529533 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ast.po b/mingw/share/doc/gettext/examples/hello-c/po/ast.po new file mode 100644 index 00000000..1f60f4f8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/bg.po b/mingw/share/doc/gettext/examples/hello-c/po/bg.po new file mode 100644 index 00000000..8aa59474 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-c package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ca.po b/mingw/share/doc/gettext/examples/hello-c/po/ca.po new file mode 100644 index 00000000..d1b95083 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-c. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/de.po b/mingw/share/doc/gettext/examples/hello-c/po/de.po new file mode 100644 index 00000000..a4c861c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-c. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/el.po b/mingw/share/doc/gettext/examples/hello-c/po/el.po new file mode 100644 index 00000000..ab1f681d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-c +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/eo.po b/mingw/share/doc/gettext/examples/hello-c/po/eo.po new file mode 100644 index 00000000..c5c9d8ec --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/es.po b/mingw/share/doc/gettext/examples/hello-c/po/es.po new file mode 100644 index 00000000..83fbece3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/fi.po b/mingw/share/doc/gettext/examples/hello-c/po/fi.po new file mode 100644 index 00000000..98e5590e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.c:30 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/fr.po b/mingw/share/doc/gettext/examples/hello-c/po/fr.po new file mode 100644 index 00000000..3fcf38fb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ga.po b/mingw/share/doc/gettext/examples/hello-c/po/ga.po new file mode 100644 index 00000000..08cd1682 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-c. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/hu.po b/mingw/share/doc/gettext/examples/hello-c/po/hu.po new file mode 100644 index 00000000..ef6c4c2c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-c. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/id.po b/mingw/share/doc/gettext/examples/hello-c/po/id.po new file mode 100644 index 00000000..325f94eb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-c-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-c/po/it.po b/mingw/share/doc/gettext/examples/hello-c/po/it.po new file mode 100644 index 00000000..480134bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-c. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ja.po b/mingw/share/doc/gettext/examples/hello-c/po/ja.po new file mode 100644 index 00000000..f07ecc7e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-c' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ky.po b/mingw/share/doc/gettext/examples/hello-c/po/ky.po new file mode 100644 index 00000000..c26af5df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-c' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/lv.po b/mingw/share/doc/gettext/examples/hello-c/po/lv.po new file mode 100644 index 00000000..8d02f10f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-c +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ms.po b/mingw/share/doc/gettext/examples/hello-c/po/ms.po new file mode 100644 index 00000000..5ed1b883 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ms.po @@ -0,0 +1,26 @@ +# hello-c Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/mt.po b/mingw/share/doc/gettext/examples/hello-c/po/mt.po new file mode 100644 index 00000000..16e883df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/mt.po @@ -0,0 +1,25 @@ +# hello-c-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/nl.po b/mingw/share/doc/gettext/examples/hello-c/po/nl.po new file mode 100644 index 00000000..d9b08b34 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-c-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/pl.po b/mingw/share/doc/gettext/examples/hello-c/po/pl.po new file mode 100644 index 00000000..901dd318 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-c domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-c-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/pt.po b/mingw/share/doc/gettext/examples/hello-c/po/pt.po new file mode 100644 index 00000000..d56f9bf8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-c' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ro.po b/mingw/share/doc/gettext/examples/hello-c/po/ro.po new file mode 100644 index 00000000..831d8495 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-c-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-c. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/ru.po b/mingw/share/doc/gettext/examples/hello-c/po/ru.po new file mode 100644 index 00000000..6d8bcbdb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-c-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/sk.po b/mingw/share/doc/gettext/examples/hello-c/po/sk.po new file mode 100644 index 00000000..3b14374b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-c package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-c package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-c 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/sl.po b/mingw/share/doc/gettext/examples/hello-c/po/sl.po new file mode 100644 index 00000000..270e62d3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/sr.po b/mingw/share/doc/gettext/examples/hello-c/po/sr.po new file mode 100644 index 00000000..8505fb8e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-c. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-c' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/sv.po b/mingw/share/doc/gettext/examples/hello-c/po/sv.po new file mode 100644 index 00000000..f5b35088 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-c. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/tr.po b/mingw/share/doc/gettext/examples/hello-c/po/tr.po new file mode 100644 index 00000000..b01c68b9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/uk.po b/mingw/share/doc/gettext/examples/hello-c/po/uk.po new file mode 100644 index 00000000..246162a5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-c +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-c package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/vi.po b/mingw/share/doc/gettext/examples/hello-c/po/vi.po new file mode 100644 index 00000000..a38f2d5a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-c/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-c/po/zh_CN.po new file mode 100644 index 00000000..08d0709e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-c. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-c package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-c/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-c/po/zh_HK.po new file mode 100644 index 00000000..0443b574 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-c. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-c/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-c/po/zh_TW.po new file mode 100644 index 00000000..d19fcea6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-c/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-c. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-c 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.c:30 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.c:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-clisp/INSTALL b/mingw/share/doc/gettext/examples/hello-clisp/INSTALL new file mode 100644 index 00000000..2d751165 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/INSTALL @@ -0,0 +1,10 @@ +This example relies on clisp (GNU clisp). + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-clisp/Makefile.am b/mingw/share/doc/gettext/examples/hello-clisp/Makefile.am new file mode 100644 index 00000000..3911ff3c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Compilation of Common Lisp programs. +SUFFIXES = .lisp .fas +.lisp.fas: + clisp -norc -q -c $< -o $@ +CLEANFILES = *.fas *.lib + +# Making a Common Lisp program executable. +hello: hello.fas + (echo '#!@CLISP@'; cat $<) > $@ + chmod a+x $@ +CLEANFILES += hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-clisp/autoclean.sh b/mingw/share/doc/gettext/examples/hello-clisp/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-clisp/autogen.sh b/mingw/share/doc/gettext/examples/hello-clisp/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-clisp/configure.ac b/mingw/share/doc/gettext/examples/hello-clisp/configure.ac new file mode 100644 index 00000000..5eed3262 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/configure.ac @@ -0,0 +1,38 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.lisp.in) +AM_INIT_AUTOMAKE(hello-clisp, 0) + +dnl Check for availability of the Lisp system. +AC_PATH_PROG(CLISP, clisp) +if test -z "$CLISP"; then + echo "*** Essential program clisp not found" 1>&2 + exit 1 +fi +AC_SUBST(CLISP) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile hello.lisp]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-clisp/hello.lisp.in b/mingw/share/doc/gettext/examples/hello-clisp/hello.lisp.in new file mode 100644 index 00000000..ce278a6f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/hello.lisp.in @@ -0,0 +1,15 @@ +#| Example for use of GNU gettext. + This file is in the public domain. + + Source code of the GNU clisp program. +|# + +(setf (i18n:textdomain) "hello-clisp") +(setf (i18n:textdomaindir "hello-clisp") "@localedir@/") +(defmacro _ (string) `(i18n:gettext ,string)) + +(write-line (_ "Hello, world!")) + +(format t (_ "This program is running as process number ~D.") + (system::program-id)) +(terpri) diff --git a/mingw/share/doc/gettext/examples/hello-clisp/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-clisp/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-clisp/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-clisp/po/Makefile.am new file mode 100644 index 00000000..001a6f17 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.lisp.in + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --flag=_:1:pass-lisp-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/af.po b/mingw/share/doc/gettext/examples/hello-clisp/po/af.po new file mode 100644 index 00000000..b8d7af15 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Hierdie program loop as prosesnommer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ast.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ast.po new file mode 100644 index 00000000..580f707e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Esti programa ta corriendo como'l procesu númberu ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/bg.po b/mingw/share/doc/gettext/examples/hello-clisp/po/bg.po new file mode 100644 index 00000000..bc090b9f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-clisp package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-clisp 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Програмата е запусната под процес номер ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ca.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ca.po new file mode 100644 index 00000000..a42b5351 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-clisp. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Aquest programa està corrent amb el número de procés ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/de.po b/mingw/share/doc/gettext/examples/hello-clisp/po/de.po new file mode 100644 index 00000000..0aff4084 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-clisp. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Dieses Programm läuft mit der Prozess-Nummer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/el.po b/mingw/share/doc/gettext/examples/hello-clisp/po/el.po new file mode 100644 index 00000000..a319c611 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-clisp +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/eo.po b/mingw/share/doc/gettext/examples/hello-clisp/po/eo.po new file mode 100644 index 00000000..875b9927 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/es.po b/mingw/share/doc/gettext/examples/hello-clisp/po/es.po new file mode 100644 index 00000000..1d25b4de --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Este programa está corriendo como el proceso número ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/fi.po b/mingw/share/doc/gettext/examples/hello-clisp/po/fi.po new file mode 100644 index 00000000..b0b4a756 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Tämän ohjelman prosessinumero on ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/fr.po b/mingw/share/doc/gettext/examples/hello-clisp/po/fr.po new file mode 100644 index 00000000..08763694 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-clisp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Ce programme est exécuté en tant que processus numéro ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ga.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ga.po new file mode 100644 index 00000000..c01ed869 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-clisp. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Tá an clár seo á rith mar phróiseas ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/hu.po b/mingw/share/doc/gettext/examples/hello-clisp/po/hu.po new file mode 100644 index 00000000..96dabec8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-clisp. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Ez a program a ~D processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/id.po b/mingw/share/doc/gettext/examples/hello-clisp/po/id.po new file mode 100644 index 00000000..90dbed59 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-clisp-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Program ini berjalan sebagai proses nomor ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/it.po b/mingw/share/doc/gettext/examples/hello-clisp/po/it.po new file mode 100644 index 00000000..49b95afb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-clisp. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Questo programma è in esecuzione con numero di processo ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ja.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ja.po new file mode 100644 index 00000000..9dd41fbc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-clisp' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-clisp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ ~D ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ky.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ky.po new file mode 100644 index 00000000..b0622b10 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-clisp' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Бул программа ~D процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/lv.po b/mingw/share/doc/gettext/examples/hello-clisp/po/lv.po new file mode 100644 index 00000000..656f90b4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-clisp +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Šī programma darbojas kā process ar numuru ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ms.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ms.po new file mode 100644 index 00000000..790b1a49 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ms.po @@ -0,0 +1,26 @@ +# hello-clisp Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Program ini dilaksanakan sebagai proses bernombor ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/mt.po b/mingw/share/doc/gettext/examples/hello-clisp/po/mt.po new file mode 100644 index 00000000..0b58ec1b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/mt.po @@ -0,0 +1,25 @@ +# hello-clisp-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/nl.po b/mingw/share/doc/gettext/examples/hello-clisp/po/nl.po new file mode 100644 index 00000000..a73cd5ad --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-clisp-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-clisp package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Dit programma draait als proces nummer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/pl.po b/mingw/share/doc/gettext/examples/hello-clisp/po/pl.po new file mode 100644 index 00000000..70af15c8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-clisp domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Ten program działa jako proces o numerze ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/pt.po b/mingw/share/doc/gettext/examples/hello-clisp/po/pt.po new file mode 100644 index 00000000..e2246eb8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-clisp' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Este programa está a ser executado com o número de processo ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ro.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ro.po new file mode 100644 index 00000000..626018e9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-clisp-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-clisp. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Acest program este rulat ca procesul numãrul ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/ru.po b/mingw/share/doc/gettext/examples/hello-clisp/po/ru.po new file mode 100644 index 00000000..1b9eb54d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-clisp-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/sk.po b/mingw/share/doc/gettext/examples/hello-clisp/po/sk.po new file mode 100644 index 00000000..5604920c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-clisp package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-clisp package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-clisp 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Tento program beží ako proces s číslom ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/sl.po b/mingw/share/doc/gettext/examples/hello-clisp/po/sl.po new file mode 100644 index 00000000..df6ad036 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Ta program teče kot proces številka ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/sr.po b/mingw/share/doc/gettext/examples/hello-clisp/po/sr.po new file mode 100644 index 00000000..c769e5c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-clisp. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-clisp' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Овај програм се извршава као процес број ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/sv.po b/mingw/share/doc/gettext/examples/hello-clisp/po/sv.po new file mode 100644 index 00000000..7424b142 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-clisp. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Detta program kör som process nummer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/tr.po b/mingw/share/doc/gettext/examples/hello-clisp/po/tr.po new file mode 100644 index 00000000..8f3efe73 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Bu yazılım, ~D süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/uk.po b/mingw/share/doc/gettext/examples/hello-clisp/po/uk.po new file mode 100644 index 00000000..cab1d047 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-clisp +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Ця програма виконується як процес з номером ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/vi.po b/mingw/share/doc/gettext/examples/hello-clisp/po/vi.po new file mode 100644 index 00000000..786c8d0f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "Chương trình này đang chạy với số hiệu tiến trình ~D." diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-clisp/po/zh_CN.po new file mode 100644 index 00000000..5238c9ac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-clisp. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-clisp package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "此程序正以进程号 ~D 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-clisp/po/zh_HK.po new file mode 100644 index 00000000..afc46244 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-clisp. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "本程式正在執行中,進程編號為 ~D。" diff --git a/mingw/share/doc/gettext/examples/hello-clisp/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-clisp/po/zh_TW.po new file mode 100644 index 00000000..8201209c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-clisp/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-clisp. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-clisp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.lisp.in:11 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.lisp.in:13 +#, lisp-format +msgid "This program is running as process number ~D." +msgstr "本程式正在執行中,進程編號為 ~D。" diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/BUGS b/mingw/share/doc/gettext/examples/hello-csharp-forms/BUGS new file mode 100644 index 00000000..af7009ab --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/BUGS @@ -0,0 +1,2 @@ +Correct display of characters depends on the C# execution engine. For example, +in pnet 0.6.0.1, Western fonts display fine but East Asian fonts don't work. diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/INSTALL b/mingw/share/doc/gettext/examples/hello-csharp-forms/INSTALL new file mode 100644 index 00000000..011cc816 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - a C# implementation with System.Windows.Forms library, e.g. pnet+pnetlib + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/Makefile.am b/mingw/share/doc/gettext/examples/hello-csharp-forms/Makefile.am new file mode 100644 index 00000000..a78cbc6c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/Makefile.am @@ -0,0 +1,74 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_CSHARPPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cs + +# The link dependencies of the 'hello' program. +hello_CSHARPLIBS = @GNU_GETTEXT_LDADD@ @GNU_GETTEXT_LIBS@ -l System -l System.Drawing -l System.Windows.Forms + +# Resources that are generated from PO files. +MAINTAINERCLEANFILES = */*.resources.dll + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + + +# ----------------- General rules for compiling C# programs ----------------- + +pkgdatadir = $(datadir)/$(PACKAGE) +pkglibdir = $(libdir)/$(PACKAGE) + +CSHARPCOMP = $(SHELL) csharpcomp.sh +CSHARPCOMPFLAGS = -O -g + +EXTRA_DIST += $(hello_SOURCES) +CLEANFILES = +DISTCLEANFILES = csharpcomp.sh csharpexec.sh + + +# Rules for compiling C# programs. + +all-local: hello.net.exe hello.sh + +hello.net.exe: $(hello_SOURCES) + $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(hello_CSHARPLIBS) $(srcdir)/hello.cs + +hello.sh: + { echo '#!/bin/sh'; \ + echo "exec /bin/sh '$(pkgdatadir)/csharpexec.sh' @GNU_GETTEXT_LDADD@ '$(pkglibdir)/hello.net.exe' \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(INSTALL_DATA) hello.net.exe $(DESTDIR)$(pkglibdir)/hello.net.exe + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + $(INSTALL_DATA) csharpexec.sh $(DESTDIR)$(pkgdatadir)/csharpexec.sh + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(pkglibdir)/hello.net.exe + rm -f $(DESTDIR)$(pkgdatadir)/csharpexec.sh + +CLEANFILES += hello.net.exe hello.sh diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/README b/mingw/share/doc/gettext/examples/hello-csharp-forms/README new file mode 100644 index 00000000..5756710d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/README @@ -0,0 +1,81 @@ +Before you read the hello.cs source code: + +Preface about GUI Programming Methodologies +=========================================== + +The traditional GUI programming methodology for Windows GUI programmers +is to assemble controls using a GUI builder. These GUI builders +don't have good techniques for determining the size and position of the +controls depending on their contents. Instead, they *hardcode* the +size and positions of the controls in each panel, as fixed numbers, +measured in pixels. + +What are the consequences? + +1) Consequences for all users: + Such panels would not look nice when the user resizes them. So the + programmer simply makes the dialogs non-resizable. When such a + panel then contains a scrollable list of items, with 100 items and + a scroll window of 5 items, a user's normal reaction is to enlarge + the dialog, to see more items. But the dialog is not resizable! + Frustration. + +2) Consequences for disabled users: + Some users need bigger fonts for working comfortably. Guess what + happens when the user changes the size of the default system font? + Many labels in dialogs are truncated. + +3) Consequences for internationalization: + The translation of a term or label in another language often needs + more screen space. For example, Japanese translations often are 30% + longer than the original English label. Therefore, if only the strings + of a dialog are localized, many labels are truncated. + +Problems 1 and 2 are usually accepted in the Windows programmers +community. (Problem 1 is not fatal, only frustrating. And problem 2 +affects only a small proportion of the users; they are simply ignored.) +Problem 3 is "solved" by letting the localization team not only translate +the strings, but also redo the layout of each dialog. + +In contrast, the methodology of programmers of the Qt/KDE, Gtk/GNOME, +wxWidgets, AWT, Swing, Tk toolkits is to have the positions and sizes +of controls determined at runtime, according to + - the needs of the control itself, + - the needs of the other controls in the panel, + - the available panel size, given by the user through resizing. +The common technology for this approach is to group related controls +together in containers, and perform size and position propagations +between the controls of the container, the container, the container's +container etc. These computations are performed by so-called +"layout manager" objects. +Other technologies such as global constraint systems (as in Garnet) or +spring-like attachments are not so much in use anymore nowadays. + +This programmed-resizing methodology solves the problems 1), 2) and 3). + +What are the associated costs and efforts? Taking the programmed-resizing +methodology as baseline, the hardcoded sizes and positions approach has + - the advantage that the programmer saves about 1/3 of the GUI + programming work (namely choosing the layout managers and setting + alignment hints), + - the drawback that each localization team has much more work, namely + to rearrange the controls in the panel. +In most free software projects, there are at least ca. 5 localizations; +successful projects even have 30 or 50 localizations. +In other words, a program built with hardcoded sizes and positions +cannot afford many localizations, or the effort for localization will +be prohibitively high. + +For this reason, we strongly recommend to use the programmed-resizing +methodology. In this example, since the Windows.Forms package lacks +layout manager classes, we compute the layout by hand, through an +override of the OnResize method. For larger programs, we would recommend +to build a few simple layout managers, to get on par with the layout +abilities found in Qt, Swing, etc. +(The layout system of Gtk/GNOME is somewhat particular: It does not +provide the ability to set a preferred alignment on controls like labels. +Instead one uses intermediate containers for the purpose of alignment.) + +Acknowledgement: This preface borrows ideas from an article of Luke Plant. + +Copyright (C) 2006 Free Software Foundation, Inc. diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/autoclean.sh b/mingw/share/doc/gettext/examples/hello-csharp-forms/autoclean.sh new file mode 100644 index 00000000..1e144444 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/autoclean.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Brought in by explicit copy. +rm -f m4/csharpcomp.m4 +rm -f m4/csharpexec.m4 +rm -f m4/csharpexec-test.exe +rm -f csharpcomp.sh.in +rm -f csharpexec.sh.in + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +for f in po/*/*.resources.dll; do + rm -f $f + rmdir `echo $f | sed -e 's,/[^/]*$,,'` +done diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/autogen.sh b/mingw/share/doc/gettext/examples/hello-csharp-forms/autogen.sh new file mode 100644 index 00000000..09596de4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/csharpcomp.m4 m4/csharpcomp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/csharpexec.m4 m4/csharpexec.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/m4}/csharpexec-test.exe m4/csharpexec-test.exe +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/csharp.m4 m4/csharp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/csharpcomp.sh.in csharpcomp.sh.in +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/csharpexec.sh.in csharpexec.sh.in + +aclocal -I m4 + +autoconf + +automake -a -c + +./configure +cd po +make update-po +cd .. +make distclean diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/configure.ac b/mingw/share/doc/gettext/examples/hello-csharp-forms/configure.ac new file mode 100644 index 00000000..8b4ddb36 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/configure.ac @@ -0,0 +1,52 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.cs) +AM_INIT_AUTOMAKE(hello-csharp-forms, 0) + +dnl Check whether we can build C# programs at all. +gt_CSHARPCOMP +if test -n "$HAVE_CSHARPCOMP"; then + BUILDCSHARP=yes +else + BUILDCSHARP=no +fi +AC_SUBST(BUILDCSHARP) + +dnl Check whether we can execute C# programs. +gt_CSHARPEXEC([csharpexec-test.exe], [$srcdir/m4]) +if test -n "$HAVE_CSHARPEXEC" && test $BUILDCSHARP = yes; then + TESTCSHARP=yes +else + TESTCSHARP=no +fi +AC_SUBST(TESTCSHARP) + +dnl Checks for needed libraries. +AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_GNU_GETTEXT_DLL], [gettext], + [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/lib/GNU.Gettext.dll; }]) +if test -z "$GETTEXT_WITH_GNU_GETTEXT_DLL"; then + echo "Required library GNU.Gettext.dll not found." 1>&2 + exit 1 +fi +changequote(,)dnl +basedir=`echo "$GETTEXT_WITH_GNU_GETTEXT_DLL" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'` +changequote([, ])dnl +GNU_GETTEXT_DLL="$basedir"/lib/GNU.Gettext.dll +GNU_GETTEXT_LDADD="-L $basedir/lib" +GNU_GETTEXT_LIBS="-l GNU.Gettext" +AC_SUBST([GNU_GETTEXT_LDADD]) +AC_SUBST([GNU_GETTEXT_LIBS]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([csharpcomp.sh]) +AC_CONFIG_FILES([csharpexec.sh]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/hello.cs b/mingw/share/doc/gettext/examples/hello-csharp-forms/hello.cs new file mode 100644 index 00000000..84103349 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/hello.cs @@ -0,0 +1,81 @@ +// Example for use of GNU gettext. +// This file is in the public domain. +// +// Source code of the C#/Forms program. + +using System; /* String, EventHandler */ +using GNU.Gettext; /* GettextResourceManager */ +using System.Diagnostics; /* Process */ +using System.Threading; /* Thread */ +using System.Drawing; /* Point, Size */ +using System.Windows.Forms; /* Application, Form, Label, Button */ + +public class Hello { + + private static GettextResourceManager catalog = + new GettextResourceManager("hello-csharp-forms"); + + class HelloWindow : Form { + + private int border; + private Label label1; + private Label label2; + private Button ok; + + public HelloWindow () { + border = 2; + + label1 = new Label(); + label1.Text = catalog.GetString("Hello, world!"); + label1.ClientSize = new Size(label1.PreferredWidth, label1.PreferredHeight); + Controls.Add(label1); + + label2 = new Label(); + label2.Text = + String.Format( + catalog.GetString("This program is running as process number {0}."), + Process.GetCurrentProcess().Id); + label2.ClientSize = new Size(label2.PreferredWidth, label2.PreferredHeight); + Controls.Add(label2); + + ok = new Button(); + Label okLabel = new Label(); + ok.Text = okLabel.Text = "OK"; + ok.ClientSize = new Size(okLabel.PreferredWidth + 12, okLabel.PreferredHeight + 4); + ok.Click += new EventHandler(Quit); + Controls.Add(ok); + + Size total = ComputePreferredSizeWithoutBorder(); + LayoutControls(total.Width, total.Height); + ClientSize = new Size(border + total.Width + border, border + total.Height + border); + } + + protected override void OnResize(EventArgs ev) { + LayoutControls(ClientSize.Width - border - border, ClientSize.Height - border - border); + base.OnResize(ev); + } + + // Layout computation, part 1: The preferred size of this panel. + private Size ComputePreferredSizeWithoutBorder () { + int totalWidth = Math.Max(Math.Max(label1.PreferredWidth, label2.PreferredWidth), + ok.Width); + int totalHeight = label1.PreferredHeight + label2.PreferredHeight + 6 + ok.Height; + return new Size(totalWidth, totalHeight); + } + + // Layout computation, part 2: Determine where to put the sub-controls. + private void LayoutControls (int totalWidth, int totalHeight) { + label1.Location = new Point(border, border); + label2.Location = new Point(border, border + label1.PreferredHeight); + ok.Location = new Point(border + totalWidth - ok.Width, border + totalHeight - ok.Height); + } + + private void Quit (Object sender, EventArgs ev) { + Application.Exit(); + } + } + + public static void Main () { + Application.Run(new HelloWindow()); + } +} diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-csharp-forms/m4/Makefile.am new file mode 100644 index 00000000..de22d57c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + csharpcomp.m4 csharpexec.m4 csharpexec-test.exe diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/Makefile.am new file mode 100644 index 00000000..31850996 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/Makefile.am @@ -0,0 +1,280 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.cs + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +pkglibdir = $(libdir)/$(PACKAGE) + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll) +RESOURCESDLLFILES = @RESOURCESDLLFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(frob $(lang))/$(DOMAIN).resources.dll) +CATALOGS = @CSHARPCATALOGS@ + +SUFFIXES = .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(RESOURCESDLLFILES) are +# empty. In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(RESOURCESDLLFILES)" || $(MAKE) $(RESOURCESDLLFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(pkglibdir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + $(mkdir_p) $(DESTDIR)$(pkglibdir)/`echo $$cat | sed -e 's,/[^/]*$$,,'`; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$(pkglibdir)/$$cat; \ + echo "installing $$realcat as $(DESTDIR)$(pkglibdir)/$$cat"; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(pkglibdir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + $(mkdir_p) $(DESTDIR)$(pkglibdir)/`echo $$cat | sed -e 's,/[^/]*$$,,'`; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + rm -f $(DESTDIR)$(pkglibdir)/$$cat; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + +MAINTAINERCLEANFILES = stamp-po $(RESOURCESDLLFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(RESOURCESDLLFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-resourcesdll + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-resourcesdll: Makefile $(RESOURCESDLLFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/af.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/af.po new file mode 100644 index 00000000..2278fb6b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Hierdie program loop as prosesnommer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ast.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ast.po new file mode 100644 index 00000000..58199fa6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Esti programa ta corriendo como'l procesu númberu {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/bg.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/bg.po new file mode 100644 index 00000000..c1d3f839 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-csharp-forms package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp-forms 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Програмата е запусната под процес номер {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ca.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ca.po new file mode 100644 index 00000000..1b4028c7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-csharp-forms. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Aquest programa està corrent amb el número de procés {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/de.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/de.po new file mode 100644 index 00000000..0b46804b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-csharp-forms. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/el.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/el.po new file mode 100644 index 00000000..dd812fc6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-csharp-forms +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/eo.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/eo.po new file mode 100644 index 00000000..82ca096b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/es.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/es.po new file mode 100644 index 00000000..93e7dc8d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Este programa está corriendo como el proceso número {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/fi.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/fi.po new file mode 100644 index 00000000..129f7ac4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Tämän ohjelman prosessinumero on {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/fr.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/fr.po new file mode 100644 index 00000000..b0eca21c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp-forms 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ce programme est exécuté en tant que processus numéro {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ga.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ga.po new file mode 100644 index 00000000..1ff48ca2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-csharp-forms. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Tá an clár seo á rith mar phróiseas {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/hu.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/hu.po new file mode 100644 index 00000000..9252a455 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-csharp-forms. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ez a program a {0} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/id.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/id.po new file mode 100644 index 00000000..083be1af --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-csharp-forms-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Program ini berjalan sebagai proses nomor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/it.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/it.po new file mode 100644 index 00000000..e94aa801 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-csharp-forms. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Questo programma è in esecuzione con numero di processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ja.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ja.po new file mode 100644 index 00000000..8d8c19ea --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-csharp-forms' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp-forms 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ky.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ky.po new file mode 100644 index 00000000..8413a1d5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-csharp-forms' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Бул программа {0} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/lv.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/lv.po new file mode 100644 index 00000000..ee1157bb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-csharp-forms +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Šī programma darbojas kā process ar numuru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ms.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ms.po new file mode 100644 index 00000000..99bcb6f8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ms.po @@ -0,0 +1,26 @@ +# hello-csharp-forms Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/mt.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/mt.po new file mode 100644 index 00000000..d988d64e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/mt.po @@ -0,0 +1,25 @@ +# hello-csharp-forms-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/nl.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/nl.po new file mode 100644 index 00000000..20e2fbbd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-csharp-forms-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Dit programma draait als proces nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/pl.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/pl.po new file mode 100644 index 00000000..72b7bb39 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-csharp-forms domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ten program działa jako proces o numerze {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/pt.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/pt.po new file mode 100644 index 00000000..529f7d7d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-csharp-forms' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Este programa está a ser executado com o número de processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ro.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ro.po new file mode 100644 index 00000000..efb5ceae --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-csharp-forms-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-csharp-forms. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Acest program este rulat ca procesul numãrul {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ru.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ru.po new file mode 100644 index 00000000..b2d181de --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-csharp-forms-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sk.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sk.po new file mode 100644 index 00000000..22a9b0cb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-csharp-forms package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-csharp-forms package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp-forms 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Tento program beží ako proces s číslom {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sl.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sl.po new file mode 100644 index 00000000..0bd9a0f4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ta program teče kot proces številka {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sr.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sr.po new file mode 100644 index 00000000..4175ef82 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-csharp-forms. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-csharp-forms' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Овај програм се извршава као процес број {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sv.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sv.po new file mode 100644 index 00000000..bb532422 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-csharp-forms. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Detta program kör som process nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/tr.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/tr.po new file mode 100644 index 00000000..ff66436d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Bu yazılım, {0} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/uk.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/uk.po new file mode 100644 index 00000000..4fcb034e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-csharp-forms +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ця програма виконується як процес з номером {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/vi.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/vi.po new file mode 100644 index 00000000..263a0401 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_CN.po new file mode 100644 index 00000000..d63b9473 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-csharp-forms. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp-forms package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "此程序正以进程号 {0} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_HK.po new file mode 100644 index 00000000..afaa9907 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-csharp-forms. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_TW.po new file mode 100644 index 00000000..56894e2c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp-forms/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-csharp-forms. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-forms 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:29 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.cs:36 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-csharp/INSTALL b/mingw/share/doc/gettext/examples/hello-csharp/INSTALL new file mode 100644 index 00000000..ea09f7ac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - a C# implementation: either pnet+pnetlib or mono+mcs + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-csharp/Makefile.am b/mingw/share/doc/gettext/examples/hello-csharp/Makefile.am new file mode 100644 index 00000000..3534e250 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/Makefile.am @@ -0,0 +1,74 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_CSHARPPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.cs + +# The link dependencies of the 'hello' program. +hello_CSHARPLIBS = @GNU_GETTEXT_LDADD@ @GNU_GETTEXT_LIBS@ -l System + +# Resources that are generated from PO files. +MAINTAINERCLEANFILES = */*.resources.dll + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + + +# ----------------- General rules for compiling C# programs ----------------- + +pkgdatadir = $(datadir)/$(PACKAGE) +pkglibdir = $(libdir)/$(PACKAGE) + +CSHARPCOMP = $(SHELL) csharpcomp.sh +CSHARPCOMPFLAGS = -O -g + +EXTRA_DIST += $(hello_SOURCES) +CLEANFILES = +DISTCLEANFILES = csharpcomp.sh csharpexec.sh + + +# Rules for compiling C# programs. + +all-local: hello.net.exe hello.sh + +hello.net.exe: $(hello_SOURCES) + $(CSHARPCOMP) $(CSHARPCOMPFLAGS) -o $@ $(hello_CSHARPLIBS) $(srcdir)/hello.cs + +hello.sh: + { echo '#!/bin/sh'; \ + echo "exec /bin/sh '$(pkgdatadir)/csharpexec.sh' @GNU_GETTEXT_LDADD@ '$(pkglibdir)/hello.net.exe' \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(INSTALL_DATA) hello.net.exe $(DESTDIR)$(pkglibdir)/hello.net.exe + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + $(INSTALL_DATA) csharpexec.sh $(DESTDIR)$(pkgdatadir)/csharpexec.sh + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(pkglibdir)/hello.net.exe + rm -f $(DESTDIR)$(pkgdatadir)/csharpexec.sh + +CLEANFILES += hello.net.exe hello.sh diff --git a/mingw/share/doc/gettext/examples/hello-csharp/autoclean.sh b/mingw/share/doc/gettext/examples/hello-csharp/autoclean.sh new file mode 100644 index 00000000..1e144444 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/autoclean.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Brought in by explicit copy. +rm -f m4/csharpcomp.m4 +rm -f m4/csharpexec.m4 +rm -f m4/csharpexec-test.exe +rm -f csharpcomp.sh.in +rm -f csharpexec.sh.in + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +for f in po/*/*.resources.dll; do + rm -f $f + rmdir `echo $f | sed -e 's,/[^/]*$,,'` +done diff --git a/mingw/share/doc/gettext/examples/hello-csharp/autogen.sh b/mingw/share/doc/gettext/examples/hello-csharp/autogen.sh new file mode 100644 index 00000000..09596de4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/csharpcomp.m4 m4/csharpcomp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/csharpexec.m4 m4/csharpexec.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/m4}/csharpexec-test.exe m4/csharpexec-test.exe +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/csharp.m4 m4/csharp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/csharpcomp.sh.in csharpcomp.sh.in +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/csharpexec.sh.in csharpexec.sh.in + +aclocal -I m4 + +autoconf + +automake -a -c + +./configure +cd po +make update-po +cd .. +make distclean diff --git a/mingw/share/doc/gettext/examples/hello-csharp/configure.ac b/mingw/share/doc/gettext/examples/hello-csharp/configure.ac new file mode 100644 index 00000000..9a61c18a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/configure.ac @@ -0,0 +1,52 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.cs) +AM_INIT_AUTOMAKE(hello-csharp, 0) + +dnl Check whether we can build C# programs at all. +gt_CSHARPCOMP +if test -n "$HAVE_CSHARPCOMP"; then + BUILDCSHARP=yes +else + BUILDCSHARP=no +fi +AC_SUBST(BUILDCSHARP) + +dnl Check whether we can execute C# programs. +gt_CSHARPEXEC([csharpexec-test.exe], [$srcdir/m4]) +if test -n "$HAVE_CSHARPEXEC" && test $BUILDCSHARP = yes; then + TESTCSHARP=yes +else + TESTCSHARP=no +fi +AC_SUBST(TESTCSHARP) + +dnl Checks for needed libraries. +AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_GNU_GETTEXT_DLL], [gettext], + [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/lib/GNU.Gettext.dll; }]) +if test -z "$GETTEXT_WITH_GNU_GETTEXT_DLL"; then + echo "Required library GNU.Gettext.dll not found." 1>&2 + exit 1 +fi +changequote(,)dnl +basedir=`echo "$GETTEXT_WITH_GNU_GETTEXT_DLL" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'` +changequote([, ])dnl +GNU_GETTEXT_DLL="$basedir"/lib/GNU.Gettext.dll +GNU_GETTEXT_LDADD="-L $basedir/lib" +GNU_GETTEXT_LIBS="-l GNU.Gettext" +AC_SUBST([GNU_GETTEXT_LDADD]) +AC_SUBST([GNU_GETTEXT_LIBS]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([csharpcomp.sh]) +AC_CONFIG_FILES([csharpexec.sh]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-csharp/hello.cs b/mingw/share/doc/gettext/examples/hello-csharp/hello.cs new file mode 100644 index 00000000..d46b99c9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/hello.cs @@ -0,0 +1,20 @@ +// Example for use of GNU gettext. +// This file is in the public domain. +// +// Source code of the C# program. + +using System; /* String, Console */ +using GNU.Gettext; /* GettextResourceManager */ +using System.Diagnostics; /* Process */ + +public class Hello { + public static void Main (String[] args) { + GettextResourceManager catalog = + new GettextResourceManager("hello-csharp"); + Console.WriteLine(catalog.GetString("Hello, world!")); + Console.WriteLine( + String.Format( + catalog.GetString("This program is running as process number {0}."), + Process.GetCurrentProcess().Id)); + } +} diff --git a/mingw/share/doc/gettext/examples/hello-csharp/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-csharp/m4/Makefile.am new file mode 100644 index 00000000..de22d57c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + csharpcomp.m4 csharpexec.m4 csharpexec-test.exe diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-csharp/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-csharp/po/Makefile.am new file mode 100644 index 00000000..31850996 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/Makefile.am @@ -0,0 +1,280 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.cs + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +pkglibdir = $(libdir)/$(PACKAGE) + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll) +RESOURCESDLLFILES = @RESOURCESDLLFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(frob $(lang))/$(DOMAIN).resources.dll) +CATALOGS = @CSHARPCATALOGS@ + +SUFFIXES = .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(RESOURCESDLLFILES) are +# empty. In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(RESOURCESDLLFILES)" || $(MAKE) $(RESOURCESDLLFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(pkglibdir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + $(mkdir_p) $(DESTDIR)$(pkglibdir)/`echo $$cat | sed -e 's,/[^/]*$$,,'`; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$(pkglibdir)/$$cat; \ + echo "installing $$realcat as $(DESTDIR)$(pkglibdir)/$$cat"; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(pkglibdir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + $(mkdir_p) $(DESTDIR)$(pkglibdir)/`echo $$cat | sed -e 's,/[^/]*$$,,'`; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + rm -f $(DESTDIR)$(pkglibdir)/$$cat; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + +MAINTAINERCLEANFILES = stamp-po $(RESOURCESDLLFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(RESOURCESDLLFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-resourcesdll + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-resourcesdll: Makefile $(RESOURCESDLLFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/af.po b/mingw/share/doc/gettext/examples/hello-csharp/po/af.po new file mode 100644 index 00000000..0c1d32c7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Hierdie program loop as prosesnommer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ast.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ast.po new file mode 100644 index 00000000..6a282f2e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Esti programa ta corriendo como'l procesu númberu {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/bg.po b/mingw/share/doc/gettext/examples/hello-csharp/po/bg.po new file mode 100644 index 00000000..e06baf64 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-csharp package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Програмата е запусната под процес номер {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ca.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ca.po new file mode 100644 index 00000000..e8930058 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-csharp. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Aquest programa està corrent amb el número de procés {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/de.po b/mingw/share/doc/gettext/examples/hello-csharp/po/de.po new file mode 100644 index 00000000..127f98c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-csharp. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/el.po b/mingw/share/doc/gettext/examples/hello-csharp/po/el.po new file mode 100644 index 00000000..66880334 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-csharp +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/eo.po b/mingw/share/doc/gettext/examples/hello-csharp/po/eo.po new file mode 100644 index 00000000..1a2ff7ed --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/es.po b/mingw/share/doc/gettext/examples/hello-csharp/po/es.po new file mode 100644 index 00000000..47803fec --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Este programa está corriendo como el proceso número {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/fi.po b/mingw/share/doc/gettext/examples/hello-csharp/po/fi.po new file mode 100644 index 00000000..1201d2f5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Tämän ohjelman prosessinumero on {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/fr.po b/mingw/share/doc/gettext/examples/hello-csharp/po/fr.po new file mode 100644 index 00000000..0196c19e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ce programme est exécuté en tant que processus numéro {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ga.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ga.po new file mode 100644 index 00000000..6ead86a3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-csharp. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Tá an clár seo á rith mar phróiseas {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/hu.po b/mingw/share/doc/gettext/examples/hello-csharp/po/hu.po new file mode 100644 index 00000000..753e8231 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-csharp. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ez a program a {0} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/id.po b/mingw/share/doc/gettext/examples/hello-csharp/po/id.po new file mode 100644 index 00000000..fe21db77 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-csharp-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Program ini berjalan sebagai proses nomor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/it.po b/mingw/share/doc/gettext/examples/hello-csharp/po/it.po new file mode 100644 index 00000000..35f087ba --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-csharp. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Questo programma è in esecuzione con numero di processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ja.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ja.po new file mode 100644 index 00000000..4673e47c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-csharp' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ky.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ky.po new file mode 100644 index 00000000..4d85209d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-csharp' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Бул программа {0} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/lv.po b/mingw/share/doc/gettext/examples/hello-csharp/po/lv.po new file mode 100644 index 00000000..334757bb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-csharp +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Šī programma darbojas kā process ar numuru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ms.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ms.po new file mode 100644 index 00000000..21a0a8bc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ms.po @@ -0,0 +1,26 @@ +# hello-csharp Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/mt.po b/mingw/share/doc/gettext/examples/hello-csharp/po/mt.po new file mode 100644 index 00000000..9cff71d5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/mt.po @@ -0,0 +1,25 @@ +# hello-csharp-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/nl.po b/mingw/share/doc/gettext/examples/hello-csharp/po/nl.po new file mode 100644 index 00000000..bcf0174f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-csharp-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Dit programma draait als proces nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/pl.po b/mingw/share/doc/gettext/examples/hello-csharp/po/pl.po new file mode 100644 index 00000000..938805df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-csharp domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ten program działa jako proces o numerze {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/pt.po b/mingw/share/doc/gettext/examples/hello-csharp/po/pt.po new file mode 100644 index 00000000..2a16b7ac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-csharp' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Este programa está a ser executado com o número de processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ro.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ro.po new file mode 100644 index 00000000..01c12b62 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-csharp-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-csharp. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Acest program este rulat ca procesul numãrul {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/ru.po b/mingw/share/doc/gettext/examples/hello-csharp/po/ru.po new file mode 100644 index 00000000..6aa0daaf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-csharp-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/sk.po b/mingw/share/doc/gettext/examples/hello-csharp/po/sk.po new file mode 100644 index 00000000..b33e5a28 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-csharp package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-csharp package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-csharp 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Tento program beží ako proces s číslom {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/sl.po b/mingw/share/doc/gettext/examples/hello-csharp/po/sl.po new file mode 100644 index 00000000..3b42de7a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ta program teče kot proces številka {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/sr.po b/mingw/share/doc/gettext/examples/hello-csharp/po/sr.po new file mode 100644 index 00000000..70ba63d3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-csharp. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-csharp' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Овај програм се извршава као процес број {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/sv.po b/mingw/share/doc/gettext/examples/hello-csharp/po/sv.po new file mode 100644 index 00000000..f3a2f730 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-csharp. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Detta program kör som process nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/tr.po b/mingw/share/doc/gettext/examples/hello-csharp/po/tr.po new file mode 100644 index 00000000..1692b16f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Bu yazılım, {0} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/uk.po b/mingw/share/doc/gettext/examples/hello-csharp/po/uk.po new file mode 100644 index 00000000..3a6ceb4f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-csharp +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Ця програма виконується як процес з номером {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/vi.po b/mingw/share/doc/gettext/examples/hello-csharp/po/vi.po new file mode 100644 index 00000000..ef6179d0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {0}." diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-csharp/po/zh_CN.po new file mode 100644 index 00000000..a636ea41 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-csharp. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-csharp package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "此程序正以进程号 {0} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-csharp/po/zh_HK.po new file mode 100644 index 00000000..ef816a36 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-csharp. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-csharp/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-csharp/po/zh_TW.po new file mode 100644 index 00000000..a8bf3c07 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-csharp/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-csharp. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-csharp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.cs:14 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.cs:17 +#, csharp-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-gawk/INSTALL b/mingw/share/doc/gettext/examples/hello-gawk/INSTALL new file mode 100644 index 00000000..1a4f2df3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/INSTALL @@ -0,0 +1,10 @@ +This example relies on gawk (GNU awk). + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-gawk/Makefile.am b/mingw/share/doc/gettext/examples/hello-gawk/Makefile.am new file mode 100644 index 00000000..b76e71d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-gawk/autoclean.sh b/mingw/share/doc/gettext/examples/hello-gawk/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-gawk/autogen.sh b/mingw/share/doc/gettext/examples/hello-gawk/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-gawk/configure.ac b/mingw/share/doc/gettext/examples/hello-gawk/configure.ac new file mode 100644 index 00000000..f48794d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/configure.ac @@ -0,0 +1,39 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.awk) +AM_INIT_AUTOMAKE(hello-gawk, 0) + +dnl Check for availability of GNU awk. +AC_PATH_PROG(GAWK, gawk) +if test -z "$GAWK"; then + echo "*** Essential program gawk not found" 1>&2 + exit 1 +fi +AC_SUBST(GAWK) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello:hello.awk], [chmod a+x hello]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-gawk/hello.awk b/mingw/share/doc/gettext/examples/hello-gawk/hello.awk new file mode 100644 index 00000000..0e49fe66 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/hello.awk @@ -0,0 +1,14 @@ +#!@GAWK@ -f +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the GNU awk program. + +BEGIN { + TEXTDOMAIN = "hello-gawk" + bindtextdomain ("@localedir@") + + print _"Hello, world!" + printf _"This program is running as process number %d.", PROCINFO["pid"] + print +} diff --git a/mingw/share/doc/gettext/examples/hello-gawk/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-gawk/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-gawk/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-gawk/po/Makefile.am new file mode 100644 index 00000000..caa12d80 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.awk + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/af.po b/mingw/share/doc/gettext/examples/hello-gawk/po/af.po new file mode 100644 index 00000000..c2d50f77 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ast.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ast.po new file mode 100644 index 00000000..65557e46 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/bg.po b/mingw/share/doc/gettext/examples/hello-gawk/po/bg.po new file mode 100644 index 00000000..00f6ac9a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-gawk package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-gawk 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ca.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ca.po new file mode 100644 index 00000000..e19b3317 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-gawk. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/de.po b/mingw/share/doc/gettext/examples/hello-gawk/po/de.po new file mode 100644 index 00000000..ccdc1b61 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-gawk. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/el.po b/mingw/share/doc/gettext/examples/hello-gawk/po/el.po new file mode 100644 index 00000000..22cd9e05 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-gawk +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/eo.po b/mingw/share/doc/gettext/examples/hello-gawk/po/eo.po new file mode 100644 index 00000000..9dc6ee40 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/es.po b/mingw/share/doc/gettext/examples/hello-gawk/po/es.po new file mode 100644 index 00000000..a315ecdb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/fi.po b/mingw/share/doc/gettext/examples/hello-gawk/po/fi.po new file mode 100644 index 00000000..c0b3742b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/fr.po b/mingw/share/doc/gettext/examples/hello-gawk/po/fr.po new file mode 100644 index 00000000..f83e663d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-gawk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ga.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ga.po new file mode 100644 index 00000000..76cabbe0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-gawk. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/hu.po b/mingw/share/doc/gettext/examples/hello-gawk/po/hu.po new file mode 100644 index 00000000..da0cc114 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-gawk. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/id.po b/mingw/share/doc/gettext/examples/hello-gawk/po/id.po new file mode 100644 index 00000000..b442911a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-gawk-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/it.po b/mingw/share/doc/gettext/examples/hello-gawk/po/it.po new file mode 100644 index 00000000..058d52fe --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-gawk. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ja.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ja.po new file mode 100644 index 00000000..44e195bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-gawk' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-gawk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ky.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ky.po new file mode 100644 index 00000000..8eda22da --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-gawk' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/lv.po b/mingw/share/doc/gettext/examples/hello-gawk/po/lv.po new file mode 100644 index 00000000..0166ea61 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-gawk +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ms.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ms.po new file mode 100644 index 00000000..2b31bd3f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ms.po @@ -0,0 +1,26 @@ +# hello-gawk Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/mt.po b/mingw/share/doc/gettext/examples/hello-gawk/po/mt.po new file mode 100644 index 00000000..b4d6b3c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/mt.po @@ -0,0 +1,25 @@ +# hello-gawk-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/nl.po b/mingw/share/doc/gettext/examples/hello-gawk/po/nl.po new file mode 100644 index 00000000..82057217 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-gawk-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-gawk package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/pl.po b/mingw/share/doc/gettext/examples/hello-gawk/po/pl.po new file mode 100644 index 00000000..a73dbfb2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-gawk domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/pt.po b/mingw/share/doc/gettext/examples/hello-gawk/po/pt.po new file mode 100644 index 00000000..80bd3ab8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-gawk' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ro.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ro.po new file mode 100644 index 00000000..411f4e2f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-gawk-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-gawk. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/ru.po b/mingw/share/doc/gettext/examples/hello-gawk/po/ru.po new file mode 100644 index 00000000..2c196923 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-gawk-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/sk.po b/mingw/share/doc/gettext/examples/hello-gawk/po/sk.po new file mode 100644 index 00000000..303da07d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-gawk package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-gawk package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-gawk 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/sl.po b/mingw/share/doc/gettext/examples/hello-gawk/po/sl.po new file mode 100644 index 00000000..a9ff14c5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/sr.po b/mingw/share/doc/gettext/examples/hello-gawk/po/sr.po new file mode 100644 index 00000000..e46f16a6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-gawk. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-gawk' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/sv.po b/mingw/share/doc/gettext/examples/hello-gawk/po/sv.po new file mode 100644 index 00000000..0f4d9ff5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-gawk. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/tr.po b/mingw/share/doc/gettext/examples/hello-gawk/po/tr.po new file mode 100644 index 00000000..155fdcb0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/uk.po b/mingw/share/doc/gettext/examples/hello-gawk/po/uk.po new file mode 100644 index 00000000..1cfa89ae --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-gawk +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/vi.po b/mingw/share/doc/gettext/examples/hello-gawk/po/vi.po new file mode 100644 index 00000000..e306b1bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-gawk/po/zh_CN.po new file mode 100644 index 00000000..441060e8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-gawk. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-gawk package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-gawk/po/zh_HK.po new file mode 100644 index 00000000..c6c56c09 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-gawk. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-gawk/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-gawk/po/zh_TW.po new file mode 100644 index 00000000..72499e01 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-gawk/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-gawk. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-gawk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.awk:11 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.awk:12 +#, awk-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-guile/INSTALL b/mingw/share/doc/gettext/examples/hello-guile/INSTALL new file mode 100644 index 00000000..c48052f1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/INSTALL @@ -0,0 +1,10 @@ +This example relies on GNU guile. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-guile/Makefile.am b/mingw/share/doc/gettext/examples/hello-guile/Makefile.am new file mode 100644 index 00000000..b76e71d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-guile/autoclean.sh b/mingw/share/doc/gettext/examples/hello-guile/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-guile/autogen.sh b/mingw/share/doc/gettext/examples/hello-guile/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-guile/configure.ac b/mingw/share/doc/gettext/examples/hello-guile/configure.ac new file mode 100644 index 00000000..0c2ceb21 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/configure.ac @@ -0,0 +1,39 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.scm) +AM_INIT_AUTOMAKE(hello-guile, 0) + +dnl Check for availability of the guile interpreter. +AC_PATH_PROG(GUILE, guile) +if test -z "$GUILE"; then + echo "*** Essential program guile not found" 1>&2 + exit 1 +fi +AC_SUBST(GUILE) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello:hello.scm], [chmod a+x hello]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-guile/hello.scm b/mingw/share/doc/gettext/examples/hello-guile/hello.scm new file mode 100644 index 00000000..43c367e5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/hello.scm @@ -0,0 +1,18 @@ +#!@GUILE@ -s +!# +;;; Example for use of GNU gettext. +;;; This file is in the public domain. + +;;; Source code of the GNU guile program. + +(use-modules (ice-9 format)) + +(catch #t (lambda () (setlocale LC_ALL "")) (lambda args #f)) +(textdomain "hello-guile") +(bindtextdomain "hello-guile" "@localedir@") +(define _ gettext) + +(display (_ "Hello, world!")) +(newline) +(format #t (_ "This program is running as process number ~D.") (getpid)) +(newline) diff --git a/mingw/share/doc/gettext/examples/hello-guile/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-guile/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-guile/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-guile/po/Makefile.am new file mode 100644 index 00000000..6cc2773f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.scm + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --flag=_:1:pass-scheme-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/af.po b/mingw/share/doc/gettext/examples/hello-guile/po/af.po new file mode 100644 index 00000000..67123126 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Hierdie program loop as prosesnommer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ast.po b/mingw/share/doc/gettext/examples/hello-guile/po/ast.po new file mode 100644 index 00000000..107958df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Esti programa ta corriendo como'l procesu númberu ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/bg.po b/mingw/share/doc/gettext/examples/hello-guile/po/bg.po new file mode 100644 index 00000000..a26c1b27 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-guile package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-guile 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Програмата е запусната под процес номер ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ca.po b/mingw/share/doc/gettext/examples/hello-guile/po/ca.po new file mode 100644 index 00000000..9928c65c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-guile. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-guile package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Aquest programa està corrent amb el número de procés ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/de.po b/mingw/share/doc/gettext/examples/hello-guile/po/de.po new file mode 100644 index 00000000..c6d4da22 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-guile. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-guile package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Dieses Programm läuft mit der Prozess-Nummer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/el.po b/mingw/share/doc/gettext/examples/hello-guile/po/el.po new file mode 100644 index 00000000..2ca2fbc7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-guile +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/eo.po b/mingw/share/doc/gettext/examples/hello-guile/po/eo.po new file mode 100644 index 00000000..fb9aa8fb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/es.po b/mingw/share/doc/gettext/examples/hello-guile/po/es.po new file mode 100644 index 00000000..d9db055a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Este programa está corriendo como el proceso número ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/fi.po b/mingw/share/doc/gettext/examples/hello-guile/po/fi.po new file mode 100644 index 00000000..6425b7b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Tämän ohjelman prosessinumero on ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/fr.po b/mingw/share/doc/gettext/examples/hello-guile/po/fr.po new file mode 100644 index 00000000..20825914 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-guile 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Ce programme est exécuté en tant que processus numéro ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ga.po b/mingw/share/doc/gettext/examples/hello-guile/po/ga.po new file mode 100644 index 00000000..bf6aa09e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-guile. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-guile package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Tá an clár seo á rith mar phróiseas ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/hu.po b/mingw/share/doc/gettext/examples/hello-guile/po/hu.po new file mode 100644 index 00000000..0f75908c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-guile. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-guile package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Ez a program a ~D processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/id.po b/mingw/share/doc/gettext/examples/hello-guile/po/id.po new file mode 100644 index 00000000..fc731510 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-guile-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Program ini berjalan sebagai proses nomor ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/it.po b/mingw/share/doc/gettext/examples/hello-guile/po/it.po new file mode 100644 index 00000000..dba55897 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-guile. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Questo programma è in esecuzione con numero di processo ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ja.po b/mingw/share/doc/gettext/examples/hello-guile/po/ja.po new file mode 100644 index 00000000..e77a2fc7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-guile' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-guile package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-guile 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ ~D ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ky.po b/mingw/share/doc/gettext/examples/hello-guile/po/ky.po new file mode 100644 index 00000000..42bfdc7a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-guile' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Бул программа ~D процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/lv.po b/mingw/share/doc/gettext/examples/hello-guile/po/lv.po new file mode 100644 index 00000000..d0bce30a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-guile +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Šī programma darbojas kā process ar numuru ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ms.po b/mingw/share/doc/gettext/examples/hello-guile/po/ms.po new file mode 100644 index 00000000..fe510356 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ms.po @@ -0,0 +1,26 @@ +# hello-guile Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-guile package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Program ini dilaksanakan sebagai proses bernombor ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/mt.po b/mingw/share/doc/gettext/examples/hello-guile/po/mt.po new file mode 100644 index 00000000..70530ef6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/mt.po @@ -0,0 +1,25 @@ +# hello-guile-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/nl.po b/mingw/share/doc/gettext/examples/hello-guile/po/nl.po new file mode 100644 index 00000000..c6a372ca --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-guile-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-guile package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Dit programma draait als proces nummer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/pl.po b/mingw/share/doc/gettext/examples/hello-guile/po/pl.po new file mode 100644 index 00000000..5278ef49 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-guile domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-guile-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Ten program działa jako proces o numerze ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/pt.po b/mingw/share/doc/gettext/examples/hello-guile/po/pt.po new file mode 100644 index 00000000..867c9c15 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-guile' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-guile package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Este programa está a ser executado com o número de processo ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ro.po b/mingw/share/doc/gettext/examples/hello-guile/po/ro.po new file mode 100644 index 00000000..d6eb5c2e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-guile-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-guile. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Acest program este rulat ca procesul numãrul ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/ru.po b/mingw/share/doc/gettext/examples/hello-guile/po/ru.po new file mode 100644 index 00000000..31f1f9c3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-guile-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-guile package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/sk.po b/mingw/share/doc/gettext/examples/hello-guile/po/sk.po new file mode 100644 index 00000000..c228083c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-guile package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-guile package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-guile 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Tento program beží ako proces s číslom ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/sl.po b/mingw/share/doc/gettext/examples/hello-guile/po/sl.po new file mode 100644 index 00000000..f0b59205 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Ta program teče kot proces številka ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/sr.po b/mingw/share/doc/gettext/examples/hello-guile/po/sr.po new file mode 100644 index 00000000..a8ca89b8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-guile. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-guile' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Овај програм се извршава као процес број ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/sv.po b/mingw/share/doc/gettext/examples/hello-guile/po/sv.po new file mode 100644 index 00000000..c2539db0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-guile. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Detta program kör som process nummer ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/tr.po b/mingw/share/doc/gettext/examples/hello-guile/po/tr.po new file mode 100644 index 00000000..c7e52bc7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Bu yazılım, ~D süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/uk.po b/mingw/share/doc/gettext/examples/hello-guile/po/uk.po new file mode 100644 index 00000000..800d917b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-guile +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-guile package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Ця програма виконується як процес з номером ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/vi.po b/mingw/share/doc/gettext/examples/hello-guile/po/vi.po new file mode 100644 index 00000000..2b50bdff --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "Chương trình này đang chạy với số hiệu tiến trình ~D." diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-guile/po/zh_CN.po new file mode 100644 index 00000000..e7d46779 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-guile. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-guile package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "此程序正以进程号 ~D 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-guile/po/zh_HK.po new file mode 100644 index 00000000..095cc9e6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-guile. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "本程式正在執行中,進程編號為 ~D。" diff --git a/mingw/share/doc/gettext/examples/hello-guile/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-guile/po/zh_TW.po new file mode 100644 index 00000000..ab742529 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-guile/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-guile. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-guile 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.scm:15 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.scm:17 +#, scheme-format +msgid "This program is running as process number ~D." +msgstr "本程式正在執行中,進程編號為 ~D。" diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/BUGS b/mingw/share/doc/gettext/examples/hello-java-awt/BUGS new file mode 100644 index 00000000..42eb7684 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/BUGS @@ -0,0 +1,5 @@ +Correct display of characters depends on the JVM and its locale-dependent font +configuration. For example, on Linux/x86, in + Sun JDK 1.3.1 de_DE works - zh_CN doesn't work + IBM JDK 1.3.0 de_DE works - ja_JP, sr_YU, zh_CN don't work + Sun JDK 1.4.2 de_DE, ja_JP work - sr_YU, zh_CN don't work diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/Hello.java b/mingw/share/doc/gettext/examples/hello-java-awt/Hello.java new file mode 100644 index 00000000..e10202b3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/Hello.java @@ -0,0 +1,66 @@ +// Example for use of GNU gettext. +// This file is in the public domain. +// +// Source code of the Java/AWT program. + +import java.util.*; +import java.io.*; +import java.text.*; +import java.awt.*; +import java.awt.event.*; +import gnu.gettext.*; + +public class Hello { + public static void main (String[] args) { + ResourceBundle catalog = ResourceBundle.getBundle("hello-java-awt"); + Frame frame = new Frame("Hello example"); + frame.addWindowListener( + new WindowAdapter() { + public void windowClosing (WindowEvent event) { + System.exit(0); + } + }); + Label label1 = new Label(GettextResource.gettext(catalog,"Hello, world!")); + Label label2 = + new Label( + MessageFormat.format( + GettextResource.gettext(catalog, + "This program is running as process number {0}."), + new Object[] { getPid() })); + Button button = new Button("OK"); + button.addActionListener( + new ActionListener() { + public void actionPerformed (ActionEvent event) { + System.exit(0); + } + }); + Container labels = new Container(); + labels.setLayout(new GridLayout(2, 1)); + labels.add(label1); + labels.add(label2); + Container buttons = new Container(); + buttons.setLayout(new FlowLayout(FlowLayout.RIGHT)); + buttons.add(button); + frame.setLayout(new BorderLayout()); + frame.add(labels, BorderLayout.CENTER); + frame.add(buttons, BorderLayout.SOUTH); + frame.pack(); + frame.setVisible(true); + } + + /* Return the process ID of the current process. */ + private static String getPid () { + try { + String[] args = new String[] { "/bin/sh", "-c", "echo $PPID" }; + Process p = Runtime.getRuntime().exec(args); + InputStream p_out = p.getInputStream(); + String s = (new BufferedReader(new InputStreamReader(p_out))).readLine(); + p.destroy(); + if (s != null) + return s; + } catch (IOException e) { + e.printStackTrace(); + } + return "???"; + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/INSTALL b/mingw/share/doc/gettext/examples/hello-java-awt/INSTALL new file mode 100644 index 00000000..693f3024 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - a Java implementation with AWT + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-awt/Makefile.am new file mode 100644 index 00000000..a361b5a7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/Makefile.am @@ -0,0 +1,165 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_JAVAPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = Hello.java +hello_CLASSES = Hello.class + +# The entry point of the 'hello' program. +hello_MAINCLASS = Hello + +# The link dependencies of the 'hello' program. +hello_JAVALIBS = @LIBINTL_JAR@ + +# The resources of the 'hello' program, excluding message catalogs, but +# including the fallback message catalog. +hello_RESOURCES = hello-java-awt.properties + +# Resources that are generated from PO files. +MAINTAINERCLEANFILES = hello-java-awt*.properties + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + + +# ----------------- General rules for compiling Java programs ----------------- + +jardir = $(datadir)/$(PACKAGE) +pkgdatadir = $(datadir)/$(PACKAGE) +pkglibdir = $(libdir)/$(PACKAGE) + +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +JAR = @JAR@ +JAVACOMP = $(SHELL) javacomp.sh +AR = ar +RANLIB = @RANLIB@ + +EXTRA_DIST += $(hello_SOURCES) +CLEANFILES = +DISTCLEANFILES = javacomp.sh javaexec.sh + + +if USEJEXE + + +# Rules for compiling Java programs as native code. + +all-local: $(hello_MAINCLASS)$(EXEEXT) hello-resources.jar hello.sh + +# Does not work yet with GCC 3.3. +#$(hello_MAINCLASS)$(EXEEXT): $(srcdir)/Hello.java +# CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) $(srcdir)/Hello.java $(hello_JAVALIBS) --main=$(hello_MAINCLASS) -o $@ + +$(hello_MAINCLASS)$(EXEEXT): Hello.$(OBJEXT) libintl.a + $(GCJ) $(GCJFLAGS) Hello.$(OBJEXT) libintl.a --main=$(hello_MAINCLASS) -o $@ + +Hello.$(OBJEXT): $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) -c $(srcdir)/Hello.java -o $@ + +libintl.a: + rm -rf tmpdir + mkdir tmpdir + cd tmpdir && $(JAR) xf @LIBINTL_JAR@ && \ + for f in `find . -name '*.class' -print`; do \ + $(GCJ) $(GCJFLAGS) -c $$f -o `echo $$f | sed -e 's,^\./,,' -e 's,\.class$$,,' -e 's,/,.,g'`.$(OBJEXT) || exit 1; \ + done && \ + rm -f ../libintl.a && \ + ar cru ../libintl.a `find . -name '*.$(OBJEXT)' -print` + rm -rf tmpdir + $(RANLIB) $@ + +hello-resources.jar: + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cf $@ $(hello_RESOURCES) $$catalogs + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello-resources.jar'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec '$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)' \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(hello_MAINCLASS)$(EXEEXT) $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello-resources.jar $(DESTDIR)$(jardir)/hello-resources.jar + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(mkdir_p) $(DESTDIR)$(jardir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + rm -f $(DESTDIR)$(jardir)/hello-resources.jar + +CLEANFILES += $(hello_MAINCLASS)$(EXEEXT) *.$(OBJEXT) *.a tmpdir hello-resources.jar hello.sh + + +else + + +# Rules for compiling Java programs as jar libraries. +# This is the preferred mode during development, because you can easily test +# the program without installing it, simply by doing "java -jar hello.jar". + +all-local: hello.jar hello.sh + +hello.jar: $(hello_CLASSES) + { echo "Manifest-Version: 1.0"; echo "Main-Class: $(hello_MAINCLASS)"; echo 'Class-Path: @LIBINTL_JAR@'; } > Manifest.mf + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cfm $@ Manifest.mf Hello*.class $(hello_RESOURCES) $$catalogs + rm -f Manifest.mf + +Hello.class: $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(JAVACOMP) -d . $(srcdir)/Hello.java + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello.jar@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec /bin/sh '$(pkgdatadir)/javaexec.sh' $(hello_MAINCLASS) \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello.jar $(DESTDIR)$(jardir)/hello.jar + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + $(INSTALL_DATA) javaexec.sh $(DESTDIR)$(pkgdatadir)/javaexec.sh + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(jardir) + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(jardir)/hello.jar + rm -f $(DESTDIR)$(pkgdatadir)/javaexec.sh + +CLEANFILES += hello.jar Hello*.class Manifest.mf hello.sh + + +endif diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/autoclean.sh b/mingw/share/doc/gettext/examples/hello-java-awt/autoclean.sh new file mode 100644 index 00000000..3e321e12 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/autoclean.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Brought in by explicit copy. +rm -f m4/gcj.m4 +rm -f m4/javacomp.m4 +rm -f m4/javaexec.m4 +rm -f javacomp.sh.in +rm -f javaexec.sh.in + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f hello-java-awt*.properties diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/autogen.sh b/mingw/share/doc/gettext/examples/hello-java-awt/autogen.sh new file mode 100644 index 00000000..85683506 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/autogen.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/gcj.m4 m4/gcj.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javacomp.m4 m4/javacomp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javaexec.m4 m4/javaexec.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javacomp.sh.in javacomp.sh.in +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javaexec.sh.in javaexec.sh.in + +aclocal -I m4 + +autoconf + +automake -a -c + +./configure +cd po +make update-po +cd .. +make distclean diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/configure.ac b/mingw/share/doc/gettext/examples/hello-java-awt/configure.ac new file mode 100644 index 00000000..da5b758d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/configure.ac @@ -0,0 +1,67 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(Hello.java) +AM_INIT_AUTOMAKE(hello-java-awt, 0) + +dnl Check whether we can build native executable. +AC_ARG_ENABLE(java-exe, + [ --enable-java-exe compile Java to native code, not to bytecode], + :, enable_java_exe=no) +gt_GCJ +if test "$enable_java_exe" != no && test -n "$HAVE_GCJ"; then + BUILDJAVAEXE=yes +else + BUILDJAVAEXE=no +fi +AC_SUBST(BUILDJAVAEXE) +AM_CONDITIONAL([USEJEXE], [test $BUILDJAVAEXE = yes]) +AC_PROG_RANLIB + +dnl Check whether we can execute Java programs. +gt_JAVAEXEC([TestAWT], [$srcdir/m4]) +dnl Check whether we can build Java programs. +gt_JAVACOMP([1.3]) +AC_CHECK_PROG(JAR, jar, jar) +if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then + BUILDJAVA=yes +else + BUILDJAVA=no +fi +AC_SUBST(BUILDJAVA) +if test -n "$HAVE_JAVAEXEC" && test $BUILDJAVA = yes; then + TESTJAVA=yes +else + TESTJAVA=no +fi +AC_SUBST(TESTJAVA) + +dnl Checks for compiler output filename suffixes. +AC_OBJEXT +AC_EXEEXT + +dnl Checks for needed libraries. +AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_LIBINTL_JAR], [gettext], + [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/share/gettext/libintl.jar; }]) +if test -z "$GETTEXT_WITH_LIBINTL_JAR"; then + echo "Required library libintl.jar not found." 1>&2 + exit 1 +fi +changequote(,)dnl +basedir=`echo "$GETTEXT_WITH_LIBINTL_JAR" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'` +changequote([, ])dnl +LIBINTL_JAR="$basedir"/share/gettext/libintl.jar +AC_SUBST([LIBINTL_JAR]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([javacomp.sh]) +AC_CONFIG_FILES([javaexec.sh]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-awt/m4/Makefile.am new file mode 100644 index 00000000..26f6298a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + gcj.m4 javacomp.m4 javaexec.m4 TestAWT.java TestAWT.class diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.class b/mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.class new file mode 100644 index 0000000000000000000000000000000000000000..1c993c51eeedc42ef390988064abc493c36d649b GIT binary patch literal 449 zcwSvl%}xR_7@RK47S~lk5EbR%ZSepPfH5)tBqkd@uz`c81uGW!Cs~T<6M5z&@!$ja zP{ywtlxUNF(@tlm{rdU!{sEwch7Aiv8zq!Ewro^T<=Ez^F<8ekmgzl z7>b^Z#q~5Ah|~`TAu(nY$e5w#-g@KUDQJg5JZg7UD&tW{8|`i~O^4!AYO&*si8}53 zEiHAxQQ+8du!}v0%F6CPq{&RjbJQK|({HA_M!N$=?VDw*6@XQ6w9L;$qHYqi?wAZt{^28O0wX*6^NQq7vHnQl= EZ{lfI5dZ)H literal 0 HcwPel00001 diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.java b/mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.java new file mode 100644 index 00000000..21515fcf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/m4/TestAWT.java @@ -0,0 +1,11 @@ +// Test for working AWT. +public class TestAWT { + public static void main (String[] args) { + try { + java.awt.Toolkit.getDefaultToolkit(); + } catch (Throwable e) { + System.exit(1); + } + System.exit(0); + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-java-awt/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-awt/po/Makefile.am new file mode 100644 index 00000000..b8cf04bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/Makefile.am @@ -0,0 +1,271 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + Hello.java + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGCAT = msgcat +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) +PROPERTIESFILES = @PROPERTIESFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) +CLASSFILES = @CLASSFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(DOMAIN)_$(lang).properties) +CATALOGS = @JAVACATALOGS@ + +SUFFIXES = .po .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: stamp-po + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(PROPERTIESFILES) are +# empty. In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + $(MAKE) update-properties + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + +MAINTAINERCLEANFILES = stamp-po + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-properties + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-properties: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ + echo "$(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ + $(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + mv $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(top_srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + done + +# Alternatively, we could create classes instead of properties files. +update-classes: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + done + +echo-catalogs: + @echo $(CATALOGS) diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/af.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/af.po new file mode 100644 index 00000000..2d6e6d2d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Hierdie program loop as prosesnommer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ast.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ast.po new file mode 100644 index 00000000..f65fe754 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: Hello.java:28 +#, fuzzy, java-format +msgid "This program is running as process number {0}." +msgstr "Esti programa ta corriendo como'l procesu númberu {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/bg.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/bg.po new file mode 100644 index 00000000..cf22aa21 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-java-awt package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-awt 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Програмата е запусната под процес номер {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ca.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ca.po new file mode 100644 index 00000000..3b1225ee --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-java-awt. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Aquest programa està corrent amb el número de procés {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/de.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/de.po new file mode 100644 index 00000000..8d6c194d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-java-awt. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/el.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/el.po new file mode 100644 index 00000000..ad45e1d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-java-awt +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/eo.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/eo.po new file mode 100644 index 00000000..f924fb29 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/es.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/es.po new file mode 100644 index 00000000..e1e3d753 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está corriendo como el proceso número {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/fi.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/fi.po new file mode 100644 index 00000000..aae4aeec --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tämän ohjelman prosessinumero on {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/fr.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/fr.po new file mode 100644 index 00000000..3eb3a0d3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-awt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ce programme est exécuté en tant que processus numéro {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ga.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ga.po new file mode 100644 index 00000000..1452bfb4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-java-awt. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tá an clár seo á rith mar phróiseas {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/hu.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/hu.po new file mode 100644 index 00000000..53a6bcd5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-java-awt. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ez a program a {0} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/id.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/id.po new file mode 100644 index 00000000..4164fac8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-java-awt-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini berjalan sebagai proses nomor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/it.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/it.po new file mode 100644 index 00000000..24bde9ea --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-java-awt. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Questo programma è in esecuzione con numero di processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ja.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ja.po new file mode 100644 index 00000000..039b9d08 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-java-awt' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-awt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ky.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ky.po new file mode 100644 index 00000000..cfa97bc6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-java-awt' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Бул программа {0} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/lv.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/lv.po new file mode 100644 index 00000000..39160433 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-java-awt +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Šī programma darbojas kā process ar numuru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ms.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ms.po new file mode 100644 index 00000000..0d80f8bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ms.po @@ -0,0 +1,26 @@ +# hello-java-awt Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/mt.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/mt.po new file mode 100644 index 00000000..0ee5f30a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/mt.po @@ -0,0 +1,25 @@ +# hello-java-awt-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/nl.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/nl.po new file mode 100644 index 00000000..75401da1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-java-awt-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dit programma draait als proces nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/pl.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/pl.po new file mode 100644 index 00000000..6ac9a6cf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-java-awt domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ten program działa jako proces o numerze {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/pt.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/pt.po new file mode 100644 index 00000000..3d033355 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-java-awt' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está a ser executado com o número de processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ro.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ro.po new file mode 100644 index 00000000..1ce51d5c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-java-awt-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java-awt. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Acest program este rulat ca procesul numãrul {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/ru.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/ru.po new file mode 100644 index 00000000..2471cd6a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-java-awt-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/sk.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/sk.po new file mode 100644 index 00000000..2396f947 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-java-awt package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-java-awt package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-awt 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tento program beží ako proces s číslom {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/sl.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/sl.po new file mode 100644 index 00000000..bb10399f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ta program teče kot proces številka {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/sr.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/sr.po new file mode 100644 index 00000000..9b3caf0e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-java-awt. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-java-awt' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Овај програм се извршава као процес број {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/sv.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/sv.po new file mode 100644 index 00000000..11083a92 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-java-awt. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Detta program kör som process nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/tr.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/tr.po new file mode 100644 index 00000000..b3e6ca0b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Bu yazılım, {0} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/uk.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/uk.po new file mode 100644 index 00000000..7d26fb04 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-java-awt +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ця програма виконується як процес з номером {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/vi.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/vi.po new file mode 100644 index 00000000..04b55cac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_CN.po new file mode 100644 index 00000000..42350b74 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-java-awt. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-awt package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "世界你好!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "此程序正以进程号 {0} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_HK.po new file mode 100644 index 00000000..631a7966 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-java-awt. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "你好!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_TW.po new file mode 100644 index 00000000..a351b7ae --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-awt/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-java-awt. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-awt 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:23 +msgid "Hello, world!" +msgstr "您好!" + +#: Hello.java:28 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/BUGS b/mingw/share/doc/gettext/examples/hello-java-qtjambi/BUGS new file mode 100644 index 00000000..c0053e9e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/BUGS @@ -0,0 +1,2 @@ +Qt looks only at the LANG and LC_ALL values and ignores LC_MESSAGES if LC_ALL is unset. +Therefore, to make it work, you have to set LC_ALL to the same value as LC_MESSAGES. diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/Hello.java b/mingw/share/doc/gettext/examples/hello-java-qtjambi/Hello.java new file mode 100644 index 00000000..9fc8baa3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/Hello.java @@ -0,0 +1,73 @@ +// Example for use of GNU gettext. +// This file is in the public domain. +// +// Source code of the Java/QtJambi program. + +import java.util.*; +import java.io.*; +import java.text.*; +import com.trolltech.qt.core.*; +import com.trolltech.qt.gui.*; +import gnu.gettext.*; + +public class Hello { + public static void main (String[] args) { + ResourceBundle catalog = ResourceBundle.getBundle("hello-java-qtjambi"); + + QApplication.initialize(args); + + QMainWindow window = new QMainWindow(); + window.setWindowTitle("Hello example"); + + QWidget panel = new QWidget(); + QVBoxLayout panelLayout = new QVBoxLayout(); + panelLayout.setSpacing(2); + + QLabel label1 = + new QLabel(GettextResource.gettext(catalog,"Hello, world!")); + panelLayout.addWidget(label1); + + QLabel label2 = + new QLabel( + MessageFormat.format( + GettextResource.gettext(catalog, + "This program is running as process number {0}."), + new Object[] { getPid() })); + panelLayout.addWidget(label2); + + QWidget buttonBar = new QWidget(); + QHBoxLayout buttonBarLayout = new QHBoxLayout(); + QWidget filler = new QWidget(); // makes the button right-aligned + buttonBarLayout.addWidget(filler); + QPushButton button = new QPushButton("OK"); + button.setMaximumWidth(button.sizeHint().width()+20); + button.clicked.connect(window, "close()"); + buttonBarLayout.addWidget(button); + buttonBar.setLayout(buttonBarLayout); + panelLayout.addWidget(buttonBar); + + panel.setLayout(panelLayout); + + window.setCentralWidget(panel); + + window.show(); + + QApplication.exec(); + } + + /* Return the process ID of the current process. */ + private static String getPid () { + try { + String[] args = new String[] { "/bin/sh", "-c", "echo $PPID" }; + Process p = Runtime.getRuntime().exec(args); + InputStream p_out = p.getInputStream(); + String s = (new BufferedReader(new InputStreamReader(p_out))).readLine(); + p.destroy(); + if (s != null) + return s; + } catch (IOException e) { + e.printStackTrace(); + } + return "???"; + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/INSTALL b/mingw/share/doc/gettext/examples/hello-java-qtjambi/INSTALL new file mode 100644 index 00000000..fd166ed3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/INSTALL @@ -0,0 +1,17 @@ +This example relies on: + - a recent Java implementation + (i.e. when using Sun's JDK: at least JDK 1.5) + - the Qt4/Java binding (libqtjambi) + - Qt4 (libQtGui, libQtCore) and its dependencies: libpng, zlib (libz) + - the C++ runtime libraries (libstdc++) + +Installation: + ./autogen.sh + export LD_LIBRARY_PATH= + export CLASSPATH=.:.../qtjambi.jar:.../libintl.jar + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-qtjambi/Makefile.am new file mode 100644 index 00000000..9c80241c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/Makefile.am @@ -0,0 +1,165 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_JAVAPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = Hello.java +hello_CLASSES = Hello.class + +# The entry point of the 'hello' program. +hello_MAINCLASS = Hello + +# The link dependencies of the 'hello' program. +hello_JAVALIBS = @LIBINTL_JAR@ + +# The resources of the 'hello' program, excluding message catalogs, but +# including the fallback message catalog. +hello_RESOURCES = hello-java-qtjambi.properties + +# Resources that are generated from PO files. +MAINTAINERCLEANFILES = hello-java-qtjambi*.properties + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + + +# ----------------- General rules for compiling Java programs ----------------- + +jardir = $(datadir)/$(PACKAGE) +pkgdatadir = $(datadir)/$(PACKAGE) +pkglibdir = $(libdir)/$(PACKAGE) + +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +JAR = @JAR@ +JAVACOMP = $(SHELL) javacomp.sh +AR = ar +RANLIB = @RANLIB@ + +EXTRA_DIST += $(hello_SOURCES) +CLEANFILES = +DISTCLEANFILES = javacomp.sh javaexec.sh + + +if USEJEXE + + +# Rules for compiling Java programs as native code. + +all-local: $(hello_MAINCLASS)$(EXEEXT) hello-resources.jar hello.sh + +# Does not work yet with GCC 3.3. +#$(hello_MAINCLASS)$(EXEEXT): $(srcdir)/Hello.java +# CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)@CLASSPATH_SEPARATOR@$$CLASSPATH $(GCJ) $(GCJFLAGS) $(srcdir)/Hello.java $(hello_JAVALIBS) --main=$(hello_MAINCLASS) -o $@ + +$(hello_MAINCLASS)$(EXEEXT): Hello.$(OBJEXT) libintl.a + $(GCJ) $(GCJFLAGS) Hello.$(OBJEXT) libintl.a --main=$(hello_MAINCLASS) -o $@ + +Hello.$(OBJEXT): $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)@CLASSPATH_SEPARATOR@$$CLASSPATH $(GCJ) $(GCJFLAGS) -c $(srcdir)/Hello.java -o $@ + +libintl.a: + rm -rf tmpdir + mkdir tmpdir + cd tmpdir && $(JAR) xf @LIBINTL_JAR@ && \ + for f in `find . -name '*.class' -print`; do \ + $(GCJ) $(GCJFLAGS) -c $$f -o `echo $$f | sed -e 's,^\./,,' -e 's,\.class$$,,' -e 's,/,.,g'`.$(OBJEXT) || exit 1; \ + done && \ + rm -f ../libintl.a && \ + ar cru ../libintl.a `find . -name '*.$(OBJEXT)' -print` + rm -rf tmpdir + $(RANLIB) $@ + +hello-resources.jar: + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cf $@ $(hello_RESOURCES) $$catalogs + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello-resources.jar'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec '$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)' \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(hello_MAINCLASS)$(EXEEXT) $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello-resources.jar $(DESTDIR)$(jardir)/hello-resources.jar + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(mkdir_p) $(DESTDIR)$(jardir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + rm -f $(DESTDIR)$(jardir)/hello-resources.jar + +CLEANFILES += $(hello_MAINCLASS)$(EXEEXT) *.$(OBJEXT) *.a tmpdir hello-resources.jar hello.sh + + +else + + +# Rules for compiling Java programs as jar libraries. +# This is the preferred mode during development, because you can easily test +# the program without installing it, simply by doing "java -jar hello.jar". + +all-local: hello.jar hello.sh + +hello.jar: $(hello_CLASSES) + { echo "Manifest-Version: 1.0"; echo "Main-Class: $(hello_MAINCLASS)"; echo 'Class-Path: @LIBINTL_JAR@'; } > Manifest.mf + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cfm $@ Manifest.mf Hello*.class $(hello_RESOURCES) $$catalogs + rm -f Manifest.mf + +Hello.class: $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)@CLASSPATH_SEPARATOR@$$CLASSPATH $(JAVACOMP) -d . $(srcdir)/Hello.java + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello.jar@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec /bin/sh '$(pkgdatadir)/javaexec.sh' $(hello_MAINCLASS) \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello.jar $(DESTDIR)$(jardir)/hello.jar + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + $(INSTALL_DATA) javaexec.sh $(DESTDIR)$(pkgdatadir)/javaexec.sh + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(jardir) + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(jardir)/hello.jar + rm -f $(DESTDIR)$(pkgdatadir)/javaexec.sh + +CLEANFILES += hello.jar Hello*.class Manifest.mf hello.sh + + +endif diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/autoclean.sh b/mingw/share/doc/gettext/examples/hello-java-qtjambi/autoclean.sh new file mode 100644 index 00000000..66ba4306 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/autoclean.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Brought in by explicit copy. +rm -f m4/gcj.m4 +rm -f m4/javacomp.m4 +rm -f m4/javaexec.m4 +rm -f javacomp.sh.in +rm -f javaexec.sh.in + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f hello-java-qtjambi*.properties diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/autogen.sh b/mingw/share/doc/gettext/examples/hello-java-qtjambi/autogen.sh new file mode 100644 index 00000000..85683506 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/autogen.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/gcj.m4 m4/gcj.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javacomp.m4 m4/javacomp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javaexec.m4 m4/javaexec.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javacomp.sh.in javacomp.sh.in +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javaexec.sh.in javaexec.sh.in + +aclocal -I m4 + +autoconf + +automake -a -c + +./configure +cd po +make update-po +cd .. +make distclean diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/configure.ac b/mingw/share/doc/gettext/examples/hello-java-qtjambi/configure.ac new file mode 100644 index 00000000..f62d652b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/configure.ac @@ -0,0 +1,69 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(Hello.java) +AM_INIT_AUTOMAKE(hello-java-qtjambi, 0) + +dnl Check whether we can build native executable. +dnl This does currently not work, since QtJambi requires a Java >= 1.5. +dnl AC_ARG_ENABLE(java-exe, +dnl [ --enable-java-exe compile Java to native code, not to bytecode], +dnl :, enable_java_exe=no) +dnl gt_GCJ +dnl if test "$enable_java_exe" != no && test -n "$HAVE_GCJ"; then +dnl BUILDJAVAEXE=yes +dnl else +dnl BUILDJAVAEXE=no +dnl fi +BUILDJAVAEXE=no +AC_SUBST(BUILDJAVAEXE) +AM_CONDITIONAL([USEJEXE], [test $BUILDJAVAEXE = yes]) +AC_PROG_RANLIB + +dnl Check whether we can execute Java programs. +gt_JAVAEXEC([Test15], [$srcdir/m4]) +dnl Check whether we can build Java programs. +gt_JAVACOMP([1.5], [1.5]) +AC_CHECK_PROG(JAR, jar, jar) +if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then + BUILDJAVA=yes +else + BUILDJAVA=no +fi +AC_SUBST(BUILDJAVA) +if test -n "$HAVE_JAVAEXEC" && test $BUILDJAVA = yes; then + TESTJAVA=yes +else + TESTJAVA=no +fi +AC_SUBST(TESTJAVA) + +dnl Checks for compiler output filename suffixes. +AC_OBJEXT +AC_EXEEXT + +dnl Checks for needed libraries. +AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_LIBINTL_JAR], [gettext], + [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/share/gettext/libintl.jar; }]) +if test -z "$GETTEXT_WITH_LIBINTL_JAR"; then + echo "Required library libintl.jar not found." 1>&2 + exit 1 +fi +changequote(,)dnl +basedir=`echo "$GETTEXT_WITH_LIBINTL_JAR" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'` +changequote([, ])dnl +LIBINTL_JAR="$basedir"/share/gettext/libintl.jar +AC_SUBST([LIBINTL_JAR]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([javacomp.sh]) +AC_CONFIG_FILES([javaexec.sh]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Makefile.am new file mode 100644 index 00000000..62ed854e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + gcj.m4 javacomp.m4 javaexec.m4 Test15.java Test15.class diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.class b/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.class new file mode 100644 index 0000000000000000000000000000000000000000..17812cc32b2b7d14738b2675e19e0a216660730b GIT binary patch literal 1125 zcwU85O;Zy=5PicgY_co{!iRu}paKceL{vlxA7U^VjbK#}N<3}CBpE8%P`jHbcmIM1 zEf1C#u5y8tmX>FKg}+4Y*ZFJ+G&GUiZv=|M}@FfC)U-(S>0how%ssl8(z5 z@nKZzF&!a z3a>G!iOMEt2&9F@m#gJ0w^z+*p4?!;tN zE;Z1N9s}nvz|eUVyIQm>FC3HEuhk4NN1hVaC8L z<_yf^u7(8z_mD8Ki2E9n2A1%^Knf2T3@=fw9JS0cu~C+mpBi|C^dACVF$=bB?#PO$ zsSUae?MM7pvRgdo9)mJFj?2r`TmDjzM-8Q9CtC~LePUO(x$W*SjD}9>_etn@UJoN0 zC2kemqIb3_n&yh8y>Pfu;#l(%6FP&7?&gP3ybxrPVsrU~?TUX=QdGvJdS8 z1|tLe@YUgei#E?}kG_ZhRTJC&^&_GXpx4p54vA?Qa^O zLjRseLWSmWmb9jE#v`W^F^z_ghJjWDNp_KM0s%~+oi1kwR;c1NLN}?}BGs$Q$ABiU elp)gc^L<9gvjYS_{!@4_^#!zMkY*P=Yv?xwxbv+5 literal 0 HcwPel00001 diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.java b/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.java new file mode 100644 index 00000000..f4bcd2c7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/m4/Test15.java @@ -0,0 +1,26 @@ +// Test for Java 1.5 or newer. +import java.util.*; +public class Test15 { + public static void main (String[] args) { + try { + foo(); + } catch (Throwable e) { + System.exit(1); + } + // Check the JVM version is at least 1.5. + String version = System.getProperty("java.specification.version"); + int i = 0; + while (i < version.length() + && (Character.isDigit(version.charAt(i)) || version.charAt(i)=='.')) + i++; + float fversion = Float.valueOf(version.substring(0,i)); + if (!(fversion >= 1.5f)) System.exit(1); + // Check the VM is not GNU libgcj. + String vm = System.getProperty("java.vm.name"); + if (vm.startsWith("GNU")) System.exit(1); + System.exit(0); + } + private static List foo() { + return new ArrayList(); + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/Makefile.am new file mode 100644 index 00000000..b8cf04bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/Makefile.am @@ -0,0 +1,271 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + Hello.java + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGCAT = msgcat +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) +PROPERTIESFILES = @PROPERTIESFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) +CLASSFILES = @CLASSFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(DOMAIN)_$(lang).properties) +CATALOGS = @JAVACATALOGS@ + +SUFFIXES = .po .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: stamp-po + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(PROPERTIESFILES) are +# empty. In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + $(MAKE) update-properties + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + +MAINTAINERCLEANFILES = stamp-po + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-properties + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-properties: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ + echo "$(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ + $(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + mv $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(top_srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + done + +# Alternatively, we could create classes instead of properties files. +update-classes: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + done + +echo-catalogs: + @echo $(CATALOGS) diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/af.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/af.po new file mode 100644 index 00000000..27191a4c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Hierdie program loop as prosesnommer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ast.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ast.po new file mode 100644 index 00000000..445814b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: Hello.java:34 +#, fuzzy, java-format +msgid "This program is running as process number {0}." +msgstr "Esti programa ta corriendo como'l procesu númberu {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/bg.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/bg.po new file mode 100644 index 00000000..b5ac92ef --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-java-qtjambi package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-qtjambi 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Програмата е запусната под процес номер {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ca.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ca.po new file mode 100644 index 00000000..1e92c542 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-java-qtjambi. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Aquest programa està corrent amb el número de procés {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/de.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/de.po new file mode 100644 index 00000000..5861bc9a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-java-qtjambi. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/el.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/el.po new file mode 100644 index 00000000..b476c236 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-java-qtjambi +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/eo.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/eo.po new file mode 100644 index 00000000..fde84846 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/es.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/es.po new file mode 100644 index 00000000..03a09118 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está corriendo como el proceso número {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fi.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fi.po new file mode 100644 index 00000000..8fc6c9e2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tämän ohjelman prosessinumero on {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fr.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fr.po new file mode 100644 index 00000000..c5c94a72 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-qtjambi 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ce programme est exécuté en tant que processus numéro {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ga.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ga.po new file mode 100644 index 00000000..fc694307 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-java-qtjambi. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tá an clár seo á rith mar phróiseas {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/hu.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/hu.po new file mode 100644 index 00000000..6a503539 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-java-qtjambi. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ez a program a {0} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/id.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/id.po new file mode 100644 index 00000000..87f887d7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-java-qtjambi-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini berjalan sebagai proses nomor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/it.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/it.po new file mode 100644 index 00000000..7e4db313 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-java-qtjambi. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Questo programma è in esecuzione con numero di processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ja.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ja.po new file mode 100644 index 00000000..031b50cb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-java-qtjambi' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-qtjambi 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ky.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ky.po new file mode 100644 index 00000000..9fe2538e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-java-qtjambi' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Бул программа {0} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/lv.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/lv.po new file mode 100644 index 00000000..8b1431c1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-java-qtjambi +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Šī programma darbojas kā process ar numuru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ms.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ms.po new file mode 100644 index 00000000..aef7079b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ms.po @@ -0,0 +1,26 @@ +# hello-java-qtjambi Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/mt.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/mt.po new file mode 100644 index 00000000..8db349c2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/mt.po @@ -0,0 +1,25 @@ +# hello-java-qtjambi-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/nl.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/nl.po new file mode 100644 index 00000000..7513e964 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-java-qtjambi-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dit programma draait als proces nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pl.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pl.po new file mode 100644 index 00000000..e12498f2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-java-qtjambi domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ten program działa jako proces o numerze {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pt.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pt.po new file mode 100644 index 00000000..b50f7716 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-java-qtjambi' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está a ser executado com o número de processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ro.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ro.po new file mode 100644 index 00000000..b31870a6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-java-qtjambi-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java-qtjambi. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Acest program este rulat ca procesul numãrul {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ru.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ru.po new file mode 100644 index 00000000..6b74d516 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-java-qtjambi-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sk.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sk.po new file mode 100644 index 00000000..a38d6b5b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-java-qtjambi package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-java-qtjambi package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-qtjambi 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tento program beží ako proces s číslom {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sl.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sl.po new file mode 100644 index 00000000..9a8c6d3d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ta program teče kot proces številka {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sr.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sr.po new file mode 100644 index 00000000..dd985203 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-java-qtjambi. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-java-qtjambi' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Овај програм се извршава као процес број {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sv.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sv.po new file mode 100644 index 00000000..64973f9d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-java-qtjambi. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Detta program kör som process nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/tr.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/tr.po new file mode 100644 index 00000000..94d0a938 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Bu yazılım, {0} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/uk.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/uk.po new file mode 100644 index 00000000..79a813a1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-java-qtjambi +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ця програма виконується як процес з номером {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/vi.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/vi.po new file mode 100644 index 00000000..294c2780 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_CN.po new file mode 100644 index 00000000..fd31a4cd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-java-qtjambi. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-qtjambi package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "世界你好!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "此程序正以进程号 {0} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_HK.po new file mode 100644 index 00000000..28f04c55 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-java-qtjambi. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "你好!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_TW.po new file mode 100644 index 00000000..6061ef3a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-qtjambi/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-java-qtjambi. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-qtjambi 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:27 +msgid "Hello, world!" +msgstr "您好!" + +#: Hello.java:34 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/BUGS b/mingw/share/doc/gettext/examples/hello-java-swing/BUGS new file mode 100644 index 00000000..085ef9e1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/BUGS @@ -0,0 +1,5 @@ +Correct display of characters depends on the JVM and its locale-dependent font +configuration. For example, on Linux/x86, in + Sun JDK 1.3.1 de_DE, zh_CN work + IBM JDK 1.3.0 de_DE, sr_YU work - ja_JP, zh_CN don't work (displays squares) + Sun JDK 1.4.2 de_DE, sr_YU work - ja_JP, zh_CN don't work (displays squares) diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/Hello.java b/mingw/share/doc/gettext/examples/hello-java-swing/Hello.java new file mode 100644 index 00000000..7bdef7ed --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/Hello.java @@ -0,0 +1,63 @@ +// Example for use of GNU gettext. +// This file is in the public domain. +// +// Source code of the Java/Swing program. + +import java.util.*; +import java.io.*; +import java.text.*; +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import gnu.gettext.*; + +public class Hello { + public static void main (String[] args) { + ResourceBundle catalog = ResourceBundle.getBundle("hello-java-swing"); + JFrame frame = new JFrame("Hello example"); + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + JLabel label1 = + new JLabel(GettextResource.gettext(catalog,"Hello, world!")); + JLabel label2 = + new JLabel( + MessageFormat.format( + GettextResource.gettext(catalog, + "This program is running as process number {0}."), + new Object[] { getPid() })); + JButton button = new JButton("OK"); + button.addActionListener( + new ActionListener() { + public void actionPerformed (ActionEvent event) { + System.exit(0); + } + }); + JPanel labels = new JPanel(); + labels.setLayout(new GridLayout(2, 1)); + labels.add(label1); + labels.add(label2); + JPanel buttons = new JPanel(); + buttons.setLayout(new FlowLayout(FlowLayout.RIGHT)); + buttons.add(button); + frame.getContentPane().setLayout(new BorderLayout()); + frame.getContentPane().add(labels, BorderLayout.CENTER); + frame.getContentPane().add(buttons, BorderLayout.SOUTH); + frame.pack(); + frame.setVisible(true); + } + + /* Return the process ID of the current process. */ + private static String getPid () { + try { + String[] args = new String[] { "/bin/sh", "-c", "echo $PPID" }; + Process p = Runtime.getRuntime().exec(args); + InputStream p_out = p.getInputStream(); + String s = (new BufferedReader(new InputStreamReader(p_out))).readLine(); + p.destroy(); + if (s != null) + return s; + } catch (IOException e) { + e.printStackTrace(); + } + return "???"; + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/INSTALL b/mingw/share/doc/gettext/examples/hello-java-swing/INSTALL new file mode 100644 index 00000000..79edfa77 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/INSTALL @@ -0,0 +1,12 @@ +This example relies on: + - a Java implementation with AWT and Swing + (i.e. when using Sun's JDK: at least JDK 1.2) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-swing/Makefile.am new file mode 100644 index 00000000..a83bdade --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/Makefile.am @@ -0,0 +1,165 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_JAVAPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = Hello.java +hello_CLASSES = Hello.class + +# The entry point of the 'hello' program. +hello_MAINCLASS = Hello + +# The link dependencies of the 'hello' program. +hello_JAVALIBS = @LIBINTL_JAR@ + +# The resources of the 'hello' program, excluding message catalogs, but +# including the fallback message catalog. +hello_RESOURCES = hello-java-swing.properties + +# Resources that are generated from PO files. +MAINTAINERCLEANFILES = hello-java-swing*.properties + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + + +# ----------------- General rules for compiling Java programs ----------------- + +jardir = $(datadir)/$(PACKAGE) +pkgdatadir = $(datadir)/$(PACKAGE) +pkglibdir = $(libdir)/$(PACKAGE) + +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +JAR = @JAR@ +JAVACOMP = $(SHELL) javacomp.sh +AR = ar +RANLIB = @RANLIB@ + +EXTRA_DIST += $(hello_SOURCES) +CLEANFILES = +DISTCLEANFILES = javacomp.sh javaexec.sh + + +if USEJEXE + + +# Rules for compiling Java programs as native code. + +all-local: $(hello_MAINCLASS)$(EXEEXT) hello-resources.jar hello.sh + +# Does not work yet with GCC 3.3. +#$(hello_MAINCLASS)$(EXEEXT): $(srcdir)/Hello.java +# CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) $(srcdir)/Hello.java $(hello_JAVALIBS) --main=$(hello_MAINCLASS) -o $@ + +$(hello_MAINCLASS)$(EXEEXT): Hello.$(OBJEXT) libintl.a + $(GCJ) $(GCJFLAGS) Hello.$(OBJEXT) libintl.a --main=$(hello_MAINCLASS) -o $@ + +Hello.$(OBJEXT): $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) -c $(srcdir)/Hello.java -o $@ + +libintl.a: + rm -rf tmpdir + mkdir tmpdir + cd tmpdir && $(JAR) xf @LIBINTL_JAR@ && \ + for f in `find . -name '*.class' -print`; do \ + $(GCJ) $(GCJFLAGS) -c $$f -o `echo $$f | sed -e 's,^\./,,' -e 's,\.class$$,,' -e 's,/,.,g'`.$(OBJEXT) || exit 1; \ + done && \ + rm -f ../libintl.a && \ + ar cru ../libintl.a `find . -name '*.$(OBJEXT)' -print` + rm -rf tmpdir + $(RANLIB) $@ + +hello-resources.jar: + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cf $@ $(hello_RESOURCES) $$catalogs + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello-resources.jar'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec '$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)' \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(hello_MAINCLASS)$(EXEEXT) $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello-resources.jar $(DESTDIR)$(jardir)/hello-resources.jar + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(mkdir_p) $(DESTDIR)$(jardir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + rm -f $(DESTDIR)$(jardir)/hello-resources.jar + +CLEANFILES += $(hello_MAINCLASS)$(EXEEXT) *.$(OBJEXT) *.a tmpdir hello-resources.jar hello.sh + + +else + + +# Rules for compiling Java programs as jar libraries. +# This is the preferred mode during development, because you can easily test +# the program without installing it, simply by doing "java -jar hello.jar". + +all-local: hello.jar hello.sh + +hello.jar: $(hello_CLASSES) + { echo "Manifest-Version: 1.0"; echo "Main-Class: $(hello_MAINCLASS)"; echo 'Class-Path: @LIBINTL_JAR@'; } > Manifest.mf + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cfm $@ Manifest.mf Hello*.class $(hello_RESOURCES) $$catalogs + rm -f Manifest.mf + +Hello.class: $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(JAVACOMP) -d . $(srcdir)/Hello.java + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello.jar@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec /bin/sh '$(pkgdatadir)/javaexec.sh' $(hello_MAINCLASS) \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello.jar $(DESTDIR)$(jardir)/hello.jar + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + $(INSTALL_DATA) javaexec.sh $(DESTDIR)$(pkgdatadir)/javaexec.sh + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(jardir) + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(jardir)/hello.jar + rm -f $(DESTDIR)$(pkgdatadir)/javaexec.sh + +CLEANFILES += hello.jar Hello*.class Manifest.mf hello.sh + + +endif diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/autoclean.sh b/mingw/share/doc/gettext/examples/hello-java-swing/autoclean.sh new file mode 100644 index 00000000..9eb51640 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/autoclean.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Brought in by explicit copy. +rm -f m4/gcj.m4 +rm -f m4/javacomp.m4 +rm -f m4/javaexec.m4 +rm -f javacomp.sh.in +rm -f javaexec.sh.in + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f hello-java-swing*.properties diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/autogen.sh b/mingw/share/doc/gettext/examples/hello-java-swing/autogen.sh new file mode 100644 index 00000000..85683506 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/autogen.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/gcj.m4 m4/gcj.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javacomp.m4 m4/javacomp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javaexec.m4 m4/javaexec.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javacomp.sh.in javacomp.sh.in +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javaexec.sh.in javaexec.sh.in + +aclocal -I m4 + +autoconf + +automake -a -c + +./configure +cd po +make update-po +cd .. +make distclean diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/configure.ac b/mingw/share/doc/gettext/examples/hello-java-swing/configure.ac new file mode 100644 index 00000000..838224ce --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/configure.ac @@ -0,0 +1,67 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(Hello.java) +AM_INIT_AUTOMAKE(hello-java-swing, 0) + +dnl Check whether we can build native executable. +AC_ARG_ENABLE(java-exe, + [ --enable-java-exe compile Java to native code, not to bytecode], + :, enable_java_exe=no) +gt_GCJ +if test "$enable_java_exe" != no && test -n "$HAVE_GCJ"; then + BUILDJAVAEXE=yes +else + BUILDJAVAEXE=no +fi +AC_SUBST(BUILDJAVAEXE) +AM_CONDITIONAL([USEJEXE], [test $BUILDJAVAEXE = yes]) +AC_PROG_RANLIB + +dnl Check whether we can execute Java programs. +gt_JAVAEXEC([TestAWT], [$srcdir/m4]) +dnl Check whether we can build Java programs. +gt_JAVACOMP([1.3]) +AC_CHECK_PROG(JAR, jar, jar) +if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then + BUILDJAVA=yes +else + BUILDJAVA=no +fi +AC_SUBST(BUILDJAVA) +if test -n "$HAVE_JAVAEXEC" && test $BUILDJAVA = yes; then + TESTJAVA=yes +else + TESTJAVA=no +fi +AC_SUBST(TESTJAVA) + +dnl Checks for compiler output filename suffixes. +AC_OBJEXT +AC_EXEEXT + +dnl Checks for needed libraries. +AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_LIBINTL_JAR], [gettext], + [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/share/gettext/libintl.jar; }]) +if test -z "$GETTEXT_WITH_LIBINTL_JAR"; then + echo "Required library libintl.jar not found." 1>&2 + exit 1 +fi +changequote(,)dnl +basedir=`echo "$GETTEXT_WITH_LIBINTL_JAR" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'` +changequote([, ])dnl +LIBINTL_JAR="$basedir"/share/gettext/libintl.jar +AC_SUBST([LIBINTL_JAR]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([javacomp.sh]) +AC_CONFIG_FILES([javaexec.sh]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-swing/m4/Makefile.am new file mode 100644 index 00000000..26f6298a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + gcj.m4 javacomp.m4 javaexec.m4 TestAWT.java TestAWT.class diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.class b/mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.class new file mode 100644 index 0000000000000000000000000000000000000000..1c993c51eeedc42ef390988064abc493c36d649b GIT binary patch literal 449 zcwSvl%}xR_7@RK47S~lk5EbR%ZSepPfH5)tBqkd@uz`c81uGW!Cs~T<6M5z&@!$ja zP{ywtlxUNF(@tlm{rdU!{sEwch7Aiv8zq!Ewro^T<=Ez^F<8ekmgzl z7>b^Z#q~5Ah|~`TAu(nY$e5w#-g@KUDQJg5JZg7UD&tW{8|`i~O^4!AYO&*si8}53 zEiHAxQQ+8du!}v0%F6CPq{&RjbJQK|({HA_M!N$=?VDw*6@XQ6w9L;$qHYqi?wAZt{^28O0wX*6^NQq7vHnQl= EZ{lfI5dZ)H literal 0 HcwPel00001 diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.java b/mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.java new file mode 100644 index 00000000..21515fcf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/m4/TestAWT.java @@ -0,0 +1,11 @@ +// Test for working AWT. +public class TestAWT { + public static void main (String[] args) { + try { + java.awt.Toolkit.getDefaultToolkit(); + } catch (Throwable e) { + System.exit(1); + } + System.exit(0); + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-java-swing/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-java-swing/po/Makefile.am new file mode 100644 index 00000000..b8cf04bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/Makefile.am @@ -0,0 +1,271 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + Hello.java + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGCAT = msgcat +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) +PROPERTIESFILES = @PROPERTIESFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) +CLASSFILES = @CLASSFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(DOMAIN)_$(lang).properties) +CATALOGS = @JAVACATALOGS@ + +SUFFIXES = .po .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: stamp-po + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(PROPERTIESFILES) are +# empty. In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + $(MAKE) update-properties + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + +MAINTAINERCLEANFILES = stamp-po + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-properties + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-properties: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ + echo "$(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ + $(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + mv $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(top_srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + done + +# Alternatively, we could create classes instead of properties files. +update-classes: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + done + +echo-catalogs: + @echo $(CATALOGS) diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/af.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/af.po new file mode 100644 index 00000000..c0724c9a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Hierdie program loop as prosesnommer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ast.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ast.po new file mode 100644 index 00000000..d6322f12 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: Hello.java:25 +#, fuzzy, java-format +msgid "This program is running as process number {0}." +msgstr "Esti programa ta corriendo como'l procesu númberu {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/bg.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/bg.po new file mode 100644 index 00000000..fb9a5da2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-java-swing package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-swing 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Програмата е запусната под процес номер {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ca.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ca.po new file mode 100644 index 00000000..2043486f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-java-swing. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Aquest programa està corrent amb el número de procés {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/de.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/de.po new file mode 100644 index 00000000..b647d6cd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-java-swing. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/el.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/el.po new file mode 100644 index 00000000..2885b1c0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-java-swing +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/eo.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/eo.po new file mode 100644 index 00000000..0acfea85 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/es.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/es.po new file mode 100644 index 00000000..5cc09584 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está corriendo como el proceso número {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/fi.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/fi.po new file mode 100644 index 00000000..50742087 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tämän ohjelman prosessinumero on {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/fr.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/fr.po new file mode 100644 index 00000000..a9d483f7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-swing 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ce programme est exécuté en tant que processus numéro {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ga.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ga.po new file mode 100644 index 00000000..1d0b3097 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-java-swing. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tá an clár seo á rith mar phróiseas {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/hu.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/hu.po new file mode 100644 index 00000000..ee4e9051 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-java-swing. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ez a program a {0} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/id.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/id.po new file mode 100644 index 00000000..b73da23e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-java-swing-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini berjalan sebagai proses nomor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/it.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/it.po new file mode 100644 index 00000000..6f6f9402 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-java-swing. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Questo programma è in esecuzione con numero di processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ja.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ja.po new file mode 100644 index 00000000..9458c3de --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-java-swing' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-swing 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ky.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ky.po new file mode 100644 index 00000000..c19f0510 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-java-swing' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Бул программа {0} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/lv.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/lv.po new file mode 100644 index 00000000..aecfb698 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-java-swing +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Šī programma darbojas kā process ar numuru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ms.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ms.po new file mode 100644 index 00000000..563c5b17 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ms.po @@ -0,0 +1,26 @@ +# hello-java-swing Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/mt.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/mt.po new file mode 100644 index 00000000..0631dbc5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/mt.po @@ -0,0 +1,25 @@ +# hello-java-swing-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/nl.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/nl.po new file mode 100644 index 00000000..820db120 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-java-swing-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dit programma draait als proces nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/pl.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/pl.po new file mode 100644 index 00000000..3867f5d7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-java-swing domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ten program działa jako proces o numerze {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/pt.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/pt.po new file mode 100644 index 00000000..a566b0c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-java-swing' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está a ser executado com o número de processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ro.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ro.po new file mode 100644 index 00000000..9e382a41 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-java-swing-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java-swing. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Acest program este rulat ca procesul numãrul {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/ru.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/ru.po new file mode 100644 index 00000000..b9561330 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-java-swing-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/sk.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/sk.po new file mode 100644 index 00000000..52212def --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-java-swing package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-java-swing package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java-swing 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tento program beží ako proces s číslom {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/sl.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/sl.po new file mode 100644 index 00000000..744f53b0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ta program teče kot proces številka {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/sr.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/sr.po new file mode 100644 index 00000000..7d76731e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-java-swing. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-java-swing' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Овај програм се извршава као процес број {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/sv.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/sv.po new file mode 100644 index 00000000..91c0a414 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-java-swing. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Detta program kör som process nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/tr.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/tr.po new file mode 100644 index 00000000..3e71f6af --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Bu yazılım, {0} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/uk.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/uk.po new file mode 100644 index 00000000..4a4dba31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-java-swing +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ця програма виконується як процес з номером {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/vi.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/vi.po new file mode 100644 index 00000000..8b326e91 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_CN.po new file mode 100644 index 00000000..8b82f891 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-java-swing. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java-swing package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "世界你好!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "此程序正以进程号 {0} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_HK.po new file mode 100644 index 00000000..b4a9a60f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-java-swing. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "你好!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_TW.po new file mode 100644 index 00000000..4a8e0b73 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java-swing/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-java-swing. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-swing 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:20 +msgid "Hello, world!" +msgstr "您好!" + +#: Hello.java:25 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java/Hello.java b/mingw/share/doc/gettext/examples/hello-java/Hello.java new file mode 100644 index 00000000..bb4c5b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/Hello.java @@ -0,0 +1,37 @@ +// Example for use of GNU gettext. +// This file is in the public domain. +// +// Source code of the Java program. + +import java.util.*; +import java.io.*; +import java.text.*; +import gnu.gettext.*; + +public class Hello { + public static void main (String[] args) { + ResourceBundle catalog = ResourceBundle.getBundle("hello-java"); + System.out.println(GettextResource.gettext(catalog,"Hello, world!")); + System.out.println( + MessageFormat.format( + GettextResource.gettext(catalog, + "This program is running as process number {0}."), + new Object[] { getPid() })); + } + + /* Return the process ID of the current process. */ + private static String getPid () { + try { + String[] args = new String[] { "/bin/sh", "-c", "echo $PPID" }; + Process p = Runtime.getRuntime().exec(args); + InputStream p_out = p.getInputStream(); + String s = (new BufferedReader(new InputStreamReader(p_out))).readLine(); + p.destroy(); + if (s != null) + return s; + } catch (IOException e) { + e.printStackTrace(); + } + return "???"; + } +} diff --git a/mingw/share/doc/gettext/examples/hello-java/INSTALL b/mingw/share/doc/gettext/examples/hello-java/INSTALL new file mode 100644 index 00000000..99cf9c80 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - a Java implementation + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-java/Makefile.am b/mingw/share/doc/gettext/examples/hello-java/Makefile.am new file mode 100644 index 00000000..0852d2c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/Makefile.am @@ -0,0 +1,165 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_JAVAPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = Hello.java +hello_CLASSES = Hello.class + +# The entry point of the 'hello' program. +hello_MAINCLASS = Hello + +# The link dependencies of the 'hello' program. +hello_JAVALIBS = @LIBINTL_JAR@ + +# The resources of the 'hello' program, excluding message catalogs, but +# including the fallback message catalog. +hello_RESOURCES = hello-java.properties + +# Resources that are generated from PO files. +MAINTAINERCLEANFILES = hello-java*.properties + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + + +# ----------------- General rules for compiling Java programs ----------------- + +jardir = $(datadir)/$(PACKAGE) +pkgdatadir = $(datadir)/$(PACKAGE) +pkglibdir = $(libdir)/$(PACKAGE) + +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +JAR = @JAR@ +JAVACOMP = $(SHELL) javacomp.sh +AR = ar +RANLIB = @RANLIB@ + +EXTRA_DIST += $(hello_SOURCES) +CLEANFILES = +DISTCLEANFILES = javacomp.sh javaexec.sh + + +if USEJEXE + + +# Rules for compiling Java programs as native code. + +all-local: $(hello_MAINCLASS)$(EXEEXT) hello-resources.jar hello.sh + +# Does not work yet with GCC 3.3. +#$(hello_MAINCLASS)$(EXEEXT): $(srcdir)/Hello.java +# CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) $(srcdir)/Hello.java $(hello_JAVALIBS) --main=$(hello_MAINCLASS) -o $@ + +$(hello_MAINCLASS)$(EXEEXT): Hello.$(OBJEXT) libintl.a + $(GCJ) $(GCJFLAGS) Hello.$(OBJEXT) libintl.a --main=$(hello_MAINCLASS) -o $@ + +Hello.$(OBJEXT): $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) -c $(srcdir)/Hello.java -o $@ + +libintl.a: + rm -rf tmpdir + mkdir tmpdir + cd tmpdir && $(JAR) xf @LIBINTL_JAR@ && \ + for f in `find . -name '*.class' -print`; do \ + $(GCJ) $(GCJFLAGS) -c $$f -o `echo $$f | sed -e 's,^\./,,' -e 's,\.class$$,,' -e 's,/,.,g'`.$(OBJEXT) || exit 1; \ + done && \ + rm -f ../libintl.a && \ + ar cru ../libintl.a `find . -name '*.$(OBJEXT)' -print` + rm -rf tmpdir + $(RANLIB) $@ + +hello-resources.jar: + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cf $@ $(hello_RESOURCES) $$catalogs + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello-resources.jar'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec '$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)' \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(hello_MAINCLASS)$(EXEEXT) $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello-resources.jar $(DESTDIR)$(jardir)/hello-resources.jar + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + $(mkdir_p) $(DESTDIR)$(pkglibdir) + $(mkdir_p) $(DESTDIR)$(jardir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT) + rm -f $(DESTDIR)$(jardir)/hello-resources.jar + +CLEANFILES += $(hello_MAINCLASS)$(EXEEXT) *.$(OBJEXT) *.a tmpdir hello-resources.jar hello.sh + + +else + + +# Rules for compiling Java programs as jar libraries. +# This is the preferred mode during development, because you can easily test +# the program without installing it, simply by doing "java -jar hello.jar". + +all-local: hello.jar hello.sh + +hello.jar: $(hello_CLASSES) + { echo "Manifest-Version: 1.0"; echo "Main-Class: $(hello_MAINCLASS)"; echo 'Class-Path: @LIBINTL_JAR@'; } > Manifest.mf + catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \ + $(JAR) cfm $@ Manifest.mf Hello*.class $(hello_RESOURCES) $$catalogs + rm -f Manifest.mf + +Hello.class: $(srcdir)/Hello.java + CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(JAVACOMP) -d . $(srcdir)/Hello.java + +hello.sh: + { echo '#!/bin/sh'; \ + echo "CLASSPATH='$(jardir)/hello.jar@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \ + echo "export CLASSPATH"; \ + echo "exec /bin/sh '$(pkgdatadir)/javaexec.sh' $(hello_MAINCLASS) \"\$$@\""; \ + } > $@ + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello + +install-data-local: all-local + $(mkdir_p) $(DESTDIR)$(jardir) + $(INSTALL_DATA) hello.jar $(DESTDIR)$(jardir)/hello.jar + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + $(INSTALL_DATA) javaexec.sh $(DESTDIR)$(pkgdatadir)/javaexec.sh + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(jardir) + $(mkdir_p) $(DESTDIR)$(pkgdatadir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello + rm -f $(DESTDIR)$(jardir)/hello.jar + rm -f $(DESTDIR)$(pkgdatadir)/javaexec.sh + +CLEANFILES += hello.jar Hello*.class Manifest.mf hello.sh + + +endif diff --git a/mingw/share/doc/gettext/examples/hello-java/autoclean.sh b/mingw/share/doc/gettext/examples/hello-java/autoclean.sh new file mode 100644 index 00000000..50f9bcaa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/autoclean.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Brought in by explicit copy. +rm -f m4/gcj.m4 +rm -f m4/javacomp.m4 +rm -f m4/javaexec.m4 +rm -f javacomp.sh.in +rm -f javaexec.sh.in + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f hello-java*.properties diff --git a/mingw/share/doc/gettext/examples/hello-java/autogen.sh b/mingw/share/doc/gettext/examples/hello-java/autogen.sh new file mode 100644 index 00000000..85683506 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/autogen.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/gcj.m4 m4/gcj.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javacomp.m4 m4/javacomp.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-m4}/javaexec.m4 m4/javaexec.m4 +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javacomp.sh.in javacomp.sh.in +cp -p ${EXAMPLESCONFIGDIR-$GETTEXT_TOPSRCDIR/build-aux}/javaexec.sh.in javaexec.sh.in + +aclocal -I m4 + +autoconf + +automake -a -c + +./configure +cd po +make update-po +cd .. +make distclean diff --git a/mingw/share/doc/gettext/examples/hello-java/configure.ac b/mingw/share/doc/gettext/examples/hello-java/configure.ac new file mode 100644 index 00000000..030c636b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/configure.ac @@ -0,0 +1,67 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(Hello.java) +AM_INIT_AUTOMAKE(hello-java, 0) + +dnl Check whether we can build native executable. +AC_ARG_ENABLE(java-exe, + [ --disable-java-exe compile Java to bytecode only, not to native code], + :, enable_java_exe=yes) +gt_GCJ +if test "$enable_java_exe" != no && test -n "$HAVE_GCJ"; then + BUILDJAVAEXE=yes +else + BUILDJAVAEXE=no +fi +AC_SUBST(BUILDJAVAEXE) +AM_CONDITIONAL([USEJEXE], [test "$BUILDJAVAEXE" = yes]) +AC_PROG_RANLIB + +dnl Check whether we can execute Java programs. +gt_JAVAEXEC +dnl Check whether we can build Java programs. +gt_JAVACOMP([1.3]) +AC_CHECK_PROG(JAR, jar, jar) +if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then + BUILDJAVA=yes +else + BUILDJAVA=no +fi +AC_SUBST(BUILDJAVA) +if test -n "$HAVE_JAVAEXEC" && test $BUILDJAVA = yes; then + TESTJAVA=yes +else + TESTJAVA=no +fi +AC_SUBST(TESTJAVA) + +dnl Checks for compiler output filename suffixes. +AC_OBJEXT +AC_EXEEXT + +dnl Checks for needed libraries. +AM_PATH_PROG_WITH_TEST([GETTEXT_WITH_LIBINTL_JAR], [gettext], + [{ basedir=`echo "$ac_dir" | sed -e 's,/bin$,,'`; test -r "$basedir"/share/gettext/libintl.jar; }]) +if test -z "$GETTEXT_WITH_LIBINTL_JAR"; then + echo "Required library libintl.jar not found." 1>&2 + exit 1 +fi +changequote(,)dnl +basedir=`echo "$GETTEXT_WITH_LIBINTL_JAR" | sed -e 's,/[^/]*$,,' | sed -e 's,/bin$,,'` +changequote([, ])dnl +LIBINTL_JAR="$basedir"/share/gettext/libintl.jar +AC_SUBST([LIBINTL_JAR]) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([javacomp.sh]) +AC_CONFIG_FILES([javaexec.sh]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-java/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-java/m4/Makefile.am new file mode 100644 index 00000000..20c951f9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/m4/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = \ + nls.m4 po.m4 \ + gcj.m4 javacomp.m4 javaexec.m4 diff --git a/mingw/share/doc/gettext/examples/hello-java/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-java/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-java/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-java/po/Makefile.am new file mode 100644 index 00000000..c651bc79 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/Makefile.am @@ -0,0 +1,271 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + Hello.java + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGCAT = msgcat +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) +PROPERTIESFILES = @PROPERTIESFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) +CLASSFILES = @CLASSFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(DOMAIN)_$(lang).properties) +CATALOGS = @JAVACATALOGS@ + +SUFFIXES = .po .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: stamp-po + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(PROPERTIESFILES) are +# empty. In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test -z "$(PROPERTIESFILES)" || $(MAKE) $(PROPERTIESFILES) \ + $(MAKE) update-properties + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + +MAINTAINERCLEANFILES = stamp-po + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-properties + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-properties: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -o /dev/null $(srcdir)/$${lang}.po || exit 1; \ + echo "$(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties $(srcdir)/$${lang}.po"; \ + $(MSGCAT) --properties-output -o $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(srcdir)/$${lang}.po || exit 1; \ + mv $(top_srcdir)/$(DOMAIN)_$$lang.properties.tmp $(top_srcdir)/$(DOMAIN)_$$lang.properties || exit 1; \ + done + +# Alternatively, we could create classes instead of properties files. +update-classes: Makefile $(DOMAIN).pot $(POFILES) + @echo "$(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties"; \ + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l en --properties-output -o $(top_srcdir)/$(DOMAIN).properties || { rm -f $(top_srcdir)/$(DOMAIN).properties; exit 1; } + @for f in $(POFILES); do \ + lang=`echo $$f | sed -e 's,.*/,,' -e 's,\.po$$,,'`; \ + echo "$(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po"; \ + $(GMSGFMT) -c --statistics --verbose -j -d $(top_srcdir) -r $(DOMAIN) -l $${lang} $(srcdir)/$${lang}.po || exit 1; \ + done + +echo-catalogs: + @echo $(CATALOGS) diff --git a/mingw/share/doc/gettext/examples/hello-java/po/af.po b/mingw/share/doc/gettext/examples/hello-java/po/af.po new file mode 100644 index 00000000..ef46c7e4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Hierdie program loop as prosesnommer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ast.po b/mingw/share/doc/gettext/examples/hello-java/po/ast.po new file mode 100644 index 00000000..a0633b7e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: Hello.java:18 +#, fuzzy, java-format +msgid "This program is running as process number {0}." +msgstr "Esti programa ta corriendo como'l procesu númberu {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/bg.po b/mingw/share/doc/gettext/examples/hello-java/po/bg.po new file mode 100644 index 00000000..edef07d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-java package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Програмата е запусната под процес номер {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ca.po b/mingw/share/doc/gettext/examples/hello-java/po/ca.po new file mode 100644 index 00000000..818724f8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-java. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Aquest programa està corrent amb el número de procés {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/de.po b/mingw/share/doc/gettext/examples/hello-java/po/de.po new file mode 100644 index 00000000..fb921f5d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-java. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dieses Programm läuft mit der Prozess-Nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/el.po b/mingw/share/doc/gettext/examples/hello-java/po/el.po new file mode 100644 index 00000000..e8c52b38 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-java +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/eo.po b/mingw/share/doc/gettext/examples/hello-java/po/eo.po new file mode 100644 index 00000000..61591ea2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/es.po b/mingw/share/doc/gettext/examples/hello-java/po/es.po new file mode 100644 index 00000000..28c91834 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está corriendo como el proceso número {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/fi.po b/mingw/share/doc/gettext/examples/hello-java/po/fi.po new file mode 100644 index 00000000..fd96ca5b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tämän ohjelman prosessinumero on {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/fr.po b/mingw/share/doc/gettext/examples/hello-java/po/fr.po new file mode 100644 index 00000000..a06e3edd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ce programme est exécuté en tant que processus numéro {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ga.po b/mingw/share/doc/gettext/examples/hello-java/po/ga.po new file mode 100644 index 00000000..5481350b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-java. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tá an clár seo á rith mar phróiseas {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/hu.po b/mingw/share/doc/gettext/examples/hello-java/po/hu.po new file mode 100644 index 00000000..e12ff9b9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-java. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ez a program a {0} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/id.po b/mingw/share/doc/gettext/examples/hello-java/po/id.po new file mode 100644 index 00000000..14825176 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-java-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini berjalan sebagai proses nomor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/it.po b/mingw/share/doc/gettext/examples/hello-java/po/it.po new file mode 100644 index 00000000..29d3b3f9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-java. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Questo programma è in esecuzione con numero di processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ja.po b/mingw/share/doc/gettext/examples/hello-java/po/ja.po new file mode 100644 index 00000000..ea28ba66 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-java' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {0} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ky.po b/mingw/share/doc/gettext/examples/hello-java/po/ky.po new file mode 100644 index 00000000..74859ce7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-java' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Бул программа {0} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/lv.po b/mingw/share/doc/gettext/examples/hello-java/po/lv.po new file mode 100644 index 00000000..213dc08a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-java +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Šī programma darbojas kā process ar numuru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ms.po b/mingw/share/doc/gettext/examples/hello-java/po/ms.po new file mode 100644 index 00000000..b6aff539 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ms.po @@ -0,0 +1,26 @@ +# hello-java Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/mt.po b/mingw/share/doc/gettext/examples/hello-java/po/mt.po new file mode 100644 index 00000000..a04bbe70 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/mt.po @@ -0,0 +1,25 @@ +# hello-java-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/nl.po b/mingw/share/doc/gettext/examples/hello-java/po/nl.po new file mode 100644 index 00000000..e3fc7088 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-java-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Dit programma draait als proces nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/pl.po b/mingw/share/doc/gettext/examples/hello-java/po/pl.po new file mode 100644 index 00000000..454751db --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-java domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-java-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ten program działa jako proces o numerze {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/pt.po b/mingw/share/doc/gettext/examples/hello-java/po/pt.po new file mode 100644 index 00000000..6fbb1170 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-java' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Este programa está a ser executado com o número de processo {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ro.po b/mingw/share/doc/gettext/examples/hello-java/po/ro.po new file mode 100644 index 00000000..d49338d8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-java-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-java. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Acest program este rulat ca procesul numãrul {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/ru.po b/mingw/share/doc/gettext/examples/hello-java/po/ru.po new file mode 100644 index 00000000..2167a392 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-java-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/sk.po b/mingw/share/doc/gettext/examples/hello-java/po/sk.po new file mode 100644 index 00000000..280ab4fa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-java package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-java package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-java 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Tento program beží ako proces s číslom {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/sl.po b/mingw/share/doc/gettext/examples/hello-java/po/sl.po new file mode 100644 index 00000000..7b91d76b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ta program teče kot proces številka {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/sr.po b/mingw/share/doc/gettext/examples/hello-java/po/sr.po new file mode 100644 index 00000000..0ba59f02 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-java. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-java' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Овај програм се извршава као процес број {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/sv.po b/mingw/share/doc/gettext/examples/hello-java/po/sv.po new file mode 100644 index 00000000..b1e95bec --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-java. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Detta program kör som process nummer {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/tr.po b/mingw/share/doc/gettext/examples/hello-java/po/tr.po new file mode 100644 index 00000000..3ae618f5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Bu yazılım, {0} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/uk.po b/mingw/share/doc/gettext/examples/hello-java/po/uk.po new file mode 100644 index 00000000..11e4e4cc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-java +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-java package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Ця програма виконується як процес з номером {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/vi.po b/mingw/share/doc/gettext/examples/hello-java/po/vi.po new file mode 100644 index 00000000..99c9a7cd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {0}." diff --git a/mingw/share/doc/gettext/examples/hello-java/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-java/po/zh_CN.po new file mode 100644 index 00000000..2343849e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-java. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-java package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "世界你好!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "此程序正以进程号 {0} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-java/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-java/po/zh_HK.po new file mode 100644 index 00000000..9fbd419f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-java. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "你好!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-java/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-java/po/zh_TW.po new file mode 100644 index 00000000..184a9890 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-java/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-java. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-java 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.java:14 +msgid "Hello, world!" +msgstr "您好!" + +#: Hello.java:18 +#, java-format +msgid "This program is running as process number {0}." +msgstr "本程式正在執行中,進程編號為 {0}。" diff --git a/mingw/share/doc/gettext/examples/hello-librep/INSTALL b/mingw/share/doc/gettext/examples/hello-librep/INSTALL new file mode 100644 index 00000000..c9970d8b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/INSTALL @@ -0,0 +1,10 @@ +This example relies on librep. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-librep/Makefile.am b/mingw/share/doc/gettext/examples/hello-librep/Makefile.am new file mode 100644 index 00000000..86f07086 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Compilation of librep programs. +SUFFIXES = .jl .jlc +.jl.jlc: + rep --batch --no-rc -l compiler -f compile-batch $< +CLEANFILES = *.jlc + +# Making a librep program executable. +hello: hello.jlc + (echo '#!@REP@'; echo '!#'; cat $<) > $@ + chmod a+x $@ +CLEANFILES += hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-librep/autoclean.sh b/mingw/share/doc/gettext/examples/hello-librep/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-librep/autogen.sh b/mingw/share/doc/gettext/examples/hello-librep/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-librep/configure.ac b/mingw/share/doc/gettext/examples/hello-librep/configure.ac new file mode 100644 index 00000000..b29e6227 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/configure.ac @@ -0,0 +1,38 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.jl.in) +AM_INIT_AUTOMAKE(hello-librep, 0) + +dnl Check for availability of the librep interpreter. +AC_PATH_PROG(REP, rep) +if test -z "$REP"; then + echo "*** Essential program rep not found" 1>&2 + exit 1 +fi +AC_SUBST(REP) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile hello.jl]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-librep/hello.jl.in b/mingw/share/doc/gettext/examples/hello-librep/hello.jl.in new file mode 100644 index 00000000..2d321ca4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/hello.jl.in @@ -0,0 +1,16 @@ +#| Example for use of GNU gettext. + This file is in the public domain. + + Source code of the librep program. +|# + +(require 'rep.i18n.gettext) + +(textdomain "hello-librep") +(bindtextdomain "hello-librep" "@localedir@") + +(write standard-output (_ "Hello, world!")) +(write standard-output "\n") +(format standard-output (_ "This program is running as process number %d.") + (process-id)) +(write standard-output "\n") diff --git a/mingw/share/doc/gettext/examples/hello-librep/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-librep/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-librep/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-librep/po/Makefile.am new file mode 100644 index 00000000..423f95cf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.jl.in + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/af.po b/mingw/share/doc/gettext/examples/hello-librep/po/af.po new file mode 100644 index 00000000..08def907 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ast.po b/mingw/share/doc/gettext/examples/hello-librep/po/ast.po new file mode 100644 index 00000000..bd1eb414 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/bg.po b/mingw/share/doc/gettext/examples/hello-librep/po/bg.po new file mode 100644 index 00000000..21e74554 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-librep package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-librep 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ca.po b/mingw/share/doc/gettext/examples/hello-librep/po/ca.po new file mode 100644 index 00000000..c524c6d6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-librep. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-librep package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/de.po b/mingw/share/doc/gettext/examples/hello-librep/po/de.po new file mode 100644 index 00000000..06cb0477 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-librep. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-librep package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/el.po b/mingw/share/doc/gettext/examples/hello-librep/po/el.po new file mode 100644 index 00000000..2ed0f4fd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-librep +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/eo.po b/mingw/share/doc/gettext/examples/hello-librep/po/eo.po new file mode 100644 index 00000000..55d26a00 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/es.po b/mingw/share/doc/gettext/examples/hello-librep/po/es.po new file mode 100644 index 00000000..f456aee4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/fi.po b/mingw/share/doc/gettext/examples/hello-librep/po/fi.po new file mode 100644 index 00000000..d734cc0d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/fr.po b/mingw/share/doc/gettext/examples/hello-librep/po/fr.po new file mode 100644 index 00000000..f6657b12 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-librep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ga.po b/mingw/share/doc/gettext/examples/hello-librep/po/ga.po new file mode 100644 index 00000000..34ec12a7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-librep. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-librep package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/hu.po b/mingw/share/doc/gettext/examples/hello-librep/po/hu.po new file mode 100644 index 00000000..5aadb4b5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-librep. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-librep package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/id.po b/mingw/share/doc/gettext/examples/hello-librep/po/id.po new file mode 100644 index 00000000..416ed9fd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-librep-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/it.po b/mingw/share/doc/gettext/examples/hello-librep/po/it.po new file mode 100644 index 00000000..b0fb8175 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-librep. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ja.po b/mingw/share/doc/gettext/examples/hello-librep/po/ja.po new file mode 100644 index 00000000..e0dcb7af --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-librep' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-librep package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-librep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ky.po b/mingw/share/doc/gettext/examples/hello-librep/po/ky.po new file mode 100644 index 00000000..eeacd150 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-librep' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/lv.po b/mingw/share/doc/gettext/examples/hello-librep/po/lv.po new file mode 100644 index 00000000..456db153 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-librep +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ms.po b/mingw/share/doc/gettext/examples/hello-librep/po/ms.po new file mode 100644 index 00000000..1330910b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ms.po @@ -0,0 +1,26 @@ +# hello-librep Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-librep package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/mt.po b/mingw/share/doc/gettext/examples/hello-librep/po/mt.po new file mode 100644 index 00000000..25f374f0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/mt.po @@ -0,0 +1,25 @@ +# hello-librep-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/nl.po b/mingw/share/doc/gettext/examples/hello-librep/po/nl.po new file mode 100644 index 00000000..da332edb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-librep-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-librep package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/pl.po b/mingw/share/doc/gettext/examples/hello-librep/po/pl.po new file mode 100644 index 00000000..4098ffa4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-librep domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-librep-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/pt.po b/mingw/share/doc/gettext/examples/hello-librep/po/pt.po new file mode 100644 index 00000000..3340e82d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-librep' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-librep package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ro.po b/mingw/share/doc/gettext/examples/hello-librep/po/ro.po new file mode 100644 index 00000000..8bf2d2af --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-librep-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-librep. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/ru.po b/mingw/share/doc/gettext/examples/hello-librep/po/ru.po new file mode 100644 index 00000000..77993eaf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-librep-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-librep package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/sk.po b/mingw/share/doc/gettext/examples/hello-librep/po/sk.po new file mode 100644 index 00000000..6135772e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-librep package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-librep package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-librep 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/sl.po b/mingw/share/doc/gettext/examples/hello-librep/po/sl.po new file mode 100644 index 00000000..d808bdf6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/sr.po b/mingw/share/doc/gettext/examples/hello-librep/po/sr.po new file mode 100644 index 00000000..53fb12b7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-librep. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-librep' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/sv.po b/mingw/share/doc/gettext/examples/hello-librep/po/sv.po new file mode 100644 index 00000000..abbab5d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-librep. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/tr.po b/mingw/share/doc/gettext/examples/hello-librep/po/tr.po new file mode 100644 index 00000000..51ab6e70 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/uk.po b/mingw/share/doc/gettext/examples/hello-librep/po/uk.po new file mode 100644 index 00000000..3eeec5a5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-librep +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-librep package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/vi.po b/mingw/share/doc/gettext/examples/hello-librep/po/vi.po new file mode 100644 index 00000000..5ae805b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-librep/po/zh_CN.po new file mode 100644 index 00000000..d0d5f993 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-librep. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-librep package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-librep/po/zh_HK.po new file mode 100644 index 00000000..0057c017 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-librep. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-librep/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-librep/po/zh_TW.po new file mode 100644 index 00000000..94184dfe --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-librep/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-librep. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-librep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.jl.in:12 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.jl.in:14 +#, librep-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/INSTALL b/mingw/share/doc/gettext/examples/hello-objc-gnome/INSTALL new file mode 100644 index 00000000..1e82f28e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/INSTALL @@ -0,0 +1,19 @@ +This example relies on: + - the GNOME libraries (libgnomeui, libgnome, libgnomesupport, libart_lgpl) + and their dependencies: imlib (libgdk_imlib), audiofile (libaudiofile), + esound (libesd), zlib (libz). + - the GTK libraries (libgtk, libgdk) + - the glib libraries (libglib, libgmodule) + - the X11 libraries + - the GNOME / Objective C bindings (libobgnome) + - the GTK / Objective C bindings (libobgtk) + - the Objective C runtime libraries (libobjc) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/Makefile.am b/mingw/share/doc/gettext/examples/hello-objc-gnome/Makefile.am new file mode 100644 index 00000000..5756f6a7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.m + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +# Make sure the gnome.h include file is found. +AM_CPPFLAGS = $(OBGNOME_INCLUDES) $(GNOME_INCLUDEDIR) + +# Link time dependencies. +LDADD = $(GNOME_LIBDIR) $(GNOMEUI_LIBS) -lobgnome -lobgtk -lobjc @LIBINTL@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/autoclean.sh b/mingw/share/doc/gettext/examples/hello-objc-gnome/autoclean.sh new file mode 100644 index 00000000..2968f903 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/autoclean.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f config.rpath +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/autogen.sh b/mingw/share/doc/gettext/examples/hello-objc-gnome/autogen.sh new file mode 100644 index 00000000..7fc22837 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/autogen.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +autopoint -f # was: gettextize -f -c +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/configure.ac b/mingw/share/doc/gettext/examples/hello-objc-gnome/configure.ac new file mode 100644 index 00000000..9c64efe2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/configure.ac @@ -0,0 +1,29 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.m) +AM_INIT_AUTOMAKE(hello-objc-gnome, 0) + +AC_PROG_CC +AC_SUBST([OBJC],["$CC"]) +AC_SUBST([OBJCFLAGS],["$CFLAGS"]) + +GNOME_INIT +OBGNOME_INCLUDES= +obgnome_prefix=`obgnome-config --prefix` +if test -n "$obgnome_prefix"; then + OBGNOME_INCLUDES="-I $obgnome_prefix/include" +fi +AC_SUBST([OBGNOME_INCLUDES]) + +AC_CHECK_HEADERS([unistd.h]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/hello.m b/mingw/share/doc/gettext/examples/hello-objc-gnome/hello.m new file mode 100644 index 00000000..eb3a0bcc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/hello.m @@ -0,0 +1,88 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the Objective C program. */ + + +/* Get GNOME declarations. */ +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +static void +quit_callback (GtkWidget *widget, void *data) +{ + gtk_main_quit (); +} + +int +main (int argc, char *argv[]) +{ + Gnome_App *application; + Gtk_Window *window; + Gtk_VBox *panel; + Gtk_Label *label1; + Gtk_Alignment *label1aligned; + Gtk_Label *label2; + Gtk_Alignment *label2aligned; + Gtk_Button *button; + Gtk_ButtonBox *buttonbar; + + /* Initializations. */ + + application = [[Gnome_App alloc] initApp: PACKAGE : VERSION : argc : argv]; + textdomain ("hello-objc-gnome"); + bindtextdomain ("hello-objc-gnome", LOCALEDIR); + + /* Create the GUI elements. */ + + window = [[Gtk_Window alloc] initWithWindowInfo: GTK_WINDOW_TOPLEVEL]; + [window set_title: "Hello example"]; + [window realize]; + [window signal_connect: "delete_event" signalFunc: quit_callback funcData: NULL]; + + label1 = [[Gtk_Label alloc] initWithLabelInfo: _("Hello, world!")]; + + label1aligned = [[Gtk_Alignment alloc] initWithAlignmentInfo: 0.0 : 0.5 : 0 : 0]; + [label1aligned add: label1]; + + label2 = [[Gtk_Label alloc] initWithLabelInfo: g_strdup_printf (_("This program is running as process number %d."), getpid ())]; + + label2aligned = [[Gtk_Alignment alloc] initWithAlignmentInfo: 0.0 : 0.5 : 0 : 0]; + [label2aligned add: label2]; + + button = [Gtk_Button alloc]; + [button initWithLabel: "OK"]; + [button signal_connect: "clicked" signalFunc: quit_callback funcData: NULL]; + + buttonbar = [Gtk_HButtonBox new]; + [buttonbar set_layout: GTK_BUTTONBOX_END]; + [buttonbar pack_start_defaults: button]; + + panel = [[Gtk_VBox alloc] initWithVBoxInfo: FALSE : GNOME_PAD_SMALL]; + [panel pack_start_defaults: label1aligned]; + [panel pack_start_defaults: label2aligned]; + [panel pack_start_defaults: buttonbar]; + + [window add: panel]; + + /* Make the GUI elements visible. */ + + [label1 show]; + [label1aligned show]; + [label2 show]; + [label2aligned show]; + [button show]; + [buttonbar show]; + [panel show]; + [window show]; + + /* Start the event loop. */ + + gtk_main (); + + return 0; +} diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/Makefile.am new file mode 100644 index 00000000..dc63c0f2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/Makefile.am @@ -0,0 +1,6 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 \ + gnome.m4 gnome-gnorba-check.m4 gnome-orbit-check.m4 diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-gnorba-check.m4 b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-gnorba-check.m4 new file mode 100644 index 00000000..dbac0a6c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-gnorba-check.m4 @@ -0,0 +1,35 @@ +dnl +dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag) +dnl +dnl if failflag is "failure" it aborts if gnorba is not found. +dnl + +AC_DEFUN([GNOME_GNORBA_HOOK],[ + GNOME_ORBIT_HOOK([],$2) + AC_CACHE_CHECK([for gnorba libraries],gnome_cv_gnorba_found,[ + gnome_cv_gnorba_found=no + if test x$gnome_cv_orbit_found = xyes; then + GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`" + GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`" + if test -n "$GNORBA_LIBS"; then + gnome_cv_gnorba_found=yes + fi + fi + ]) + AM_CONDITIONAL(HAVE_GNORBA, test x$gnome_cv_gnorba_found = xyes) + if test x$gnome_cv_orbit_found = xyes; then + $1 + GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`" + GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`" + AC_SUBST(GNORBA_CFLAGS) + AC_SUBST(GNORBA_LIBS) + else + if test x$2 = xfailure; then + AC_MSG_ERROR(gnorba library not installed or installation problem) + fi + fi +]) + +AC_DEFUN([GNOME_GNORBA_CHECK], [ + GNOME_GNORBA_HOOK([],failure) +]) diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-orbit-check.m4 b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-orbit-check.m4 new file mode 100644 index 00000000..54bf33aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome-orbit-check.m4 @@ -0,0 +1,33 @@ +dnl +dnl GNOME_ORBIT_HOOK (script-if-orbit-found, failflag) +dnl +dnl if failflag is "failure" it aborts if orbit is not found. +dnl + +AC_DEFUN([GNOME_ORBIT_HOOK],[ + AC_PATH_PROG(ORBIT_CONFIG,orbit-config,no) + AC_PATH_PROG(ORBIT_IDL,orbit-idl,no) + AC_CACHE_CHECK([for working ORBit environment],gnome_cv_orbit_found,[ + if test x$ORBIT_CONFIG = xno -o x$ORBIT_IDL = xno; then + gnome_cv_orbit_found=no + else + gnome_cv_orbit_found=yes + fi + ]) + AM_CONDITIONAL(HAVE_ORBIT, test x$gnome_cv_orbit_found = xyes) + if test x$gnome_cv_orbit_found = xyes; then + $1 + ORBIT_CFLAGS=`orbit-config --cflags client server` + ORBIT_LIBS=`orbit-config --use-service=name --libs client server` + AC_SUBST(ORBIT_CFLAGS) + AC_SUBST(ORBIT_LIBS) + else + if test x$2 = xfailure; then + AC_MSG_ERROR(ORBit not installed or installation problem) + fi + fi +]) + +AC_DEFUN([GNOME_ORBIT_CHECK], [ + GNOME_ORBIT_HOOK([],failure) +]) diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome.m4 b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome.m4 new file mode 100644 index 00000000..659c22c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/m4/gnome.m4 @@ -0,0 +1,128 @@ +dnl +dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag], [additional-inits]) +dnl +dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh +dnl is not found. +dnl + +AC_DEFUN([GNOME_INIT_HOOK],[ + AC_SUBST(GNOME_LIBS) + AC_SUBST(GNOMEUI_LIBS) + AC_SUBST(GNOMEGNORBA_LIBS) + AC_SUBST(GTKXMHTML_LIBS) + AC_SUBST(ZVT_LIBS) + AC_SUBST(GNOME_LIBDIR) + AC_SUBST(GNOME_INCLUDEDIR) + + AC_ARG_WITH(gnome-includes, + [ --with-gnome-includes Specify location of GNOME headers],[ + CFLAGS="$CFLAGS -I$withval" + ]) + + AC_ARG_WITH(gnome-libs, + [ --with-gnome-libs Specify location of GNOME libs],[ + LDFLAGS="$LDFLAGS -L$withval" + gnome_prefix=$withval + ]) + + AC_ARG_WITH(gnome, + [ --with-gnome Specify prefix for GNOME files], + if test x$withval = xyes; then + want_gnome=yes + dnl Note that an empty true branch is not + dnl valid sh syntax. + ifelse([$1], [], :, [$1]) + else + if test "x$withval" = xno; then + want_gnome=no + else + want_gnome=yes + LDFLAGS="$LDFLAGS -L$withval/lib" + CFLAGS="$CFLAGS -I$withval/include" + gnome_prefix=$withval/lib + fi + fi, + want_gnome=yes) + + if test "x$want_gnome" = xyes; then + + AC_PATH_PROG(GNOME_CONFIG,gnome-config,no) + if test "$GNOME_CONFIG" = "no"; then + no_gnome_config="yes" + else + AC_MSG_CHECKING(if $GNOME_CONFIG works) + if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then + AC_MSG_RESULT(yes) + GNOME_GNORBA_HOOK([],$2) + GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`" + GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`" + GNOMEGNORBA_LIBS="`$GNOME_CONFIG --libs-only-l gnorba gnomeui`" + GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`" + ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`" + GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`" + GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`" + $1 + else + AC_MSG_RESULT(no) + no_gnome_config="yes" + fi + fi + + if test x$exec_prefix = xNONE; then + if test x$prefix = xNONE; then + gnome_prefix=$ac_default_prefix/lib + else + gnome_prefix=$prefix/lib + fi + else + gnome_prefix=`eval echo \`echo $libdir\`` + fi + + if test "$no_gnome_config" = "yes"; then + AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix) + if test -f $gnome_prefix/gnomeConf.sh; then + AC_MSG_RESULT(found) + echo "loading gnome configuration from" \ + "$gnome_prefix/gnomeConf.sh" + . $gnome_prefix/gnomeConf.sh + $1 + else + AC_MSG_RESULT(not found) + if test x$2 = xfail; then + AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install) + fi + fi + fi + fi + + if test -n "$3"; then + n="$3" + for i in $n; do + AC_MSG_CHECKING(extra library \"$i\") + case $i in + applets) + AC_SUBST(GNOME_APPLETS_LIBS) + GNOME_APPLETS_LIBS=`$GNOME_CONFIG --libs-only-l applets` + AC_MSG_RESULT($GNOME_APPLETS_LIBS);; + docklets) + AC_SUBST(GNOME_DOCKLETS_LIBS) + GNOME_DOCKLETS_LIBS=`$GNOME_CONFIG --libs-only-l docklets` + AC_MSG_RESULT($GNOME_DOCKLETS_LIBS);; + capplet) + AC_SUBST(GNOME_CAPPLET_LIBS) + GNOME_CAPPLET_LIBS=`$GNOME_CONFIG --libs-only-l capplet` + AC_MSG_RESULT($GNOME_CAPPLET_LIBS);; + *) + AC_MSG_RESULT(unknown library) + esac + done + fi +]) + +dnl +dnl GNOME_INIT ([additional-inits]) +dnl + +AC_DEFUN([GNOME_INIT],[ + GNOME_INIT_HOOK([],fail,$1) +]) diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/Makevars b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/Makevars new file mode 100644 index 00000000..7b158ff9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/Makevars @@ -0,0 +1,67 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format \ + --flag=g_log:3:c-format --flag=g_logv:3:c-format \ + --flag=g_error:1:c-format --flag=g_message:1:c-format \ + --flag=g_critical:1:c-format --flag=g_warning:1:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_strdup_printf:1:c-format --flag=g_strdup_vprintf:1:c-format \ + --flag=g_printf_string_upper_bound:1:c-format \ + --flag=g_snprintf:3:c-format --flag=g_vsnprintf:3:c-format \ + --flag=g_string_sprintf:2:c-format \ + --flag=g_string_sprintfa:2:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/POTFILES.in new file mode 100644 index 00000000..0f7595d6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/POTFILES.in @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.m diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/af.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/af.po new file mode 100644 index 00000000..92d4abb3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ast.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ast.po new file mode 100644 index 00000000..c2ed37a8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/bg.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/bg.po new file mode 100644 index 00000000..bb5562ff --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-objc-gnome package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnome 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ca.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ca.po new file mode 100644 index 00000000..8f2c1733 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-objc-gnome. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/de.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/de.po new file mode 100644 index 00000000..24042df5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-objc-gnome. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/el.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/el.po new file mode 100644 index 00000000..2532d297 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-objc-gnome +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/eo.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/eo.po new file mode 100644 index 00000000..a4084b19 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/es.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/es.po new file mode 100644 index 00000000..3eb9a6d8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/fi.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/fi.po new file mode 100644 index 00000000..252a5ad1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.m:47 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/fr.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/fr.po new file mode 100644 index 00000000..f3aa6479 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ga.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ga.po new file mode 100644 index 00000000..1fdcb1ac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-objc-gnome. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/hu.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/hu.po new file mode 100644 index 00000000..3433499e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-objc-gnome. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/id.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/id.po new file mode 100644 index 00000000..65a866d5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-objc-gnome-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/it.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/it.po new file mode 100644 index 00000000..0000ed97 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-objc-gnome. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ja.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ja.po new file mode 100644 index 00000000..2968c34b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-objc-gnome' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ky.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ky.po new file mode 100644 index 00000000..fc691dc7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-objc-gnome' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/lv.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/lv.po new file mode 100644 index 00000000..38a9d0a2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-objc-gnome +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ms.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ms.po new file mode 100644 index 00000000..a9eb1273 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ms.po @@ -0,0 +1,26 @@ +# hello-objc-gnome Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/mt.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/mt.po new file mode 100644 index 00000000..590d2a54 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/mt.po @@ -0,0 +1,25 @@ +# hello-objc-gnome-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/nl.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/nl.po new file mode 100644 index 00000000..4dbef4ec --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-objc-gnome-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/pl.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/pl.po new file mode 100644 index 00000000..6330ad57 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-objc-gnome domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/pt.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/pt.po new file mode 100644 index 00000000..28010c36 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-objc-gnome' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ro.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ro.po new file mode 100644 index 00000000..dc608a23 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-objc-gnome-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-objc-gnome. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ru.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ru.po new file mode 100644 index 00000000..40e665b8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-objc-gnome-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sk.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sk.po new file mode 100644 index 00000000..883e5a7b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-objc-gnome package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-objc-gnome package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnome 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sl.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sl.po new file mode 100644 index 00000000..88caffb3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sr.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sr.po new file mode 100644 index 00000000..8a187e9f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-objc-gnome. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-objc-gnome' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sv.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sv.po new file mode 100644 index 00000000..c96d4bcf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-objc-gnome. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/tr.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/tr.po new file mode 100644 index 00000000..b43083c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/uk.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/uk.po new file mode 100644 index 00000000..c278ca32 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-objc-gnome +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/vi.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/vi.po new file mode 100644 index 00000000..6624a981 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_CN.po new file mode 100644 index 00000000..d9485e16 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-objc-gnome. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnome package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_HK.po new file mode 100644 index 00000000..17718edb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-objc-gnome. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_TW.po new file mode 100644 index 00000000..bff1ced5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnome/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-objc-gnome. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnome 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:47 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.m:52 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.h b/mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.h new file mode 100644 index 00000000..7b1912a7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.h @@ -0,0 +1,35 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Interface of the AppController class. */ + +#include + +@class Hello; + +@interface AppController : NSObject +{ + Hello *hello; +} + ++ (void)initialize; + +- (id)init; +- (void)dealloc; + +- (void)awakeFromNib; + +- (void)applicationDidFinishLaunching + :(NSNotification *)notif; + +- (BOOL)applicationShouldTerminate:(id)sender; +- (void)applicationWillTerminate:(NSNotification *)notification; + +- (BOOL)application:(NSApplication *)application openFile:(NSString *)fileName; + +- (void)showPrefPanel:(id)sender; +- (void)showInfoPanel:(id)sender; + +- (void)showHelloWindow:(id)sender; + +@end diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.m b/mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.m new file mode 100644 index 00000000..96475cd3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/AppController.m @@ -0,0 +1,81 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the AppController class. */ + +#include "AppController.h" +#include "Hello.h" + +@implementation AppController + +static NSDictionary *infoDict = nil; + ++ (void)initialize +{ + NSMutableDictionary *defaults = [NSMutableDictionary dictionary]; + + [[NSUserDefaults standardUserDefaults] registerDefaults: defaults]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +- (id)init +{ + self = [super init]; + return self; +} + +- (void)dealloc +{ + if (hello) + RELEASE (hello); + + [super dealloc]; +} + +- (void)awakeFromNib +{ +} + +- (void)applicationDidFinishLaunching:(NSNotification *)notif +{ +} + +- (BOOL)applicationShouldTerminate:(id)sender +{ + return YES; +} + +- (void)applicationWillTerminate:(NSNotification *)notification +{ +} + +- (BOOL)application:(NSApplication *)application openFile:(NSString *)fileName +{ +} + +- (void)showPrefPanel:(id)sender +{ +} + +- (void)showInfoPanel:(id)sender +{ + if (!infoDict) + { + NSString *fp; + NSBundle *bundle = [NSBundle mainBundle]; + + fp = [bundle pathForResource: @"Info-project" ofType: @"plist"]; + infoDict = [[NSDictionary dictionaryWithContentsOfFile: fp] retain]; + } + [[NSApplication sharedApplication] orderFrontStandardInfoPanelWithOptions: infoDict]; +} + +- (void)showHelloWindow:(id)sender +{ + if (!hello) + hello = [[Hello alloc] init]; + + [hello makeKeyAndOrderFront]; +} + +@end diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/BUGS b/mingw/share/doc/gettext/examples/hello-objc-gnustep/BUGS new file mode 100644 index 00000000..0120751b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/BUGS @@ -0,0 +1,3 @@ +Correct display of characters depends on the GNUstep display engine; as of +GNUstep-1.8.0, it works only for ISO-8859-1 characters (regardless of whether +GNUSTEP_STRING_ENCODING is set to NSUTF8StringEncoding or not). diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/GNUmakefile b/mingw/share/doc/gettext/examples/hello-objc-gnustep/GNUmakefile new file mode 100644 index 00000000..fe4b6842 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/GNUmakefile @@ -0,0 +1,36 @@ +# Example for use of GNU gettext. +# This file is in the public domain. + +include $(GNUSTEP_MAKEFILES)/common.make + +# Subprojects +SUBPROJECTS = po + +# Main application +PACKAGE_NAME = Hello +APP_NAME = Hello +GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_LOCAL_ROOT) +Hello_APPLICATION_ICON = + +# Additional libraries +ADDITIONAL_GUI_LIBS += + +# Resource files +Hello_RESOURCE_FILES = +Hello_LOCALIZED_RESOURCE_FILES = Localizable.strings +Hello_LANGUAGES := $(sort English $(shell MAKEFLAGS= $(MAKE) -s -C po echo-languages)) + +# Header files +Hello_HEADERS = AppController.h Hello.h + +# Class files +Hello_OBJC_FILES = main.m AppController.m Hello.m + +# C files +Hello_C_FILES = + +-include GNUmakefile.preamble +-include GNUmakefile.local +include $(GNUSTEP_MAKEFILES)/aggregate.make +include $(GNUSTEP_MAKEFILES)/application.make +-include GNUmakefile.postamble diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.h b/mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.h new file mode 100644 index 00000000..89458eda --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.h @@ -0,0 +1,31 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Interface of the Hello class. */ + +#include + +@interface Hello : NSObject +{ + NSWindow *window; + + NSTextField *label1; + NSTextField *label2; + + id okButton; +} + +- (id)init; +- (void)dealloc; + +- (void)makeKeyAndOrderFront; + +- (void)done; + +@end + +@interface Hello (UIBuilder) + +- (void)createUI; + +@end diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.m b/mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.m new file mode 100644 index 00000000..56f31f63 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/Hello.m @@ -0,0 +1,99 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the Hello class. */ + +#include +#include "Hello.h" +#include +#include + +@implementation Hello + +- (id)init +{ + if ((self = [super init])) + [self createUI]; + return self; +} + +- (void)dealloc +{ + RELEASE (window); + [super dealloc]; +} + +- (void)makeKeyAndOrderFront +{ + if (![window isVisible]) + [window center]; + [window makeKeyAndOrderFront:self]; +} + +- (void)done +{ + [window close]; +} + +@end + +@implementation Hello (UIBuilder) + +- (void)createUI +{ + GSVbox *cview; + GSHbox *buttonbar; + int i; + + label1 = [NSTextField new]; + [label1 setStringValue: _(@"Hello, world!")]; + [label1 setAlignment: NSLeftTextAlignment]; + [label1 setBordered: NO]; + [label1 setEditable: NO]; + [label1 setBezeled: NO]; + [label1 setDrawsBackground: NO]; + [label1 sizeToFit]; + + label2 = [NSTextField new]; + [label2 setStringValue: [NSString stringWithFormat: _(@"This program is running as process number %d."), [[NSProcessInfo processInfo] processIdentifier]]]; + [label2 setAlignment: NSLeftTextAlignment]; + [label2 setBordered: NO]; + [label2 setEditable: NO]; + [label2 setBezeled: NO]; + [label2 setDrawsBackground: NO]; + [label2 sizeToFit]; + + okButton = [NSButton new]; + [okButton setTitle: @"OK"]; + [okButton setTarget: self]; + [okButton setAction: @selector(done)]; + [okButton setFrameSize: NSMakeSize(60,22)]; + [okButton setAutoresizingMask: 7]; + + buttonbar = [GSHbox new]; + [buttonbar setAutoresizingMask: NSViewMinXMargin]; + [buttonbar addView: okButton]; + AUTORELEASE (okButton); + + cview = [GSVbox new]; + // GSVbox is flawed: We have to add the controls bottom-up, and mark the + // last one (= the topmost one) as non-resizable in Y direction, so that the + // Y space becomes equally distributed _between_ (not above) the subviews. + [cview addView: buttonbar]; + AUTORELEASE (buttonbar); + [cview addView: label2]; + AUTORELEASE (label2); + [cview addView: label1 enablingYResizing: NO]; + AUTORELEASE (label1); + + window = [[NSWindow alloc] initWithContentRect: NSMakeRect(0,0, [cview frame].size.width, [cview frame].size.height) + styleMask: (NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask) + backing: NSBackingStoreBuffered + defer: NO]; + [window setDelegate: self]; + [window setTitle: @"Hello example"]; + [window setReleasedWhenClosed: NO]; + [window setContentView: cview]; +} + +@end diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/INSTALL b/mingw/share/doc/gettext/examples/hello-objc-gnustep/INSTALL new file mode 100644 index 00000000..c240e409 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/INSTALL @@ -0,0 +1,14 @@ +This example relies on: + - the GNUstep libraries (libgnustep-gui, libgnustep-base) + and their dependencies (libiconv or glibc, and ffcall) + - the Objective C runtime libraries (libobjc) + +GNUstep applications don't need to be configured or installed in order to run; +all you need is to + - Prepare your environment, as described in the GNUstep-HOWTO + - ./autogen.sh + - make + - openapp Hello +Cleanup: + - make distclean + - ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/autoclean.sh b/mingw/share/doc/gettext/examples/hello-objc-gnustep/autoclean.sh new file mode 100644 index 00000000..1fbc5e8c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/autoclean.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +make distclean + +rm -f po/remove-potcdate.sed +rm -f po/remove-potcdate.sin +rm -f po/*.pot +rm -rf *.lproj diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/autogen.sh b/mingw/share/doc/gettext/examples/hello-objc-gnustep/autogen.sh new file mode 100644 index 00000000..1528b501 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/autogen.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/main.m b/mingw/share/doc/gettext/examples/hello-objc-gnustep/main.m new file mode 100644 index 00000000..6da032b4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/main.m @@ -0,0 +1,113 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the main program. */ + +#include +#include "AppController.h" + +#define APP_NAME @"Hello" + +/* Create the application's menu. */ +static void +createMenu () +{ + NSMenu *menu; + NSMenu *info; + NSMenu *edit; + NSMenu *services; + NSMenu *windows; + + SEL action = @selector(method:); + + menu = [[NSMenu alloc] initWithTitle: APP_NAME]; + [menu addItemWithTitle: @"Info" + action: action + keyEquivalent: @""]; + [menu addItemWithTitle: @"Edit" + action: action + keyEquivalent: @""]; + [menu addItemWithTitle: @"Hello..." + action: @selector(showHelloWindow:) + keyEquivalent: @""]; + [menu addItemWithTitle: @"Windows" + action: action + keyEquivalent: @""]; + [menu addItemWithTitle: @"Services" + action: action + keyEquivalent: @""]; + [menu addItemWithTitle: @"Hide" + action: @selector(hide:) + keyEquivalent: @"h"]; + [menu addItemWithTitle: @"Quit" + action: @selector(terminate:) + keyEquivalent: @"q"]; + + info = AUTORELEASE ([[NSMenu alloc] init]); + [info addItemWithTitle: @"Info Panel..." + action: @selector(showInfoPanel:) + keyEquivalent: @""]; + [info addItemWithTitle: @"Preferences" + action: @selector(showPrefPanel:) + keyEquivalent: @""]; + [info addItemWithTitle: @"Help" + action: action + keyEquivalent: @"?"]; + [menu setSubmenu: info forItem: [menu itemWithTitle: @"Info"]]; + + edit = AUTORELEASE ([[NSMenu alloc] init]); + [edit addItemWithTitle: @"Cut" + action: @selector(cut:) + keyEquivalent: @"x"]; + [edit addItemWithTitle: @"Copy" + action: @selector(copy:) + keyEquivalent: @"c"]; + [edit addItemWithTitle: @"Paste" + action: @selector(paste:) + keyEquivalent: @"v"]; + [edit addItemWithTitle: @"Delete" + action: @selector(delete:) + keyEquivalent: @""]; + [edit addItemWithTitle: @"Select All" + action: @selector(selectAll:) + keyEquivalent: @"a"]; + [menu setSubmenu: edit forItem: [menu itemWithTitle: @"Edit"]]; + + windows = AUTORELEASE ([[NSMenu alloc] init]); + [windows addItemWithTitle: @"Arrange" + action: @selector(arrangeInFront:) + keyEquivalent: @""]; + [windows addItemWithTitle: @"Miniaturize" + action: @selector(performMiniaturize:) + keyEquivalent: @"m"]; + [windows addItemWithTitle: @"Close" + action: @selector(performClose:) + keyEquivalent: @"w"]; + [menu setSubmenu: windows forItem: [menu itemWithTitle: @"Windows"]]; + + services = AUTORELEASE ([[NSMenu alloc] init]); + [menu setSubmenu: services forItem: [menu itemWithTitle: @"Services"]]; + + [[NSApplication sharedApplication] setMainMenu: menu]; + [[NSApplication sharedApplication] setServicesMenu: services]; + [[NSApplication sharedApplication] setWindowsMenu: windows]; +} + +/* Initialise and go! */ +int +main(int argc, const char *argv[]) +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + AppController *controller; + + [NSApplication sharedApplication]; + + createMenu (); + + controller = [[AppController alloc] init]; + [NSApp setDelegate:controller]; + + RELEASE (pool); + + return NSApplicationMain (argc, argv); +} diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/GNUmakefile b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/GNUmakefile new file mode 100644 index 00000000..00ee5234 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/GNUmakefile @@ -0,0 +1,224 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile - processed by GNU make. + +# NLS is enabled by default. +USE_NLS = yes + +# List of files which contain translatable strings. +POTFILES = \ + Hello.m + +# Usually the message domain is the same as the package name in lower case. +DOMAIN = hello-objc-gnustep + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +-include $(GNUSTEP_MAKEFILES)/rules.make + +# Main application +PACKAGE_NAME = Hello +PACKAGE_VERSION = 0 + +XGETTEXT = xgettext +MSGMERGE = msgmerge +MSGMERGE_UPDATE = msgmerge --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# Set of available languages. +LINGUAS := $(shell sed -e "/^\#/d" LINGUAS) +# Set of languages which use msgen. +ENLINGUAS := $(filter-out $(LINGUAS), en) + +top_srcdir = .. + +include LocaleAliases + +POTFILES_DEPS = $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POFILES = $(foreach lang, $(LINGUAS), $(lang).po) +UPDATEPOFILES = $(foreach lang, $(LINGUAS), $(lang).po-update) +DUMMYPOFILES = $(foreach lang, $(LINGUAS), $(lang).nop) +STRINGSFILES = $(foreach lang, $(LINGUAS), $(top_srcdir)/$(NSLOCALE_$(lang)).lproj/Localizable.strings) +ENSTRINGSFILES = $(foreach lang, $(ENLINGUAS), $(top_srcdir)/$(NSLOCALE_$(lang)).lproj/Localizable.strings) +CATALOGS = $(STRINGSFILES) $(ENSTRINGSFILES) + +.SUFFIXES: .po .mo .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +internal-all:: all-local-$(USE_NLS) + +all-local-yes: $(CATALOGS) +all-local-no: + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE_NAME)' ../* 2>/dev/null >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE_NAME)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).pot && \ + mv $(DOMAIN).po $(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f $${lang}.po; then \ + echo "$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + +update-po: + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-strings + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + echo "$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + + +update-strings: $(CATALOGS) + @: + +# I don't know how to make a dependency from a particular .strings file to its +# corresponding .po file; therefore I put here a dependency towards all .po +# files. It's safer than no dependency at all. +$(STRINGSFILES): $(POFILES) + $(MAKE) $(UNIXLOCALE_$(patsubst %.lproj,%, $(notdir $(patsubst %/,%, $(dir $@))))).po + mkdir -p $(patsubst %/,%, $(dir $@)) + msgcat --stringtable-output -o $@.tmp $(UNIXLOCALE_$(patsubst %.lproj,%, $(notdir $(patsubst %/,%, $(dir $@))))).po + mv $@.tmp $@ + +$(ENSTRINGSFILES): $(DOMAIN).pot + mkdir -p $(patsubst %/,%, $(dir $@)) + $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $(UNIXLOCALE_$(patsubst %.lproj,%, $(notdir $(patsubst %/,%, $(dir $@))))) --stringtable-output -o $@.tmp + mv $@.tmp $@ + +echo-languages: + @echo $(foreach lang, $(LINGUAS), $(NSLOCALE_$(lang))) + diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LocaleAliases b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LocaleAliases new file mode 100644 index 00000000..0378cd03 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/LocaleAliases @@ -0,0 +1,380 @@ +# The correspondence between Unix style and NeXTstep style locale names is +# taken from +# $prefix/System/Library/Libraries/Resources/gnustep-base/Languages/Locale.aliases +# and converted through +# sed -n -e 's,^ *\(..*\) = \(..*\);$,NSLOCALE_\1 = \2,p' < Locale.aliases +# sed -n -e 's,^ *\(..*\) = \(..*\);$,UNIXLOCALE_\2 = \1,p' < Locale.aliases + +NSLOCALE_aa = Afar +NSLOCALE_aa_DJ = DjiboutiAfar +NSLOCALE_aa_ER = EritreaAfar +NSLOCALE_aa_ET = EthiopiaAfar +NSLOCALE_af = Afrikaans +NSLOCALE_am = Amharic +NSLOCALE_an = Aragonese +NSLOCALE_ar = Arabic +NSLOCALE_ar_AE = UnitedArabEmiratesArabic +NSLOCALE_ar_BH = BahrainArabic +NSLOCALE_ar_DZ = AlgeriaArabic +NSLOCALE_ar_EG = EgyptArabic +NSLOCALE_ar_IN = IndiaArabic +NSLOCALE_ar_IQ = IraqArabic +NSLOCALE_ar_JO = JordanArabic +NSLOCALE_ar_KW = KuwaitArabic +NSLOCALE_ar_LB = LebanonArabic +NSLOCALE_ar_LY = LibyaArabic +NSLOCALE_ar_MA = MoroccoArabic +NSLOCALE_ar_OM = OmanArabic +NSLOCALE_ar_QA = QatarArabic +NSLOCALE_ar_SA = SaudiArabiaArabic +NSLOCALE_ar_SD = SudanArabic +NSLOCALE_ar_SY = SyriaArabic +NSLOCALE_ar_TN = TunisiaArabic +NSLOCALE_ar_YE = YemenArabic +NSLOCALE_az = Azerbaijani +NSLOCALE_be = Belarusian +NSLOCALE_bg = Bulgarian +NSLOCALE_bn = Bengali +NSLOCALE_bn_BD = BangladeshBengali +NSLOCALE_bn_IN = IndiaBengali +NSLOCALE_br = Breton +NSLOCALE_bs = Bosnian +NSLOCALE_byn = Blin +NSLOCALE_ca = Catalan +NSLOCALE_cs = Czech +NSLOCALE_cy = Welsh +NSLOCALE_da = Danish +NSLOCALE_de = German +NSLOCALE_de_AT = AustriaGerman +NSLOCALE_de_BE = BelgiumGerman +NSLOCALE_de_CH = SwitzerlandGerman +NSLOCALE_de_LU = LuxemburgGerman +NSLOCALE_el = Greek +NSLOCALE_el_GR = GreeceGreek +NSLOCALE_en = English +NSLOCALE_en_AU = AustraliaEnglish +NSLOCALE_en_BW = BotswanaEnglish +NSLOCALE_en_CA = CanadaEnglish +NSLOCALE_en_DK = DenmarkEnglish +NSLOCALE_en_GB = BritainEnglish +NSLOCALE_en_HK = HongKongEnglish +NSLOCALE_en_IE = IrelandEnglish +NSLOCALE_en_IN = IndiaEnglish +NSLOCALE_en_NZ = NewZealandEnglish +NSLOCALE_en_PH = PhilippinesEnglish +NSLOCALE_en_SG = SingaporeEnglish +NSLOCALE_en_US = AmericanEnglish +NSLOCALE_en_ZA = SouthAfricaEnglish +NSLOCALE_en_ZW = ZimbabweEnglish +NSLOCALE_eo = Esperanto +NSLOCALE_es = Spanish +NSLOCALE_es_AR = ArgentinaSpanish +NSLOCALE_es_BO = BoliviaSpanish +NSLOCALE_es_CL = ChileSpanish +NSLOCALE_es_CO = ColombiaSpanish +NSLOCALE_es_CR = CostaRicaSpanish +NSLOCALE_es_DO = DominicanRepublicSpanish +NSLOCALE_es_EC = EcuadorSpanish +NSLOCALE_es_GT = GuatemalaSpanish +NSLOCALE_es_HN = HondurasSpanish +NSLOCALE_es_MX = MexicoSpanish +NSLOCALE_es_NI = NicaraguaSpanish +NSLOCALE_es_PA = PanamaSpanish +NSLOCALE_es_PE = PeruSpanish +NSLOCALE_es_PR = PuertoRicoSpanish +NSLOCALE_es_PY = ParaguaySpanish +NSLOCALE_es_SV = ElSalvadorSpanish +NSLOCALE_es_US = USASpanish +NSLOCALE_es_UY = UruguaySpanish +NSLOCALE_es_VE = VenezuelaSpanish +NSLOCALE_et = Estonian +NSLOCALE_et_EE = EstoniaEstonian +NSLOCALE_eu = Basque +NSLOCALE_eu_ES = SpainBasque +NSLOCALE_fa = Persian +NSLOCALE_fi = Finnish +NSLOCALE_fo = Faroese +NSLOCALE_fr = French +NSLOCALE_fr_BE = BelgiumFrench +NSLOCALE_fr_CA = CanadaFrench +NSLOCALE_fr_CH = SwitzerlandFrench +NSLOCALE_fr_LU = LuxemburgFrench +NSLOCALE_ga = Irish +NSLOCALE_gd = Gaelic +NSLOCALE_gd_GB = ScotsGaelic +NSLOCALE_gez = Geez +NSLOCALE_gez_ER = EritreaGeez +NSLOCALE_gez_ET = EthiopiaGeez +NSLOCALE_gl = Gallegan +NSLOCALE_gu = Gujarati +NSLOCALE_gv = Manx +NSLOCALE_he = Hebrew +NSLOCALE_hi = Hindi +NSLOCALE_hr = Croatian +NSLOCALE_hu = Hungarian +NSLOCALE_hy = Armenian +NSLOCALE_id = Indonesian +NSLOCALE_in = Indonesian +NSLOCALE_is = Icelandic +NSLOCALE_it = Italian +NSLOCALE_it_CH = SwitzerlandItalian +NSLOCALE_iw = Hebrew +NSLOCALE_ja = Japanese +NSLOCALE_ka = Georgian +NSLOCALE_kl = Greenlandic +NSLOCALE_kn = Kannada +NSLOCALE_ko = Korean +NSLOCALE_kw = Cornish +NSLOCALE_lo = Lao +NSLOCALE_lt = Lithuanian +NSLOCALE_lug = Luganda +NSLOCALE_lv = Latvian +NSLOCALE_mi = Maori +NSLOCALE_mk = Macedonian +NSLOCALE_ml = Malayalam +NSLOCALE_mn = Mongolian +NSLOCALE_mr = Marathi +NSLOCALE_ms = Malay +NSLOCALE_mt = Maltese +NSLOCALE_nb = NorwegianBokmal +NSLOCALE_ne = Nepali +NSLOCALE_nl = Dutch +NSLOCALE_nl_BE = BelgiumDutch +NSLOCALE_nl_NL = NetherlandsDutch +NSLOCALE_nn = NorwegianNynorsk +NSLOCALE_no = Norwegian +NSLOCALE_oc = Occitan +NSLOCALE_om = Oromo +NSLOCALE_om_ET = EthiopiaOromo +NSLOCALE_om_KE = KenyaOromo +NSLOCALE_pa = Punjabi +NSLOCALE_pl = Polish +NSLOCALE_pt = Portuguese +NSLOCALE_pt_BR = BrasilPortuguese +NSLOCALE_ro = Romanian +NSLOCALE_ru = Russian +NSLOCALE_ru_UA = UkraineRussian +NSLOCALE_se = NorthernSaami +NSLOCALE_sid = Sidamo +NSLOCALE_sk = Slovak +NSLOCALE_sl = Slovenian +NSLOCALE_so = Somali +NSLOCALE_so_DJ = DjiboutiSomali +NSLOCALE_so_ET = EthiopiaSomali +NSLOCALE_so_KE = KenyaSomali +NSLOCALE_so_SO = SomaliaSomali +NSLOCALE_sq = Albanian +NSLOCALE_sr = Serbian +NSLOCALE_st = Sotho +NSLOCALE_sv = Swedish +NSLOCALE_sv_FI = FinlandSwedish +NSLOCALE_ta = Tamil +NSLOCALE_te = Telugu +NSLOCALE_tg = Tajik +NSLOCALE_th = Thai +NSLOCALE_ti = Tigrinya +NSLOCALE_ti_ER = EritreaTigrinya +NSLOCALE_ti_ET = EthiopiaTigrinya +NSLOCALE_tig = Tigre +NSLOCALE_tl = Tagalog +NSLOCALE_tr = Turkish +NSLOCALE_tt = Tatar +NSLOCALE_uk = Ukrainian +NSLOCALE_ur = Urdu +NSLOCALE_uz = Uzbek +NSLOCALE_vi = Vietnamese +NSLOCALE_wa = Walloon +NSLOCALE_xh = Xhosa +NSLOCALE_yi = Yiddish +NSLOCALE_zh = Chinese +NSLOCALE_zh_CN = SimplifiedChinese +NSLOCALE_zh_HK = HongKongChinese +NSLOCALE_zh_SG = SingaporeChinese +NSLOCALE_zh_TW = TraditionalChinese +NSLOCALE_zu = Zulu + +UNIXLOCALE_Afar = aa +UNIXLOCALE_DjiboutiAfar = aa_DJ +UNIXLOCALE_EritreaAfar = aa_ER +UNIXLOCALE_EthiopiaAfar = aa_ET +UNIXLOCALE_Afrikaans = af +UNIXLOCALE_Amharic = am +UNIXLOCALE_Aragonese = an +UNIXLOCALE_Arabic = ar +UNIXLOCALE_UnitedArabEmiratesArabic = ar_AE +UNIXLOCALE_BahrainArabic = ar_BH +UNIXLOCALE_AlgeriaArabic = ar_DZ +UNIXLOCALE_EgyptArabic = ar_EG +UNIXLOCALE_IndiaArabic = ar_IN +UNIXLOCALE_IraqArabic = ar_IQ +UNIXLOCALE_JordanArabic = ar_JO +UNIXLOCALE_KuwaitArabic = ar_KW +UNIXLOCALE_LebanonArabic = ar_LB +UNIXLOCALE_LibyaArabic = ar_LY +UNIXLOCALE_MoroccoArabic = ar_MA +UNIXLOCALE_OmanArabic = ar_OM +UNIXLOCALE_QatarArabic = ar_QA +UNIXLOCALE_SaudiArabiaArabic = ar_SA +UNIXLOCALE_SudanArabic = ar_SD +UNIXLOCALE_SyriaArabic = ar_SY +UNIXLOCALE_TunisiaArabic = ar_TN +UNIXLOCALE_YemenArabic = ar_YE +UNIXLOCALE_Azerbaijani = az +UNIXLOCALE_Belarusian = be +UNIXLOCALE_Bulgarian = bg +UNIXLOCALE_Bengali = bn +UNIXLOCALE_BangladeshBengali = bn_BD +UNIXLOCALE_IndiaBengali = bn_IN +UNIXLOCALE_Breton = br +UNIXLOCALE_Bosnian = bs +UNIXLOCALE_Blin = byn +UNIXLOCALE_Catalan = ca +UNIXLOCALE_Czech = cs +UNIXLOCALE_Welsh = cy +UNIXLOCALE_Danish = da +UNIXLOCALE_German = de +UNIXLOCALE_AustriaGerman = de_AT +UNIXLOCALE_BelgiumGerman = de_BE +UNIXLOCALE_SwitzerlandGerman = de_CH +UNIXLOCALE_LuxemburgGerman = de_LU +UNIXLOCALE_Greek = el +UNIXLOCALE_GreeceGreek = el_GR +UNIXLOCALE_English = en +UNIXLOCALE_AustraliaEnglish = en_AU +UNIXLOCALE_BotswanaEnglish = en_BW +UNIXLOCALE_CanadaEnglish = en_CA +UNIXLOCALE_DenmarkEnglish = en_DK +UNIXLOCALE_BritainEnglish = en_GB +UNIXLOCALE_HongKongEnglish = en_HK +UNIXLOCALE_IrelandEnglish = en_IE +UNIXLOCALE_IndiaEnglish = en_IN +UNIXLOCALE_NewZealandEnglish = en_NZ +UNIXLOCALE_PhilippinesEnglish = en_PH +UNIXLOCALE_SingaporeEnglish = en_SG +UNIXLOCALE_AmericanEnglish = en_US +UNIXLOCALE_SouthAfricaEnglish = en_ZA +UNIXLOCALE_ZimbabweEnglish = en_ZW +UNIXLOCALE_Esperanto = eo +UNIXLOCALE_Spanish = es +UNIXLOCALE_ArgentinaSpanish = es_AR +UNIXLOCALE_BoliviaSpanish = es_BO +UNIXLOCALE_ChileSpanish = es_CL +UNIXLOCALE_ColombiaSpanish = es_CO +UNIXLOCALE_CostaRicaSpanish = es_CR +UNIXLOCALE_DominicanRepublicSpanish = es_DO +UNIXLOCALE_EcuadorSpanish = es_EC +UNIXLOCALE_GuatemalaSpanish = es_GT +UNIXLOCALE_HondurasSpanish = es_HN +UNIXLOCALE_MexicoSpanish = es_MX +UNIXLOCALE_NicaraguaSpanish = es_NI +UNIXLOCALE_PanamaSpanish = es_PA +UNIXLOCALE_PeruSpanish = es_PE +UNIXLOCALE_PuertoRicoSpanish = es_PR +UNIXLOCALE_ParaguaySpanish = es_PY +UNIXLOCALE_ElSalvadorSpanish = es_SV +UNIXLOCALE_USASpanish = es_US +UNIXLOCALE_UruguaySpanish = es_UY +UNIXLOCALE_VenezuelaSpanish = es_VE +UNIXLOCALE_Estonian = et +UNIXLOCALE_EstoniaEstonian = et_EE +UNIXLOCALE_Basque = eu +UNIXLOCALE_SpainBasque = eu_ES +UNIXLOCALE_Persian = fa +UNIXLOCALE_Finnish = fi +UNIXLOCALE_Faroese = fo +UNIXLOCALE_French = fr +UNIXLOCALE_BelgiumFrench = fr_BE +UNIXLOCALE_CanadaFrench = fr_CA +UNIXLOCALE_SwitzerlandFrench = fr_CH +UNIXLOCALE_LuxemburgFrench = fr_LU +UNIXLOCALE_Irish = ga +UNIXLOCALE_Gaelic = gd +UNIXLOCALE_ScotsGaelic = gd_GB +UNIXLOCALE_Geez = gez +UNIXLOCALE_EritreaGeez = gez_ER +UNIXLOCALE_EthiopiaGeez = gez_ET +UNIXLOCALE_Gallegan = gl +UNIXLOCALE_Gujarati = gu +UNIXLOCALE_Manx = gv +UNIXLOCALE_Hebrew = he +UNIXLOCALE_Hindi = hi +UNIXLOCALE_Croatian = hr +UNIXLOCALE_Hungarian = hu +UNIXLOCALE_Armenian = hy +UNIXLOCALE_Indonesian = id +UNIXLOCALE_Icelandic = is +UNIXLOCALE_Italian = it +UNIXLOCALE_SwitzerlandItalian = it_CH +UNIXLOCALE_Japanese = ja +UNIXLOCALE_Georgian = ka +UNIXLOCALE_Greenlandic = kl +UNIXLOCALE_Kannada = kn +UNIXLOCALE_Korean = ko +UNIXLOCALE_Cornish = kw +UNIXLOCALE_Lao = lo +UNIXLOCALE_Lithuanian = lt +UNIXLOCALE_Luganda = lug +UNIXLOCALE_Latvian = lv +UNIXLOCALE_Maori = mi +UNIXLOCALE_Macedonian = mk +UNIXLOCALE_Malayalam = ml +UNIXLOCALE_Mongolian = mn +UNIXLOCALE_Marathi = mr +UNIXLOCALE_Malay = ms +UNIXLOCALE_Maltese = mt +UNIXLOCALE_NorwegianBokmal = nb +UNIXLOCALE_Nepali = ne +UNIXLOCALE_Dutch = nl +UNIXLOCALE_BelgiumDutch = nl_BE +UNIXLOCALE_NetherlandsDutch = nl_NL +UNIXLOCALE_NorwegianNynorsk = nn +UNIXLOCALE_Norwegian = no +UNIXLOCALE_Occitan = oc +UNIXLOCALE_Oromo = om +UNIXLOCALE_EthiopiaOromo = om_ET +UNIXLOCALE_KenyaOromo = om_KE +UNIXLOCALE_Punjabi = pa +UNIXLOCALE_Polish = pl +UNIXLOCALE_Portuguese = pt +UNIXLOCALE_BrasilPortuguese = pt_BR +UNIXLOCALE_Romanian = ro +UNIXLOCALE_Russian = ru +UNIXLOCALE_UkraineRussian = ru_UA +UNIXLOCALE_NorthernSaami = se +UNIXLOCALE_Sidamo = sid +UNIXLOCALE_Slovak = sk +UNIXLOCALE_Slovenian = sl +UNIXLOCALE_Somali = so +UNIXLOCALE_DjiboutiSomali = so_DJ +UNIXLOCALE_EthiopiaSomali = so_ET +UNIXLOCALE_KenyaSomali = so_KE +UNIXLOCALE_SomaliaSomali = so_SO +UNIXLOCALE_Albanian = sq +UNIXLOCALE_Serbian = sr +UNIXLOCALE_Sotho = st +UNIXLOCALE_Swedish = sv +UNIXLOCALE_FinlandSwedish = sv_FI +UNIXLOCALE_Tamil = ta +UNIXLOCALE_Telugu = te +UNIXLOCALE_Tajik = tg +UNIXLOCALE_Thai = th +UNIXLOCALE_Tigrinya = ti +UNIXLOCALE_EritreaTigrinya = ti_ER +UNIXLOCALE_EthiopiaTigrinya = ti_ET +UNIXLOCALE_Tigre = tig +UNIXLOCALE_Tagalog = tl +UNIXLOCALE_Turkish = tr +UNIXLOCALE_Tatar = tt +UNIXLOCALE_Ukrainian = uk +UNIXLOCALE_Urdu = ur +UNIXLOCALE_Uzbek = uz +UNIXLOCALE_Vietnamese = vi +UNIXLOCALE_Walloon = wa +UNIXLOCALE_Xhosa = xh +UNIXLOCALE_Yiddish = yi +UNIXLOCALE_Chinese = zh +UNIXLOCALE_SimplifiedChinese = zh_CN +UNIXLOCALE_HongKongChinese = zh_HK +UNIXLOCALE_SingaporeChinese = zh_SG +UNIXLOCALE_TraditionalChinese = zh_TW +UNIXLOCALE_Zulu = zu diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/af.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/af.po new file mode 100644 index 00000000..8234e803 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ast.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ast.po new file mode 100644 index 00000000..28830d37 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/bg.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/bg.po new file mode 100644 index 00000000..6babe14a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-objc-gnustep package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnustep 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ca.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ca.po new file mode 100644 index 00000000..ccca55e8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-objc-gnustep. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/de.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/de.po new file mode 100644 index 00000000..4dbb46b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-objc-gnustep. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/el.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/el.po new file mode 100644 index 00000000..601e6b3e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-objc-gnustep +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/eo.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/eo.po new file mode 100644 index 00000000..cc49a261 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/es.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/es.po new file mode 100644 index 00000000..2cfdb834 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fi.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fi.po new file mode 100644 index 00000000..841ca277 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fr.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fr.po new file mode 100644 index 00000000..66e7aad7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnustep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ga.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ga.po new file mode 100644 index 00000000..ef01957c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-objc-gnustep. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/hu.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/hu.po new file mode 100644 index 00000000..1423a47f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-objc-gnustep. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/id.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/id.po new file mode 100644 index 00000000..479e8fb1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-objc-gnustep-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/it.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/it.po new file mode 100644 index 00000000..03a5b057 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-objc-gnustep. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ja.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ja.po new file mode 100644 index 00000000..666386d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-objc-gnustep' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnustep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ky.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ky.po new file mode 100644 index 00000000..35e6ab0d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-objc-gnustep' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/lv.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/lv.po new file mode 100644 index 00000000..888bdc38 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-objc-gnustep +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ms.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ms.po new file mode 100644 index 00000000..ac0d4fde --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ms.po @@ -0,0 +1,26 @@ +# hello-objc-gnustep Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/mt.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/mt.po new file mode 100644 index 00000000..b3f34323 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/mt.po @@ -0,0 +1,25 @@ +# hello-objc-gnustep-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/nl.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/nl.po new file mode 100644 index 00000000..0093230b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-objc-gnustep-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pl.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pl.po new file mode 100644 index 00000000..9541f956 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-objc-gnustep domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pt.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pt.po new file mode 100644 index 00000000..e6ff6c74 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-objc-gnustep' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ro.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ro.po new file mode 100644 index 00000000..8c89e480 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-objc-gnustep-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-objc-gnustep. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ru.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ru.po new file mode 100644 index 00000000..ed783481 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-objc-gnustep-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sk.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sk.po new file mode 100644 index 00000000..551f62e0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-objc-gnustep package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-objc-gnustep package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc-gnustep 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sl.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sl.po new file mode 100644 index 00000000..56db4331 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sr.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sr.po new file mode 100644 index 00000000..577a320e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-objc-gnustep. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-objc-gnustep' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sv.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sv.po new file mode 100644 index 00000000..de4089df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-objc-gnustep. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/tr.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/tr.po new file mode 100644 index 00000000..41c36359 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/uk.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/uk.po new file mode 100644 index 00000000..41e5b2da --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-objc-gnustep +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/vi.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/vi.po new file mode 100644 index 00000000..92b48ed7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_CN.po new file mode 100644 index 00000000..2b1ea065 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-objc-gnustep. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc-gnustep package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "世界你好!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_HK.po new file mode 100644 index 00000000..4047f6f1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-objc-gnustep. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "你好!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_TW.po new file mode 100644 index 00000000..944f8e18 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc-gnustep/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-objc-gnustep. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-gnustep 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: Hello.m:49 +msgid "Hello, world!" +msgstr "您好!" + +#: Hello.m:58 +#, objc-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-objc/INSTALL b/mingw/share/doc/gettext/examples/hello-objc/INSTALL new file mode 100644 index 00000000..6232f1b6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - the Objective C runtime libraries (libobjc) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-objc/Makefile.am b/mingw/share/doc/gettext/examples/hello-objc/Makefile.am new file mode 100644 index 00000000..2d7acbb1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/Makefile.am @@ -0,0 +1,29 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.m gettext.h + +# Define a C macro LOCALEDIR indicating where catalogs will be installed. +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + +# Make sure the gettext.h include file is found. +AM_CPPFLAGS = -I. -I$(srcdir) + +# Link time dependencies. +LDADD = @LIBINTL@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-objc/autoclean.sh b/mingw/share/doc/gettext/examples/hello-objc/autoclean.sh new file mode 100644 index 00000000..7575334a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/autoclean.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f gettext.h + +# Brought in by autopoint. +rm -f ABOUT-NLS +rm -f config.rpath +rm -f m4/codeset.m4 +rm -f m4/gettext.m4 +rm -f m4/glibc2.m4 +rm -f m4/glibc21.m4 +rm -f m4/iconv.m4 +rm -f m4/intdiv0.m4 +rm -f m4/intl.m4 +rm -f m4/intldir.m4 +rm -f m4/intlmacosx.m4 +rm -f m4/intmax.m4 +rm -f m4/inttypes-pri.m4 +rm -f m4/inttypes_h.m4 +rm -f m4/lcmessage.m4 +rm -f m4/lib-ld.m4 +rm -f m4/lib-link.m4 +rm -f m4/lib-prefix.m4 +rm -f m4/lock.m4 +rm -f m4/longlong.m4 +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/printf-posix.m4 +rm -f m4/progtest.m4 +rm -f m4/size_max.m4 +rm -f m4/stdint_h.m4 +rm -f m4/uintmax_t.m4 +rm -f m4/visibility.m4 +rm -f m4/wchar_t.m4 +rm -f m4/wint_t.m4 +rm -f m4/xsize.m4 +rm -f po/Makefile.in.in +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f install-sh +rm -f missing +rm -f config.guess +rm -f config.sub +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-objc/autogen.sh b/mingw/share/doc/gettext/examples/hello-objc/autogen.sh new file mode 100644 index 00000000..78b15039 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/autogen.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${GETTEXTSRCDIR-$GETTEXT_TOPSRCDIR/gettext-tools/gnulib-lib}/gettext.h gettext.h + +autopoint -f # was: gettextize -f -c +rm po/Makevars.template +rm po/Rules-quot +rm po/boldquot.sed +rm po/en@boldquot.header +rm po/en@quot.header +rm po/insert-header.sin +rm po/quot.sed + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-objc/configure.ac b/mingw/share/doc/gettext/examples/hello-objc/configure.ac new file mode 100644 index 00000000..86ddc704 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/configure.ac @@ -0,0 +1,19 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.m) +AM_INIT_AUTOMAKE(hello-objc, 0) + +AC_PROG_CC +AC_SUBST(OBJC,["$CC"]) +AC_CHECK_HEADERS([unistd.h]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION(0.15) + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile.in]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-objc/hello.m b/mingw/share/doc/gettext/examples/hello-objc/hello.m new file mode 100644 index 00000000..1fca03ee --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/hello.m @@ -0,0 +1,35 @@ +/* Example for use of GNU gettext. + This file is in the public domain. + + Source code of the Objective-C program. */ + + +/* Get setlocale() declaration. */ +#include + +/* Get printf() declaration. */ +#include + +/* Get getpid() declaration. */ +#if HAVE_UNISTD_H +# include +#endif + +/* Get gettext(), textdomain(), bindtextdomain() declaration. */ +#include "gettext.h" +/* Define shortcut for gettext(). */ +#define _(string) gettext (string) + +int +main () +{ + setlocale (LC_ALL, ""); + textdomain ("hello-objc"); + bindtextdomain ("hello-objc", LOCALEDIR); + + printf ("%s\n", _("Hello, world!")); + printf (_("This program is running as process number %d."), getpid ()); + putchar ('\n'); + + return 0; +} diff --git a/mingw/share/doc/gettext/examples/hello-objc/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-objc/m4/Makefile.am new file mode 100644 index 00000000..000cd06f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/m4/Makefile.am @@ -0,0 +1,5 @@ +EXTRA_DIST = \ + codeset.m4 gettext.m4 glibc2.m4 glibc21.m4 iconv.m4 intdiv0.m4 \ + inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ + lib-prefix.m4 lock.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 \ + uintmax_t.m4 visibility.m4 diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-objc/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/Makevars b/mingw/share/doc/gettext/examples/hello-objc/po/Makevars new file mode 100644 index 00000000..6b3a68c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/Makevars @@ -0,0 +1,55 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + --keyword=_ --flag=_:1:pass-c-format \ + --keyword=N_ --flag=N_:1:pass-c-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/POTFILES.in b/mingw/share/doc/gettext/examples/hello-objc/po/POTFILES.in new file mode 100644 index 00000000..0f7595d6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/POTFILES.in @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# List of files which contain translatable strings. +hello.m diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/af.po b/mingw/share/doc/gettext/examples/hello-objc/po/af.po new file mode 100644 index 00000000..58c3a31e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ast.po b/mingw/share/doc/gettext/examples/hello-objc/po/ast.po new file mode 100644 index 00000000..c0c0e042 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/bg.po b/mingw/share/doc/gettext/examples/hello-objc/po/bg.po new file mode 100644 index 00000000..399ea735 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-objc package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ca.po b/mingw/share/doc/gettext/examples/hello-objc/po/ca.po new file mode 100644 index 00000000..2c8a964c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-objc. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/de.po b/mingw/share/doc/gettext/examples/hello-objc/po/de.po new file mode 100644 index 00000000..a95724fe --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-objc. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/el.po b/mingw/share/doc/gettext/examples/hello-objc/po/el.po new file mode 100644 index 00000000..b7244279 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-objc +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/eo.po b/mingw/share/doc/gettext/examples/hello-objc/po/eo.po new file mode 100644 index 00000000..21956a7f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/es.po b/mingw/share/doc/gettext/examples/hello-objc/po/es.po new file mode 100644 index 00000000..5f8e1058 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/fi.po b/mingw/share/doc/gettext/examples/hello-objc/po/fi.po new file mode 100644 index 00000000..4bac581d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.m:30 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/fr.po b/mingw/share/doc/gettext/examples/hello-objc/po/fr.po new file mode 100644 index 00000000..0859ed7f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ga.po b/mingw/share/doc/gettext/examples/hello-objc/po/ga.po new file mode 100644 index 00000000..9ef062ac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-objc. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/hu.po b/mingw/share/doc/gettext/examples/hello-objc/po/hu.po new file mode 100644 index 00000000..628d328a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-objc. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/id.po b/mingw/share/doc/gettext/examples/hello-objc/po/id.po new file mode 100644 index 00000000..d8fb99d2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-objc-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/it.po b/mingw/share/doc/gettext/examples/hello-objc/po/it.po new file mode 100644 index 00000000..7ec12fc8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-objc. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ja.po b/mingw/share/doc/gettext/examples/hello-objc/po/ja.po new file mode 100644 index 00000000..f2c53cd9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-objc' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ky.po b/mingw/share/doc/gettext/examples/hello-objc/po/ky.po new file mode 100644 index 00000000..06d997c8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-objc' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/lv.po b/mingw/share/doc/gettext/examples/hello-objc/po/lv.po new file mode 100644 index 00000000..87181c9c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-objc +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ms.po b/mingw/share/doc/gettext/examples/hello-objc/po/ms.po new file mode 100644 index 00000000..36af0d47 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ms.po @@ -0,0 +1,26 @@ +# hello-objc Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/mt.po b/mingw/share/doc/gettext/examples/hello-objc/po/mt.po new file mode 100644 index 00000000..29e70d02 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/mt.po @@ -0,0 +1,25 @@ +# hello-objc-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/nl.po b/mingw/share/doc/gettext/examples/hello-objc/po/nl.po new file mode 100644 index 00000000..cd8efd3b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-objc-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/pl.po b/mingw/share/doc/gettext/examples/hello-objc/po/pl.po new file mode 100644 index 00000000..51e890c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-objc domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-objc-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/pt.po b/mingw/share/doc/gettext/examples/hello-objc/po/pt.po new file mode 100644 index 00000000..a204bad3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-objc' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ro.po b/mingw/share/doc/gettext/examples/hello-objc/po/ro.po new file mode 100644 index 00000000..ac33e168 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-objc-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-objc. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/ru.po b/mingw/share/doc/gettext/examples/hello-objc/po/ru.po new file mode 100644 index 00000000..133b9025 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-objc-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/sk.po b/mingw/share/doc/gettext/examples/hello-objc/po/sk.po new file mode 100644 index 00000000..147b53ba --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-objc package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-objc package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-objc 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/sl.po b/mingw/share/doc/gettext/examples/hello-objc/po/sl.po new file mode 100644 index 00000000..284a2784 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/sr.po b/mingw/share/doc/gettext/examples/hello-objc/po/sr.po new file mode 100644 index 00000000..eff90c61 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-objc. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-objc' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/sv.po b/mingw/share/doc/gettext/examples/hello-objc/po/sv.po new file mode 100644 index 00000000..8d3644b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-objc. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/tr.po b/mingw/share/doc/gettext/examples/hello-objc/po/tr.po new file mode 100644 index 00000000..5e183597 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/uk.po b/mingw/share/doc/gettext/examples/hello-objc/po/uk.po new file mode 100644 index 00000000..ceae56c3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-objc +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-objc package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/vi.po b/mingw/share/doc/gettext/examples/hello-objc/po/vi.po new file mode 100644 index 00000000..166e406a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-objc/po/zh_CN.po new file mode 100644 index 00000000..c58256e9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-objc. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-objc package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-objc/po/zh_HK.po new file mode 100644 index 00000000..cb50e00b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-objc. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-objc/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-objc/po/zh_TW.po new file mode 100644 index 00000000..9fd91d7f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-objc/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-objc. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-objc 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.m:30 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.m:31 +#, c-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-pascal/INSTALL b/mingw/share/doc/gettext/examples/hello-pascal/INSTALL new file mode 100644 index 00000000..59604284 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - Free Pascal 2.0 or newer (ppc386) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-pascal/Makefile.am b/mingw/share/doc/gettext/examples/hello-pascal/Makefile.am new file mode 100644 index 00000000..b37d1a83 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/Makefile.am @@ -0,0 +1,45 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_PASCALPROGRAMS = hello + +# The source files of the 'hello' program. +hello_SOURCES = hello.pas + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh + +# ---------------- General rules for compiling Pascal programs ---------------- + +all-local: hello$(EXEEXT) + +# How to build the 'hello' program. +hello$(EXEEXT) hello.rst: $(hello_SOURCES) + LOCALEDIR='@localedir@' $(PPC) $(hello_SOURCES) + +install-exec-local: all-local + $(mkdir_p) $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) hello$(EXEEXT) $(DESTDIR)$(bindir)/hello$(EXEEXT) + +installdirs-local: + $(mkdir_p) $(DESTDIR)$(bindir) + +uninstall-local: + rm -f $(DESTDIR)$(bindir)/hello$(EXEEXT) + +# Distribute the RST file because it's needed to generate POT files and can +# only be rebuilt on those platforms to which the Pascal compiler is ported. +EXTRA_DIST += hello.rst + +# The list of auxiliary files generated during the compilation. +CLEANFILES = hello.o hello$(EXEEXT) diff --git a/mingw/share/doc/gettext/examples/hello-pascal/autoclean.sh b/mingw/share/doc/gettext/examples/hello-pascal/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-pascal/autogen.sh b/mingw/share/doc/gettext/examples/hello-pascal/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-pascal/configure.ac b/mingw/share/doc/gettext/examples/hello-pascal/configure.ac new file mode 100644 index 00000000..76920b87 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/configure.ac @@ -0,0 +1,38 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.pas) +AM_INIT_AUTOMAKE(hello-pascal, 0) + +dnl Check for availability of the Free Pascal Compiler. +AC_PATH_PROG(PPC, ppc386) +if test -z "$PPC"; then + echo "*** Essential program ppc386 not found" 1>&2 + exit 1 +fi +AC_SUBST(PPC) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-pascal/hello.pas b/mingw/share/doc/gettext/examples/hello-pascal/hello.pas new file mode 100644 index 00000000..3a10bdc3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/hello.pas @@ -0,0 +1,20 @@ +{ Example for use of GNU gettext. + This file is in the public domain. + + Source code of the Pascal program. } + +program hello; +{$mode delphi} + +uses gettext, { translateresourcestrings } + sysutils; { format } + +resourcestring + hello_world = 'Hello, world!'; + running_as = 'This program is running as process number %d.'; + +begin + translateresourcestrings({$i %LOCALEDIR%}+'/%s/LC_MESSAGES/hello-pascal.mo'); + writeln(hello_world); + writeln(format(running_as,[GetProcessID])); +end. diff --git a/mingw/share/doc/gettext/examples/hello-pascal/hello.rst b/mingw/share/doc/gettext/examples/hello-pascal/hello.rst new file mode 100644 index 00000000..9f04be6f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/hello.rst @@ -0,0 +1,8 @@ + +# hash value = 153469889 +hello.hello_world='Hello, world!' + + +# hash value = 1323310 +hello.running_as='This program is running as process number %d.' + diff --git a/mingw/share/doc/gettext/examples/hello-pascal/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-pascal/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-pascal/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-pascal/po/Makefile.am new file mode 100644 index 00000000..83732f9c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.rst + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/af.po b/mingw/share/doc/gettext/examples/hello-pascal/po/af.po new file mode 100644 index 00000000..e652dfdd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ast.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ast.po new file mode 100644 index 00000000..d0be695e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/bg.po b/mingw/share/doc/gettext/examples/hello-pascal/po/bg.po new file mode 100644 index 00000000..e531375b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-pascal package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-pascal 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ca.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ca.po new file mode 100644 index 00000000..9b185c97 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-pascal. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/de.po b/mingw/share/doc/gettext/examples/hello-pascal/po/de.po new file mode 100644 index 00000000..b9b3efd7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-pascal. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/el.po b/mingw/share/doc/gettext/examples/hello-pascal/po/el.po new file mode 100644 index 00000000..d6600e4f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-pascal +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/eo.po b/mingw/share/doc/gettext/examples/hello-pascal/po/eo.po new file mode 100644 index 00000000..a350a9ab --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/es.po b/mingw/share/doc/gettext/examples/hello-pascal/po/es.po new file mode 100644 index 00000000..1f690f6f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/fi.po b/mingw/share/doc/gettext/examples/hello-pascal/po/fi.po new file mode 100644 index 00000000..9a6dca8e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.hello_world +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/fr.po b/mingw/share/doc/gettext/examples/hello-pascal/po/fr.po new file mode 100644 index 00000000..fba62f65 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-pascal 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ga.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ga.po new file mode 100644 index 00000000..29a1e429 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-pascal. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/hu.po b/mingw/share/doc/gettext/examples/hello-pascal/po/hu.po new file mode 100644 index 00000000..0d5e6bf4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-pascal. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/id.po b/mingw/share/doc/gettext/examples/hello-pascal/po/id.po new file mode 100644 index 00000000..ebc320a0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-pascal-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/it.po b/mingw/share/doc/gettext/examples/hello-pascal/po/it.po new file mode 100644 index 00000000..4be3985e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-pascal. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ja.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ja.po new file mode 100644 index 00000000..6860e73f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-pascal' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-pascal 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ky.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ky.po new file mode 100644 index 00000000..9420f620 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-pascal' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/lv.po b/mingw/share/doc/gettext/examples/hello-pascal/po/lv.po new file mode 100644 index 00000000..3cb52495 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-pascal +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ms.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ms.po new file mode 100644 index 00000000..693dc2f6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ms.po @@ -0,0 +1,26 @@ +# hello-pascal Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/mt.po b/mingw/share/doc/gettext/examples/hello-pascal/po/mt.po new file mode 100644 index 00000000..905167ee --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/mt.po @@ -0,0 +1,25 @@ +# hello-pascal-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/nl.po b/mingw/share/doc/gettext/examples/hello-pascal/po/nl.po new file mode 100644 index 00000000..6e57c6b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-pascal-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-pascal package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/pl.po b/mingw/share/doc/gettext/examples/hello-pascal/po/pl.po new file mode 100644 index 00000000..9982dc01 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-pascal domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/pt.po b/mingw/share/doc/gettext/examples/hello-pascal/po/pt.po new file mode 100644 index 00000000..fed2115f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-pascal' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ro.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ro.po new file mode 100644 index 00000000..79e575ea --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-pascal-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-pascal. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/ru.po b/mingw/share/doc/gettext/examples/hello-pascal/po/ru.po new file mode 100644 index 00000000..cec4d874 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-pascal-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/sk.po b/mingw/share/doc/gettext/examples/hello-pascal/po/sk.po new file mode 100644 index 00000000..17e863bd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-pascal package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-pascal package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-pascal 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/sl.po b/mingw/share/doc/gettext/examples/hello-pascal/po/sl.po new file mode 100644 index 00000000..3f816abc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/sr.po b/mingw/share/doc/gettext/examples/hello-pascal/po/sr.po new file mode 100644 index 00000000..54423015 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-pascal. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-pascal' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/sv.po b/mingw/share/doc/gettext/examples/hello-pascal/po/sv.po new file mode 100644 index 00000000..da61787c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-pascal. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/tr.po b/mingw/share/doc/gettext/examples/hello-pascal/po/tr.po new file mode 100644 index 00000000..5b2eef20 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/uk.po b/mingw/share/doc/gettext/examples/hello-pascal/po/uk.po new file mode 100644 index 00000000..6be86506 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-pascal +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/vi.po b/mingw/share/doc/gettext/examples/hello-pascal/po/vi.po new file mode 100644 index 00000000..9d36a58d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-pascal/po/zh_CN.po new file mode 100644 index 00000000..c942ff9c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-pascal. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-pascal package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-pascal/po/zh_HK.po new file mode 100644 index 00000000..fb792b13 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-pascal. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "你好!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-pascal/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-pascal/po/zh_TW.po new file mode 100644 index 00000000..20c91012 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-pascal/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-pascal. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-pascal 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.hello_world +msgid "Hello, world!" +msgstr "您好!" + +#: hello.running_as +#, object-pascal-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-perl/INSTALL b/mingw/share/doc/gettext/examples/hello-perl/INSTALL new file mode 100644 index 00000000..609157aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/INSTALL @@ -0,0 +1,12 @@ +This example relies on: + - Perl (perl) + - libintl-perl 1.09 or newer + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-perl/Makefile.am b/mingw/share/doc/gettext/examples/hello-perl/Makefile.am new file mode 100644 index 00000000..26b49dad --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello-1 hello-2 + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-perl/autoclean.sh b/mingw/share/doc/gettext/examples/hello-perl/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-perl/autogen.sh b/mingw/share/doc/gettext/examples/hello-perl/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-perl/configure.ac b/mingw/share/doc/gettext/examples/hello-perl/configure.ac new file mode 100644 index 00000000..df25eb92 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/configure.ac @@ -0,0 +1,40 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello-1.pl.in) +AM_INIT_AUTOMAKE(hello-perl, 0) + +dnl Check for availability of the Perl interpreter. +AC_PATH_PROG(PERL, perl) +if test -z "$PERL"; then + echo "*** Essential program perl not found" 1>&2 + exit 1 +fi +AC_SUBST(PERL) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello-1:hello-1.pl.in], [chmod a+x hello-1]) +AC_CONFIG_FILES([hello-2:hello-2.pl.in], [chmod a+x hello-2]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-perl/hello-1.pl.in b/mingw/share/doc/gettext/examples/hello-perl/hello-1.pl.in new file mode 100644 index 00000000..0b16c8e4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/hello-1.pl.in @@ -0,0 +1,20 @@ +#!@PERL@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the Perl program, using the Locale::Messages API. + +use Locale::Messages qw (textdomain bindtextdomain gettext); +use POSIX qw(getpid); + +binmode STDOUT, ':raw'; # Needed to make it work in UTF-8 locales in Perl-5.8. + +sub _ ($) { &gettext; } + +textdomain "hello-perl"; +bindtextdomain "hello-perl", "@localedir@"; + +print _"Hello, world!"; +print "\n"; +printf _"This program is running as process number %d.", getpid(); +print "\n"; diff --git a/mingw/share/doc/gettext/examples/hello-perl/hello-2.pl.in b/mingw/share/doc/gettext/examples/hello-perl/hello-2.pl.in new file mode 100644 index 00000000..afb9b6a5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/hello-2.pl.in @@ -0,0 +1,15 @@ +#!@PERL@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the Perl program, using the Locale::TextDomain API. + +use Locale::TextDomain ("hello-perl" => "@localedir@"); +use POSIX qw(getpid); + +binmode STDOUT, ':raw'; # Needed to make it work in UTF-8 locales in Perl-5.8. + +print __"Hello, world!"; +print "\n"; +print __x ("This program is running as process number {pid}.", pid => getpid()); +print "\n"; diff --git a/mingw/share/doc/gettext/examples/hello-perl/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-perl/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-perl/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-perl/po/Makefile.am new file mode 100644 index 00000000..4052167e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/Makefile.am @@ -0,0 +1,366 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello-1.pl.in hello-2.pl.in + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = \ + -k_ --flag=_:1:pass-perl-format --flag=_:1:pass-perl-brace-format \ + -k__ --flag=__:1:pass-perl-format --flag=__:1:pass-perl-brace-format \ + -k'$$__' --flag='$$__:1:pass-perl-format' --flag='$$__:1:pass-perl-brace-format' \ + -k'%__' --flag=%__:1:pass-perl-format --flag=%__:1:pass-perl-brace-format \ + -k__x --flag=__x:1:perl-brace-format \ + -k__n:1,2 --flag=__n:1:pass-perl-format --flag=__n:1:pass-perl-brace-format \ + --flag=__n:2:pass-perl-format --flag=__n:2:pass-perl-brace-format \ + -k__nx:1,2 --flag=__nx:1:perl-brace-format --flag=__nx:2:perl-brace-format \ + -k__xn:1,2 --flag=__xn:1:perl-brace-format --flag=__xn:2:perl-brace-format \ + -kN__ --flag=N__:1:pass-perl-format --flag=N__:1:pass-perl-brace-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/af.po b/mingw/share/doc/gettext/examples/hello-perl/po/af.po new file mode 100644 index 00000000..32add5f3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/af.po @@ -0,0 +1,30 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Hierdie program loop as prosesnommer {pid}" diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ast.po b/mingw/share/doc/gettext/examples/hello-perl/po/ast.po new file mode 100644 index 00000000..3d81b815 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ast.po @@ -0,0 +1,31 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Esti programa ta corriendo como'l procesu númberu {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/bg.po b/mingw/share/doc/gettext/examples/hello-perl/po/bg.po new file mode 100644 index 00000000..4dfb96e5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/bg.po @@ -0,0 +1,30 @@ +# Bulgarian translations for hello-perl package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-perl 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Програмата е запусната под процес номер {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ca.po b/mingw/share/doc/gettext/examples/hello-perl/po/ca.po new file mode 100644 index 00000000..3f65a485 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ca.po @@ -0,0 +1,31 @@ +# Catalan messages for GNU hello-perl. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-perl package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Aquest programa està corrent amb el número de procés {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/de.po b/mingw/share/doc/gettext/examples/hello-perl/po/de.po new file mode 100644 index 00000000..21e31be4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/de.po @@ -0,0 +1,32 @@ +# German messages for hello-perl. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-perl package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Dieses Programm läuft mit der Prozeß-Nummer {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/el.po b/mingw/share/doc/gettext/examples/hello-perl/po/el.po new file mode 100644 index 00000000..4121a5f3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/el.po @@ -0,0 +1,30 @@ +# Greek translation of hello-perl +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/eo.po b/mingw/share/doc/gettext/examples/hello-perl/po/eo.po new file mode 100644 index 00000000..a291661f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/eo.po @@ -0,0 +1,30 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/es.po b/mingw/share/doc/gettext/examples/hello-perl/po/es.po new file mode 100644 index 00000000..b519fa2b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/es.po @@ -0,0 +1,30 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Este programa está corriendo como el proceso número {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/fi.po b/mingw/share/doc/gettext/examples/hello-perl/po/fi.po new file mode 100644 index 00000000..40f7f762 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/fi.po @@ -0,0 +1,30 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Tämän ohjelman prosessinumero on {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/fr.po b/mingw/share/doc/gettext/examples/hello-perl/po/fr.po new file mode 100644 index 00000000..4dbcd87a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/fr.po @@ -0,0 +1,31 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-perl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Ce programme est exécuté en tant que processus numéro {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ga.po b/mingw/share/doc/gettext/examples/hello-perl/po/ga.po new file mode 100644 index 00000000..9cc1b2b2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ga.po @@ -0,0 +1,30 @@ +# Irish translations for hello-perl. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-perl package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Tá an clár seo á rith mar phróiseas {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/hu.po b/mingw/share/doc/gettext/examples/hello-perl/po/hu.po new file mode 100644 index 00000000..77381668 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/hu.po @@ -0,0 +1,30 @@ +# Hungarian translation for hello-perl. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-perl package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Ez a program a {pid} processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/id.po b/mingw/share/doc/gettext/examples/hello-perl/po/id.po new file mode 100644 index 00000000..e9c0a387 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/id.po @@ -0,0 +1,31 @@ +# translation of hello-perl-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Program ini berjalan sebagai proses nomor {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/it.po b/mingw/share/doc/gettext/examples/hello-perl/po/it.po new file mode 100644 index 00000000..5b9f0120 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/it.po @@ -0,0 +1,30 @@ +# Italian messages for hello-perl. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Questo programma è in esecuzione con numero di processo {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ja.po b/mingw/share/doc/gettext/examples/hello-perl/po/ja.po new file mode 100644 index 00000000..e934640c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ja.po @@ -0,0 +1,30 @@ +# Translation of `hello-perl' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-perl package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-perl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ {pid} ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ky.po b/mingw/share/doc/gettext/examples/hello-perl/po/ky.po new file mode 100644 index 00000000..516db510 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ky.po @@ -0,0 +1,32 @@ +# Translation of 'hello-perl' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Бул программа {pid} процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/lv.po b/mingw/share/doc/gettext/examples/hello-perl/po/lv.po new file mode 100644 index 00000000..9e8d7358 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/lv.po @@ -0,0 +1,34 @@ +# Latvian translation of hello-perl +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Šī programma darbojas kā process ar numuru {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ms.po b/mingw/share/doc/gettext/examples/hello-perl/po/ms.po new file mode 100644 index 00000000..a53e2613 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ms.po @@ -0,0 +1,31 @@ +# hello-perl Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-perl package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Program ini dilaksanakan sebagai proses bernombor {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/mt.po b/mingw/share/doc/gettext/examples/hello-perl/po/mt.po new file mode 100644 index 00000000..32595432 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/mt.po @@ -0,0 +1,30 @@ +# hello-perl-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/nl.po b/mingw/share/doc/gettext/examples/hello-perl/po/nl.po new file mode 100644 index 00000000..94159601 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/nl.po @@ -0,0 +1,32 @@ +# Translation of hello-perl-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-perl package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Dit programma draait als proces nummer {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/pl.po b/mingw/share/doc/gettext/examples/hello-perl/po/pl.po new file mode 100644 index 00000000..f305e531 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/pl.po @@ -0,0 +1,32 @@ +# Polish translations for the GNU gettext messages, hello-perl domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-perl-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Ten program działa jako proces o numerze {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/pt.po b/mingw/share/doc/gettext/examples/hello-perl/po/pt.po new file mode 100644 index 00000000..66dad602 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/pt.po @@ -0,0 +1,30 @@ +# Portuguese translation of 'hello-perl' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-perl package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Este programa está a ser executado com o número de processo {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ro.po b/mingw/share/doc/gettext/examples/hello-perl/po/ro.po new file mode 100644 index 00000000..267213b6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ro.po @@ -0,0 +1,30 @@ +# Mesajele în limba românã pentru pachetul hello-perl-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-perl. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." + +#: hello-2.pl.in:14 +#, fuzzy, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Acest program ruleazã ca procesul numãrul $pid." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/ru.po b/mingw/share/doc/gettext/examples/hello-perl/po/ru.po new file mode 100644 index 00000000..1ffee52f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/ru.po @@ -0,0 +1,32 @@ +# Translation of hello-perl-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-perl package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/sk.po b/mingw/share/doc/gettext/examples/hello-perl/po/sk.po new file mode 100644 index 00000000..ae733fe7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/sk.po @@ -0,0 +1,30 @@ +# Slovak translations GNU for hello-perl package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-perl package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-perl 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Tento program beží ako proces s číslom {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/sl.po b/mingw/share/doc/gettext/examples/hello-perl/po/sl.po new file mode 100644 index 00000000..257ca85a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/sl.po @@ -0,0 +1,31 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Ta program teče kot proces številka {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/sr.po b/mingw/share/doc/gettext/examples/hello-perl/po/sr.po new file mode 100644 index 00000000..e8d41864 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/sr.po @@ -0,0 +1,29 @@ +# Serbian translation of hello-perl. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-perl' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Овај програм се извршава као процес број {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/sv.po b/mingw/share/doc/gettext/examples/hello-perl/po/sv.po new file mode 100644 index 00000000..bedda432 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/sv.po @@ -0,0 +1,29 @@ +# Swedish messages for hello-perl. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Detta program kör som process nummer {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/tr.po b/mingw/share/doc/gettext/examples/hello-perl/po/tr.po new file mode 100644 index 00000000..fddf99d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/tr.po @@ -0,0 +1,30 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Bu yazılım, {pid} süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/uk.po b/mingw/share/doc/gettext/examples/hello-perl/po/uk.po new file mode 100644 index 00000000..ae4ea793 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/uk.po @@ -0,0 +1,30 @@ +# Ukrainian translation to hello-perl +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-perl package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Ця програма виконується як процес з номером {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/vi.po b/mingw/share/doc/gettext/examples/hello-perl/po/vi.po new file mode 100644 index 00000000..cdd3c9f0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/vi.po @@ -0,0 +1,33 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "Chương trình này đang chạy với số hiệu tiến trình {pid}." diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-perl/po/zh_CN.po new file mode 100644 index 00000000..30bce504 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/zh_CN.po @@ -0,0 +1,30 @@ +# zh_CN translation for hello-perl. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-perl package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "此程序正以进程号 {pid} 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-perl/po/zh_HK.po new file mode 100644 index 00000000..9a0b8d34 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/zh_HK.po @@ -0,0 +1,29 @@ +# Chinese (Hong Kong) translation of hello-perl. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "你好!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "本程式正在執行中,進程編號為 {pid}。" diff --git a/mingw/share/doc/gettext/examples/hello-perl/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-perl/po/zh_TW.po new file mode 100644 index 00000000..95ce8182 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-perl/po/zh_TW.po @@ -0,0 +1,29 @@ +# traditional Chinese translation of hello-perl. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-perl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello-1.pl.in:17 hello-2.pl.in:12 +msgid "Hello, world!" +msgstr "您好!" + +#: hello-1.pl.in:19 +#, perl-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" + +#: hello-2.pl.in:14 +#, perl-brace-format +msgid "This program is running as process number {pid}." +msgstr "本程式正在執行中,進程編號為 {pid}。" diff --git a/mingw/share/doc/gettext/examples/hello-php/INSTALL b/mingw/share/doc/gettext/examples/hello-php/INSTALL new file mode 100644 index 00000000..5e2792e5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/INSTALL @@ -0,0 +1,10 @@ +This example relies on PHP. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-php/Makefile.am b/mingw/share/doc/gettext/examples/hello-php/Makefile.am new file mode 100644 index 00000000..b76e71d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-php/README b/mingw/share/doc/gettext/examples/hello-php/README new file mode 100644 index 00000000..1658db36 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/README @@ -0,0 +1,5 @@ +The gettext/PHP binding has a limitation: While it works fine for standalone +PHP programs, it cannot be used inside a web server, to translate parts of web +pages into the preferred encoding of user that makes a HTTP connection. The +reason is that a web server usually is multithreaded, and the gettext() API +relies on the process' global locale. diff --git a/mingw/share/doc/gettext/examples/hello-php/autoclean.sh b/mingw/share/doc/gettext/examples/hello-php/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-php/autogen.sh b/mingw/share/doc/gettext/examples/hello-php/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-php/configure.ac b/mingw/share/doc/gettext/examples/hello-php/configure.ac new file mode 100644 index 00000000..d31eefde --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/configure.ac @@ -0,0 +1,39 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.php) +AM_INIT_AUTOMAKE(hello-php, 0) + +dnl Check for availability of the PHP system. +AC_PATH_PROG(PHP, php) +if test -z "$PHP"; then + echo "*** Essential program php not found" 1>&2 + exit 1 +fi +AC_SUBST(PHP) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello:hello.php], [chmod a+x hello]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-php/hello.php b/mingw/share/doc/gettext/examples/hello-php/hello.php new file mode 100644 index 00000000..ca226f9c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/hello.php @@ -0,0 +1,17 @@ +#!@PHP@ -q + diff --git a/mingw/share/doc/gettext/examples/hello-php/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-php/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-php/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-php/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-php/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-php/po/Makefile.am new file mode 100644 index 00000000..e5db0517 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.php + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-php/po/af.po b/mingw/share/doc/gettext/examples/hello-php/po/af.po new file mode 100644 index 00000000..6c78fd9d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ast.po b/mingw/share/doc/gettext/examples/hello-php/po/ast.po new file mode 100644 index 00000000..9f7e0297 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/bg.po b/mingw/share/doc/gettext/examples/hello-php/po/bg.po new file mode 100644 index 00000000..7318fce7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-php package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-php 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ca.po b/mingw/share/doc/gettext/examples/hello-php/po/ca.po new file mode 100644 index 00000000..4acf4483 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-php. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-php package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/de.po b/mingw/share/doc/gettext/examples/hello-php/po/de.po new file mode 100644 index 00000000..44ed3efc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-php. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-php package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/el.po b/mingw/share/doc/gettext/examples/hello-php/po/el.po new file mode 100644 index 00000000..d978be19 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-php +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/eo.po b/mingw/share/doc/gettext/examples/hello-php/po/eo.po new file mode 100644 index 00000000..309fba5b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/es.po b/mingw/share/doc/gettext/examples/hello-php/po/es.po new file mode 100644 index 00000000..cd2e82bf --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/fi.po b/mingw/share/doc/gettext/examples/hello-php/po/fi.po new file mode 100644 index 00000000..ed496c3d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.php:12 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/fr.po b/mingw/share/doc/gettext/examples/hello-php/po/fr.po new file mode 100644 index 00000000..514ff2a2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-php 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ga.po b/mingw/share/doc/gettext/examples/hello-php/po/ga.po new file mode 100644 index 00000000..7a1e02b6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-php. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-php package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/hu.po b/mingw/share/doc/gettext/examples/hello-php/po/hu.po new file mode 100644 index 00000000..72f69074 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-php. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-php package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/id.po b/mingw/share/doc/gettext/examples/hello-php/po/id.po new file mode 100644 index 00000000..aabfa249 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-php-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-php/po/it.po b/mingw/share/doc/gettext/examples/hello-php/po/it.po new file mode 100644 index 00000000..86a96d23 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-php. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ja.po b/mingw/share/doc/gettext/examples/hello-php/po/ja.po new file mode 100644 index 00000000..2b697bce --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-php' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-php package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-php 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ky.po b/mingw/share/doc/gettext/examples/hello-php/po/ky.po new file mode 100644 index 00000000..c167d5c9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-php' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/lv.po b/mingw/share/doc/gettext/examples/hello-php/po/lv.po new file mode 100644 index 00000000..5d05f8fb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-php +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ms.po b/mingw/share/doc/gettext/examples/hello-php/po/ms.po new file mode 100644 index 00000000..58c66a83 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ms.po @@ -0,0 +1,26 @@ +# hello-php Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-php package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/mt.po b/mingw/share/doc/gettext/examples/hello-php/po/mt.po new file mode 100644 index 00000000..21f524fa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/mt.po @@ -0,0 +1,25 @@ +# hello-php-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/nl.po b/mingw/share/doc/gettext/examples/hello-php/po/nl.po new file mode 100644 index 00000000..41ad2f15 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-php-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-php package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/pl.po b/mingw/share/doc/gettext/examples/hello-php/po/pl.po new file mode 100644 index 00000000..9238391c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-php domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-php-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/pt.po b/mingw/share/doc/gettext/examples/hello-php/po/pt.po new file mode 100644 index 00000000..348b6940 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-php' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-php package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ro.po b/mingw/share/doc/gettext/examples/hello-php/po/ro.po new file mode 100644 index 00000000..46448401 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-php-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-php. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/ru.po b/mingw/share/doc/gettext/examples/hello-php/po/ru.po new file mode 100644 index 00000000..7779bc79 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-php-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-php package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/sk.po b/mingw/share/doc/gettext/examples/hello-php/po/sk.po new file mode 100644 index 00000000..a6ac6eff --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-php package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-php package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-php 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/sl.po b/mingw/share/doc/gettext/examples/hello-php/po/sl.po new file mode 100644 index 00000000..df9dd4fc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/sr.po b/mingw/share/doc/gettext/examples/hello-php/po/sr.po new file mode 100644 index 00000000..e316e068 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-php. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-php' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/sv.po b/mingw/share/doc/gettext/examples/hello-php/po/sv.po new file mode 100644 index 00000000..2650ce7e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-php. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/tr.po b/mingw/share/doc/gettext/examples/hello-php/po/tr.po new file mode 100644 index 00000000..b766998e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/uk.po b/mingw/share/doc/gettext/examples/hello-php/po/uk.po new file mode 100644 index 00000000..afc46a19 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-php +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-php package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/vi.po b/mingw/share/doc/gettext/examples/hello-php/po/vi.po new file mode 100644 index 00000000..b9946a31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-php/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-php/po/zh_CN.po new file mode 100644 index 00000000..e9c81b16 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-php. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-php package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-php/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-php/po/zh_HK.po new file mode 100644 index 00000000..85ddc1a7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-php. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-php/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-php/po/zh_TW.po new file mode 100644 index 00000000..33426a58 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-php/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-php. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-php 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.php:12 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.php:14 +#, php-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-python/INSTALL b/mingw/share/doc/gettext/examples/hello-python/INSTALL new file mode 100644 index 00000000..cb9ecf7c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/INSTALL @@ -0,0 +1,10 @@ +This example relies on Python 2.0 or newer. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-python/Makefile.am b/mingw/share/doc/gettext/examples/hello-python/Makefile.am new file mode 100644 index 00000000..009e9f3f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/Makefile.am @@ -0,0 +1,26 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Making a Python program executable. +# FIXME: How to make a compiled python program (output of automake's +# py-compile command) executable? +hello: hello.py + (echo '#!@PYTHON@'; cat $<) > $@ + chmod a+x $@ +CLEANFILES = hello +#CLEANFILES += *.pyc *.pyo + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-python/autoclean.sh b/mingw/share/doc/gettext/examples/hello-python/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-python/autogen.sh b/mingw/share/doc/gettext/examples/hello-python/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-python/configure.ac b/mingw/share/doc/gettext/examples/hello-python/configure.ac new file mode 100644 index 00000000..c4831280 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/configure.ac @@ -0,0 +1,37 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.py.in) +AM_INIT_AUTOMAKE(hello-python, 0) + +dnl Check for availability of the Python interpreter. +AM_PATH_PYTHON +if test -z "$PYTHON"; then + echo "*** Essential program python not found" 1>&2 + exit 1 +fi + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile hello.py]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-python/hello.py.in b/mingw/share/doc/gettext/examples/hello-python/hello.py.in new file mode 100644 index 00000000..fffe8556 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/hello.py.in @@ -0,0 +1,14 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the Python program. + +import gettext +import os + +gettext.textdomain('hello-python') +gettext.bindtextdomain('hello-python', '@localedir@') + +print gettext.gettext("Hello, world!") +print gettext.gettext("This program is running as process number %(pid)d.") \ + % { 'pid': os.getpid() } diff --git a/mingw/share/doc/gettext/examples/hello-python/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-python/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-python/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-python/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-python/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-python/po/Makefile.am new file mode 100644 index 00000000..b5bdd8e7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.py.in + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-python/po/af.po b/mingw/share/doc/gettext/examples/hello-python/po/af.po new file mode 100644 index 00000000..c5caef80 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Hierdie program loop as prosesnommer %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ast.po b/mingw/share/doc/gettext/examples/hello-python/po/ast.po new file mode 100644 index 00000000..8f4d3ac3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Esti programa ta corriendo como'l procesu númberu %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/bg.po b/mingw/share/doc/gettext/examples/hello-python/po/bg.po new file mode 100644 index 00000000..808dc9fa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-python package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-python 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Програмата е запусната под процес номер %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ca.po b/mingw/share/doc/gettext/examples/hello-python/po/ca.po new file mode 100644 index 00000000..9bb297a5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-python. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-python package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Aquest programa està corrent amb el número de procés %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/de.po b/mingw/share/doc/gettext/examples/hello-python/po/de.po new file mode 100644 index 00000000..ffd60fe3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-python. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-python package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/el.po b/mingw/share/doc/gettext/examples/hello-python/po/el.po new file mode 100644 index 00000000..8b8c0071 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-python +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/eo.po b/mingw/share/doc/gettext/examples/hello-python/po/eo.po new file mode 100644 index 00000000..2f413a01 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/es.po b/mingw/share/doc/gettext/examples/hello-python/po/es.po new file mode 100644 index 00000000..e01a95a1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Este programa está corriendo como el proceso número %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/fi.po b/mingw/share/doc/gettext/examples/hello-python/po/fi.po new file mode 100644 index 00000000..db17497b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Tämän ohjelman prosessinumero on %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/fr.po b/mingw/share/doc/gettext/examples/hello-python/po/fr.po new file mode 100644 index 00000000..03575f6d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-python 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Ce programme est exécuté en tant que processus numéro %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ga.po b/mingw/share/doc/gettext/examples/hello-python/po/ga.po new file mode 100644 index 00000000..fc8c14e3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-python. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-python package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Tá an clár seo á rith mar phróiseas %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/hu.po b/mingw/share/doc/gettext/examples/hello-python/po/hu.po new file mode 100644 index 00000000..18c8782c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-python. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-python package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Ez a program a %(pid)d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/id.po b/mingw/share/doc/gettext/examples/hello-python/po/id.po new file mode 100644 index 00000000..d40985b9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-python-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Program ini berjalan sebagai proses nomor %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/it.po b/mingw/share/doc/gettext/examples/hello-python/po/it.po new file mode 100644 index 00000000..a508a38b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-python. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Questo programma è in esecuzione con numero di processo %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ja.po b/mingw/share/doc/gettext/examples/hello-python/po/ja.po new file mode 100644 index 00000000..37c609b8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-python' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-python package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-python 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %(pid)d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ky.po b/mingw/share/doc/gettext/examples/hello-python/po/ky.po new file mode 100644 index 00000000..634888b9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-python' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Бул программа %(pid)d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/lv.po b/mingw/share/doc/gettext/examples/hello-python/po/lv.po new file mode 100644 index 00000000..dd5a86aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-python +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Šī programma darbojas kā process ar numuru %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ms.po b/mingw/share/doc/gettext/examples/hello-python/po/ms.po new file mode 100644 index 00000000..73feaf67 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ms.po @@ -0,0 +1,26 @@ +# hello-python Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-python package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/mt.po b/mingw/share/doc/gettext/examples/hello-python/po/mt.po new file mode 100644 index 00000000..fe87823e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/mt.po @@ -0,0 +1,25 @@ +# hello-python-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/nl.po b/mingw/share/doc/gettext/examples/hello-python/po/nl.po new file mode 100644 index 00000000..362aa9c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-python-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-python package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Dit programma draait als proces nummer %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/pl.po b/mingw/share/doc/gettext/examples/hello-python/po/pl.po new file mode 100644 index 00000000..6458919b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-python domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-python-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Ten program działa jako proces o numerze %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/pt.po b/mingw/share/doc/gettext/examples/hello-python/po/pt.po new file mode 100644 index 00000000..272f4000 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-python' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-python package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Este programa está a ser executado com o número de processo %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ro.po b/mingw/share/doc/gettext/examples/hello-python/po/ro.po new file mode 100644 index 00000000..68cc20ae --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-python-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-python. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Acest program este rulat ca procesul numãrul %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/ru.po b/mingw/share/doc/gettext/examples/hello-python/po/ru.po new file mode 100644 index 00000000..4b2a958d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-python-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-python package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/sk.po b/mingw/share/doc/gettext/examples/hello-python/po/sk.po new file mode 100644 index 00000000..0457b775 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-python package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-python package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-python 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Tento program beží ako proces s číslom %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/sl.po b/mingw/share/doc/gettext/examples/hello-python/po/sl.po new file mode 100644 index 00000000..b6b2e3de --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Ta program teče kot proces številka %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/sr.po b/mingw/share/doc/gettext/examples/hello-python/po/sr.po new file mode 100644 index 00000000..00e6e896 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-python. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-python' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Овај програм се извршава као процес број %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/sv.po b/mingw/share/doc/gettext/examples/hello-python/po/sv.po new file mode 100644 index 00000000..05a5abc7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-python. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Detta program kör som process nummer %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/tr.po b/mingw/share/doc/gettext/examples/hello-python/po/tr.po new file mode 100644 index 00000000..90b9e2ac --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Bu yazılım, %(pid)d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/uk.po b/mingw/share/doc/gettext/examples/hello-python/po/uk.po new file mode 100644 index 00000000..dcf4f6c6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-python +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-python package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Ця програма виконується як процес з номером %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/vi.po b/mingw/share/doc/gettext/examples/hello-python/po/vi.po new file mode 100644 index 00000000..5c05531a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %(pid)d." diff --git a/mingw/share/doc/gettext/examples/hello-python/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-python/po/zh_CN.po new file mode 100644 index 00000000..739792dd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-python. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-python package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "此程序正以进程号 %(pid)d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-python/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-python/po/zh_HK.po new file mode 100644 index 00000000..dd915cd0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-python. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "本程式正在執行中,進程編號為 %(pid)d。" diff --git a/mingw/share/doc/gettext/examples/hello-python/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-python/po/zh_TW.po new file mode 100644 index 00000000..8f09184a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-python/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-python. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-python 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.py.in:12 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.py.in:13 +#, python-format +msgid "This program is running as process number %(pid)d." +msgstr "本程式正在執行中,進程編號為 %(pid)d。" diff --git a/mingw/share/doc/gettext/examples/hello-sh/INSTALL b/mingw/share/doc/gettext/examples/hello-sh/INSTALL new file mode 100644 index 00000000..6b7e0bda --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/INSTALL @@ -0,0 +1,10 @@ +This example relies just on sh and gettext-runtime. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-sh/Makefile.am b/mingw/share/doc/gettext/examples/hello-sh/Makefile.am new file mode 100644 index 00000000..b76e71d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-sh/autoclean.sh b/mingw/share/doc/gettext/examples/hello-sh/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-sh/autogen.sh b/mingw/share/doc/gettext/examples/hello-sh/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-sh/configure.ac b/mingw/share/doc/gettext/examples/hello-sh/configure.ac new file mode 100644 index 00000000..0251b418 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/configure.ac @@ -0,0 +1,31 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.sh) +AM_INIT_AUTOMAKE(hello-sh, 0) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello:hello.sh], [chmod a+x hello]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-sh/hello.sh b/mingw/share/doc/gettext/examples/hello-sh/hello.sh new file mode 100644 index 00000000..82e41bba --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/hello.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the POSIX sh program. + +. gettext.sh + +TEXTDOMAIN=hello-sh +export TEXTDOMAIN +TEXTDOMAINDIR='@localedir@' +export TEXTDOMAINDIR + +gettext "Hello, world!"; echo + +pid=$$ +eval_gettext "This program is running as process number \$pid."; echo diff --git a/mingw/share/doc/gettext/examples/hello-sh/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-sh/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-sh/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-sh/po/Makefile.am new file mode 100644 index 00000000..5fe3ed5d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.sh + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/af.po b/mingw/share/doc/gettext/examples/hello-sh/po/af.po new file mode 100644 index 00000000..797441b8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Hierdie program loop as prosesnommer $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ast.po b/mingw/share/doc/gettext/examples/hello-sh/po/ast.po new file mode 100644 index 00000000..2a0928df --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Esti programa ta corriendo como'l procesu númberu $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/bg.po b/mingw/share/doc/gettext/examples/hello-sh/po/bg.po new file mode 100644 index 00000000..76ac6ce7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-sh package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-sh 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Програмата е запусната под процес номер $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ca.po b/mingw/share/doc/gettext/examples/hello-sh/po/ca.po new file mode 100644 index 00000000..49e99eeb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-sh. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-sh package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Aquest programa està corrent amb el número de procés $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/de.po b/mingw/share/doc/gettext/examples/hello-sh/po/de.po new file mode 100644 index 00000000..b2259849 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-sh. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-sh package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Dieses Programm läuft mit der Prozess-Nummer $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/el.po b/mingw/share/doc/gettext/examples/hello-sh/po/el.po new file mode 100644 index 00000000..f7c24de3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-sh +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/eo.po b/mingw/share/doc/gettext/examples/hello-sh/po/eo.po new file mode 100644 index 00000000..091181e2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/es.po b/mingw/share/doc/gettext/examples/hello-sh/po/es.po new file mode 100644 index 00000000..52af3867 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Este programa está corriendo como el proceso número $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/fi.po b/mingw/share/doc/gettext/examples/hello-sh/po/fi.po new file mode 100644 index 00000000..97ae25d5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Tämän ohjelman prosessinumero on $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/fr.po b/mingw/share/doc/gettext/examples/hello-sh/po/fr.po new file mode 100644 index 00000000..169275d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-sh 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Ce programme est exécuté en tant que processus numéro $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ga.po b/mingw/share/doc/gettext/examples/hello-sh/po/ga.po new file mode 100644 index 00000000..99faa3c1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-sh. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-sh package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Tá an clár seo á rith mar phróiseas $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/hu.po b/mingw/share/doc/gettext/examples/hello-sh/po/hu.po new file mode 100644 index 00000000..08c0fec5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-sh. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-sh package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Ez a program a $pid processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/id.po b/mingw/share/doc/gettext/examples/hello-sh/po/id.po new file mode 100644 index 00000000..156fa174 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-sh-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Program ini berjalan sebagai proses nomor $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/it.po b/mingw/share/doc/gettext/examples/hello-sh/po/it.po new file mode 100644 index 00000000..ff96ce5e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-sh. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Questo programma è in esecuzione con numero di processo $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ja.po b/mingw/share/doc/gettext/examples/hello-sh/po/ja.po new file mode 100644 index 00000000..2b1078a6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-sh' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-sh package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-sh 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ $pid ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ky.po b/mingw/share/doc/gettext/examples/hello-sh/po/ky.po new file mode 100644 index 00000000..4f9d2ab9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-sh' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Бул программа $pid процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/lv.po b/mingw/share/doc/gettext/examples/hello-sh/po/lv.po new file mode 100644 index 00000000..70a5f384 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-sh +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Šī programma darbojas kā process ar numuru $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ms.po b/mingw/share/doc/gettext/examples/hello-sh/po/ms.po new file mode 100644 index 00000000..811d9c7b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ms.po @@ -0,0 +1,26 @@ +# hello-sh Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-sh package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Program ini dilaksanakan sebagai proses bernombor $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/mt.po b/mingw/share/doc/gettext/examples/hello-sh/po/mt.po new file mode 100644 index 00000000..30adc0f0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/mt.po @@ -0,0 +1,25 @@ +# hello-sh-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/nl.po b/mingw/share/doc/gettext/examples/hello-sh/po/nl.po new file mode 100644 index 00000000..812f1c80 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-sh-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-sh package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Dit programma draait als proces nummer $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/pl.po b/mingw/share/doc/gettext/examples/hello-sh/po/pl.po new file mode 100644 index 00000000..25f5275d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-sh domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-sh-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Ten program działa jako proces o numerze $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/pt.po b/mingw/share/doc/gettext/examples/hello-sh/po/pt.po new file mode 100644 index 00000000..f401c685 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-sh' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-sh package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Este process está a ser executado com o número de processo $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ro.po b/mingw/share/doc/gettext/examples/hello-sh/po/ro.po new file mode 100644 index 00000000..624ef3bc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-sh-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-sh. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Acest program ruleazã ca procesul numãrul $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/ru.po b/mingw/share/doc/gettext/examples/hello-sh/po/ru.po new file mode 100644 index 00000000..a5399a24 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-sh-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-sh package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/sk.po b/mingw/share/doc/gettext/examples/hello-sh/po/sk.po new file mode 100644 index 00000000..10f2c5f6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-sh package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-sh package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-sh 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Tento program beží ako proces s číslom $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/sl.po b/mingw/share/doc/gettext/examples/hello-sh/po/sl.po new file mode 100644 index 00000000..5af6f72e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Ta program teče kot proces številka $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/sr.po b/mingw/share/doc/gettext/examples/hello-sh/po/sr.po new file mode 100644 index 00000000..344940db --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-sh. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-sh' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Овај програм се извршава као процес број $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/sv.po b/mingw/share/doc/gettext/examples/hello-sh/po/sv.po new file mode 100644 index 00000000..1f5de6fb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-sh. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Detta program kör som process nummer $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/tr.po b/mingw/share/doc/gettext/examples/hello-sh/po/tr.po new file mode 100644 index 00000000..aebfb285 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Bu yazılım, $pid süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/uk.po b/mingw/share/doc/gettext/examples/hello-sh/po/uk.po new file mode 100644 index 00000000..512fd214 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-sh +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-sh package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Ця програма виконується як процес з номером $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/vi.po b/mingw/share/doc/gettext/examples/hello-sh/po/vi.po new file mode 100644 index 00000000..1db3dd18 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "Chương trình này đang chạy với số hiệu tiến trình $pid." diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-sh/po/zh_CN.po new file mode 100644 index 00000000..ccb66d98 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-sh. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-sh package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "此程序正以进程号 $pid 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-sh/po/zh_HK.po new file mode 100644 index 00000000..74c8aba9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-sh. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "本程式正在執行中,進程編號為 $pid。" diff --git a/mingw/share/doc/gettext/examples/hello-sh/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-sh/po/zh_TW.po new file mode 100644 index 00000000..61d0b1c3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-sh/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-sh. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-sh 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.sh:14 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.sh:17 +#, sh-format +msgid "This program is running as process number $pid." +msgstr "本程式正在執行中,進程編號為 $pid。" diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/INSTALL b/mingw/share/doc/gettext/examples/hello-smalltalk/INSTALL new file mode 100644 index 00000000..4a6b9f87 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/INSTALL @@ -0,0 +1,10 @@ +This example relies on gst (GNU Smalltalk). + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/Makefile.am b/mingw/share/doc/gettext/examples/hello-smalltalk/Makefile.am new file mode 100644 index 00000000..9796d9a8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/Makefile.am @@ -0,0 +1,26 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello +all-local: hello +CLEANFILES = hello + +# The Smalltalk program is installed as data and invoked through a shell script. +pkgdata_DATA = hello.st +hello: + { echo '#!/bin/sh'; \ + echo "exec '@GST@' -Q '$(pkgdatadir)/hello.st' \"\$$@\""; \ + } > $@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/autoclean.sh b/mingw/share/doc/gettext/examples/hello-smalltalk/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/autogen.sh b/mingw/share/doc/gettext/examples/hello-smalltalk/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/configure.ac b/mingw/share/doc/gettext/examples/hello-smalltalk/configure.ac new file mode 100644 index 00000000..2cb1bec2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/configure.ac @@ -0,0 +1,38 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.st.in) +AM_INIT_AUTOMAKE(hello-smalltalk, 0) + +dnl Check for availability of GNU Smalltalk. +AC_PATH_PROG(GST, gst) +if test -z "$GST"; then + echo "*** Essential program gst not found" 1>&2 + exit 1 +fi +AC_SUBST(GST) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "datarootdir=\"${datarootdir}\"" +eval "localedir=\"${datadir}/locale\"" +prefix="$save_prefix" +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile hello.st]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/hello.st.in b/mingw/share/doc/gettext/examples/hello-smalltalk/hello.st.in new file mode 100644 index 00000000..4ddccad8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/hello.st.in @@ -0,0 +1,58 @@ +" Example for use of GNU gettext. + This file is in the public domain. + + Source code of the GNU Smalltalk program. +" + +"Unfortunately the PackageLoader method fileInPackage: is extra verbose: + It outputs 'Loading package I18N'. This will be fixed in smalltalk-2.2. + +PackageLoader fileInPackage: 'I18N' ! + +In the meantime, we use this workaround." + +| saved sink | +saved := Transcript message. +sink := WriteStream with: String new. +Transcript message: sink -> #nextPutAll:. +PackageLoader fileInPackage: 'I18N'. +Transcript message: saved. +! + +Object subclass: #Main + instanceVariableNames: '' + classVariableNames: 'NLS' + poolDictionaries: '' + category: 'Program' +! +!Main methodsFor: 'running'! +run + NLS := I18N Locale default messages domain: 'hello-smalltalk' localeDirectory: '@localedir@'. + Transcript showCr: (NLS ? 'Hello, world!'). + Transcript showCr: ((NLS ? 'This program is running as process number %1.') bindWith: self getpid). +! + + +"Unfortunately I cannot define getpid like this - it gives + 'C function getpid not defined'. + +SystemDictionary defineCFunc: 'getpid' + withSelectorArgs: 'getpid' + returning: #int + args: #() +! + +So let's define it through an external process." + +!Main methodsFor: 'auxiliary stuff'! +getpid + | stream pid | + stream := FileDescriptor popen: 'echo $PPID' dir: #read. + pid := stream contents asNumber. + stream close. + ^ pid +! +! + + +Main new run! diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-smalltalk/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-smalltalk/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-smalltalk/po/Makefile.am new file mode 100644 index 00000000..23fbf82f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.st.in + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/af.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/af.po new file mode 100644 index 00000000..98779b92 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Hierdie program loop as prosesnommer %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ast.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ast.po new file mode 100644 index 00000000..30ea0a72 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Esti programa ta corriendo como'l procesu númberu %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/bg.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/bg.po new file mode 100644 index 00000000..0d228bf3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-smalltalk package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-smalltalk 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Програмата е запусната под процес номер %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ca.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ca.po new file mode 100644 index 00000000..29c9b89f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-smalltalk. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Aquest programa està corrent amb el número de procés %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/de.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/de.po new file mode 100644 index 00000000..1fd5e091 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-smalltalk. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/el.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/el.po new file mode 100644 index 00000000..b9c1b5ef --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-smalltalk +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/eo.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/eo.po new file mode 100644 index 00000000..6182044d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/es.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/es.po new file mode 100644 index 00000000..dfebafe9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Este programa está corriendo como el proceso número %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/fi.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/fi.po new file mode 100644 index 00000000..504bd49c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Tämän ohjelman prosessinumero on %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/fr.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/fr.po new file mode 100644 index 00000000..c962e864 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-smalltalk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Ce programme est exécuté en tant que processus numéro %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ga.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ga.po new file mode 100644 index 00000000..38af430e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-smalltalk. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Tá an clár seo á rith mar phróiseas %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/hu.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/hu.po new file mode 100644 index 00000000..43b928c7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-smalltalk. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Ez a program a %1 processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/id.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/id.po new file mode 100644 index 00000000..1494c568 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-smalltalk-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Program ini berjalan sebagai proses nomor %1" diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/it.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/it.po new file mode 100644 index 00000000..bc411367 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-smalltalk. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Questo programma è in esecuzione con numero di processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ja.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ja.po new file mode 100644 index 00000000..e9efe81e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-smalltalk' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-smalltalk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %1 ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ky.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ky.po new file mode 100644 index 00000000..a84bb4c7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-smalltalk' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Бул программа %1 процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/lv.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/lv.po new file mode 100644 index 00000000..6ccc0380 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-smalltalk +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Šī programma darbojas kā process ar numuru %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ms.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ms.po new file mode 100644 index 00000000..04d8214b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ms.po @@ -0,0 +1,26 @@ +# hello-smalltalk Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Program ini dilaksanakan sebagai proses bernombor %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/mt.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/mt.po new file mode 100644 index 00000000..51884fca --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/mt.po @@ -0,0 +1,25 @@ +# hello-smalltalk-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/nl.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/nl.po new file mode 100644 index 00000000..34bac93e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-smalltalk-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Dit programma draait als proces nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/pl.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/pl.po new file mode 100644 index 00000000..74bb3282 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-smalltalk domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Ten program działa jako proces o numerze %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/pt.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/pt.po new file mode 100644 index 00000000..a88e369e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-smalltalk' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Este programa está a ser executado com o número de processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ro.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ro.po new file mode 100644 index 00000000..bad9e445 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-smalltalk-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-smalltalk. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Acest program este rulat ca procesul numãrul %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/ru.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ru.po new file mode 100644 index 00000000..155d04d6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-smalltalk-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/sk.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sk.po new file mode 100644 index 00000000..910a506d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-smalltalk package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-smalltalk package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-smalltalk 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Tento program beží ako proces s číslom %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/sl.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sl.po new file mode 100644 index 00000000..132348a3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Ta program teče kot proces številka %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/sr.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sr.po new file mode 100644 index 00000000..b1cf26c4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-smalltalk. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-smalltalk' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Овај програм се извршава као процес број %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/sv.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sv.po new file mode 100644 index 00000000..2aca22a8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-smalltalk. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Detta program kör som process nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/tr.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/tr.po new file mode 100644 index 00000000..0062a60b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Bu yazılım, %1 süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/uk.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/uk.po new file mode 100644 index 00000000..39721779 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-smalltalk +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Ця програма виконується як процес з номером %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/vi.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/vi.po new file mode 100644 index 00000000..7fa8d285 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %1." diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_CN.po new file mode 100644 index 00000000..f39e4f3f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-smalltalk. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-smalltalk package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "此程序正以进程号 %1 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_HK.po new file mode 100644 index 00000000..4d0e759e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-smalltalk. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_TW.po new file mode 100644 index 00000000..93ac20a5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-smalltalk/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-smalltalk. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-smalltalk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.st.in:31 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.st.in:32 +#, smalltalk-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/INSTALL b/mingw/share/doc/gettext/examples/hello-tcl-tk/INSTALL new file mode 100644 index 00000000..4797fdff --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/INSTALL @@ -0,0 +1,12 @@ +This example relies on: + - Tk (wish and libtk) + - Tcl (tclsh and libtcl) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/Makefile.am b/mingw/share/doc/gettext/examples/hello-tcl-tk/Makefile.am new file mode 100644 index 00000000..b76e71d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/autoclean.sh b/mingw/share/doc/gettext/examples/hello-tcl-tk/autoclean.sh new file mode 100644 index 00000000..f6054e25 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.msg diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/autogen.sh b/mingw/share/doc/gettext/examples/hello-tcl-tk/autogen.sh new file mode 100644 index 00000000..2b5e67b8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c --tcl -d . -l $lang $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/configure.ac b/mingw/share/doc/gettext/examples/hello-tcl-tk/configure.ac new file mode 100644 index 00000000..786f9b7a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/configure.ac @@ -0,0 +1,38 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.tcl) +AM_INIT_AUTOMAKE(hello-tcl-tk, 0) + +dnl Check for availability of the Tcl/Tk interpreter. +AC_PATH_PROG(WISH, wish) +if test -z "$WISH"; then + echo "*** Essential program wish not found" 1>&2 + exit 1 +fi +AC_SUBST(WISH) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "pkgdatadir=\"${datadir}/${PACKAGE}\"" +prefix="$save_prefix" +AC_SUBST(pkgdatadir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello:hello.tcl], [chmod a+x hello]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/hello.tcl b/mingw/share/doc/gettext/examples/hello-tcl-tk/hello.tcl new file mode 100644 index 00000000..4dfee53a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/hello.tcl @@ -0,0 +1,19 @@ +#!@WISH@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the Tcl/Tk program. + +package require msgcat +::msgcat::mcload [file join "@pkgdatadir@" "msgs"] +proc _ {s} {return [::msgcat::mc $s]} + +frame .my +button .my.button \ + -text [_ "Hello, world!"] \ + -command exit +label .my.label \ + -text [format [_ "This program is running as process number %d."] [pid]] +pack .my.button -side top +pack .my.label -side bottom +pack .my diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-tcl-tk/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/Makefile.am new file mode 100644 index 00000000..00b57a2b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/Makefile.am @@ -0,0 +1,276 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.tcl + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --flag=_:1:pass-tcl-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(frob $(lang)).msg) +MSGFILES = @MSGFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(frob $(lang)).msg) +CATALOGS = @TCLCATALOGS@ + +SUFFIXES = .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(MSGFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(MSGFILES)" || $(MAKE) $(MSGFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(pkgdatadir)/msgs + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$(pkgdatadir)/msgs/$$cat; \ + echo "installing $$realcat as $(DESTDIR)$(pkgdatadir)/msgs/$$cat"; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(pkgdatadir)/msgs + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + rm -f $(DESTDIR)$(pkgdatadir)/msgs/$$cat; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +MAINTAINERCLEANFILES = stamp-po $(MSGFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(MSGFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-msg + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-msg: Makefile $(MSGFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/af.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/af.po new file mode 100644 index 00000000..ad13df47 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ast.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ast.po new file mode 100644 index 00000000..00b56d80 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/bg.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/bg.po new file mode 100644 index 00000000..8d628110 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-tcl-tk package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl-tk 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ca.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ca.po new file mode 100644 index 00000000..86dbd562 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-tcl-tk. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/de.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/de.po new file mode 100644 index 00000000..26396a35 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-tcl-tk. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/el.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/el.po new file mode 100644 index 00000000..22919b5a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-tcl-tk +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/eo.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/eo.po new file mode 100644 index 00000000..1872f7ea --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/es.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/es.po new file mode 100644 index 00000000..b67b6200 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/fi.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/fi.po new file mode 100644 index 00000000..415e4037 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/fr.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/fr.po new file mode 100644 index 00000000..c5584cfc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl-tk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ga.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ga.po new file mode 100644 index 00000000..dd9b152d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-tcl-tk. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/hu.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/hu.po new file mode 100644 index 00000000..95a56d91 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-tcl-tk. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/id.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/id.po new file mode 100644 index 00000000..37051cc3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-tcl-tk-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/it.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/it.po new file mode 100644 index 00000000..2c483d3a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-tcl-tk. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ja.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ja.po new file mode 100644 index 00000000..50facc15 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-tcl-tk' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl-tk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ky.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ky.po new file mode 100644 index 00000000..1656b542 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-tcl-tk' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/lv.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/lv.po new file mode 100644 index 00000000..b4e858a6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-tcl-tk +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ms.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ms.po new file mode 100644 index 00000000..919ac870 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ms.po @@ -0,0 +1,26 @@ +# hello-tcl-tk Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/mt.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/mt.po new file mode 100644 index 00000000..c96e0324 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/mt.po @@ -0,0 +1,25 @@ +# hello-tcl-tk-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/nl.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/nl.po new file mode 100644 index 00000000..71fb58dd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-tcl-tk-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/pl.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/pl.po new file mode 100644 index 00000000..f4f2a14e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-tcl-tk domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/pt.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/pt.po new file mode 100644 index 00000000..d45c262c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-tcl-tk' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ro.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ro.po new file mode 100644 index 00000000..0ddf9a35 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-tcl-tk-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-tcl-tk. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ru.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ru.po new file mode 100644 index 00000000..9f51bf06 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-tcl-tk-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sk.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sk.po new file mode 100644 index 00000000..e7c4a23d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-tcl-tk package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-tcl-tk package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl-tk 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sl.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sl.po new file mode 100644 index 00000000..99e0b3e5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sr.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sr.po new file mode 100644 index 00000000..6d95a5d4 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-tcl-tk. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-tcl-tk' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sv.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sv.po new file mode 100644 index 00000000..bbd73a32 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-tcl-tk. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/tr.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/tr.po new file mode 100644 index 00000000..d6dcb4f9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/uk.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/uk.po new file mode 100644 index 00000000..368cfd52 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-tcl-tk +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/vi.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/vi.po new file mode 100644 index 00000000..f81989d0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_CN.po new file mode 100644 index 00000000..02d29877 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-tcl-tk. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl-tk package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_HK.po new file mode 100644 index 00000000..d58548d8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-tcl-tk. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_TW.po new file mode 100644 index 00000000..bf71c5af --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl-tk/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-tcl-tk. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-tk 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:13 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.tcl:16 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-tcl/INSTALL b/mingw/share/doc/gettext/examples/hello-tcl/INSTALL new file mode 100644 index 00000000..c020e479 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/INSTALL @@ -0,0 +1,11 @@ +This example relies on: + - Tcl (tclsh and libtcl) + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-tcl/Makefile.am b/mingw/share/doc/gettext/examples/hello-tcl/Makefile.am new file mode 100644 index 00000000..b76e71d9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/Makefile.am @@ -0,0 +1,17 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-tcl/autoclean.sh b/mingw/share/doc/gettext/examples/hello-tcl/autoclean.sh new file mode 100644 index 00000000..f6054e25 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.msg diff --git a/mingw/share/doc/gettext/examples/hello-tcl/autogen.sh b/mingw/share/doc/gettext/examples/hello-tcl/autogen.sh new file mode 100644 index 00000000..2b5e67b8 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c --tcl -d . -l $lang $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-tcl/configure.ac b/mingw/share/doc/gettext/examples/hello-tcl/configure.ac new file mode 100644 index 00000000..30538b85 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/configure.ac @@ -0,0 +1,38 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.tcl) +AM_INIT_AUTOMAKE(hello-tcl, 0) + +dnl Check for availability of the Tcl interpreter. +AC_PATH_PROG(TCLSH, tclsh) +if test -z "$TCLSH"; then + echo "*** Essential program tclsh not found" 1>&2 + exit 1 +fi +AC_SUBST(TCLSH) + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, prefix gets only finally determined at the end of configure. +if test "X$prefix" = "XNONE"; then + final_prefix="$ac_default_prefix" +else + final_prefix="$prefix" +fi +save_prefix="$prefix" +prefix="$final_prefix" +eval "pkgdatadir=\"${datadir}/${PACKAGE}\"" +prefix="$save_prefix" +AC_SUBST(pkgdatadir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([hello:hello.tcl], [chmod a+x hello]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-tcl/hello.tcl b/mingw/share/doc/gettext/examples/hello-tcl/hello.tcl new file mode 100644 index 00000000..19832736 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/hello.tcl @@ -0,0 +1,12 @@ +#!@TCLSH@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Source code of the Tcl program. + +package require msgcat +::msgcat::mcload [file join "@pkgdatadir@" "msgs"] +proc _ {s} {return [::msgcat::mc $s]} + +puts [_ "Hello, world!"] +puts [format [_ "This program is running as process number %d."] [pid]] diff --git a/mingw/share/doc/gettext/examples/hello-tcl/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-tcl/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-tcl/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-tcl/po/Makefile.am new file mode 100644 index 00000000..00b57a2b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/Makefile.am @@ -0,0 +1,276 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.tcl + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=_ --flag=_:1:pass-tcl-format + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(frob $(lang)).msg) +MSGFILES = @MSGFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(frob $(lang)).msg) +CATALOGS = @TCLCATALOGS@ + +SUFFIXES = .sed .sin .nop .po-create .po-update + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(MSGFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(MSGFILES)" || $(MAKE) $(MSGFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(pkgdatadir)/msgs + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$(pkgdatadir)/msgs/$$cat; \ + echo "installing $$realcat as $(DESTDIR)$(pkgdatadir)/msgs/$$cat"; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(pkgdatadir)/msgs + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + rm -f $(DESTDIR)$(pkgdatadir)/msgs/$$cat; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +MAINTAINERCLEANFILES = stamp-po $(MSGFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(MSGFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-msg + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-msg: Makefile $(MSGFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/af.po b/mingw/share/doc/gettext/examples/hello-tcl/po/af.po new file mode 100644 index 00000000..fd6ad22d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Hierdie program loop as prosesnommer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ast.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ast.po new file mode 100644 index 00000000..486d098f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Esti programa ta corriendo como'l procesu númberu %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/bg.po b/mingw/share/doc/gettext/examples/hello-tcl/po/bg.po new file mode 100644 index 00000000..132becd1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-tcl package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Програмата е запусната под процес номер %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ca.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ca.po new file mode 100644 index 00000000..a96e0265 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-tcl. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Aquest programa està corrent amb el número de procés %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/de.po b/mingw/share/doc/gettext/examples/hello-tcl/po/de.po new file mode 100644 index 00000000..b5b95b3a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-tcl. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/el.po b/mingw/share/doc/gettext/examples/hello-tcl/po/el.po new file mode 100644 index 00000000..7d1f4806 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-tcl +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/eo.po b/mingw/share/doc/gettext/examples/hello-tcl/po/eo.po new file mode 100644 index 00000000..72dcab53 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/es.po b/mingw/share/doc/gettext/examples/hello-tcl/po/es.po new file mode 100644 index 00000000..614122dc --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Este programa está corriendo como el proceso número %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/fi.po b/mingw/share/doc/gettext/examples/hello-tcl/po/fi.po new file mode 100644 index 00000000..aea8a69f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Tämän ohjelman prosessinumero on %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/fr.po b/mingw/share/doc/gettext/examples/hello-tcl/po/fr.po new file mode 100644 index 00000000..92c974e6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ce programme est exécuté en tant que processus numéro %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ga.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ga.po new file mode 100644 index 00000000..7ab4a8d2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-tcl. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Tá an clár seo á rith mar phróiseas %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/hu.po b/mingw/share/doc/gettext/examples/hello-tcl/po/hu.po new file mode 100644 index 00000000..2085c339 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-tcl. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ez a program a %d processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/id.po b/mingw/share/doc/gettext/examples/hello-tcl/po/id.po new file mode 100644 index 00000000..f4772e1f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-tcl-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Program ini berjalan sebagai proses nomor %d" diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/it.po b/mingw/share/doc/gettext/examples/hello-tcl/po/it.po new file mode 100644 index 00000000..a5751e74 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-tcl. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Questo programma è in esecuzione con numero di processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ja.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ja.po new file mode 100644 index 00000000..c4e1d7aa --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-tcl' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %d ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ky.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ky.po new file mode 100644 index 00000000..776abd44 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-tcl' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Бул программа %d процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/lv.po b/mingw/share/doc/gettext/examples/hello-tcl/po/lv.po new file mode 100644 index 00000000..b8094700 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-tcl +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Šī programma darbojas kā process ar numuru %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ms.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ms.po new file mode 100644 index 00000000..53c5898d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ms.po @@ -0,0 +1,26 @@ +# hello-tcl Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Program ini dilaksanakan sebagai proses bernombor %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/mt.po b/mingw/share/doc/gettext/examples/hello-tcl/po/mt.po new file mode 100644 index 00000000..f05ea23d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/mt.po @@ -0,0 +1,25 @@ +# hello-tcl-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/nl.po b/mingw/share/doc/gettext/examples/hello-tcl/po/nl.po new file mode 100644 index 00000000..5fd7a718 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-tcl-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Dit programma draait als proces nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/pl.po b/mingw/share/doc/gettext/examples/hello-tcl/po/pl.po new file mode 100644 index 00000000..a3d89904 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-tcl domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ten program działa jako proces o numerze %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/pt.po b/mingw/share/doc/gettext/examples/hello-tcl/po/pt.po new file mode 100644 index 00000000..20dd7ca2 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-tcl' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Este programa está a ser executado com o número de processo %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ro.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ro.po new file mode 100644 index 00000000..1d0768be --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-tcl-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-tcl. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Acest program este rulat ca procesul numãrul %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/ru.po b/mingw/share/doc/gettext/examples/hello-tcl/po/ru.po new file mode 100644 index 00000000..cdc47b4e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-tcl-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/sk.po b/mingw/share/doc/gettext/examples/hello-tcl/po/sk.po new file mode 100644 index 00000000..1b5d9c58 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-tcl package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-tcl package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-tcl 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Tento program beží ako proces s číslom %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/sl.po b/mingw/share/doc/gettext/examples/hello-tcl/po/sl.po new file mode 100644 index 00000000..d1064f22 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ta program teče kot proces številka %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/sr.po b/mingw/share/doc/gettext/examples/hello-tcl/po/sr.po new file mode 100644 index 00000000..898d5eed --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-tcl. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-tcl' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Овај програм се извршава као процес број %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/sv.po b/mingw/share/doc/gettext/examples/hello-tcl/po/sv.po new file mode 100644 index 00000000..03cf55f5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-tcl. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Detta program kör som process nummer %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/tr.po b/mingw/share/doc/gettext/examples/hello-tcl/po/tr.po new file mode 100644 index 00000000..f439a1dd --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Bu yazılım, %d süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/uk.po b/mingw/share/doc/gettext/examples/hello-tcl/po/uk.po new file mode 100644 index 00000000..57844c1c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-tcl +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Ця програма виконується як процес з номером %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/vi.po b/mingw/share/doc/gettext/examples/hello-tcl/po/vi.po new file mode 100644 index 00000000..4ba4281d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %d." diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-tcl/po/zh_CN.po new file mode 100644 index 00000000..fbf80923 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-tcl. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-tcl package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "此程序正以进程号 %d 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-tcl/po/zh_HK.po new file mode 100644 index 00000000..54d782f6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-tcl. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-tcl/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-tcl/po/zh_TW.po new file mode 100644 index 00000000..fb2d2209 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-tcl/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-tcl. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-tcl 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.tcl:11 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.tcl:12 +#, tcl-format +msgid "This program is running as process number %d." +msgstr "本程式正在執行中,進程編號為 %d。" diff --git a/mingw/share/doc/gettext/examples/hello-ycp/INSTALL b/mingw/share/doc/gettext/examples/hello-ycp/INSTALL new file mode 100644 index 00000000..1aaff4e1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/INSTALL @@ -0,0 +1,16 @@ +This example relies on YaST2 (SuSE Linux: package yast2-core). + +Before "make install", you need to make the locale directory writable: + chmod a+w /usr/share/YaST2/locale + chmod a+w /usr/share/YaST2/locale/*/LC_MESSAGES +Unfortunately this directory is hardwired in YaST; there is no way to +put the message catalogs elsewhere. + +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-ycp/Makefile.am b/mingw/share/doc/gettext/examples/hello-ycp/Makefile.am new file mode 100644 index 00000000..ceeda901 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/Makefile.am @@ -0,0 +1,30 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = m4 po + +# The list of programs that are built. +bin_SCRIPTS = hello +all-local: hello +CLEANFILES = hello + +# The YCP program is installed as data and invoked through a shell script. +pkgdata_DATA = hello.ycp +hello: + { echo '#!/bin/sh'; \ + echo 'if test -n "$$DISPLAY"; then'; \ + echo " exec /usr/lib/YaST2/bin/y2base '$(pkgdatadir)/hello.ycp' qt"; \ + echo 'else'; \ + echo " exec /usr/lib/YaST2/bin/y2base '$(pkgdatadir)/hello.ycp' ncurses"; \ + echo 'fi'; \ + } > $@ + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh diff --git a/mingw/share/doc/gettext/examples/hello-ycp/autoclean.sh b/mingw/share/doc/gettext/examples/hello-ycp/autoclean.sh new file mode 100644 index 00000000..7c2c432c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/autoclean.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Brought in by explicit copy. +rm -f m4/nls.m4 +rm -f m4/po.m4 +rm -f m4/progtest.m4 +rm -f po/remove-potcdate.sin + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f po/Makefile.in +rm -f install-sh +rm -f missing +rm -f po/*.pot +rm -f po/stamp-po +rm -f po/*.gmo diff --git a/mingw/share/doc/gettext/examples/hello-ycp/autogen.sh b/mingw/share/doc/gettext/examples/hello-ycp/autogen.sh new file mode 100644 index 00000000..7e519799 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/autogen.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +if test -r ../Makefile.am; then + # Inside the gettext source directory. + GETTEXT_TOPSRCDIR=../../.. +else + if test -r ../Makefile; then + # Inside a gettext build directory. + GETTEXT_TOOLS_SRCDIR=`sed -n -e 's,^top_srcdir *= *\(.*\)$,\1,p' ../Makefile` + # Adjust a relative top_srcdir. + case $GETTEXT_TOOLS_SRCDIR in + /*) ;; + *) GETTEXT_TOOLS_SRCDIR=../$GETTEXT_TOOLS_SRCDIR ;; + esac + GETTEXT_TOPSRCDIR=$GETTEXT_TOOLS_SRCDIR/../.. + else + # Installed under ${prefix}/share/doc/gettext/examples. + . ../installpaths + fi +fi + +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/nls.m4 m4/nls.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/po.m4 m4/po.m4 +cp -p ${ACLOCALDIR-$GETTEXT_TOPSRCDIR/gettext-runtime/m4}/progtest.m4 m4/progtest.m4 +cp -p ${GETTEXTSRCPODIR-$GETTEXT_TOPSRCDIR/gettext-runtime/po}/remove-potcdate.sin po/remove-potcdate.sin + +aclocal -I m4 + +autoconf + +automake -a -c + +cd po +for f in *.po; do + if test -r "$f"; then + lang=`echo $f | sed -e 's,\.po$,,'` + msgfmt -c -o $lang.gmo $lang.po + fi +done +cd .. diff --git a/mingw/share/doc/gettext/examples/hello-ycp/configure.ac b/mingw/share/doc/gettext/examples/hello-ycp/configure.ac new file mode 100644 index 00000000..91bba931 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/configure.ac @@ -0,0 +1,27 @@ +dnl Example for use of GNU gettext. +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT +AC_CONFIG_SRCDIR(hello.ycp) +AM_INIT_AUTOMAKE(hello-ycp, 0) + +dnl Check for availability of YaST's engine. +test -f /usr/lib/YaST2/bin/y2base || { + echo "*** Essential program y2base not found" 1>&2 + exit 1 +} + +dnl The installed program must know where to find its message catalogs. +dnl Unfortunately, YaST hard codes the message catalog directory. +localedir=/usr/share/YaST2/locale +AC_SUBST(localedir) + +dnl Support for the po directory. +AM_PO_SUBDIRS + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([m4/Makefile]) +AC_CONFIG_FILES([po/Makefile], [AM_POSTPROCESS_PO_MAKEFILE]) +AC_OUTPUT diff --git a/mingw/share/doc/gettext/examples/hello-ycp/hello.ycp b/mingw/share/doc/gettext/examples/hello-ycp/hello.ycp new file mode 100644 index 00000000..0affb10e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/hello.ycp @@ -0,0 +1,30 @@ +// Example for use of GNU gettext. +// This file is in the public domain. + +// Source code of the YCP program. + +UI(``{ + textdomain "hello-ycp"; + + map bash_out = SCR::Execute (.target.bash_output, "echo $PPID"); + integer pid = tointeger (bash_out["stdout"]:"99999"); + + OpenDialog ( + `VBox ( + `HBox ( + `Label (_("Hello, world!")), + `HStretch () + ), + `HBox ( + `Label (sformat (_("This program is running as process number %1."), pid)), + `HStretch () + ), + `HBox ( + `HStretch (), + `PushButton (`opt(`default), "&OK") + ) + ) + ); + UserInput(); + CloseDialog(); +}) diff --git a/mingw/share/doc/gettext/examples/hello-ycp/m4/Makefile.am b/mingw/share/doc/gettext/examples/hello-ycp/m4/Makefile.am new file mode 100644 index 00000000..8a841b31 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/m4/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + nls.m4 po.m4 diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/LINGUAS b/mingw/share/doc/gettext/examples/hello-ycp/po/LINGUAS new file mode 100644 index 00000000..2a10c49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/LINGUAS @@ -0,0 +1,5 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Set of available languages. +af ast bg ca de el eo es fi fr ga hu id it ja ky lv ms mt nl pl pt ro ru sk sl sr sv tr uk vi zh_CN zh_HK zh_TW diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/Makefile.am b/mingw/share/doc/gettext/examples/hello-ycp/po/Makefile.am new file mode 100644 index 00000000..d643cac5 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/Makefile.am @@ -0,0 +1,356 @@ +# Example for use of GNU gettext. +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# List of files which contain translatable strings. +POTFILES = \ + hello.ycp + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Yoyodyne, Inc. + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = bug-gnu-gettext@gnu.org + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --quiet + +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +# This is computed as $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +POTFILES_DEPS = @POTFILES_DEPS@ + +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).po) +POFILES = @POFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(srcdir)/$(lang).gmo) +GMOFILES = @GMOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).po-update) +UPDATEPOFILES = @UPDATEPOFILES@ +# This is computed as $(foreach lang, $(LINGUAS), $(lang).nop) +DUMMYPOFILES = @DUMMYPOFILES@ + +# This is computed as +# $(foreach lang, user-specified subset of $(LINGUAS), $(lang).gmo) +CATALOGS = @CATALOGS@ + +SUFFIXES = .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all-local: all-local-@USE_NLS@ + +all-local-yes: stamp-po +all-local-no: + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +$(DOMAIN).pot-update: $(POTFILES_DEPS) remove-potcdate.sed + if LC_ALL=C grep 'GNU $(PACKAGE)' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}$(PACKAGE)" \ + --package-version='$(VERSION)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + $(POTFILES) \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(srcdir)/$(DOMAIN).pot + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install-data-local: install-data-local-@USE_NLS@ +install-data-local-no: all-local +install-data-local-yes: all-local + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +installdirs-local: installdirs-local-@USE_NLS@ +installdirs-local-no: +installdirs-local-yes: + $(mkdir_p) $(DESTDIR)$(datadir) + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +uninstall-local: uninstall-local-@USE_NLS@ +uninstall-local-no: +uninstall-local-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +html ID: + +MOSTLYCLEANFILES = +MOSTLYCLEANFILES += remove-potcdate.sed +MOSTLYCLEANFILES += stamp-poT +MOSTLYCLEANFILES += core core.* *.stackdump $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +MOSTLYCLEANFILES += *.o + +DISTCLEANFILES = *.mo + +MAINTAINERCLEANFILES = stamp-po $(GMOFILES) + +EXTRA_DIST = remove-potcdate.sin LINGUAS $(POFILES) $(GMOFILES) + +# Hidden from automake, but really activated. Works around an automake-1.5 bug. +#distdir: distdir1 +distdir1: + $(MAKE) update-po + if test -f $(srcdir)/$(DOMAIN).pot; then \ + for file in $(DOMAIN).pot stamp-po; do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + cp -p $$d/$$file $(distdir)/$$file || exit 1; \ + done; \ + fi + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/af.po b/mingw/share/doc/gettext/examples/hello-ycp/po/af.po new file mode 100644 index 00000000..1a870eff --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/af.po @@ -0,0 +1,25 @@ +# Afrikaans translation for Silky +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the silky package. +# Hanlie Pretorius , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-31 10:30+2\n" +"Last-Translator: Ysbeer \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hallo wêreld!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Hierdie program loop as prosesnommer %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ast.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ast.po new file mode 100644 index 00000000..168abae0 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ast.po @@ -0,0 +1,26 @@ +# Mensajes en asturianu para GNU gettext. +# This file is distributed under the same license as the gettext package. +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# Copyright (C) 2009 Free Software Foundation, Inc. +# Marquinos , 2009. +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-12-15 12:16+0100\n" +"Last-Translator: Marquinos \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "¡Hola, mundu!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Esti programa ta corriendo como'l procesu númberu %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/bg.po b/mingw/share/doc/gettext/examples/hello-ycp/po/bg.po new file mode 100644 index 00000000..89965298 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/bg.po @@ -0,0 +1,25 @@ +# Bulgarian translations for hello-ycp package. +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Roumen Petrov , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-ycp 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:49+0300\n" +"Last-Translator: Roumen Petrov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Здравейте на всички !" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Програмата е запусната под процес номер %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ca.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ca.po new file mode 100644 index 00000000..00f5caa1 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ca.po @@ -0,0 +1,26 @@ +# Catalan messages for GNU hello-ycp. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Ivan Vilata i Balaguer , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:41+0100\n" +"Last-Translator: Ivan Vilata i Balaguer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hola, món!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Aquest programa està corrent amb el número de procés %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/de.po b/mingw/share/doc/gettext/examples/hello-ycp/po/de.po new file mode 100644 index 00000000..abfc3651 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/de.po @@ -0,0 +1,27 @@ +# German messages for hello-ycp. +# Copyright © 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Bruno Haible , 2003. +# Karl Eichwalder , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 10:09+0100\n" +"Last-Translator: Karl Eichwalder \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hallo Welt!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Dieses Programm läuft mit der Prozess-Nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/el.po b/mingw/share/doc/gettext/examples/hello-ycp/po/el.po new file mode 100644 index 00000000..8367692f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/el.po @@ -0,0 +1,25 @@ +# Greek translation of hello-ycp +# Copyright (C) 2005 Free Software Foundation, Inc. +# Simos Xenitellis , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-01-06 18:50+0000\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Γεια σου, κόσμε!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Αυτό το πρόγραμμα εκτελείται με αριθμό διεργασίας %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/eo.po b/mingw/share/doc/gettext/examples/hello-ycp/po/eo.po new file mode 100644 index 00000000..ddad31ee --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/eo.po @@ -0,0 +1,25 @@ +# La teksto por la mesaĝoj de la programo "gettext". +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Edmund GRIMLEY EVANS , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-02 19:24+0100\n" +"Last-Translator: Edmund GRIMLEY EVANS \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Saluton, mondo!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Ĉi tiu programo rulas kiel procezo kun numero %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/es.po b/mingw/share/doc/gettext/examples/hello-ycp/po/es.po new file mode 100644 index 00000000..d51762f9 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/es.po @@ -0,0 +1,25 @@ +# Mensajes en español para GNU gettext. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Max de Mendizábal , 1996, 1997, 1998, 1999, 2000, +# 2001, 2002, 2003, 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-29 13:59-0600\n" +"Last-Translator: Max de Mendizábal \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "¡Hola, mundo!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Este programa está corriendo como el proceso número %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/fi.po b/mingw/share/doc/gettext/examples/hello-ycp/po/fi.po new file mode 100644 index 00000000..05b44242 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/fi.po @@ -0,0 +1,25 @@ +# Finnish messages for GNU Gettext examples. +# Copyright © 2007 Yoyodyne, Inc. +# Lauri Nurmi , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-20 23:42+0300\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# Tämä nimenomainen käännös valittu GNU Hellon mukaisesti. +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Terve maailma!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Tämän ohjelman prosessinumero on %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/fr.po b/mingw/share/doc/gettext/examples/hello-ycp/po/fr.po new file mode 100644 index 00000000..2ca09d14 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/fr.po @@ -0,0 +1,26 @@ +# Messages français pour GNU gettext. +# Copyright © 2006 Yoyodyne, Inc. +# Michel Robitaille , 2006. +# Christophe Combelles , 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-ycp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-10-01 02:29+0200\n" +"Last-Translator: Christophe Combelles \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Bonjour, le monde !" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Ce programme est exécuté en tant que processus numéro %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ga.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ga.po new file mode 100644 index 00000000..b6586b63 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ga.po @@ -0,0 +1,25 @@ +# Irish translations for hello-ycp. +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Kevin Patrick Scannell , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-02-07 12:09-0500\n" +"Last-Translator: Kevin Patrick Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Dia duit, a dhomhain!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Tá an clár seo á rith mar phróiseas %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/hu.po b/mingw/share/doc/gettext/examples/hello-ycp/po/hu.po new file mode 100644 index 00000000..c0a6781d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/hu.po @@ -0,0 +1,25 @@ +# Hungarian translation for hello-ycp. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Kiss Tamás , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-28 03:21+0200\n" +"Last-Translator: Kiss Tamás \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hello, világ!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Ez a program a %1 processz azonosítóval fut." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/id.po b/mingw/share/doc/gettext/examples/hello-ycp/po/id.po new file mode 100644 index 00000000..172a696d --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/id.po @@ -0,0 +1,26 @@ +# translation of hello-ycp-0.15-pre5.po to Indonesian +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the PACKAGE package. +# +# Tedi Heriyanto , 2006. +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-09-27 20:19+0700\n" +"Last-Translator: Tedi Heriyanto \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Program ini berjalan sebagai proses nomor %1" diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/it.po b/mingw/share/doc/gettext/examples/hello-ycp/po/it.po new file mode 100644 index 00000000..d017e503 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/it.po @@ -0,0 +1,25 @@ +# Italian messages for hello-ycp. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the gettext package. +# Marco Colombo , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-01 10:46+0100\n" +"Last-Translator: Marco Colombo \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Salve, mondo!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Questo programma è in esecuzione con numero di processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ja.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ja.po new file mode 100644 index 00000000..151bafc3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ja.po @@ -0,0 +1,25 @@ +# Translation of `hello-ycp' messages to Japanese. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Masahito Yamaga , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-ycp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 10:31+0900\n" +"Last-Translator: Masahito Yamaga \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "À¤³¦¤è, ¤³¤ó¤Ë¤Á¤Ï!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "¤³¤Î¥×¥í¥°¥é¥à¤Ï¥×¥í¥»¥¹ÈÖ¹æ %1 ¤ÇÆ°¤¤¤Æ¤¤¤Þ¤¹." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ky.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ky.po new file mode 100644 index 00000000..82e855ef --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ky.po @@ -0,0 +1,27 @@ +# Translation of 'hello-ycp' messages to Kirghiz. +# Copyright (C) 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the silky package. +# Ilyas Bakirov , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-11-13 16:02+0600\n" +"Last-Translator: Ilyas Bakirov \n" +"Language-Team: Kirghiz \n" +"Language: ky\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Kyrgyz\n" +"X-Poedit-Country: KYRGYZSTAN\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Салам дүйнө!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Бул программа %1 процесс номери катары иштеп жатат." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/lv.po b/mingw/share/doc/gettext/examples/hello-ycp/po/lv.po new file mode 100644 index 00000000..3467a3ca --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/lv.po @@ -0,0 +1,29 @@ +# Latvian translation of hello-ycp +# Copyright (C) 2009 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.17\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2009-07-28 21:26+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Sveika, pasaule!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Šī programma darbojas kā process ar numuru %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ms.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ms.po new file mode 100644 index 00000000..5a5c2939 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ms.po @@ -0,0 +1,26 @@ +# hello-ycp Bahasa Melayu (Malay) (ms). +# Copyright (C) 2006 Yoyodyne, Inc. +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Sharuzzaman Ahmat Raslan , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-12-22 21:36+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hello, world!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Program ini dilaksanakan sebagai proses bernombor %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/mt.po b/mingw/share/doc/gettext/examples/hello-ycp/po/mt.po new file mode 100644 index 00000000..b13d06cb --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/mt.po @@ -0,0 +1,25 @@ +# hello-ycp-0.16.2-pre5. +# Copyright (C) 2008 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# Clyde Meli , 2001-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2008-11-18 17:27+0100\n" +"Last-Translator: Clyde Meli \n" +"Language-Team: Maltese \n" +"Language: mt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-3\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hello, lil kulħadd!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Dal-programm qed jaħdem taħt il-proċess numru %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/nl.po b/mingw/share/doc/gettext/examples/hello-ycp/po/nl.po new file mode 100644 index 00000000..34394603 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/nl.po @@ -0,0 +1,27 @@ +# Translation of hello-ycp-0.16.2-pre5 to Dutch. +# Copyright (C) 2005, 2006 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-ycp package. +# +# Elros Cyriatan , 2004. +# Benno Schulenberg , 2007. +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.16.2-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-10-16 18:51+0200\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hallo, wereld!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Dit programma draait als proces nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/pl.po b/mingw/share/doc/gettext/examples/hello-ycp/po/pl.po new file mode 100644 index 00000000..8d224444 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/pl.po @@ -0,0 +1,27 @@ +# Polish translations for the GNU gettext messages, hello-ycp domain +# Copyright (C) 2010 Yoyodyne, Inc. (msgids) +# This file is distributed under the same license as the gettext package. +# This file is distributed under the same license as the gettext package. +# Rafał Maszkowski , 2003, 2010 „” +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp-0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-10 13:30+0200\n" +"Last-Translator: Rafał Maszkowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Witaj świecie!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Ten program działa jako proces o numerze %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/pt.po b/mingw/share/doc/gettext/examples/hello-ycp/po/pt.po new file mode 100644 index 00000000..c5597e83 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/pt.po @@ -0,0 +1,25 @@ +# Portuguese translation of 'hello-ycp' package. +# Copyright (C) 2005 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Helder Correia , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-11-19 23:08+0000\n" +"Last-Translator: Helder Correia \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Olá, Mundo!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Este programa está a ser executado com o número de processo %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ro.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ro.po new file mode 100644 index 00000000..738fd2b6 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ro.po @@ -0,0 +1,25 @@ +# Mesajele în limba românã pentru pachetul hello-ycp-0.13-pre1. +# Copyright (C) 2003 Free Software Foundation, Inc. +# Acest fiºier este distribuit sub aceeaºi licenþã ca pachetul hello-ycp. +# Eugen Hoanca , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.13-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-11-22 11:15+0200\n" +"Last-Translator: Eugen Hoanca \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Salut, lume! (Hello, world!)" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Acest program este rulat ca procesul numãrul %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/ru.po b/mingw/share/doc/gettext/examples/hello-ycp/po/ru.po new file mode 100644 index 00000000..fc99cf0b --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/ru.po @@ -0,0 +1,27 @@ +# Translation of hello-ycp-0.14.1.po to Russian +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Copyright (C) 2004 Yoyodyne, Inc. +# Pavel Maryanov , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-11-17 10:08+0200\n" +"Last-Translator: Pavel Maryanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=KOI8-R\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "úÄÒÁ×ÓÔ×ÕÊ, ÍÉÒ!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "üÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÁË ÐÒÏÃÅÓÓ ÐÏÄ ÎÏÍÅÒÏÍ %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/sk.po b/mingw/share/doc/gettext/examples/hello-ycp/po/sk.po new file mode 100644 index 00000000..b393ba0a --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/sk.po @@ -0,0 +1,25 @@ +# Slovak translations GNU for hello-ycp package. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the GNU hello-ycp package. +# Marcel Telka , 2003, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU hello-ycp 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-22 00:19+0100\n" +"Last-Translator: Marcel Telka \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Ahoj svet!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Tento program beží ako proces s číslom %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/sl.po b/mingw/share/doc/gettext/examples/hello-ycp/po/sl.po new file mode 100644 index 00000000..49210b27 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/sl.po @@ -0,0 +1,26 @@ +# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU gettext-example +# Copyright (C) 2005 Yoyodyne, Inc. +# Primož Peterlin , 2005. +# $Id: sl.po,v 1.3 2007/11/07 00:46:46 haible Exp $ +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-09-29 13:38+0200\n" +"Last-Translator: Primož Peterlin \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Pozdravljen, svet!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Ta program teče kot proces številka %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/sr.po b/mingw/share/doc/gettext/examples/hello-ycp/po/sr.po new file mode 100644 index 00000000..f662fed3 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/sr.po @@ -0,0 +1,24 @@ +# Serbian translation of hello-ycp. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the `hello-ycp' package. +# Aleksandar Jelenak , 2004. +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-31 00:47-0500\n" +"Last-Translator: Aleksandar Jelenak \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Здраво свима!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Овај програм се извршава као процес број %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/sv.po b/mingw/share/doc/gettext/examples/hello-ycp/po/sv.po new file mode 100644 index 00000000..6a2dca2c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/sv.po @@ -0,0 +1,24 @@ +# Swedish messages for hello-ycp. +# Copyright © 2006 Yoyodyne, Inc. +# Jan Djärv , 2003, 2006 +# Revision: 1.9 +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-04 12:39+0200\n" +"Last-Translator: Jan Djärv \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Hej världen!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Detta program kör som process nummer %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/tr.po b/mingw/share/doc/gettext/examples/hello-ycp/po/tr.po new file mode 100644 index 00000000..44477123 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/tr.po @@ -0,0 +1,25 @@ +# Turkish translations for Gnu Gettext Package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Nilgün Belma Bugüner , 2003,2004 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14-pre1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2004-01-21 06:17+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Merhaba Dünyalı!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Bu yazılım, %1 süreç kimliği ile çalışıyor." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/uk.po b/mingw/share/doc/gettext/examples/hello-ycp/po/uk.po new file mode 100644 index 00000000..5c29c41c --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/uk.po @@ -0,0 +1,25 @@ +# Ukrainian translation to hello-ycp +# Copyright (C) 2004 Yoyodyne, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Maxim V. Dziumanenko , 2004-2007 +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.16\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2007-07-05 20:24+0200\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Привіт, світ!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Ця програма виконується як процес з номером %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/vi.po b/mingw/share/doc/gettext/examples/hello-ycp/po/vi.po new file mode 100644 index 00000000..9572b49f --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/vi.po @@ -0,0 +1,28 @@ +# Vietnamese Translation for Gettext Examples. +# Copyright © 2010 Yoyodyne, Inc. (msgids) +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the gettext package. +# Clytie Siddall , 2005-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.18\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2010-05-13 17:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "Chào thế giới !" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "Chương trình này đang chạy với số hiệu tiến trình %1." diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/zh_CN.po b/mingw/share/doc/gettext/examples/hello-ycp/po/zh_CN.po new file mode 100644 index 00000000..77064ff7 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/zh_CN.po @@ -0,0 +1,25 @@ +# zh_CN translation for hello-ycp. +# Copyright (C) 2003 Free Software Foundation, Inc. +# This file is distributed under the same license as the hello-ycp package. +# Funda Wang , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.13.1\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2003-12-18 19:07+0800\n" +"Last-Translator: Funda Wang \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "世界你好!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "此程序正以进程号 %1 运行。" diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/zh_HK.po b/mingw/share/doc/gettext/examples/hello-ycp/po/zh_HK.po new file mode 100644 index 00000000..39b1867e --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/zh_HK.po @@ -0,0 +1,24 @@ +# Chinese (Hong Kong) translation of hello-ycp. +# Copyright (C) 2006 Yoyodyne, Inc. +# Abel Cheung , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.15-pre5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2006-07-05 15:40+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "你好!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/hello-ycp/po/zh_TW.po b/mingw/share/doc/gettext/examples/hello-ycp/po/zh_TW.po new file mode 100644 index 00000000..a2020c26 --- /dev/null +++ b/mingw/share/doc/gettext/examples/hello-ycp/po/zh_TW.po @@ -0,0 +1,24 @@ +# traditional Chinese translation of hello-ycp. +# Copyright (C) 2005 Yoyodyne, Inc. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: hello-ycp 0.14.5\n" +"Report-Msgid-Bugs-To: bug-gnu-gettext@gnu.org\n" +"PO-Revision-Date: 2005-08-10 12:25+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: hello.ycp:15 +msgid "Hello, world!" +msgstr "您好!" + +#: hello.ycp:19 +#, ycp-format +msgid "This program is running as process number %1." +msgstr "本程式正在執行中,進程編號為 %1。" diff --git a/mingw/share/doc/gettext/examples/installpaths b/mingw/share/doc/gettext/examples/installpaths new file mode 100644 index 00000000..6f669755 --- /dev/null +++ b/mingw/share/doc/gettext/examples/installpaths @@ -0,0 +1,9 @@ +prefix='/mingw' +exec_prefix="${prefix}" +datarootdir="${prefix}/share" +datadir="${datarootdir}" +docdir="${datarootdir}/doc/gettext" +ACLOCALDIR="${datadir}/aclocal" +GETTEXTSRCDIR="${datarootdir}/gettext" +GETTEXTSRCPODIR="${datarootdir}/gettext/po" +EXAMPLESCONFIGDIR="${datarootdir}/doc/gettext/examples/config" diff --git a/mingw/share/doc/gettext/gettext.1.html b/mingw/share/doc/gettext/gettext.1.html new file mode 100644 index 00000000..c4d26f48 --- /dev/null +++ b/mingw/share/doc/gettext/gettext.1.html @@ -0,0 +1,266 @@ + + + + + +GETTEXT + + + +

    GETTEXT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    gettext − translate message

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    gettext [OPTION] [[TEXTDOMAIN] +MSGID]
    +gettext
    [OPTION] -s [MSGID]...

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    The gettext program translates a natural language +message into the user’s language, by looking up the +translation in a message catalog.

    + +

    Display native language translation of a textual +message.

    +
    + + + + + +
    +

    −d, +−−domain=TEXTDOMAIN

    + + + + + +
    +

    retrieve translated messages from TEXTDOMAIN

    +
    + + + + + + + + + + + + + + +
    + +

    −e

    +
    + +

    enable expansion of some escape sequences

    +
    +
    + +

    −E

    +
    + +

    (ignored for compatibility)

    +
    +
    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + + + + +
    + +

    −n

    +
    + +

    suppress trailing newline

    +
    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    display version information and exit

    +
    + + + + + +
    +

    [TEXTDOMAIN] MSGID

    + + + + + +
    +

    retrieve translated message corresponding to MSGID from +TEXTDOMAIN

    +
    + + + + + +
    +

    If the TEXTDOMAIN parameter is not given, the domain is +determined from the environment variable TEXTDOMAIN. If the +message catalog is not found in the regular directory, +another location can be specified with the environment +variable TEXTDOMAINDIR. When used with the −s +option the program behaves like the ‘echo’ +command. But it does not simply copy its arguments to +stdout. Instead those messages found in the selected catalog +are translated. Standard search directory: /mingw/share/locale

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Ulrich Drepper.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1997, 2000-2007 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for gettext is maintained +as a Texinfo manual. If the info and gettext +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info gettext

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/gettext.3.html b/mingw/share/doc/gettext/gettext.3.html new file mode 100644 index 00000000..09271fe0 --- /dev/null +++ b/mingw/share/doc/gettext/gettext.3.html @@ -0,0 +1,186 @@ + + + + + +GETTEXT + + + +

    GETTEXT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +RETURN VALUE
    +ERRORS
    +BUGS
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    gettext, dgettext, dcgettext − translate +message

    +
    + +

    SYNOPSIS

    + + + + + +
    +
    #include <libintl.h>
    +
    +char * gettext (const char * msgid);
    +char * dgettext (const char * domainname, const char * msgid);
    +char * dcgettext (const char * domainname, const char * msgid,
    +                  int category);
    +
    +
    + +

    DESCRIPTION

    + + + + + + +
    +

    The gettext, dgettext and dcgettext +functions attempt to translate a text string into the +user’s native language, by looking up the translation +in a message catalog.

    + +

    The msgid argument identifies the message to be +translated. By convention, it is the English version of the +message, with non-ASCII characters replaced by ASCII +approximations. This choice allows the translators to work +with message catalogs, called PO files, that contain both +the English and the translated versions of each message, and +can be installed using the msgfmt utility.

    + +

    A message domain is a set of translatable msgid +messages. Usually, every software package has its own +message domain. The domain name is used to determine the +message catalog where the translation is looked up; it must +be a non-empty string. For the gettext function, it +is specified through a preceding textdomain call. For +the dgettext and dcgettext functions, it is +passed as the domainname argument; if this argument +is NULL, the domain name specified through a preceding +textdomain call is used instead.

    + +

    Translation lookup operates in the context of the current +locale. For the gettext and dgettext +functions, the LC_MESSAGES locale facet is used. It +is determined by a preceding call to the setlocale +function. setlocale(LC_ALL,"") initializes +the LC_MESSAGES locale based on the first nonempty +value of the three environment variables LC_ALL, +LC_MESSAGES, LANG; see setlocale(3). +For the dcgettext function, the locale facet is +determined by the category argument, which should be +one of the LC_xxx constants defined in the +<locale.h> header, excluding LC_ALL. In both +cases, the functions also use the LC_CTYPE locale +facet in order to convert the translated message from the +translator’s codeset to the current locale’s +codeset, unless overridden by a prior call to the +bind_textdomain_codeset function.

    + +

    The message catalog used by the functions is at the +pathname +dirname/locale/category/domainname.mo. +Here dirname is the directory specified through +bindtextdomain. Its default is system and +configuration dependent; typically it is +prefix/share/locale, where prefix is the +installation prefix of the package. locale is the +name of the current locale facet; the GNU implementation +also tries generalizations, such as the language name +without the territory name. category is +LC_MESSAGES for the gettext and +dgettext functions, or the argument passed to the +dcgettext function.

    + +

    If the LANGUAGE environment variable is set to a +nonempty value, and the locale is not the "C" +locale, the value of LANGUAGE is assumed to contain a +colon separated list of locale names. The functions will +attempt to look up a translation of msgid in each of +the locales in turn. This is a GNU extension.

    + +

    In the "C" locale, or if none of the used +catalogs contain a translation for msgid, the +gettext, dgettext and dcgettext +functions return msgid.

    +
    + +

    RETURN VALUE

    + + + + + +
    +

    If a translation was found in one of the specified +catalogs, it is converted to the locale’s codeset and +returned. The resulting string is statically allocated and +must not be modified or freed. Otherwise msgid is +returned.

    +
    + +

    ERRORS

    + + + + + +
    +

    errno is not modified.

    +
    + +

    BUGS

    + + + + + +
    +

    The return type ought to be const char *, but is +char * to avoid warnings in C code predating ANSI +C.

    + +

    When an empty string is used for msgid, the +functions may return a nonempty string.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    ngettext(3), dngettext(3), +dcngettext(3), setlocale(3), +textdomain(3), bindtextdomain(3), +bind_textdomain_codeset(3), msgfmt(1)

    +
    +
    + + diff --git a/mingw/share/doc/gettext/gettext_1.html b/mingw/share/doc/gettext/gettext_1.html new file mode 100644 index 00000000..f0833dba --- /dev/null +++ b/mingw/share/doc/gettext/gettext_1.html @@ -0,0 +1,700 @@ + + + + + +GNU gettext utilities - 1 Introduction + + +Go to the first, previous, next, last section, table of contents. +


    + + + +

    1 Introduction

    + +

    +This chapter explains the goals sought in the creation +of GNU gettext and the free Translation Project. +Then, it explains a few broad concepts around +Native Language Support, and positions message translation with regard +to other aspects of national and cultural variance, as they apply +to programs. It also surveys those files used to convey the +translations. It explains how the various tools interact in the +initial generation of these files, and later, how the maintenance +cycle should usually operate. + +

    +

    + + + +In this manual, we use he when speaking of the programmer or +maintainer, she when speaking of the translator, and they +when speaking of the installers or end users of the translated program. +This is only a convenience for clarifying the documentation. It is +absolutely not meant to imply that some roles are more appropriate +to males or females. Besides, as you might guess, GNU gettext +is meant to be useful for people using computers, whatever their sex, +race, religion or nationality! + +

    +

    + +Please send suggestions and corrections to: + +

    + +
    +Internet address:
    +    bug-gnu-gettext@gnu.org
    +
    + +

    +Please include the manual's edition number and update date in your messages. + +

    + + + +

    1.1 The Purpose of GNU gettext

    + +

    +Usually, programs are written and documented in English, and use +English at execution time to interact with users. This is true +not only of GNU software, but also of a great deal of proprietary +and free software. Using a common language is quite handy for +communication between developers, maintainers and users from all +countries. On the other hand, most people are less comfortable with +English than with their own native language, and would prefer to +use their mother tongue for day to day's work, as far as possible. +Many would simply love to see their computer screen showing +a lot less of English, and far more of their own language. + +

    +

    + +However, to many people, this dream might appear so far fetched that +they may believe it is not even worth spending time thinking about +it. They have no confidence at all that the dream might ever +become true. Yet some have not lost hope, and have organized themselves. +The Translation Project is a formalization of this hope into a +workable structure, which has a good chance to get all of us nearer +the achievement of a truly multi-lingual set of programs. + +

    +

    +GNU gettext is an important step for the Translation Project, +as it is an asset on which we may build many other steps. This package +offers to programmers, translators and even users, a well integrated +set of tools and documentation. Specifically, the GNU gettext +utilities are a set of tools that provides a framework within which +other free packages may produce multi-lingual messages. These tools +include + +

    + +
      +
    • + +A set of conventions about how programs should be written to support +message catalogs. + +
    • + +A directory and file naming organization for the message catalogs +themselves. + +
    • + +A runtime library supporting the retrieval of translated messages. + +
    • + +A few stand-alone programs to massage in various ways the sets of +translatable strings, or already translated strings. + +
    • + +A library supporting the parsing and creation of files containing +translated messages. + +
    • + +A special mode for Emacs(1) which helps preparing these sets +and bringing them up to date. +
    + +

    +GNU gettext is designed to minimize the impact of +internationalization on program sources, keeping this impact as small +and hardly noticeable as possible. Internationalization has better +chances of succeeding if it is very light weighted, or at least, +appear to be so, when looking at program sources. + +

    +

    +The Translation Project also uses the GNU gettext distribution +as a vehicle for documenting its structure and methods. This goes +beyond the strict technicalities of documenting the GNU gettext +proper. By so doing, translators will find in a single place, as +far as possible, all they need to know for properly doing their +translating work. Also, this supplemental documentation might also +help programmers, and even curious users, in understanding how GNU +gettext is related to the remainder of the Translation +Project, and consequently, have a glimpse at the big picture. + +

    + + +

    1.2 I18n, L10n, and Such

    + +

    + + +Two long words appear all the time when we discuss support of native +language in programs, and these words have a precise meaning, worth +being explained here, once and for all in this document. The words are +internationalization and localization. Many people, +tired of writing these long words over and over again, took the +habit of writing i18n and l10n instead, quoting the first +and last letter of each word, and replacing the run of intermediate +letters by a number merely telling how many such letters there are. +But in this manual, in the sake of clarity, we will patiently write +the names in full, each time... + +

    +

    + +By internationalization, one refers to the operation by which a +program, or a set of programs turned into a package, is made aware of and +able to support multiple languages. This is a generalization process, +by which the programs are untied from calling only English strings or +other English specific habits, and connected to generic ways of doing +the same, instead. Program developers may use various techniques to +internationalize their programs. Some of these have been standardized. +GNU gettext offers one of these standards. See section 11 The Programmer's View. + +

    +

    + +By localization, one means the operation by which, in a set +of programs already internationalized, one gives the program all +needed information so that it can adapt itself to handle its input +and output in a fashion which is correct for some native language and +cultural habits. This is a particularisation process, by which generic +methods already implemented in an internationalized program are used +in specific ways. The programming environment puts several functions +to the programmers disposal which allow this runtime configuration. +The formal description of specific set of cultural habits for some +country, together with all associated translations targeted to the +same native language, is called the locale for this language +or country. Users achieve localization of programs by setting proper +values to special environment variables, prior to executing those +programs, identifying which locale should be used. + +

    +

    +In fact, locale message support is only one component of the cultural +data that makes up a particular locale. There are a whole host of +routines and functions provided to aid programmers in developing +internationalized software and which allow them to access the data +stored in a particular locale. When someone presently refers to a +particular locale, they are obviously referring to the data stored +within that particular locale. Similarly, if a programmer is referring +to “accessing the locale routines”, they are referring to the +complete suite of routines that access all of the locale's information. + +

    +

    + + + +One uses the expression Native Language Support, or merely NLS, +for speaking of the overall activity or feature encompassing both +internationalization and localization, allowing for multi-lingual +interactions in a program. In a nutshell, one could say that +internationalization is the operation by which further localizations +are made possible. + +

    +

    +Also, very roughly said, when it comes to multi-lingual messages, +internationalization is usually taken care of by programmers, and +localization is usually taken care of by translators. + +

    + + +

    1.3 Aspects in Native Language Support

    + +

    + +For a totally multi-lingual distribution, there are many things to +translate beyond output messages. + +

    + +
      +
    • + +As of today, GNU gettext offers a complete toolset for +translating messages output by C programs. Perl scripts and shell +scripts will also need to be translated. Even if there are today some hooks +by which this can be done, these hooks are not integrated as well as they +should be. + +
    • + +Some programs, like autoconf or bison, are able +to produce other programs (or scripts). Even if the generating +programs themselves are internationalized, the generated programs they +produce may need internationalization on their own, and this indirect +internationalization could be automated right from the generating +program. In fact, quite usually, generating and generated programs +could be internationalized independently, as the effort needed is +fairly orthogonal. + +
    • + +A few programs include textual tables which might need translation +themselves, independently of the strings contained in the program +itself. For example, RFC 1345 gives an English description for each +character which the recode program is able to reconstruct at execution. +Since these descriptions are extracted from the RFC by mechanical means, +translating them properly would require a prior translation of the RFC +itself. + +
    • + +Almost all programs accept options, which are often worded out so to +be descriptive for the English readers; one might want to consider +offering translated versions for program options as well. + +
    • + +Many programs read, interpret, compile, or are somewhat driven by +input files which are texts containing keywords, identifiers, or +replies which are inherently translatable. For example, one may want +gcc to allow diacriticized characters in identifiers or use +translated keywords; ‘rm -i’ might accept something else than +‘y’ or ‘n’ for replies, etc. Even if the program will +eventually make most of its output in the foreign languages, one has +to decide whether the input syntax, option values, etc., are to be +localized or not. + +
    • + +The manual accompanying a package, as well as all documentation files +in the distribution, could surely be translated, too. Translating a +manual, with the intent of later keeping up with updates, is a major +undertaking in itself, generally. + +
    + +

    +As we already stressed, translation is only one aspect of locales. +Other internationalization aspects are system services and are handled +in GNU libc. There +are many attributes that are needed to define a country's cultural +conventions. These attributes include beside the country's native +language, the formatting of the date and time, the representation of +numbers, the symbols for currency, etc. These local rules are +termed the country's locale. The locale represents the knowledge +needed to support the country's native attributes. + +

    +

    + +There are a few major areas which may vary between countries and +hence, define what a locale must describe. The following list helps +putting multi-lingual messages into the proper context of other tasks +related to locales. See the GNU libc manual for details. + +

    +
    + +
    Characters and Codesets +
    + + + + + +The codeset most commonly used through out the USA and most English +speaking parts of the world is the ASCII codeset. However, there are +many characters needed by various locales that are not found within +this codeset. The 8-bit ISO 8859-1 code set has most of the special +characters needed to handle the major European languages. However, in +many cases, choosing ISO 8859-1 is nevertheless not adequate: it +doesn't even handle the major European currency. Hence each locale +will need to specify which codeset they need to use and will need +to have the appropriate character handling routines to cope with +the codeset. + +
    Currency +
    + + + +The symbols used vary from country to country as does the position +used by the symbol. Software needs to be able to transparently +display currency figures in the native mode for each locale. + +
    Dates +
    + + + +The format of date varies between locales. For example, Christmas day +in 1994 is written as 12/25/94 in the USA and as 25/12/94 in Australia. +Other countries might use ISO 8601 dates, etc. + +Time of the day may be noted as hh:mm, hh.mm, +or otherwise. Some locales require time to be specified in 24-hour +mode rather than as AM or PM. Further, the nature and yearly extent +of the Daylight Saving correction vary widely between countries. + +
    Numbers +
    + + + +Numbers can be represented differently in different locales. +For example, the following numbers are all written correctly for +their respective locales: + + +
    +12,345.67       English
    +12.345,67       German
    + 12345,67       French
    +1,2345.67       Asia
    +
    + +Some programs could go further and use different unit systems, like +English units or Metric units, or even take into account variants +about how numbers are spelled in full. + +
    Messages +
    + + + +The most obvious area is the language support within a locale. This is +where GNU gettext provides the means for developers and users to +easily change the language that the software uses to communicate to +the user. + +
    + +

    + +These areas of cultural conventions are called locale categories. +It is an unfortunate term; locale aspects or locale feature +categories would be a better term, because each “locale category” +describes an area or task that requires localization. The concrete data +that describes the cultural conventions for such an area and for a particular +culture is also called a locale category. In this sense, a locale +is composed of several locale categories: the locale category describing +the codeset, the locale category describing the formatting of numbers, +the locale category containing the translated messages, and so on. + +

    +

    + +Components of locale outside of message handling are standardized in +the ISO C standard and the POSIX:2001 standard (also known as the SUSV3 +specification). GNU libc +fully implements this, and most other modern systems provide a more +or less reasonable support for at least some of the missing components. + +

    + + +

    1.4 Files Conveying Translations

    + +

    + +The letters PO in ‘.po’ files means Portable Object, to +distinguish it from ‘.mo’ files, where MO stands for Machine +Object. This paradigm, as well as the PO file format, is inspired +by the NLS standard developed by Uniforum, and first implemented by +Sun in their Solaris system. + +

    +

    +PO files are meant to be read and edited by humans, and associate each +original, translatable string of a given package with its translation +in a particular target language. A single PO file is dedicated to +a single target language. If a package supports many languages, +there is one such PO file per language supported, and each package +has its own set of PO files. These PO files are best created by +the xgettext program, and later updated or refreshed through +the msgmerge program. Program xgettext extracts all +marked messages from a set of C files and initializes a PO file with +empty translations. Program msgmerge takes care of adjusting +PO files between releases of the corresponding sources, commenting +obsolete entries, initializing new ones, and updating all source +line references. Files ending with ‘.pot’ are kind of base +translation files found in distributions, in PO file format. + +

    +

    +MO files are meant to be read by programs, and are binary in nature. +A few systems already offer tools for creating and handling MO files +as part of the Native Language Support coming with the system, but the +format of these MO files is often different from system to system, +and non-portable. The tools already provided with these systems don't +support all the features of GNU gettext. Therefore GNU +gettext uses its own format for MO files. Files ending with +‘.gmo’ are really MO files, when it is known that these files use +the GNU format. + +

    + + +

    1.5 Overview of GNU gettext

    + +

    + + + +The following diagram summarizes the relation between the files +handled by GNU gettext and the tools acting on these files. +It is followed by somewhat detailed explanations, which you should +read while keeping an eye on the diagram. Having a clear understanding +of these interrelations will surely help programmers, translators +and maintainers. + +

    +@example +@group +Original C Sources ───> Preparation ───> Marked C Sources ───╮ + │ + ╭─────────<─── GNU gettext Library │ +╭─── make <───┤ │ +│ ╰─────────<────────────────────┬───────────────╯ +│ │ +│ ╭─────<─── PACKAGE.pot <─── xgettext <───╯ ╭───<─── PO Compendium +│ │ │ ↑ +│ │ ╰───╮ │ +│ ╰───╮ ├───> PO editor ───╮ +│ ├────> msgmerge ──────> LANG.po ────>────────╯ │ +│ ╭───╯ │ +│ │ │ +│ ╰─────────────<───────────────╮ │ +│ ├─── New LANG.po <────────────────────╯ +│ ╭─── LANG.gmo <─── msgfmt <───╯ +│ │ +│ ╰───> install ───> /.../LANG/PACKAGE.mo ───╮ +│ ├───> "Hello world!" +╰───────> install ───> /.../bin/PROGRAM ───────╯ +@end group +@end example + +

    + +As a programmer, the first step to bringing GNU gettext +into your package is identifying, right in the C sources, those strings +which are meant to be translatable, and those which are untranslatable. +This tedious job can be done a little more comfortably using emacs PO +mode, but you can use any means familiar to you for modifying your +C sources. Beside this some other simple, standard changes are needed to +properly initialize the translation library. See section 4 Preparing Program Sources, for +more information about all this. + +

    +

    +For newly written software the strings of course can and should be +marked while writing it. The gettext approach makes this +very easy. Simply put the following lines at the beginning of each file +or in a central header file: + +

    + +
    +#define _(String) (String)
    +#define N_(String) String
    +#define textdomain(Domain)
    +#define bindtextdomain(Package, Directory)
    +
    + +

    +Doing this allows you to prepare the sources for internationalization. +Later when you feel ready for the step to use the gettext library +simply replace these definitions by the following: + +

    +

    + + +

    +#include <libintl.h>
    +#define _(String) gettext (String)
    +#define gettext_noop(String) String
    +#define N_(String) gettext_noop (String)
    +
    + +

    + + +and link against ‘libintl.a’ or ‘libintl.so’. Note that on +GNU systems, you don't need to link with libintl because the +gettext library functions are already contained in GNU libc. +That is all you have to change. + +

    +

    + + +Once the C sources have been modified, the xgettext program +is used to find and extract all translatable strings, and create a +PO template file out of all these. This package.pot’ file +contains all original program strings. It has sets of pointers to +exactly where in C sources each string is used. All translations +are set to empty. The letter t in ‘.pot’ marks this as +a Template PO file, not yet oriented towards any particular language. +See section 5.1 Invoking the xgettext Program, for more details about how one calls the +xgettext program. If you are really lazy, you might +be interested at working a lot more right away, and preparing the +whole distribution setup (see section 13 The Maintainer's View). By doing so, you +spare yourself typing the xgettext command, as make +should now generate the proper things automatically for you! + +

    +

    +The first time through, there is no lang.po’ yet, so the +msgmerge step may be skipped and replaced by a mere copy of +package.pot’ to lang.po’, where lang +represents the target language. See section 6 Creating a New PO File for details. + +

    +

    +Then comes the initial translation of messages. Translation in +itself is a whole matter, still exclusively meant for humans, +and whose complexity far overwhelms the level of this manual. +Nevertheless, a few hints are given in some other chapter of this +manual (see section 12 The Translator's View). You will also find there indications +about how to contact translating teams, or becoming part of them, +for sharing your translating concerns with others who target the same +native language. + +

    +

    +While adding the translated messages into the lang.po’ +PO file, if you are not using one of the dedicated PO file editors +(see section 8 Editing PO Files), you are on your own +for ensuring that your efforts fully respect the PO file format, and quoting +conventions (see section 3 The Format of PO Files). This is surely not an impossible task, +as this is the way many people have handled PO files around 1995. +On the other hand, by using a PO file editor, most details +of PO file format are taken care of for you, but you have to acquire +some familiarity with PO file editor itself. + +

    +

    +If some common translations have already been saved into a compendium +PO file, translators may use PO mode for initializing untranslated +entries from the compendium, and also save selected translations into +the compendium, updating it (see section 8.4 Using Translation Compendia). Compendium files +are meant to be exchanged between members of a given translation team. + +

    +

    +Programs, or packages of programs, are dynamic in nature: users write +bug reports and suggestion for improvements, maintainers react by +modifying programs in various ways. The fact that a package has +already been internationalized should not make maintainers shy +of adding new strings, or modifying strings already translated. +They just do their job the best they can. For the Translation +Project to work smoothly, it is important that maintainers do not +carry translation concerns on their already loaded shoulders, and that +translators be kept as free as possible of programming concerns. + +

    +

    +The only concern maintainers should have is carefully marking new +strings as translatable, when they should be, and do not otherwise +worry about them being translated, as this will come in proper time. +Consequently, when programs and their strings are adjusted in various +ways by maintainers, and for matters usually unrelated to translation, +xgettext would construct package.pot’ files which are +evolving over time, so the translations carried by lang.po’ +are slowly fading out of date. + +

    +

    + +It is important for translators (and even maintainers) to understand +that package translation is a continuous process in the lifetime of a +package, and not something which is done once and for all at the start. +After an initial burst of translation activity for a given package, +interventions are needed once in a while, because here and there, +translated entries become obsolete, and new untranslated entries +appear, needing translation. + +

    +

    +The msgmerge program has the purpose of refreshing an already +existing lang.po’ file, by comparing it with a newer +package.pot’ template file, extracted by xgettext +out of recent C sources. The refreshing operation adjusts all +references to C source locations for strings, since these strings +move as programs are modified. Also, msgmerge comments out as +obsolete, in lang.po’, those already translated entries +which are no longer used in the program sources (see section 8.3.8 Obsolete Entries). It finally discovers new strings and inserts them in +the resulting PO file as untranslated entries (see section 8.3.7 Untranslated Entries). See section 7.1 Invoking the msgmerge Program, for more information about what +msgmerge really does. + +

    +

    +Whatever route or means taken, the goal is to obtain an updated +lang.po’ file offering translations for all strings. + +

    +

    +The temporal mobility, or fluidity of PO files, is an integral part of +the translation game, and should be well understood, and accepted. +People resisting it will have a hard time participating in the +Translation Project, or will give a hard time to other participants! In +particular, maintainers should relax and include all available official +PO files in their distributions, even if these have not recently been +updated, without exerting pressure on the translator teams to get the +job done. The pressure should rather come +from the community of users speaking a particular language, and +maintainers should consider themselves fairly relieved of any concern +about the adequacy of translation files. On the other hand, translators +should reasonably try updating the PO files they are responsible for, +while the package is undergoing pretest, prior to an official +distribution. + +

    +

    +Once the PO file is complete and dependable, the msgfmt program +is used for turning the PO file into a machine-oriented format, which +may yield efficient retrieval of translations by the programs of the +package, whenever needed at runtime (see section 10.3 The Format of GNU MO Files). See section 10.1 Invoking the msgfmt Program, for more information about all modes of execution +for the msgfmt program. + +

    +

    +Finally, the modified and marked C sources are compiled and linked +with the GNU gettext library, usually through the operation of +make, given a suitable ‘Makefile’ exists for the project, +and the resulting executable is installed somewhere users will find it. +The MO files themselves should also be properly installed. Given the +appropriate environment variables are set (see section 2.3 Setting the Locale through Environment Variables), +the program should localize itself automatically, whenever it executes. + +

    +

    +The remainder of this manual has the purpose of explaining in depth the various +steps outlined above. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_10.html b/mingw/share/doc/gettext/gettext_10.html new file mode 100644 index 00000000..c747abc6 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_10.html @@ -0,0 +1,903 @@ + + + + + +GNU gettext utilities - 10 Producing Binary MO Files + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    10 Producing Binary MO Files

    + + + +

    10.1 Invoking the msgfmt Program

    + +

    + + + +

    +msgfmt [option] filename.po ...
    +
    + +

    + +The msgfmt programs generates a binary message catalog from a textual +translation description. + +

    + + +

    10.1.1 Input file location

    + +
    + +
    filename.po ...’ +
    +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If an input file is ‘-’, standard input is read. + +

    + + +

    10.1.2 Operation mode

    + +
    + +
    ‘-j’ +
    +
    ‘--java’ +
    + + + +Java mode: generate a Java ResourceBundle class. + +
    ‘--java2’ +
    + +Like --java, and assume Java2 (JDK 1.2 or higher). + +
    ‘--csharp’ +
    + + +C# mode: generate a .NET .dll file containing a subclass of +GettextResourceSet. + +
    ‘--csharp-resources’ +
    + + +C# resources mode: generate a .NET ‘.resources’ file. + +
    ‘--tcl’ +
    + + +Tcl mode: generate a tcl/msgcat ‘.msg’ file. + +
    ‘--qt’ +
    + + +Qt mode: generate a Qt ‘.qm’ file. + +
    + + + +

    10.1.3 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    ‘--strict’ +
    + +Direct the program to work strictly following the Uniforum/Sun +implementation. Currently this only affects the naming of the output +file. If this option is not given the name of the output file is the +same as the domain name. If the strict Uniforum mode is enabled the +suffix ‘.mo’ is added to the file name if it is not already +present. + +We find this behaviour of Sun's implementation rather silly and so by +default this mode is not selected. + +
    + +

    +If the output file is ‘-’, output is written to standard output. + +

    + + +

    10.1.4 Output file location in Java mode

    + +
    + +
    ‘-r resource +
    +
    ‘--resource=resource +
    + + +Specify the resource name. + +
    ‘-l locale +
    +
    ‘--locale=locale +
    + + +Specify the locale name, either a language specification of the form ll +or a combined language and country specification of the form ll_CC. + +
    ‘-d directory +
    + +Specify the base directory of classes directory hierarchy. + +
    + +

    +The class name is determined by appending the locale name to the resource name, +separated with an underscore. The ‘-d’ option is mandatory. The class +is written under the specified directory. + +

    + + +

    10.1.5 Output file location in C# mode

    + +
    + +
    ‘-r resource +
    +
    ‘--resource=resource +
    + + +Specify the resource name. + +
    ‘-l locale +
    +
    ‘--locale=locale +
    + + +Specify the locale name, either a language specification of the form ll +or a combined language and country specification of the form ll_CC. + +
    ‘-d directory +
    + +Specify the base directory for locale dependent ‘.dll’ files. + +
    + +

    +The ‘-l’ and ‘-d’ options are mandatory. The ‘.dll’ file is +written in a subdirectory of the specified directory whose name depends on the +locale. + +

    + + +

    10.1.6 Output file location in Tcl mode

    + +
    + +
    ‘-l locale +
    +
    ‘--locale=locale +
    + + +Specify the locale name, either a language specification of the form ll +or a combined language and country specification of the form ll_CC. + +
    ‘-d directory +
    + +Specify the base directory of ‘.msg’ message catalogs. + +
    + +

    +The ‘-l’ and ‘-d’ options are mandatory. The ‘.msg’ file is +written in the specified directory. + +

    + + +

    10.1.7 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input files are Java ResourceBundles in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input files are NeXTstep/GNUstep localized resource files in +.strings syntax, not in PO file syntax. + +
    + + + +

    10.1.8 Input file interpretation

    + +
    + +
    ‘-c’ +
    +
    ‘--check’ +
    + + +Perform all the checks implied by --check-format, --check-header, +--check-domain. + +
    ‘--check-format’ +
    + + +Check language dependent format strings. + +If the string represents a format string used in a +printf-like function both strings should have the same number of +‘%’ format specifiers, with matching types. If the flag +c-format or possible-c-format appears in the special +comment #, for this entry a check is performed. For example, the +check will diagnose using ‘%.*s’ against ‘%s’, or ‘%d’ +against ‘%s’, or ‘%d’ against ‘%x’. It can even handle +positional parameters. + +Normally the xgettext program automatically decides whether a +string is a format string or not. This algorithm is not perfect, +though. It might regard a string as a format string though it is not +used in a printf-like function and so msgfmt might report +errors where there are none. + +To solve this problem the programmer can dictate the decision to the +xgettext program (see section 15.3.1 C Format Strings). The translator should not +consider removing the flag from the #, line. This "fix" would be +reversed again as soon as msgmerge is called the next time. + +
    ‘--check-header’ +
    + +Verify presence and contents of the header entry. See section 6.2 Filling in the Header Entry, +for a description of the various fields in the header entry. + +
    ‘--check-domain’ +
    + +Check for conflicts between domain directives and the --output-file +option + +
    ‘-C’ +
    +
    ‘--check-compatibility’ +
    + + + +Check that GNU msgfmt behaves like X/Open msgfmt. This will give an error +when attempting to use the GNU extensions. + +
    ‘--check-accelerators[=char]’ +
    + + + + +Check presence of keyboard accelerators for menu items. This is based on +the convention used in some GUIs that a keyboard accelerator in a menu +item string is designated by an immediately preceding ‘&’ character. +Sometimes a keyboard accelerator is also called "keyboard mnemonic". +This check verifies that if the untranslated string has exactly one +‘&’ character, the translated string has exactly one ‘&’ as well. +If this option is given with a char argument, this char should +be a non-alphanumeric character and is used as keyboard accelerator mark +instead of ‘&’. + +
    ‘-f’ +
    +
    ‘--use-fuzzy’ +
    + + + +Use fuzzy entries in output. Note that using this option is usually wrong, +because fuzzy messages are exactly those which have not been validated by +a human translator. + +
    + + + +

    10.1.9 Output details

    + +
    + +
    ‘-a number +
    +
    ‘--alignment=number +
    + + +Align strings to number bytes (default: 1). + +
    ‘--no-hash’ +
    + +Don't include a hash table in the binary file. Lookup will be more expensive +at run time (binary search instead of hash table lookup). + +
    + + + +

    10.1.10 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    ‘--statistics’ +
    + +Print statistics about translations. When the option --verbose is used +in combination with --statistics, the input file name is printed in +front of the statistics line. + +
    ‘-v’ +
    +
    ‘--verbose’ +
    + + +Increase verbosity level. + +
    + + + +

    10.2 Invoking the msgunfmt Program

    + +

    + + + +

    +msgunfmt [option] [file]...
    +
    + +

    + +The msgunfmt program converts a binary message catalog to a +Uniforum style .po file. + +

    + + +

    10.2.1 Operation mode

    + +
    + +
    ‘-j’ +
    +
    ‘--java’ +
    + + + +Java mode: input is a Java ResourceBundle class. + +
    ‘--csharp’ +
    + + +C# mode: input is a .NET .dll file containing a subclass of +GettextResourceSet. + +
    ‘--csharp-resources’ +
    + + +C# resources mode: input is a .NET ‘.resources’ file. + +
    ‘--tcl’ +
    + + +Tcl mode: input is a tcl/msgcat ‘.msg’ file. + +
    + + + +

    10.2.2 Input file location

    + +
    + +
    file ...’ +
    +Input .mo files. + +
    + +

    +If no input file is given or if it is ‘-’, standard input is read. + +

    + + +

    10.2.3 Input file location in Java mode

    + +
    + +
    ‘-r resource +
    +
    ‘--resource=resource +
    + + +Specify the resource name. + +
    ‘-l locale +
    +
    ‘--locale=locale +
    + + +Specify the locale name, either a language specification of the form ll +or a combined language and country specification of the form ll_CC. + +
    + +

    +The class name is determined by appending the locale name to the resource name, +separated with an underscore. The class is located using the CLASSPATH. + +

    + + +

    10.2.4 Input file location in C# mode

    + +
    + +
    ‘-r resource +
    +
    ‘--resource=resource +
    + + +Specify the resource name. + +
    ‘-l locale +
    +
    ‘--locale=locale +
    + + +Specify the locale name, either a language specification of the form ll +or a combined language and country specification of the form ll_CC. + +
    ‘-d directory +
    + +Specify the base directory for locale dependent ‘.dll’ files. + +
    + +

    +The ‘-l’ and ‘-d’ options are mandatory. The ‘.msg’ file is +located in a subdirectory of the specified directory whose name depends on the +locale. + +

    + + +

    10.2.5 Input file location in Tcl mode

    + +
    + +
    ‘-l locale +
    +
    ‘--locale=locale +
    + + +Specify the locale name, either a language specification of the form ll +or a combined language and country specification of the form ll_CC. + +
    ‘-d directory +
    + +Specify the base directory of ‘.msg’ message catalogs. + +
    + +

    +The ‘-l’ and ‘-d’ options are mandatory. The ‘.msg’ file is +located in the specified directory. + +

    + + +

    10.2.6 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    10.2.7 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    + + + +

    10.2.8 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    ‘-v’ +
    +
    ‘--verbose’ +
    + + +Increase verbosity level. + +
    + + + +

    10.3 The Format of GNU MO Files

    +

    + + + +

    +

    +The format of the generated MO files is best described by a picture, +which appears below. + +

    +

    + +The first two words serve the identification of the file. The magic +number will always signal GNU MO files. The number is stored in the +byte order of the generating machine, so the magic number really is +two numbers: 0x950412de and 0xde120495. + +

    +

    +The second word describes the current revision of the file format, +composed of a major and a minor revision number. The revision numbers +ensure that the readers of MO files can distinguish new formats from +old ones and handle their contents, as far as possible. For now the +major revision is 0 or 1, and the minor revision is also 0 or 1. More +revisions might be added in the future. A program seeing an unexpected +major revision number should stop reading the MO file entirely; whereas +an unexpected minor revision number means that the file can be read but +will not reveal its full contents, when parsed by a program that +supports only smaller minor revision numbers. + +

    +

    +The version is kept +separate from the magic number, instead of using different magic +numbers for different formats, mainly because ‘/etc/magic’ is +not updated often. + +

    +

    +Follow a number of pointers to later tables in the file, allowing +for the extension of the prefix part of MO files without having to +recompile programs reading them. This might become useful for later +inserting a few flag bits, indication about the charset used, new +tables, or other things. + +

    +

    +Then, at offset O and offset T in the picture, two tables +of string descriptors can be found. In both tables, each string +descriptor uses two 32 bits integers, one for the string length, +another for the offset of the string in the MO file, counting in bytes +from the start of the file. The first table contains descriptors +for the original strings, and is sorted so the original strings +are in increasing lexicographical order. The second table contains +descriptors for the translated strings, and is parallel to the first +table: to find the corresponding translation one has to access the +array slot in the second array with the same index. + +

    +

    +Having the original strings sorted enables the use of simple binary +search, for when the MO file does not contain an hashing table, or +for when it is not practical to use the hashing table provided in +the MO file. This also has another advantage, as the empty string +in a PO file GNU gettext is usually translated into +some system information attached to that particular MO file, and the +empty string necessarily becomes the first in both the original and +translated tables, making the system information very easy to find. + +

    +

    + +The size S of the hash table can be zero. In this case, the +hash table itself is not contained in the MO file. Some people might +prefer this because a precomputed hashing table takes disk space, and +does not win that much speed. The hash table contains indices +to the sorted array of strings in the MO file. Conflict resolution is +done by double hashing. The precise hashing algorithm used is fairly +dependent on GNU gettext code, and is not documented here. + +

    +

    +As for the strings themselves, they follow the hash file, and each +is terminated with a NUL, and this NUL is not counted in +the length which appears in the string descriptor. The msgfmt +program has an option selecting the alignment for MO file strings. +With this option, each string is separately aligned so it starts at +an offset which is a multiple of the alignment value. On some RISC +machines, a correct alignment will speed things up. + +

    +

    + +Contexts are stored by storing the concatenation of the context, a +EOT byte, and the original string, instead of the original string. + +

    +

    + +Plural forms are stored by letting the plural of the original string +follow the singular of the original string, separated through a +NUL byte. The length which appears in the string descriptor +includes both. However, only the singular of the original string +takes part in the hash table lookup. The plural variants of the +translation are all stored consecutively, separated through a +NUL byte. Here also, the length in the string descriptor +includes all of them. + +

    +

    +Nothing prevents a MO file from having embedded NULs in strings. +However, the program interface currently used already presumes +that strings are NUL terminated, so embedded NULs are +somewhat useless. But the MO file format is general enough so other +interfaces would be later possible, if for example, we ever want to +implement wide characters right in MO files, where NUL bytes may +accidentally appear. (No, we don't want to have wide characters in MO +files. They would make the file unnecessarily large, and the +‘wchar_t’ type being platform dependent, MO files would be +platform dependent as well.) + +

    +

    +This particular issue has been strongly debated in the GNU +gettext development forum, and it is expectable that MO file +format will evolve or change over time. It is even possible that many +formats may later be supported concurrently. But surely, we have to +start somewhere, and the MO file format described here is a good start. +Nothing is cast in concrete, and the format may later evolve fairly +easily, so we should feel comfortable with the current approach. + +

    + +
    +        byte
    +             +------------------------------------------+
    +          0  | magic number = 0x950412de                |
    +             |                                          |
    +          4  | file format revision = 0                 |
    +             |                                          |
    +          8  | number of strings                        |  == N
    +             |                                          |
    +         12  | offset of table with original strings    |  == O
    +             |                                          |
    +         16  | offset of table with translation strings |  == T
    +             |                                          |
    +         20  | size of hashing table                    |  == S
    +             |                                          |
    +         24  | offset of hashing table                  |  == H
    +             |                                          |
    +             .                                          .
    +             .    (possibly more entries later)         .
    +             .                                          .
    +             |                                          |
    +          O  | length & offset 0th string  ----------------.
    +      O + 8  | length & offset 1st string  ------------------.
    +              ...                                    ...   | |
    +O + ((N-1)*8)| length & offset (N-1)th string           |  | |
    +             |                                          |  | |
    +          T  | length & offset 0th translation  ---------------.
    +      T + 8  | length & offset 1st translation  -----------------.
    +              ...                                    ...   | | | |
    +T + ((N-1)*8)| length & offset (N-1)th translation      |  | | | |
    +             |                                          |  | | | |
    +          H  | start hash table                         |  | | | |
    +              ...                                    ...   | | | |
    +  H + S * 4  | end hash table                           |  | | | |
    +             |                                          |  | | | |
    +             | NUL terminated 0th string  <----------------' | | |
    +             |                                          |    | | |
    +             | NUL terminated 1st string  <------------------' | |
    +             |                                          |      | |
    +              ...                                    ...       | |
    +             |                                          |      | |
    +             | NUL terminated 0th translation  <---------------' |
    +             |                                          |        |
    +             | NUL terminated 1st translation  <-----------------'
    +             |                                          |
    +              ...                                    ...
    +             |                                          |
    +             +------------------------------------------+
    +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_11.html b/mingw/share/doc/gettext/gettext_11.html new file mode 100644 index 00000000..9fbce051 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_11.html @@ -0,0 +1,1745 @@ + + + + + +GNU gettext utilities - 11 The Programmer's View + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    11 The Programmer's View

    + +

    +One aim of the current message catalog implementation provided by +GNU gettext was to use the system's message catalog handling, if the +installer wishes to do so. So we perhaps should first take a look at +the solutions we know about. The people in the POSIX committee did not +manage to agree on one of the semi-official standards which we'll +describe below. In fact they couldn't agree on anything, so they decided +only to include an example of an interface. The major Unix vendors +are split in the usage of the two most important specifications: X/Open's +catgets vs. Uniforum's gettext interface. We'll describe them both and +later explain our solution of this dilemma. + +

    + + + +

    11.1 About catgets

    +

    + + +

    +

    +The catgets implementation is defined in the X/Open Portability +Guide, Volume 3, XSI Supplementary Definitions, Chapter 5. But the +process of creating this standard seemed to be too slow for some of +the Unix vendors so they created their implementations on preliminary +versions of the standard. Of course this leads again to problems while +writing platform independent programs: even the usage of catgets +does not guarantee a unique interface. + +

    +

    +Another, personal comment on this that only a bunch of committee members +could have made this interface. They never really tried to program +using this interface. It is a fast, memory-saving implementation, an +user can happily live with it. But programmers hate it (at least I and +some others do...) + +

    +

    +But we must not forget one point: after all the trouble with transferring +the rights on Unix(tm) they at last came to X/Open, the very same who +published this specification. This leads me to making the prediction +that this interface will be in future Unix standards (e.g. Spec1170) and +therefore part of all Unix implementation (implementations, which are +allowed to wear this name). + +

    + + + +

    11.1.1 The Interface

    +

    + + +

    +

    +The interface to the catgets implementation consists of three +functions which correspond to those used in file access: catopen +to open the catalog for using, catgets for accessing the message +tables, and catclose for closing after work is done. Prototypes +for the functions and the needed definitions are in the +<nl_types.h> header file. + +

    +

    + +catopen is used like in this: + +

    + +
    +nl_catd catd = catopen ("catalog_name", 0);
    +
    + +

    +The function takes as the argument the name of the catalog. This usual +refers to the name of the program or the package. The second parameter +is not further specified in the standard. I don't even know whether it +is implemented consistently among various systems. So the common advice +is to use 0 as the value. The return value is a handle to the +message catalog, equivalent to handles to file returned by open. + +

    +

    + +This handle is of course used in the catgets function which can +be used like this: + +

    + +
    +char *translation = catgets (catd, set_no, msg_id, "original string");
    +
    + +

    +The first parameter is this catalog descriptor. The second parameter +specifies the set of messages in this catalog, in which the message +described by msg_id is obtained. catgets therefore uses a +three-stage addressing: + +

    + +
    +catalog name => set number => message ID => translation
    +
    + +

    +The fourth argument is not used to address the translation. It is given +as a default value in case when one of the addressing stages fail. One +important thing to remember is that although the return type of catgets +is char * the resulting string must not be changed. It +should better be const char *, but the standard is published in +1988, one year before ANSI C. + +

    +

    + +The last of these functions is used and behaves as expected: + +

    + +
    +catclose (catd);
    +
    + +

    +After this no catgets call using the descriptor is legal anymore. + +

    + + +

    11.1.2 Problems with the catgets Interface?!

    +

    + + +

    +

    +Now that this description seemed to be really easy -- where are the +problems we speak of? In fact the interface could be used in a +reasonable way, but constructing the message catalogs is a pain. The +reason for this lies in the third argument of catgets: the unique +message ID. This has to be a numeric value for all messages in a single +set. Perhaps you could imagine the problems keeping such a list while +changing the source code. Add a new message here, remove one there. Of +course there have been developed a lot of tools helping to organize this +chaos but one as the other fails in one aspect or the other. We don't +want to say that the other approach has no problems but they are far +more easy to manage. + +

    + + +

    11.2 About gettext

    +

    + + +

    +

    +The definition of the gettext interface comes from a Uniforum +proposal. It was submitted there by Sun, who had implemented the +gettext function in SunOS 4, around 1990. Nowadays, the +gettext interface is specified by the OpenI18N standard. + +

    +

    +The main point about this solution is that it does not follow the +method of normal file handling (open-use-close) and that it does not +burden the programmer with so many tasks, especially the unique key handling. +Of course here also a unique key is needed, but this key is the message +itself (how long or short it is). See section 11.3 Comparing the Two Interfaces for a more +detailed comparison of the two methods. + +

    +

    +The following section contains a rather detailed description of the +interface. We make it that detailed because this is the interface +we chose for the GNU gettext Library. Programmers interested +in using this library will be interested in this description. + +

    + + + +

    11.2.1 The Interface

    +

    + + +

    +

    +The minimal functionality an interface must have is a) to select a +domain the strings are coming from (a single domain for all programs is +not reasonable because its construction and maintenance is difficult, +perhaps impossible) and b) to access a string in a selected domain. + +

    +

    +This is principally the description of the gettext interface. It +has a global domain which unqualified usages reference. Of course this +domain is selectable by the user. + +

    + +
    +char *textdomain (const char *domain_name);
    +
    + +

    +This provides the possibility to change or query the current status of +the current global domain of the LC_MESSAGE category. The +argument is a null-terminated string, whose characters must be legal in +the use in filenames. If the domain_name argument is NULL, +the function returns the current value. If no value has been set +before, the name of the default domain is returned: messages. +Please note that although the return value of textdomain is of +type char * no changing is allowed. It is also important to know +that no checks of the availability are made. If the name is not +available you will see this by the fact that no translations are provided. + +

    +

    +To use a domain set by textdomain the function + +

    + +
    +char *gettext (const char *msgid);
    +
    + +

    +is to be used. This is the simplest reasonable form one can imagine. +The translation of the string msgid is returned if it is available +in the current domain. If it is not available, the argument itself is +returned. If the argument is NULL the result is undefined. + +

    +

    +One thing which should come into mind is that no explicit dependency to +the used domain is given. The current value of the domain is used. +If this changes between two +executions of the same gettext call in the program, both calls +reference a different message catalog. + +

    +

    +For the easiest case, which is normally used in internationalized +packages, once at the beginning of execution a call to textdomain +is issued, setting the domain to a unique name, normally the package +name. In the following code all strings which have to be translated are +filtered through the gettext function. That's all, the package speaks +your language. + +

    + + +

    11.2.2 Solving Ambiguities

    +

    + + + + +

    +

    +While this single name domain works well for most applications there +might be the need to get translations from more than one domain. Of +course one could switch between different domains with calls to +textdomain, but this is really not convenient nor is it fast. A +possible situation could be one case subject to discussion during this +writing: all +error messages of functions in the set of common used functions should +go into a separate domain error. By this mean we would only need +to translate them once. +Another case are messages from a library, as these have to be +independent of the current domain set by the application. + +

    +

    +For this reasons there are two more functions to retrieve strings: + +

    + +
    +char *dgettext (const char *domain_name, const char *msgid);
    +char *dcgettext (const char *domain_name, const char *msgid,
    +                 int category);
    +
    + +

    +Both take an additional argument at the first place, which corresponds +to the argument of textdomain. The third argument of +dcgettext allows to use another locale category but LC_MESSAGES. +But I really don't know where this can be useful. If the +domain_name is NULL or category has an value beside +the known ones, the result is undefined. It should also be noted that +this function is not part of the second known implementation of this +function family, the one found in Solaris. + +

    +

    +A second ambiguity can arise by the fact, that perhaps more than one +domain has the same name. This can be solved by specifying where the +needed message catalog files can be found. + +

    + +
    +char *bindtextdomain (const char *domain_name,
    +                      const char *dir_name);
    +
    + +

    +Calling this function binds the given domain to a file in the specified +directory (how this file is determined follows below). Especially a +file in the systems default place is not favored against the specified +file anymore (as it would be by solely using textdomain). A +NULL pointer for the dir_name parameter returns the binding +associated with domain_name. If domain_name itself is +NULL nothing happens and a NULL pointer is returned. Here +again as for all the other functions is true that none of the return +value must be changed! + +

    +

    +It is important to remember that relative path names for the +dir_name parameter can be trouble. Since the path is always +computed relative to the current directory different results will be +achieved when the program executes a chdir command. Relative +paths should always be avoided to avoid dependencies and +unreliabilities. + +

    + + +

    11.2.3 Locating Message Catalog Files

    +

    + + +

    +

    +Because many different languages for many different packages have to be +stored we need some way to add these information to file message catalog +files. The way usually used in Unix environments is have this encoding +in the file name. This is also done here. The directory name given in +bindtextdomains second argument (or the default directory), +followed by the name of the locale, the locale category, and the domain name +are concatenated: + +

    + +
    +dir_name/locale/LC_category/domain_name.mo
    +
    + +

    +The default value for dir_name is system specific. For the GNU +library, and for packages adhering to its conventions, it's: + +

    +/usr/local/share/locale
    +
    + +

    +locale is the name of the locale category which is designated by +LC_category. For gettext and dgettext this +LC_category is always LC_MESSAGES.(3) +The name of the locale category is determined through +setlocale (LC_category, NULL). +(4) +When using the function dcgettext, you can specify the locale category +through the third argument. + +

    + + +

    11.2.4 How to specify the output character set gettext uses

    +

    + + + +

    +

    +gettext not only looks up a translation in a message catalog. It +also converts the translation on the fly to the desired output character +set. This is useful if the user is working in a different character set +than the translator who created the message catalog, because it avoids +distributing variants of message catalogs which differ only in the +character set. + +

    +

    +The output character set is, by default, the value of nl_langinfo +(CODESET), which depends on the LC_CTYPE part of the current +locale. But programs which store strings in a locale independent way +(e.g. UTF-8) can request that gettext and related functions +return the translations in that encoding, by use of the +bind_textdomain_codeset function. + +

    +

    +Note that the msgid argument to gettext is not subject to +character set conversion. Also, when gettext does not find a +translation for msgid, it returns msgid unchanged -- +independently of the current output character set. It is therefore +recommended that all msgids be US-ASCII strings. + +

    +

    +

    +
    Function: char * bind_textdomain_codeset (const char *domainname, const char *codeset) +
    +The bind_textdomain_codeset function can be used to specify the +output character set for message catalogs for domain domainname. +The codeset argument must be a valid codeset name which can be used +for the iconv_open function, or a null pointer. + +

    +

    +If the codeset parameter is the null pointer, +bind_textdomain_codeset returns the currently selected codeset +for the domain with the name domainname. It returns NULL if +no codeset has yet been selected. + +

    +

    +The bind_textdomain_codeset function can be used several times. +If used multiple times with the same domainname argument, the +later call overrides the settings made by the earlier one. + +

    +

    +The bind_textdomain_codeset function returns a pointer to a +string containing the name of the selected codeset. The string is +allocated internally in the function and must not be changed by the +user. If the system went out of core during the execution of +bind_textdomain_codeset, the return value is NULL and the +global variable errno is set accordingly. +

    + +

    + + +

    11.2.5 Using contexts for solving ambiguities

    +

    + + + + + +

    +

    +One place where the gettext functions, if used normally, have big +problems is within programs with graphical user interfaces (GUIs). The +problem is that many of the strings which have to be translated are very +short. They have to appear in pull-down menus which restricts the +length. But strings which are not containing entire sentences or at +least large fragments of a sentence may appear in more than one +situation in the program but might have different translations. This is +especially true for the one-word strings which are frequently used in +GUI programs. + +

    +

    +As a consequence many people say that the gettext approach is +wrong and instead catgets should be used which indeed does not +have this problem. But there is a very simple and powerful method to +handle this kind of problems with the gettext functions. + +

    +

    +Contexts can be added to strings to be translated. A context dependent +translation lookup is when a translation for a given string is searched, +that is limited to a given context. The translation for the same string +in a different context can be different. The different translations of +the same string in different contexts can be stored in the in the same +MO file, and can be edited by the translator in the same PO file. + +

    +

    +The ‘gettext.h’ include file contains the lookup macros for strings +with contexts. They are implemented as thin macros and inline functions +over the functions from <libintl.h>. + +

    +

    + + +

    +const char *pgettext (const char *msgctxt, const char *msgid);
    +
    + +

    +In a call of this macro, msgctxt and msgid must be string +literals. The macro returns the translation of msgid, restricted +to the context given by msgctxt. + +

    +

    +The msgctxt string is visible in the PO file to the translator. +You should try to make it somehow canonical and never changing. Because +every time you change an msgctxt, the translator will have to review +the translation of msgid. + +

    +

    +Finding a canonical msgctxt string that doesn't change over time can +be hard. But you shouldn't use the file name or class name containing the +pgettext call -- because it is a common development task to rename +a file or a class, and it shouldn't cause translator work. Also you shouldn't +use a comment in the form of a complete English sentence as msgctxt -- +because orthography or grammar changes are often applied to such sentences, +and again, it shouldn't force the translator to do a review. + +

    +

    +The ‘p’ in ‘pgettext’ stands for “particular”: pgettext +fetches a particular translation of the msgid. + +

    +

    + + + +

    +const char *dpgettext (const char *domain_name,
    +                       const char *msgctxt, const char *msgid);
    +const char *dcpgettext (const char *domain_name,
    +                        const char *msgctxt, const char *msgid,
    +                        int category);
    +
    + +

    +These are generalizations of pgettext. They behave similarly to +dgettext and dcgettext, respectively. The domain_name +argument defines the translation domain. The category argument +allows to use another locale category than LC_MESSAGES. + +

    +

    +As as example consider the following fictional situation. A GUI program +has a menu bar with the following entries: + +

    + +
    ++------------+------------+--------------------------------------+
    +| File       | Printer    |                                      |
    ++------------+------------+--------------------------------------+
    +| Open     | | Select   |
    +| New      | | Open     |
    ++----------+ | Connect  |
    +             +----------+
    +
    + +

    +To have the strings File, Printer, Open, +New, Select, and Connect translated there has to be +at some point in the code a call to a function of the gettext +family. But in two places the string passed into the function would be +Open. The translations might not be the same and therefore we +are in the dilemma described above. + +

    +

    +What distinguishes the two places is the menu path from the menu root to +the particular menu entries: + +

    + +
    +Menu|File
    +Menu|Printer
    +Menu|File|Open
    +Menu|File|New
    +Menu|Printer|Select
    +Menu|Printer|Open
    +Menu|Printer|Connect
    +
    + +

    +The context is thus the menu path without its last part. So, the calls +look like this: + +

    + +
    +pgettext ("Menu|", "File")
    +pgettext ("Menu|", "Printer")
    +pgettext ("Menu|File|", "Open")
    +pgettext ("Menu|File|", "New")
    +pgettext ("Menu|Printer|", "Select")
    +pgettext ("Menu|Printer|", "Open")
    +pgettext ("Menu|Printer|", "Connect")
    +
    + +

    +Whether or not to use the ‘|’ character at the end of the context is a +matter of style. + +

    +

    +For more complex cases, where the msgctxt or msgid are not +string literals, more general macros are available: + +

    +

    + + + + +

    +const char *pgettext_expr (const char *msgctxt, const char *msgid);
    +const char *dpgettext_expr (const char *domain_name,
    +                            const char *msgctxt, const char *msgid);
    +const char *dcpgettext_expr (const char *domain_name,
    +                             const char *msgctxt, const char *msgid,
    +                             int category);
    +
    + +

    +Here msgctxt and msgid can be arbitrary string-valued expressions. +These macros are more general. But in the case that both argument expressions +are string literals, the macros without the ‘_expr’ suffix are more +efficient. + +

    + + +

    11.2.6 Additional functions for plural forms

    +

    + + +

    +

    +The functions of the gettext family described so far (and all the +catgets functions as well) have one problem in the real world +which have been neglected completely in all existing approaches. What +is meant here is the handling of plural forms. + +

    +

    +Looking through Unix source code before the time anybody thought about +internationalization (and, sadly, even afterwards) one can often find +code similar to the following: + +

    + +
    +   printf ("%d file%s deleted", n, n == 1 ? "" : "s");
    +
    + +

    +After the first complaints from people internationalizing the code people +either completely avoided formulations like this or used strings like +"file(s)". Both look unnatural and should be avoided. First +tries to solve the problem correctly looked like this: + +

    + +
    +   if (n == 1)
    +     printf ("%d file deleted", n);
    +   else
    +     printf ("%d files deleted", n);
    +
    + +

    +But this does not solve the problem. It helps languages where the +plural form of a noun is not simply constructed by adding an +‘s’ +but that is all. Once again people fell into the trap of believing the +rules their language is using are universal. But the handling of plural +forms differs widely between the language families. For example, +Rafal Maszkowski <rzm@mat.uni.torun.pl> reports: + +

    + +
    +

    +In Polish we use e.g. plik (file) this way: + +

    +1 plik
    +2,3,4 pliki
    +5-21 pliko'w
    +22-24 pliki
    +25-31 pliko'w
    +
    + +

    +and so on (o' means 8859-2 oacute which should be rather okreska, +similar to aogonek). +

    + +

    +There are two things which can differ between languages (and even inside +language families); + +

    + +
      +
    • + +The form how plural forms are built differs. This is a problem with +languages which have many irregularities. German, for instance, is a +drastic case. Though English and German are part of the same language +family (Germanic), the almost regular forming of plural noun forms +(appending an +‘s’) +is hardly found in German. + +
    • + +The number of plural forms differ. This is somewhat surprising for +those who only have experiences with Romanic and Germanic languages +since here the number is the same (there are two). + +But other language families have only one form or many forms. More +information on this in an extra section. +
    + +

    +The consequence of this is that application writers should not try to +solve the problem in their code. This would be localization since it is +only usable for certain, hardcoded language environments. Instead the +extended gettext interface should be used. + +

    +

    +These extra functions are taking instead of the one key string two +strings and a numerical argument. The idea behind this is that using +the numerical argument and the first string as a key, the implementation +can select using rules specified by the translator the right plural +form. The two string arguments then will be used to provide a return +value in case no message catalog is found (similar to the normal +gettext behavior). In this case the rules for Germanic language +is used and it is assumed that the first string argument is the singular +form, the second the plural form. + +

    +

    +This has the consequence that programs without language catalogs can +display the correct strings only if the program itself is written using +a Germanic language. This is a limitation but since the GNU C library +(as well as the GNU gettext package) are written as part of the +GNU package and the coding standards for the GNU project require program +being written in English, this solution nevertheless fulfills its +purpose. + +

    +

    +

    +
    Function: char * ngettext (const char *msgid1, const char *msgid2, unsigned long int n) +
    +The ngettext function is similar to the gettext function +as it finds the message catalogs in the same way. But it takes two +extra arguments. The msgid1 parameter must contain the singular +form of the string to be converted. It is also used as the key for the +search in the catalog. The msgid2 parameter is the plural form. +The parameter n is used to determine the plural form. If no +message catalog is found msgid1 is returned if n == 1, +otherwise msgid2. + +

    +

    +An example for the use of this function is: + +

    + +
    +printf (ngettext ("%d file removed", "%d files removed", n), n);
    +
    + +

    +Please note that the numeric value n has to be passed to the +printf function as well. It is not sufficient to pass it only to +ngettext. + +

    +

    +In the English singular case, the number -- always 1 -- can be replaced with +"one": + +

    + +
    +printf (ngettext ("One file removed", "%d files removed", n), n);
    +
    + +

    +This works because the ‘printf’ function discards excess arguments that +are not consumed by the format string. + +

    +

    +If this function is meant to yield a format string that takes two or more +arguments, you can not use it like this: + +

    + +
    +printf (ngettext ("%d file removed from directory %s",
    +                  "%d files removed from directory %s",
    +                  n, dir),
    +        n);
    +
    + +

    +because in many languages the translators want to replace the ‘%d’ +with an explicit word in the singular case, just like “one” in English, +and C format strings cannot consume the second argument but skip the first +argument. Instead, you have to reorder the arguments so that ‘n’ +comes last: + +

    + +
    +printf (ngettext ("%$2d file removed from directory %$1s",
    +                  "%$2d files removed from directory %$1s",
    +                  dir, n),
    +        n);
    +
    + +

    +See section 15.3.1 C Format Strings for details about this argument reordering syntax. + +

    +

    +When you know that the value of n is within a given range, you can +specify it as a comment directed to the xgettext tool. This +information may help translators to use more adequate translations. Like +this: + +

    + +
    +if (days > 7 && days < 14)
    +  /* xgettext: range: 1..6 */
    +  printf (ngettext ("one week and one day", "one week and %d days",
    +                    days - 7),
    +          days - 7);
    +
    + +

    +It is also possible to use this function when the strings don't contain a +cardinal number: + +

    + +
    +puts (ngettext ("Delete the selected file?",
    +                "Delete the selected files?",
    +                n));
    +
    + +

    +In this case the number n is only used to choose the plural form. +

    + +

    +

    +

    +
    Function: char * dngettext (const char *domain, const char *msgid1, const char *msgid2, unsigned long int n) +
    +The dngettext is similar to the dgettext function in the +way the message catalog is selected. The difference is that it takes +two extra parameter to provide the correct plural form. These two +parameters are handled in the same way ngettext handles them. +
    + +

    +

    +

    +
    Function: char * dcngettext (const char *domain, const char *msgid1, const char *msgid2, unsigned long int n, int category) +
    +The dcngettext is similar to the dcgettext function in the +way the message catalog is selected. The difference is that it takes +two extra parameter to provide the correct plural form. These two +parameters are handled in the same way ngettext handles them. +
    + +

    +

    +Now, how do these functions solve the problem of the plural forms? +Without the input of linguists (which was not available) it was not +possible to determine whether there are only a few different forms in +which plural forms are formed or whether the number can increase with +every new supported language. + +

    +

    +Therefore the solution implemented is to allow the translator to specify +the rules of how to select the plural form. Since the formula varies +with every language this is the only viable solution except for +hardcoding the information in the code (which still would require the +possibility of extensions to not prevent the use of new languages). + +

    +

    + + + +The information about the plural form selection has to be stored in the +header entry of the PO file (the one with the empty msgid string). +The plural form information looks like this: + +

    + +
    +Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
    +
    + +

    +The nplurals value must be a decimal number which specifies how +many different plural forms exist for this language. The string +following plural is an expression which is using the C language +syntax. Exceptions are that no negative numbers are allowed, numbers +must be decimal, and the only variable allowed is n. Spaces are +allowed in the expression, but backslash-newlines are not; in the +examples below the backslash-newlines are present for formatting purposes +only. This expression will be evaluated whenever one of the functions +ngettext, dngettext, or dcngettext is called. The +numeric value passed to these functions is then substituted for all uses +of the variable n in the expression. The resulting value then +must be greater or equal to zero and smaller than the value given as the +value of nplurals. + +

    +

    + +The following rules are known at this point. The language with families +are listed. But this does not necessarily mean the information can be +generalized for the whole family (as can be easily seen in the table +below).(5) + +

    +
    + +
    Only one form: +
    +Some languages only require one single form. There is no distinction +between the singular and plural form. An appropriate header entry +would look like this: + + +
    +Plural-Forms: nplurals=1; plural=0;
    +
    + +Languages with this property include: + +
    + +
    Asian family +
    +Japanese, +Vietnamese, +Korean +
    + +
    Two forms, singular used for one only +
    +This is the form used in most existing programs since it is what English +is using. A header entry would look like this: + + +
    +Plural-Forms: nplurals=2; plural=n != 1;
    +
    + +(Note: this uses the feature of C expressions that boolean expressions +have to value zero or one.) + +Languages with this property include: + +
    + +
    Germanic family +
    +English, +German, +Dutch, +Swedish, +Danish, +Norwegian, +Faroese +
    Romanic family +
    +Spanish, +Portuguese, +Italian, +Bulgarian +
    Latin/Greek family +
    +Greek +
    Finno-Ugric family +
    +Finnish, +Estonian +
    Semitic family +
    +Hebrew +
    Artificial +
    +Esperanto +
    + +Other languages using the same header entry are: + +
    + +
    Finno-Ugric family +
    +Hungarian +
    Turkic/Altaic family +
    +Turkish +
    + +Hungarian does not appear to have a plural if you look at sentences involving +cardinal numbers. For example, “1 apple” is “1 alma”, and “123 apples” is +“123 alma”. But when the number is not explicit, the distinction between +singular and plural exists: “the apple” is “az alma”, and “the apples” is +“az alm'{a}k”. Since ngettext has to support both types of sentences, +it is classified here, under “two forms”. + +The same holds for Turkish: “1 apple” is “1 elma”, and “123 apples” is +“123 elma”. But when the number is omitted, the distinction between singular +and plural exists: “the apple” is “elma”, and “the apples” is +“elmalar”. + +
    Two forms, singular used for zero and one +
    +Exceptional case in the language family. The header entry would be: + + +
    +Plural-Forms: nplurals=2; plural=n>1;
    +
    + +Languages with this property include: + +
    + +
    Romanic family +
    +Brazilian Portuguese, +French +
    + +
    Three forms, special case for zero +
    +The header entry would be: + + +
    +Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Baltic family +
    +Latvian +
    + +
    Three forms, special cases for one and two +
    +The header entry would be: + + +
    +Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Celtic +
    +Gaeilge (Irish) +
    + +
    Three forms, special case for numbers ending in 00 or [2-9][0-9] +
    +The header entry would be: + + +
    +Plural-Forms: nplurals=3; \
    +    plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Romanic family +
    +Romanian +
    + +
    Three forms, special case for numbers ending in 1[2-9] +
    +The header entry would look like this: + + +
    +Plural-Forms: nplurals=3; \
    +    plural=n%10==1 && n%100!=11 ? 0 : \
    +           n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Baltic family +
    +Lithuanian +
    + +
    Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4] +
    +The header entry would look like this: + + +
    +Plural-Forms: nplurals=3; \
    +    plural=n%10==1 && n%100!=11 ? 0 : \
    +           n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Slavic family +
    +Russian, +Ukrainian, +Serbian, +Croatian +
    + +
    Three forms, special cases for 1 and 2, 3, 4 +
    +The header entry would look like this: + + +
    +Plural-Forms: nplurals=3; \
    +    plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Slavic family +
    +Czech, +Slovak +
    + +
    Three forms, special case for one and some numbers ending in 2, 3, or 4 +
    +The header entry would look like this: + + +
    +Plural-Forms: nplurals=3; \
    +    plural=n==1 ? 0 : \
    +           n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
    +
    + +Languages with this property include: + +
    + +
    Slavic family +
    +Polish +
    + +
    Four forms, special case for one and all numbers ending in 02, 03, or 04 +
    +The header entry would look like this: + + +
    +Plural-Forms: nplurals=4; \
    +    plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
    +
    + +Languages with this property include: + +
    + +
    Slavic family +
    +Slovenian +
    +
    + +

    +You might now ask, ngettext handles only numbers n of type +‘unsigned long’. What about larger integer types? What about negative +numbers? What about floating-point numbers? + +

    +

    +About larger integer types, such as ‘uintmax_t’ or +‘unsigned long long’: they can be handled by reducing the value to a +range that fits in an ‘unsigned long’. Simply casting the value to +‘unsigned long’ would not do the right thing, since it would treat +ULONG_MAX + 1 like zero, ULONG_MAX + 2 like singular, and +the like. Here you can exploit the fact that all mentioned plural form +formulas eventually become periodic, with a period that is a divisor of 100 +(or 1000 or 1000000). So, when you reduce a large value to another one in +the range [1000000, 1999999] that ends in the same 6 decimal digits, you +can assume that it will lead to the same plural form selection. This code +does this: + +

    + +
    +#include <inttypes.h>
    +uintmax_t nbytes = ...;
    +printf (ngettext ("The file has %"PRIuMAX" byte.",
    +                  "The file has %"PRIuMAX" bytes.",
    +                  (nbytes > ULONG_MAX
    +                   ? (nbytes % 1000000) + 1000000
    +                   : nbytes)),
    +        nbytes);
    +
    + +

    +Negative and floating-point values usually represent physical entities for +which singular and plural don't clearly apply. In such cases, there is no +need to use ngettext; a simple gettext call with a form suitable +for all values will do. For example: + +

    + +
    +printf (gettext ("Time elapsed: %.3f seconds"),
    +        num_milliseconds * 0.001);
    +
    + +

    +Even if num_milliseconds happens to be a multiple of 1000, the output + +

    +Time elapsed: 1.000 seconds
    +
    + +

    +is acceptable in English, and similarly for other languages. + +

    +

    +The translators' perspective regarding plural forms is explained in +section 12.6 Translating plural forms. + +

    + + +

    11.2.7 Optimization of the *gettext functions

    +

    + + +

    +

    +At this point of the discussion we should talk about an advantage of the +GNU gettext implementation. Some readers might have pointed out +that an internationalized program might have a poor performance if some +string has to be translated in an inner loop. While this is unavoidable +when the string varies from one run of the loop to the other it is +simply a waste of time when the string is always the same. Take the +following example: + +

    + +
    +{
    +  while (...)
    +    {
    +      puts (gettext ("Hello world"));
    +    }
    +}
    +
    + +

    +When the locale selection does not change between two runs the resulting +string is always the same. One way to use this is: + +

    + +
    +{
    +  str = gettext ("Hello world");
    +  while (...)
    +    {
    +      puts (str);
    +    }
    +}
    +
    + +

    +But this solution is not usable in all situation (e.g. when the locale +selection changes) nor does it lead to legible code. + +

    +

    +For this reason, GNU gettext caches previous translation results. +When the same translation is requested twice, with no new message +catalogs being loaded in between, gettext will, the second time, +find the result through a single cache lookup. + +

    + + +

    11.3 Comparing the Two Interfaces

    +

    + + + +

    + +

    +The following discussion is perhaps a little bit colored. As said +above we implemented GNU gettext following the Uniforum +proposal and this surely has its reasons. But it should show how we +came to this decision. + +

    +

    +First we take a look at the developing process. When we write an +application using NLS provided by gettext we proceed as always. +Only when we come to a string which might be seen by the users and thus +has to be translated we use gettext("...") instead of +"...". At the beginning of each source file (or in a central +header file) we define + +

    + +
    +#define gettext(String) (String)
    +
    + +

    +Even this definition can be avoided when the system supports the +gettext function in its C library. When we compile this code the +result is the same as if no NLS code is used. When you take a look at +the GNU gettext code you will see that we use _("...") +instead of gettext("..."). This reduces the number of +additional characters per translatable string to 3 (in words: +three). + +

    +

    +When now a production version of the program is needed we simply replace +the definition + +

    + +
    +#define _(String) (String)
    +
    + +

    +by + +

    +

    + + +

    +#include <libintl.h>
    +#define _(String) gettext (String)
    +
    + +

    +Additionally we run the program ‘xgettext’ on all source code file +which contain translatable strings and that's it: we have a running +program which does not depend on translations to be available, but which +can use any that becomes available. + +

    +

    + +The same procedure can be done for the gettext_noop invocations +(see section 4.7 Special Cases of Translatable Strings). One usually defines gettext_noop as a +no-op macro. So you should consider the following code for your project: + +

    + +
    +#define gettext_noop(String) String
    +#define N_(String) gettext_noop (String)
    +
    + +

    +N_ is a short form similar to _. The ‘Makefile’ in +the ‘po/’ directory of GNU gettext knows by default both of the +mentioned short forms so you are invited to follow this proposal for +your own ease. + +

    +

    +Now to catgets. The main problem is the work for the +programmer. Every time he comes to a translatable string he has to +define a number (or a symbolic constant) which has also be defined in +the message catalog file. He also has to take care for duplicate +entries, duplicate message IDs etc. If he wants to have the same +quality in the message catalog as the GNU gettext program +provides he also has to put the descriptive comments for the strings and +the location in all source code files in the message catalog. This is +nearly a Mission: Impossible. + +

    +

    +But there are also some points people might call advantages speaking for +catgets. If you have a single word in a string and this string +is used in different contexts it is likely that in one or the other +language the word has different translations. Example: + +

    + +
    +printf ("%s: %d", gettext ("number"), number_of_errors)
    +
    +printf ("you should see %d %s", number_count,
    +        number_count == 1 ? gettext ("number") : gettext ("numbers"))
    +
    + +

    +Here we have to translate two times the string "number". Even +if you do not speak a language beside English it might be possible to +recognize that the two words have a different meaning. In German the +first appearance has to be translated to "Anzahl" and the second +to "Zahl". + +

    +

    +Now you can say that this example is really esoteric. And you are +right! This is exactly how we felt about this problem and decide that +it does not weight that much. The solution for the above problem could +be very easy: + +

    + +
    +printf ("%s %d", gettext ("number:"), number_of_errors)
    +
    +printf (number_count == 1 ? gettext ("you should see %d number")
    +                          : gettext ("you should see %d numbers"),
    +        number_count)
    +
    + +

    +We believe that we can solve all conflicts with this method. If it is +difficult one can also consider changing one of the conflicting string a +little bit. But it is not impossible to overcome. + +

    +

    +catgets allows same original entry to have different translations, +but gettext has another, scalable approach for solving ambiguities +of this kind: See section 11.2.2 Solving Ambiguities. + +

    + + +

    11.4 Using libintl.a in own programs

    + +

    +Starting with version 0.9.4 the library libintl.h should be +self-contained. I.e., you can use it in your own programs without +providing additional functions. The ‘Makefile’ will put the header +and the library in directories selected using the $(prefix). + +

    + + +

    11.5 Being a gettext grok

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +To fully exploit the functionality of the GNU gettext library it +is surely helpful to read the source code. But for those who don't want +to spend that much time in reading the (sometimes complicated) code here +is a list comments: + +

    + +
      +
    • Changing the language at runtime + + + +For interactive programs it might be useful to offer a selection of the +used language at runtime. To understand how to do this one need to know +how the used language is determined while executing the gettext +function. The method which is presented here only works correctly +with the GNU implementation of the gettext functions. + +In the function dcgettext at every call the current setting of +the highest priority environment variable is determined and used. +Highest priority means here the following list with decreasing +priority: + + +
        +
      1. LANGUAGE + + + + +
      2. LC_ALL + + + + + + + +
      3. LC_xxx, according to selected locale category + + +
      4. LANG + +
      + +Afterwards the path is constructed using the found value and the +translation file is loaded if available. + +What happens now when the value for, say, LANGUAGE changes? According +to the process explained above the new value of this variable is found +as soon as the dcgettext function is called. But this also means +the (perhaps) different message catalog file is loaded. In other +words: the used language is changed. + +But there is one little hook. The code for gcc-2.7.0 and up provides +some optimization. This optimization normally prevents the calling of +the dcgettext function as long as no new catalog is loaded. But +if dcgettext is not called the program also cannot find the +LANGUAGE variable be changed (see section 11.2.7 Optimization of the *gettext functions). A +solution for this is very easy. Include the following code in the +language switching function. + + +
      +  /* Change language.  */
      +  setenv ("LANGUAGE", "fr", 1);
      +
      +  /* Make change known.  */
      +  {
      +    extern int  _nl_msg_cat_cntr;
      +    ++_nl_msg_cat_cntr;
      +  }
      +
      + + +The variable _nl_msg_cat_cntr is defined in ‘loadmsgcat.c’. +You don't need to know what this is for. But it can be used to detect +whether a gettext implementation is GNU gettext and not non-GNU +system's native gettext implementation. + +
    + + + +

    11.6 Temporary Notes for the Programmers Chapter

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    + + + +

    11.6.1 Temporary - Two Possible Implementations

    + +

    +There are two competing methods for language independent messages: +the X/Open catgets method, and the Uniforum gettext +method. The catgets method indexes messages by integers; the +gettext method indexes them by their English translations. +The catgets method has been around longer and is supported +by more vendors. The gettext method is supported by Sun, +and it has been heard that the COSE multi-vendor initiative is +supporting it. Neither method is a POSIX standard; the POSIX.1 +committee had a lot of disagreement in this area. + +

    +

    +Neither one is in the POSIX standard. There was much disagreement +in the POSIX.1 committee about using the gettext routines +vs. catgets (XPG). In the end the committee couldn't +agree on anything, so no messaging system was included as part +of the standard. I believe the informative annex of the standard +includes the XPG3 messaging interfaces, “...as an example of +a messaging system that has been implemented...” + +

    +

    +They were very careful not to say anywhere that you should use one +set of interfaces over the other. For more on this topic please +see the Programming for Internationalization FAQ. + +

    + + +

    11.6.2 Temporary - About catgets

    + +

    +There have been a few discussions of late on the use of +catgets as a base. I think it important to present both +sides of the argument and hence am opting to play devil's advocate +for a little bit. + +

    +

    +I'll not deny the fact that catgets could have been designed +a lot better. It currently has quite a number of limitations and +these have already been pointed out. + +

    +

    +However there is a great deal to be said for consistency and +standardization. A common recurring problem when writing Unix +software is the myriad portability problems across Unix platforms. +It seems as if every Unix vendor had a look at the operating system +and found parts they could improve upon. Undoubtedly, these +modifications are probably innovative and solve real problems. +However, software developers have a hard time keeping up with all +these changes across so many platforms. + +

    +

    +And this has prompted the Unix vendors to begin to standardize their +systems. Hence the impetus for Spec1170. Every major Unix vendor +has committed to supporting this standard and every Unix software +developer waits with glee the day they can write software to this +standard and simply recompile (without having to use autoconf) +across different platforms. + +

    +

    +As I understand it, Spec1170 is roughly based upon version 4 of the +X/Open Portability Guidelines (XPG4). Because catgets and +friends are defined in XPG4, I'm led to believe that catgets +is a part of Spec1170 and hence will become a standardized component +of all Unix systems. + +

    + + +

    11.6.3 Temporary - Why a single implementation

    + +

    +Now it seems kind of wasteful to me to have two different systems +installed for accessing message catalogs. If we do want to remedy +catgets deficiencies why don't we try to expand catgets +(in a compatible manner) rather than implement an entirely new system. +Otherwise, we'll end up with two message catalog access systems installed +with an operating system - one set of routines for packages using GNU +gettext for their internationalization, and another set of routines +(catgets) for all other software. Bloated? + +

    +

    +Supposing another catalog access system is implemented. Which do +we recommend? At least for Linux, we need to attract as many +software developers as possible. Hence we need to make it as easy +for them to port their software as possible. Which means supporting +catgets. We will be implementing the libintl code +within our libc, but does this mean we also have to incorporate +another message catalog access scheme within our libc as well? +And what about people who are going to be using the libintl ++ non-catgets routines. When they port their software to +other platforms, they're now going to have to include the front-end +(libintl) code plus the back-end code (the non-catgets +access routines) with their software instead of just including the +libintl code with their software. + +

    +

    +Message catalog support is however only the tip of the iceberg. +What about the data for the other locale categories? They also have +a number of deficiencies. Are we going to abandon them as well and +develop another duplicate set of routines (should libintl +expand beyond message catalog support)? + +

    +

    +Like many parts of Unix that can be improved upon, we're stuck with balancing +compatibility with the past with useful improvements and innovations for +the future. + +

    + + +

    11.6.4 Temporary - Notes

    + +

    +X/Open agreed very late on the standard form so that many +implementations differ from the final form. Both of my system (old +Linux catgets and Ultrix-4) have a strange variation. + +

    +

    +OK. After incorporating the last changes I have to spend some time on +making the GNU/Linux libc gettext functions. So in future +Solaris is not the only system having gettext. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_12.html b/mingw/share/doc/gettext/gettext_12.html new file mode 100644 index 00000000..0ea6cba7 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_12.html @@ -0,0 +1,813 @@ + + + + + +GNU gettext utilities - 12 The Translator's View + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    12 The Translator's View

    + + + +

    12.1 Introduction 0

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +Free software is going international! The Translation Project is a way +to get maintainers, translators and users all together, so free software +will gradually become able to speak many native languages. + +

    +

    +The GNU gettext tool set contains everything maintainers +need for internationalizing their packages for messages. It also +contains quite useful tools for helping translators at localizing +messages to their native language, once a package has already been +internationalized. + +

    +

    +To achieve the Translation Project, we need many interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +If you'd like to volunteer to work at translating messages, +please send mail to your translating team. + +

    +

    +Each team has its own mailing list, courtesy of Linux +International. You may reach your translating team at the address +ll@li.org’, replacing ll by the two-letter ISO 639 +code for your language. Language codes are not the same as +country codes given in ISO 3166. The following translating teams +exist: + +

    + +
    +

    +Chinese zh, Czech cs, Danish da, Dutch nl, +Esperanto eo, Finnish fi, French fr, Irish +ga, German de, Greek el, Italian it, +Japanese ja, Indonesian in, Norwegian no, Polish +pl, Portuguese pt, Russian ru, Spanish es, +Swedish sv and Turkish tr. +

    + +

    +For example, you may reach the Chinese translating team by writing to +‘zh@li.org’. When you become a member of the translating team +for your own language, you may subscribe to its list. For example, +Swedish people can send a message to ‘sv-request@li.org’, +having this message body: + +

    + +
    +subscribe
    +
    + +

    +Keep in mind that team members should be interested in working +at translations, or at solving translational difficulties, rather than +merely lurking around. If your team does not exist yet and you want to +start one, please write to ‘coordinator@translationproject.org’; +you will then reach the coordinator for all translator teams. + +

    +

    +A handful of GNU packages have already been adapted and provided +with message translations for several languages. Translation +teams have begun to organize, using these packages as a starting +point. But there are many more packages and many languages for +which we have no volunteer translators. If you would like to +volunteer to work at translating messages, please send mail to +‘coordinator@translationproject.org’ indicating what language(s) +you can work on. + +

    + + +

    12.2 Introduction 1

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +This is now official, GNU is going international! Here is the +announcement submitted for the January 1995 GNU Bulletin: + +

    + +
    +

    +A handful of GNU packages have already been adapted and provided +with message translations for several languages. Translation +teams have begun to organize, using these packages as a starting +point. But there are many more packages and many languages +for which we have no volunteer translators. If you'd like to +volunteer to work at translating messages, please send mail to +‘coordinator@translationproject.org’ indicating what language(s) +you can work on. +

    + +

    +This document should answer many questions for those who are curious about +the process or would like to contribute. Please at least skim over it, +hoping to cut down a little of the high volume of e-mail generated by this +collective effort towards internationalization of free software. + +

    +

    +Most free programming which is widely shared is done in English, and +currently, English is used as the main communicating language between +national communities collaborating to free software. This very document +is written in English. This will not change in the foreseeable future. + +

    +

    +However, there is a strong appetite from national communities for +having more software able to write using national language and habits, +and there is an on-going effort to modify free software in such a way +that it becomes able to do so. The experiments driven so far raised +an enthusiastic response from pretesters, so we believe that +internationalization of free software is dedicated to succeed. + +

    +

    +For suggestion clarifications, additions or corrections to this +document, please e-mail to ‘coordinator@translationproject.org’. + +

    + + +

    12.3 Discussions

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +Facing this internationalization effort, a few users expressed their +concerns. Some of these doubts are presented and discussed, here. + +

    + +
      +
    • Smaller groups + +Some languages are not spoken by a very large number of people, so people +speaking them sometimes consider that there may not be all that much +demand such versions of free software packages. Moreover, many people +being into computers, in some countries, generally seem to prefer +English versions of their software. + +On the other end, people might enjoy their own language a lot, and be +very motivated at providing to themselves the pleasure of having their +beloved free software speaking their mother tongue. They do themselves +a personal favor, and do not pay that much attention to the number of +people benefiting of their work. + +
    • Misinterpretation + +Other users are shy to push forward their own language, seeing in this +some kind of misplaced propaganda. Someone thought there must be some +users of the language over the networks pestering other people with it. + +But any spoken language is worth localization, because there are +people behind the language for whom the language is important and +dear to their hearts. + +
    • Odd translations + +The biggest problem is to find the right translations so that +everybody can understand the messages. Translations are usually a +little odd. Some people get used to English, to the extent they may +find translations into their own language “rather pushy, obnoxious +and sometimes even hilarious.” As a French speaking man, I have +the experience of those instruction manuals for goods, so poorly +translated in French in Korea or Taiwan... + +The fact is that we sometimes have to create a kind of national +computer culture, and this is not easy without the collaboration of +many people liking their mother tongue. This is why translations are +better achieved by people knowing and loving their own language, and +ready to work together at improving the results they obtain. + +
    • Dependencies over the GPL or LGPL + +Some people wonder if using GNU gettext necessarily brings their +package under the protective wing of the GNU General Public License or +the GNU Library General Public License, when they do not want to make +their program free, or want other kinds of freedom. The simplest +answer is “normally not”. + +The gettext-runtime part of GNU gettext, i.e. the +contents of libintl, is covered by the GNU Library General Public +License. The gettext-tools part of GNU gettext, i.e. the +rest of the GNU gettext package, is covered by the GNU General +Public License. + +The mere marking of localizable strings in a package, or conditional +inclusion of a few lines for initialization, is not really including +GPL'ed or LGPL'ed code. However, since the localization routines in +libintl are under the LGPL, the LGPL needs to be considered. +It gives the right to distribute the complete unmodified source of +libintl even with non-free programs. It also gives the right +to use libintl as a shared library, even for non-free programs. +But it gives the right to use libintl as a static library or +to incorporate libintl into another library only to free +software. + +
    + + + +

    12.4 Organization

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +On a larger scale, the true solution would be to organize some kind of +fairly precise set up in which volunteers could participate. I gave +some thought to this idea lately, and realize there will be some +touchy points. I thought of writing to Richard Stallman to launch +such a project, but feel it might be good to shake out the ideas +between ourselves first. Most probably that Linux International has +some experience in the field already, or would like to orchestrate +the volunteer work, maybe. Food for thought, in any case! + +

    +

    +I guess we have to setup something early, somehow, that will help +many possible contributors of the same language to interlock and avoid +work duplication, and further be put in contact for solving together +problems particular to their tongue (in most languages, there are many +difficulties peculiar to translating technical English). My Swedish +contributor acknowledged these difficulties, and I'm well aware of +them for French. + +

    +

    +This is surely not a technical issue, but we should manage so the +effort of locale contributors be maximally useful, despite the national +team layer interface between contributors and maintainers. + +

    +

    +The Translation Project needs some setup for coordinating language +coordinators. Localizing evolving programs will surely +become a permanent and continuous activity in the free software community, +once well started. +The setup should be minimally completed and tested before GNU +gettext becomes an official reality. The e-mail address +‘coordinator@translationproject.org’ has been set up for receiving +offers from volunteers and general e-mail on these topics. This address +reaches the Translation Project coordinator. + +

    + + + +

    12.4.1 Central Coordination

    + +

    +I also think GNU will need sooner than it thinks, that someone set up +a way to organize and coordinate these groups. Some kind of group +of groups. My opinion is that it would be good that GNU delegates +this task to a small group of collaborating volunteers, shortly. +Perhaps in ‘gnu.announce’ a list of this national committee's +can be published. + +

    +

    +My role as coordinator would simply be to refer to Ulrich any German +speaking volunteer interested to localization of free software packages, and +maybe helping national groups to initially organize, while maintaining +national registries for until national groups are ready to take over. +In fact, the coordinator should ease volunteers to get in contact with +one another for creating national teams, which should then select +one coordinator per language, or country (regionalized language). +If well done, the coordination should be useful without being an +overwhelming task, the time to put delegations in place. + +

    + + +

    12.4.2 National Teams

    + +

    +I suggest we look for volunteer coordinators/editors for individual +languages. These people will scan contributions of translation files +for various programs, for their own languages, and will ensure high +and uniform standards of diction. + +

    +

    +From my current experience with other people in these days, those who +provide localizations are very enthusiastic about the process, and are +more interested in the localization process than in the program they +localize, and want to do many programs, not just one. This seems +to confirm that having a coordinator/editor for each language is a +good idea. + +

    +

    +We need to choose someone who is good at writing clear and concise +prose in the language in question. That is hard--we can't check +it ourselves. So we need to ask a few people to judge each others' +writing and select the one who is best. + +

    +

    +I announce my prerelease to a few dozen people, and you would not +believe all the discussions it generated already. I shudder to think +what will happen when this will be launched, for true, officially, +world wide. Who am I to arbitrate between two Czekolsovak users +contradicting each other, for example? + +

    +

    +I assume that your German is not much better than my French so that +I would not be able to judge about these formulations. What I would +suggest is that for each language there is a group for people who +maintain the PO files and judge about changes. I suspect there will +be cultural differences between how such groups of people will behave. +Some will have relaxed ways, reach consensus easily, and have anyone +of the group relate to the maintainers, while others will fight to +death, organize heavy administrations up to national standards, and +use strict channels. + +

    +

    +The German team is putting out a good example. Right now, they are +maybe half a dozen people revising translations of each other and +discussing the linguistic issues. I do not even have all the names. +Ulrich Drepper is taking care of coordinating the German team. +He subscribed to all my pretest lists, so I do not even have to warn +him specifically of incoming releases. + +

    +

    +I'm sure, that is a good idea to get teams for each language working +on translations. That will make the translations better and more +consistent. + +

    + + + +

    12.4.2.1 Sub-Cultures

    + +

    +Taking French for example, there are a few sub-cultures around computers +which developed diverging vocabularies. Picking volunteers here and +there without addressing this problem in an organized way, soon in the +project, might produce a distasteful mix of internationalized programs, +and possibly trigger endless quarrels among those who really care. + +

    +

    +Keeping some kind of unity in the way French localization of +internationalized programs is achieved is a difficult (and delicate) job. +Knowing the latin character of French people (:-), if we take this +the wrong way, we could end up nowhere, or spoil a lot of energies. +Maybe we should begin to address this problem seriously before +GNU gettext become officially published. And I suspect that this +means soon! + +

    + + +

    12.4.2.2 Organizational Ideas

    + +

    +I expect the next big changes after the official release. Please note +that I use the German translation of the short GPL message. We need +to set a few good examples before the localization goes out for true +in the free software community. Here are a few points to discuss: + +

    + +
      +
    • + +Each group should have one FTP server (at least one master). + +
    • + +The files on the server should reflect the latest version (of +course!) and it should also contain a RCS directory with the +corresponding archives (I don't have this now). + +
    • + +There should also be a ChangeLog file (this is more useful than the +RCS archive but can be generated automatically from the later by +Emacs). + +
    • + +A core group should judge about questionable changes (for now +this group consists solely by me but I ask some others occasionally; +this also seems to work). + +
    + + + +

    12.4.3 Mailing Lists

    + +

    +If we get any inquiries about GNU gettext, send them on to: + +

    + +
    +‘coordinator@translationproject.org’
    +
    + +

    +The ‘*-pretest’ lists are quite useful to me, maybe the idea could +be generalized to many GNU, and non-GNU packages. But each maintainer +his/her way! + +

    +

    +François, we have a mechanism in place here at +‘gnu.ai.mit.edu’ to track teams, support mailing lists for +them and log members. We have a slight preference that you use it. +If this is OK with you, I can get you clued in. + +

    +

    +Things are changing! A few years ago, when Daniel Fekete and I +asked for a mailing list for GNU localization, nested at the FSF, we +were politely invited to organize it anywhere else, and so did we. +For communicating with my pretesters, I later made a handful of +mailing lists located at iro.umontreal.ca and administrated by +majordomo. These lists have been very dependable +so far... + +

    +

    +I suspect that the German team will organize itself a mailing list +located in Germany, and so forth for other countries. But before they +organize for true, it could surely be useful to offer mailing lists +located at the FSF to each national team. So yes, please explain me +how I should proceed to create and handle them. + +

    +

    +We should create temporary mailing lists, one per country, to help +people organize. Temporary, because once regrouped and structured, it +would be fair the volunteers from country bring back their list +in there and manage it as they want. My feeling is that, in the long +run, each team should run its own list, from within their country. +There also should be some central list to which all teams could +subscribe as they see fit, as long as each team is represented in it. + +

    + + +

    12.5 Information Flow

    + +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +There will surely be some discussion about this messages after the +packages are finally released. If people now send you some proposals +for better messages, how do you proceed? Jim, please note that +right now, as I put forward nearly a dozen of localizable programs, I +receive both the translations and the coordination concerns about them. + +

    +

    +If I put one of my things to pretest, Ulrich receives the announcement +and passes it on to the German team, who make last minute revisions. +Then he submits the translation files to me as the maintainer. +For free packages I do not maintain, I would not even hear about it. +This scheme could be made to work for the whole Translation Project, +I think. For security reasons, maybe Ulrich (national coordinators, +in fact) should update central registry kept at the Translation Project +(Jim, me, or Len's recruits) once in a while. + +

    +

    +In December/January, I was aggressively ready to internationalize +all of GNU, giving myself the duty of one small GNU package per week +or so, taking many weeks or months for bigger packages. But it does +not work this way. I first did all the things I'm responsible for. +I've nothing against some missionary work on other maintainers, but +I'm also loosing a lot of energy over it--same debates over again. + +

    +

    +And when the first localized packages are released we'll get a lot of +responses about ugly translations :-). Surely, and we need to have +beforehand a fairly good idea about how to handle the information +flow between the national teams and the package maintainers. + +

    +

    +Please start saving somewhere a quick history of each PO file. I know +for sure that the file format will change, allowing for comments. +It would be nice that each file has a kind of log, and references for +those who want to submit comments or gripes, or otherwise contribute. +I sent a proposal for a fast and flexible format, but it is not +receiving acceptance yet by the GNU deciders. I'll tell you when I +have more information about this. + +

    + + +

    12.6 Translating plural forms

    + +

    + +Suppose you are translating a PO file, and it contains an entry like this: + +

    + +
    +#, c-format
    +msgid "One file removed"
    +msgid_plural "%d files removed"
    +msgstr[0] ""
    +msgstr[1] ""
    +
    + +

    +What does this mean? How do you fill it in? + +

    +

    +Such an entry denotes a message with plural forms, that is, a message where +the text depends on a cardinal number. The general form of the message, +in English, is the msgid_plural line. The msgid line is the +English singular form, that is, the form for when the number is equal to 1. +More details about plural forms are explained in section 11.2.6 Additional functions for plural forms. + +

    +

    +The first thing you need to look at is the Plural-Forms line in the +header entry of the PO file. It contains the number of plural forms and a +formula. If the PO file does not yet have such a line, you have to add it. +It only depends on the language into which you are translating. You can +get this info by using the msginit command (see section 6 Creating a New PO File) -- +it contains a database of known plural formulas -- or by asking other +members of your translation team. + +

    +

    +Suppose the line looks as follows: + +

    + +
    +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
    +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
    +
    + +

    +It's logically one line; recall that the PO file formatting is allowed to +break long lines so that each physical line fits in 80 monospaced columns. + +

    +

    +The value of nplurals here tells you that there are three plural +forms. The first thing you need to do is to ensure that the entry contains +an msgstr line for each of the forms: + +

    + +
    +#, c-format
    +msgid "One file removed"
    +msgid_plural "%d files removed"
    +msgstr[0] ""
    +msgstr[1] ""
    +msgstr[2] ""
    +
    + +

    +Then translate the msgid_plural line and fill it in into each +msgstr line: + +

    + +
    +#, c-format
    +msgid "One file removed"
    +msgid_plural "%d files removed"
    +msgstr[0] "%d slika uklonjenih"
    +msgstr[1] "%d slika uklonjenih"
    +msgstr[2] "%d slika uklonjenih"
    +
    + +

    +Now you can refine the translation so that it matches the plural form. +According to the formula above, msgstr[0] is used when the number +ends in 1 but does not end in 11; msgstr[1] is used when the number +ends in 2, 3, 4, but not in 12, 13, 14; and msgstr[2] is used in +all other cases. With this knowledge, you can refine the translations: + +

    + +
    +#, c-format
    +msgid "One file removed"
    +msgid_plural "%d files removed"
    +msgstr[0] "%d slika je uklonjena"
    +msgstr[1] "%d datoteke uklonjenih"
    +msgstr[2] "%d slika uklonjenih"
    +
    + +

    +You noticed that in the English singular form (msgid) the number +placeholder could be omitted and replaced by the numeral word “one”. +Can you do this in your translation as well? + +

    + +
    +msgstr[0] "jednom datotekom je uklonjen"
    +
    + +

    +Well, it depends on whether msgstr[0] applies only to the number 1, +or to other numbers as well. If, according to the plural formula, +msgstr[0] applies only to n == 1, then you can use the +specialized translation without the number placeholder. In our case, +however, msgstr[0] also applies to the numbers 21, 31, 41, etc., +and therefore you cannot omit the placeholder. + +

    + + +

    12.7 Prioritizing messages: How to determine which messages to translate first

    + +

    +A translator sometimes has only a limited amount of time per week to +spend on a package, and some packages have quite large message catalogs +(over 1000 messages). Therefore she wishes to translate the messages +first that are the most visible to the user, or that occur most frequently. +This section describes how to determine these "most urgent" messages. +It also applies to determine the "next most urgent" messages after the +message catalog has already been partially translated. + +

    +

    +In a first step, she uses the programs like a user would do. While she +does this, the GNU gettext library logs into a file the not yet +translated messages for which a translation was requested from the program. + +

    +

    +In a second step, she uses the PO mode to translate precisely this set +of messages. + +

    +

    + +Here a more details. The GNU libintl library (but not the +corresponding functions in GNU libc) supports an environment variable +GETTEXT_LOG_UNTRANSLATED. The GNU libintl library will +log into this file the messages for which gettext() and related +functions couldn't find the translation. If the file doesn't exist, it +will be created as needed. On systems with GNU libc a shared library +‘preloadable_libintl.so’ is provided that can be used with the ELF +‘LD_PRELOAD’ mechanism. + +

    +

    +So, in the first step, the translator uses these commands on systems with +GNU libc: + +

    + +
    +$ LD_PRELOAD=/usr/local/lib/preloadable_libintl.so
    +$ export LD_PRELOAD
    +$ GETTEXT_LOG_UNTRANSLATED=$HOME/gettextlogused
    +$ export GETTEXT_LOG_UNTRANSLATED
    +
    + +

    +and these commands on other systems: + +

    + +
    +$ GETTEXT_LOG_UNTRANSLATED=$HOME/gettextlogused
    +$ export GETTEXT_LOG_UNTRANSLATED
    +
    + +

    +Then she uses and peruses the programs. (It is a good and recommended +practice to use the programs for which you provide translations: it +gives you the needed context.) When done, she removes the environment +variables: + +

    + +
    +$ unset LD_PRELOAD
    +$ unset GETTEXT_LOG_UNTRANSLATED
    +
    + +

    +The second step starts with removing duplicates: + +

    + +
    +$ msguniq $HOME/gettextlogused > missing.po
    +
    + +

    +The result is a PO file, but needs some preprocessing before a PO file editor +can be used with it. First, it is a multi-domain PO file, containing +messages from many translation domains. Second, it lacks all translator +comments and source references. Here is how to get a list of the affected +translation domains: + +

    + +
    +$ sed -n -e 's,^domain "\(.*\)"$,\1,p' < missing.po | sort | uniq
    +
    + +

    +Then the translator can handle the domains one by one. For simplicity, +let's use environment variables to denote the language, domain and source +package. + +

    + +
    +$ lang=nl             # your language
    +$ domain=coreutils    # the name of the domain to be handled
    +$ package=/usr/src/gnu/coreutils-4.5.4   # the package where it comes from
    +
    + +

    +She takes the latest copy of ‘$lang.po’ from the Translation Project, +or from the package (in most cases, ‘$package/po/$lang.po’), or +creates a fresh one if she's the first translator (see section 6 Creating a New PO File). +She then uses the following commands to mark the not urgent messages as +"obsolete". (This doesn't mean that these messages - translated and +untranslated ones - will go away. It simply means that the PO file editor +will ignore them in the following editing session.) + +

    + +
    +$ msggrep --domain=$domain missing.po | grep -v '^domain' \
    +  > $domain-missing.po
    +$ msgattrib --set-obsolete --ignore-file $domain-missing.po $domain.$lang.po \
    +  > $domain.$lang-urgent.po
    +
    + +

    +The she translates ‘$domain.$lang-urgent.po’ by use of a PO file editor +(see section 8 Editing PO Files). +(FIXME: I don't know whether KBabel and gtranslator also +preserve obsolete messages, as they should.) +Finally she restores the not urgent messages (with their earlier +translations, for those which were already translated) through this command: + +

    + +
    +$ msgmerge --no-fuzzy-matching $domain.$lang-urgent.po $package/po/$domain.pot \
    +  > $domain.$lang.po
    +
    + +

    +Then she can submit ‘$domain.$lang.po’ and proceed to the next domain. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_13.html b/mingw/share/doc/gettext/gettext_13.html new file mode 100644 index 00000000..4a94c6cf --- /dev/null +++ b/mingw/share/doc/gettext/gettext_13.html @@ -0,0 +1,1876 @@ + + + + + +GNU gettext utilities - 13 The Maintainer's View + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    13 The Maintainer's View

    +

    + + +

    +

    +The maintainer of a package has many responsibilities. One of them +is ensuring that the package will install easily on many platforms, +and that the magic we described earlier (see section 2 The User's View) will work +for installers and end users. + +

    +

    +Of course, there are many possible ways by which GNU gettext +might be integrated in a distribution, and this chapter does not cover +them in all generality. Instead, it details one possible approach which +is especially adequate for many free software distributions following GNU +standards, or even better, Gnits standards, because GNU gettext +is purposely for helping the internationalization of the whole GNU +project, and as many other good free packages as possible. So, the +maintainer's view presented here presumes that the package already has +a ‘configure.ac’ file and uses GNU Autoconf. + +

    +

    +Nevertheless, GNU gettext may surely be useful for free packages +not following GNU standards and conventions, but the maintainers of such +packages might have to show imagination and initiative in organizing +their distributions so gettext work for them in all situations. +There are surely many, out there. + +

    +

    +Even if gettext methods are now stabilizing, slight adjustments +might be needed between successive gettext versions, so you +should ideally revise this chapter in subsequent releases, looking +for changes. + +

    + + + +

    13.1 Flat or Non-Flat Directory Structures

    + +

    +Some free software packages are distributed as tar files which unpack +in a single directory, these are said to be flat distributions. +Other free software packages have a one level hierarchy of subdirectories, using +for example a subdirectory named ‘doc/’ for the Texinfo manual and +man pages, another called ‘lib/’ for holding functions meant to +replace or complement C libraries, and a subdirectory ‘src/’ for +holding the proper sources for the package. These other distributions +are said to be non-flat. + +

    +

    +We cannot say much about flat distributions. A flat +directory structure has the disadvantage of increasing the difficulty +of updating to a new version of GNU gettext. Also, if you have +many PO files, this could somewhat pollute your single directory. +Also, GNU gettext's libintl sources consist of C sources, shell +scripts, sed scripts and complicated Makefile rules, which don't +fit well into an existing flat structure. For these reasons, we +recommend to use non-flat approach in this case as well. + +

    +

    +Maybe because GNU gettext itself has a non-flat structure, +we have more experience with this approach, and this is what will be +described in the remaining of this chapter. Some maintainers might +use this as an opportunity to unflatten their package structure. + +

    + + +

    13.2 Prerequisite Works

    +

    + + + + +

    +

    +There are some works which are required for using GNU gettext +in one of your package. These works have some kind of generality +that escape the point by point descriptions used in the remainder +of this chapter. So, we describe them here. + +

    + +
      +
    • + +Before attempting to use gettextize you should install some +other packages first. +Ensure that recent versions of GNU m4, GNU Autoconf and GNU +gettext are already installed at your site, and if not, proceed +to do this first. If you get to install these things, beware that +GNU m4 must be fully installed before GNU Autoconf is even +configured. + +To further ease the task of a package maintainer the automake +package was designed and implemented. GNU gettext now uses this +tool and the ‘Makefile’s in the ‘intl/’ and ‘po/’ +therefore know about all the goals necessary for using automake +and ‘libintl’ in one project. + +Those four packages are only needed by you, as a maintainer; the +installers of your own package and end users do not really need any of +GNU m4, GNU Autoconf, GNU gettext, or GNU automake +for successfully installing and running your package, with messages +properly translated. But this is not completely true if you provide +internationalized shell scripts within your own package: GNU +gettext shall then be installed at the user site if the end users +want to see the translation of shell script messages. + +
    • + +Your package should use Autoconf and have a ‘configure.ac’ or +‘configure.in’ file. +If it does not, you have to learn how. The Autoconf documentation +is quite well written, it is a good idea that you print it and get +familiar with it. + +
    • + +Your C sources should have already been modified according to +instructions given earlier in this manual. See section 4 Preparing Program Sources. + +
    • + +Your ‘po/’ directory should receive all PO files submitted to you +by the translator teams, each having ll.po’ as a name. +This is not usually easy to get translation +work done before your package gets internationalized and available! +Since the cycle has to start somewhere, the easiest for the maintainer +is to start with absolutely no PO files, and wait until various +translator teams get interested in your package, and submit PO files. + +
    + +

    +It is worth adding here a few words about how the maintainer should +ideally behave with PO files submissions. As a maintainer, your role is +to authenticate the origin of the submission as being the representative +of the appropriate translating teams of the Translation Project (forward +the submission to ‘coordinator@translationproject.org’ in case of doubt), +to ensure that the PO file format is not severely broken and does not +prevent successful installation, and for the rest, to merely put these +PO files in ‘po/’ for distribution. + +

    +

    +As a maintainer, you do not have to take on your shoulders the +responsibility of checking if the translations are adequate or +complete, and should avoid diving into linguistic matters. Translation +teams drive themselves and are fully responsible of their linguistic +choices for the Translation Project. Keep in mind that translator teams are not +driven by maintainers. You can help by carefully redirecting all +communications and reports from users about linguistic matters to the +appropriate translation team, or explain users how to reach or join +their team. The simplest might be to send them the ‘ABOUT-NLS’ file. + +

    +

    +Maintainers should never ever apply PO file bug reports +themselves, short-cutting translation teams. If some translator has +difficulty to get some of her points through her team, it should not be +an option for her to directly negotiate translations with maintainers. +Teams ought to settle their problems themselves, if any. If you, as +a maintainer, ever think there is a real problem with a team, please +never try to solve a team's problem on your own. + +

    + + +

    13.3 Invoking the gettextize Program

    + +

    +The gettextize program is an interactive tool that helps the +maintainer of a package internationalized through GNU gettext. +It is used for two purposes: + +

    + +
      +
    • + +As a wizard, when a package is modified to use GNU gettext for +the first time. + +
    • + +As a migration tool, for upgrading the GNU gettext support in +a package from a previous to a newer version of GNU gettext. +
    + +

    +This program performs the following tasks: + +

    + +
      +
    • + +It copies into the package some files that are consistently and +identically needed in every package internationalized through +GNU gettext. + +
    • It performs as many of the tasks mentioned in the next section + +section 13.4 Files You Must Create or Alter as can be performed automatically. + +
    • It removes obsolete files and idioms used for previous GNU + +gettext versions to the form recommended for the current GNU +gettext version. + +
    • It prints a summary of the tasks that ought to be done manually + +and could not be done automatically by gettextize. +
    + +

    +It can be invoked as follows: + +

    +

    + + + +

    +gettextize [ option... ] [ directory ]
    +
    + +

    +and accepts the following options: + +

    +
    + +
    ‘-f’ +
    +
    ‘--force’ +
    + + +Force replacement of files which already exist. + +
    ‘--intl’ +
    + +Install the libintl sources in a subdirectory named ‘intl/’. +This libintl will be used to provide internationalization on systems +that don't have GNU libintl installed. If this option is omitted, +the call to AM_GNU_GETTEXT in ‘configure.ac’ should read: +‘AM_GNU_GETTEXT([external])’, and internationalization will not +be enabled on systems lacking GNU gettext. + +
    ‘--po-dir=dir +
    + +Specify a directory containing PO files. Such a directory contains the +translations into various languages of a particular POT file. This +option can be specified multiple times, once for each translation domain. +If it is not specified, the directory named ‘po/’ is updated. + +
    ‘--no-changelog’ +
    + +Don't update or create ChangeLog files. By default, gettextize +logs all changes (file additions, modifications and removals) in a +file called ‘ChangeLog’ in each affected directory. + +
    ‘--symlink’ +
    + +Make symbolic links instead of copying the needed files. This can be +useful to save a few kilobytes of disk space, but it requires extra +effort to create self-contained tarballs, it may disturb some mechanism +the maintainer applies to the sources, and it is likely to introduce +bugs when a newer version of gettext is installed on the system. + +
    ‘-n’ +
    +
    ‘--dry-run’ +
    + + +Print modifications but don't perform them. All actions that +gettextize would normally execute are inhibited and instead only +listed on standard output. + +
    ‘--help’ +
    + +Display this help and exit. + +
    ‘--version’ +
    + +Output version information and exit. + +
    + +

    +If directory is given, this is the top level directory of a +package to prepare for using GNU gettext. If not given, it +is assumed that the current directory is the top level directory of +such a package. + +

    +

    +The program gettextize provides the following files. However, +no existing file will be replaced unless the option --force +(-f) is specified. + +

    + +
      +
    1. + +The ‘ABOUT-NLS’ file is copied in the main directory of your package, +the one being at the top level. This file gives the main indications +about how to install and use the Native Language Support features +of your program. You might elect to use a more recent copy of this +‘ABOUT-NLS’ file than the one provided through gettextize, +if you have one handy. You may also fetch a more recent copy of file +‘ABOUT-NLS’ from Translation Project sites, and from most GNU +archive sites. + +
    2. + +A ‘po/’ directory is created for eventually holding +all translation files, but initially only containing the file +‘po/Makefile.in.in’ from the GNU gettext distribution +(beware the double ‘.in’ in the file name) and a few auxiliary +files. If the ‘po/’ directory already exists, it will be preserved +along with the files it contains, and only ‘Makefile.in.in’ and +the auxiliary files will be overwritten. + +If ‘--po-dir’ has been specified, this holds for every directory +specified through ‘--po-dir’, instead of ‘po/’. + +
    3. + +Only if ‘--intl’ has been specified: +A ‘intl/’ directory is created and filled with most of the files +originally in the ‘intl/’ directory of the GNU gettext +distribution. Also, if option --force (-f) is given, +the ‘intl/’ directory is emptied first. + +
    4. + +The file ‘config.rpath’ is copied into the directory containing +configuration support files. It is needed by the AM_GNU_GETTEXT +autoconf macro. + +
    5. + +Only if the project is using GNU automake: +A set of autoconf macro files is copied into the package's +autoconf macro repository, usually in a directory called ‘m4/’. +
    + +

    +If your site support symbolic links, gettextize will not +actually copy the files into your package, but establish symbolic +links instead. This avoids duplicating the disk space needed in +all packages. Merely using the ‘-h’ option while creating the +tar archive of your distribution will resolve each link by an +actual copy in the distribution archive. So, to insist, you really +should use ‘-h’ option with tar within your dist +goal of your main ‘Makefile.in’. + +

    +

    +Furthermore, gettextize will update all ‘Makefile.am’ files +in each affected directory, as well as the top level ‘configure.ac’ +or ‘configure.in’ file. + +

    +

    +It is interesting to understand that most new files for supporting +GNU gettext facilities in one package go in ‘intl/’, +‘po/’ and ‘m4/’ subdirectories. One distinction between +‘intl/’ and the two other directories is that ‘intl/’ is +meant to be completely identical in all packages using GNU gettext, +while the other directories will mostly contain package dependent +files. + +

    +

    +The gettextize program makes backup files for all files it +replaces or changes, and also write ChangeLog entries about these +changes. This way, the careful maintainer can check after running +gettextize whether its changes are acceptable to him, and +possibly adjust them. An exception to this rule is the ‘intl/’ +directory, which is added or replaced or removed as a whole. + +

    +

    +It is important to understand that gettextize can not do the +entire job of adapting a package for using GNU gettext. The +amount of remaining work depends on whether the package uses GNU +automake or not. But in any case, the maintainer should still +read the section section 13.4 Files You Must Create or Alter after invoking gettextize. + +

    +

    +In particular, if after using ‘gettexize’, you get an error +‘AC_COMPILE_IFELSE was called before AC_GNU_SOURCE’ or +‘AC_RUN_IFELSE was called before AC_GNU_SOURCE’, you can fix it +by modifying ‘configure.ac’, as described in section 13.4.5 ‘configure.ac’ at top level. + +

    +

    +It is also important to understand that gettextize is not part +of the GNU build system, in the sense that it should not be invoked +automatically, and not be invoked by someone who doesn't assume the +responsibilities of a package maintainer. For the latter purpose, a +separate tool is provided, see section 13.6.3 Invoking the autopoint Program. + +

    + + +

    13.4 Files You Must Create or Alter

    +

    + + +

    +

    +Besides files which are automatically added through gettextize, +there are many files needing revision for properly interacting with +GNU gettext. If you are closely following GNU standards for +Makefile engineering and auto-configuration, the adaptations should +be easier to achieve. Here is a point by point description of the +changes needed in each. + +

    +

    +So, here comes a list of files, each one followed by a description of +all alterations it needs. Many examples are taken out from the GNU +gettext 0.18.1 distribution itself, or from the GNU +hello distribution (http://www.franken.de/users/gnu/ke/hello +or http://www.gnu.franken.de/ke/hello/) You may indeed +refer to the source code of the GNU gettext and GNU hello +packages, as they are intended to be good examples for using GNU +gettext functionality. + +

    + + + +

    13.4.1 ‘POTFILES.in’ in ‘po/’

    +

    + + +

    +

    +The ‘po/’ directory should receive a file named +‘POTFILES.in’. This file tells which files, among all program +sources, have marked strings needing translation. Here is an example +of such a file: + +

    + +
    +# List of source files containing translatable strings.
    +# Copyright (C) 1995 Free Software Foundation, Inc.
    +
    +# Common library files
    +lib/error.c
    +lib/getopt.c
    +lib/xmalloc.c
    +
    +# Package source files
    +src/gettext.c
    +src/msgfmt.c
    +src/xgettext.c
    +
    + +

    +Hash-marked comments and white lines are ignored. All other lines +list those source files containing strings marked for translation +(see section 4.4 How Marks Appear in Sources), in a notation relative to the top level +of your whole distribution, rather than the location of the +‘POTFILES.in’ file itself. + +

    +

    +When a C file is automatically generated by a tool, like flex or +bison, that doesn't introduce translatable strings by itself, +it is recommended to list in ‘po/POTFILES.in’ the real source file +(ending in ‘.l’ in the case of flex, or in ‘.y’ in the +case of bison), not the generated C file. + +

    + + +

    13.4.2 ‘LINGUAS’ in ‘po/’

    +

    + + +

    +

    +The ‘po/’ directory should also receive a file named +‘LINGUAS’. This file contains the list of available translations. +It is a whitespace separated list. Hash-marked comments and white lines +are ignored. Here is an example file: + +

    + +
    +# Set of available languages.
    +de fr
    +
    + +

    +This example means that German and French PO files are available, so +that these languages are currently supported by your package. If you +want to further restrict, at installation time, the set of installed +languages, this should not be done by modifying the ‘LINGUAS’ file, +but rather by using the LINGUAS environment variable +(see section 14 The Installer's and Distributor's View). + +

    +

    +It is recommended that you add the "languages" ‘en@quot’ and +‘en@boldquot’ to the LINGUAS file. en@quot is a +variant of English message catalogs (en) which uses real quotation +marks instead of the ugly looking asymmetric ASCII substitutes ‘`’ +and ‘'’. en@boldquot is a variant of en@quot that +additionally outputs quoted pieces of text in a bold font, when used in +a terminal emulator which supports the VT100 escape sequences (such as +xterm or the Linux console, but not Emacs in M-x shell mode). + +

    +

    +These extra message catalogs ‘en@quot’ and ‘en@boldquot’ +are constructed automatically, not by translators; to support them, you +need the files ‘Rules-quot’, ‘quot.sed’, ‘boldquot.sed’, +‘en@quot.header’, ‘en@boldquot.header’, ‘insert-header.sin’ +in the ‘po/’ directory. You can copy them from GNU gettext's ‘po/’ +directory; they are also installed by running gettextize. + +

    + + +

    13.4.3 ‘Makevars’ in ‘po/’

    +

    + + +

    +

    +The ‘po/’ directory also has a file named ‘Makevars’. It +contains variables that are specific to your project. ‘po/Makevars’ +gets inserted into the ‘po/Makefile’ when the latter is created. +The variables thus take effect when the POT file is created or updated, +and when the message catalogs get installed. + +

    +

    +The first three variables can be left unmodified if your package has a +single message domain and, accordingly, a single ‘po/’ directory. +Only packages which have multiple ‘po/’ directories at different +locations need to adjust the three first variables defined in +‘Makevars’. + +

    +

    +As an alternative to the XGETTEXT_OPTIONS variables, it is also +possible to specify xgettext options through the +AM_XGETTEXT_OPTION autoconf macro. See section 13.5.6 AM_XGETTEXT_OPTION in ‘po.m4’. + +

    + + +

    13.4.4 Extending ‘Makefile’ in ‘po/’

    +

    + + +

    +

    +All files called ‘Rules-*’ in the ‘po/’ directory get appended to +the ‘po/Makefile’ when it is created. They present an opportunity to +add rules for special PO files to the Makefile, without needing to mess +with ‘po/Makefile.in.in’. + +

    +

    + + +GNU gettext comes with a ‘Rules-quot’ file, containing rules for +building catalogs ‘en@quot.po’ and ‘en@boldquot.po’. The +effect of ‘en@quot.po’ is that people who set their LANGUAGE +environment variable to ‘en@quot’ will get messages with proper +looking symmetric Unicode quotation marks instead of abusing the ASCII +grave accent and the ASCII apostrophe for indicating quotations. To +enable this catalog, simply add en@quot to the ‘po/LINGUAS’ +file. The effect of ‘en@boldquot.po’ is that people who set +LANGUAGE to ‘en@boldquot’ will get not only proper quotation +marks, but also the quoted text will be shown in a bold font on terminals +and consoles. This catalog is useful only for command-line programs, not +GUI programs. To enable it, similarly add en@boldquot to the +‘po/LINGUAS’ file. + +

    +

    +Similarly, you can create rules for building message catalogs for the +‘sr@latin’ locale -- Serbian written with the Latin alphabet -- +from those for the ‘sr’ locale -- Serbian written with Cyrillic +letters. See section 9.4 Invoking the msgfilter Program. + +

    + + +

    13.4.5 ‘configure.ac’ at top level

    + +

    +‘configure.ac’ or ‘configure.in’ - this is the source from which +autoconf generates the ‘configure’ script. + +

    + +
      +
    1. Declare the package and version. + + + +This is done by a set of lines like these: + + +
      +PACKAGE=gettext
      +VERSION=0.18.1
      +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
      +AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
      +AC_SUBST(PACKAGE)
      +AC_SUBST(VERSION)
      +
      + +or, if you are using GNU automake, by a line like this: + + +
      +AM_INIT_AUTOMAKE(gettext, 0.18.1)
      +
      + +Of course, you replace ‘gettext’ with the name of your package, +and ‘0.18.1’ by its version numbers, exactly as they +should appear in the packaged tar file name of your distribution +(‘gettext-0.18.1.tar.gz’, here). + +
    2. Check for internationalization support. + +Here is the main m4 macro for triggering internationalization +support. Just add this line to ‘configure.ac’: + + +
      +AM_GNU_GETTEXT
      +
      + +This call is purposely simple, even if it generates a lot of configure +time checking and actions. + +If you have suppressed the ‘intl/’ subdirectory by calling +gettextize without ‘--intl’ option, this call should read + + +
      +AM_GNU_GETTEXT([external])
      +
      + +
    3. Have output files created. + +The AC_OUTPUT directive, at the end of your ‘configure.ac’ +file, needs to be modified in two ways: + + +
      +AC_OUTPUT([existing configuration files intl/Makefile po/Makefile.in],
      +[existing additional actions])
      +
      + +The modification to the first argument to AC_OUTPUT asks +for substitution in the ‘intl/’ and ‘po/’ directories. +Note the ‘.in’ suffix used for ‘po/’ only. This is because +the distributed file is really ‘po/Makefile.in.in’. + +If you have suppressed the ‘intl/’ subdirectory by calling +gettextize without ‘--intl’ option, then you don't need to +add intl/Makefile to the AC_OUTPUT line. + +
    + +

    +If, after doing the recommended modifications, a command like +‘aclocal -I m4’ or ‘autoconf’ or ‘autoreconf’ fails with +a trace similar to this: + +

    + +
    +configure.ac:44: warning: AC_COMPILE_IFELSE was called before AC_GNU_SOURCE
    +../../lib/autoconf/specific.m4:335: AC_GNU_SOURCE is expanded from...
    +m4/lock.m4:224: gl_LOCK is expanded from...
    +m4/gettext.m4:571: gt_INTL_SUBDIR_CORE is expanded from...
    +m4/gettext.m4:472: AM_INTL_SUBDIR is expanded from...
    +m4/gettext.m4:347: AM_GNU_GETTEXT is expanded from...
    +configure.ac:44: the top level
    +configure.ac:44: warning: AC_RUN_IFELSE was called before AC_GNU_SOURCE
    +
    + +

    +you need to add an explicit invocation of ‘AC_GNU_SOURCE’ in the +‘configure.ac’ file - after ‘AC_PROG_CC’ but before +‘AM_GNU_GETTEXT’, most likely very close to the ‘AC_PROG_CC’ +invocation. This is necessary because of ordering restrictions imposed +by GNU autoconf. + +

    + + +

    13.4.6 ‘config.guess’, ‘config.sub’ at top level

    + +

    +If you haven't suppressed the ‘intl/’ subdirectory, +you need to add the GNU ‘config.guess’ and ‘config.sub’ files +to your distribution. They are needed because the ‘intl/’ directory +has platform dependent support for determining the locale's character +encoding and therefore needs to identify the platform. + +

    +

    +You can obtain the newest version of ‘config.guess’ and +‘config.sub’ from the CVS of the ‘config’ project at +‘http://savannah.gnu.org/’. The commands to fetch them are + +

    +$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess'
    +$ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub'
    +
    + +

    +Less recent versions are also contained in the GNU automake and +GNU libtool packages. + +

    +

    +Normally, ‘config.guess’ and ‘config.sub’ are put at the +top level of a distribution. But it is also possible to put them in a +subdirectory, altogether with other configuration support files like +‘install-sh’, ‘ltconfig’, ‘ltmain.sh’ or ‘missing’. +All you need to do, other than moving the files, is to add the following line +to your ‘configure.ac’. + +

    + +
    +AC_CONFIG_AUX_DIR([subdir])
    +
    + + + +

    13.4.7 ‘mkinstalldirs’ at top level

    +

    + + +

    +

    +With earlier versions of GNU gettext, you needed to add the GNU +‘mkinstalldirs’ script to your distribution. This is not needed any +more. You can remove it if you not also using an automake version older than +automake 1.9. + +

    + + +

    13.4.8 ‘aclocal.m4’ at top level

    +

    + + +

    +

    +If you do not have an ‘aclocal.m4’ file in your distribution, +the simplest is to concatenate the files ‘codeset.m4’, ‘fcntl-o.m4’, +‘gettext.m4’, ‘glibc2.m4’, ‘glibc21.m4’, ‘iconv.m4’, +‘intdiv0.m4’, ‘intl.m4’, ‘intldir.m4’, ‘intlmacosx.m4’, +‘intmax.m4’, ‘inttypes_h.m4’, ‘inttypes-pri.m4’, +‘lcmessage.m4’, ‘lib-ld.m4’, ‘lib-link.m4’, +‘lib-prefix.m4’, ‘lock.m4’, ‘longlong.m4’, ‘nls.m4’, +‘po.m4’, ‘printf-posix.m4’, ‘progtest.m4’, ‘size_max.m4’, +‘stdint_h.m4’, ‘threadlib.m4’, ‘uintmax_t.m4’, +‘visibility.m4’, ‘wchar_t.m4’, ‘wint_t.m4’, ‘xsize.m4’ +from GNU gettext's +‘m4/’ directory into a single file. If you have suppressed the +‘intl/’ directory, only ‘gettext.m4’, ‘iconv.m4’, +‘lib-ld.m4’, ‘lib-link.m4’, ‘lib-prefix.m4’, +‘nls.m4’, ‘po.m4’, ‘progtest.m4’ need to be concatenated. + +

    +

    +If you are not using GNU automake 1.8 or newer, you will need to +add a file ‘mkdirp.m4’ from a newer automake distribution to the +list of files above. + +

    +

    +If you already have an ‘aclocal.m4’ file, then you will have +to merge the said macro files into your ‘aclocal.m4’. Note that if +you are upgrading from a previous release of GNU gettext, you +should most probably replace the macros (AM_GNU_GETTEXT, +etc.), as they usually +change a little from one release of GNU gettext to the next. +Their contents may vary as we get more experience with strange systems +out there. + +

    +

    +If you are using GNU automake 1.5 or newer, it is enough to put +these macro files into a subdirectory named ‘m4/’ and add the line + +

    + +
    +ACLOCAL_AMFLAGS = -I m4
    +
    + +

    +to your top level ‘Makefile.am’. + +

    +

    +These macros check for the internationalization support functions +and related informations. Hopefully, once stabilized, these macros +might be integrated in the standard Autoconf set, because this +piece of m4 code will be the same for all projects using GNU +gettext. + +

    + + +

    13.4.9 ‘acconfig.h’ at top level

    +

    + + +

    +

    +Earlier GNU gettext releases required to put definitions for +ENABLE_NLS, HAVE_GETTEXT and HAVE_LC_MESSAGES, +HAVE_STPCPY, PACKAGE and VERSION into an +‘acconfig.h’ file. This is not needed any more; you can remove +them from your ‘acconfig.h’ file unless your package uses them +independently from the ‘intl/’ directory. + +

    + + +

    13.4.10 ‘config.h.in’ at top level

    +

    + + +

    +

    +The include file template that holds the C macros to be defined by +configure is usually called ‘config.h.in’ and may be +maintained either manually or automatically. + +

    +

    +If gettextize has created an ‘intl/’ directory, this file +must be called ‘config.h.in’ and must be at the top level. If, +however, you have suppressed the ‘intl/’ directory by calling +gettextize without ‘--intl’ option, then you can choose the +name of this file and its location freely. + +

    +

    +If it is maintained automatically, by use of the ‘autoheader’ +program, you need to do nothing about it. This is the case in particular +if you are using GNU automake. + +

    +

    +If it is maintained manually, and if gettextize has created an +‘intl/’ directory, you should switch to using ‘autoheader’. +The list of C macros to be added for the sake of the ‘intl/’ +directory is just too long to be maintained manually; it also changes +between different versions of GNU gettext. + +

    +

    +If it is maintained manually, and if on the other hand you have +suppressed the ‘intl/’ directory by calling gettextize +without ‘--intl’ option, then you can get away by adding the +following lines to ‘config.h.in’: + +

    + +
    +/* Define to 1 if translation of program messages to the user's
    +   native language is requested. */
    +#undef ENABLE_NLS
    +
    + + + +

    13.4.11 ‘Makefile.in’ at top level

    + +

    +Here are a few modifications you need to make to your main, top-level +‘Makefile.in’ file. + +

    + +
      +
    1. + +Add the following lines near the beginning of your ‘Makefile.in’, +so the ‘dist:’ goal will work properly (as explained further down): + + +
      +PACKAGE = @PACKAGE@
      +VERSION = @VERSION@
      +
      + +
    2. + +Add file ‘ABOUT-NLS’ to the DISTFILES definition, so the file gets +distributed. + +
    3. + +Wherever you process subdirectories in your ‘Makefile.in’, be sure +you also process the subdirectories ‘intl’ and ‘po’. Special +rules in the ‘Makefiles’ take care for the case where no +internationalization is wanted. + +If you are using Makefiles, either generated by automake, or hand-written +so they carefully follow the GNU coding standards, the effected goals for +which the new subdirectories must be handled include ‘installdirs’, +‘install’, ‘uninstall’, ‘clean’, ‘distclean’. + +Here is an example of a canonical order of processing. In this +example, we also define SUBDIRS in Makefile.in for it +to be further used in the ‘dist:’ goal. + + +
      +SUBDIRS = doc intl lib src po
      +
      + +Note that you must arrange for ‘make’ to descend into the +intl directory before descending into other directories containing +code which make use of the libintl.h header file. For this +reason, here we mention intl before lib and src. + +
    4. + +A delicate point is the ‘dist:’ goal, as both +‘intl/Makefile’ and ‘po/Makefile’ will later assume that the +proper directory has been set up from the main ‘Makefile’. Here is +an example at what the ‘dist:’ goal might look like: + + +
      +distdir = $(PACKAGE)-$(VERSION)
      +dist: Makefile
      +	rm -fr $(distdir)
      +	mkdir $(distdir)
      +	chmod 777 $(distdir)
      +	for file in $(DISTFILES); do \
      +	  ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
      +	done
      +	for subdir in $(SUBDIRS); do \
      +	  mkdir $(distdir)/$$subdir || exit 1; \
      +	  chmod 777 $(distdir)/$$subdir; \
      +	  (cd $$subdir && $(MAKE) $@) || exit 1; \
      +	done
      +	tar chozf $(distdir).tar.gz $(distdir)
      +	rm -fr $(distdir)
      +
      + +
    + +

    +Note that if you are using GNU automake, ‘Makefile.in’ is +automatically generated from ‘Makefile.am’, and all needed changes +to ‘Makefile.am’ are already made by running ‘gettextize’. + +

    + + +

    13.4.12 ‘Makefile.in’ in ‘src/’

    + +

    +Some of the modifications made in the main ‘Makefile.in’ will +also be needed in the ‘Makefile.in’ from your package sources, +which we assume here to be in the ‘src/’ subdirectory. Here are +all the modifications needed in ‘src/Makefile.in’: + +

    + +
      +
    1. + +In view of the ‘dist:’ goal, you should have these lines near the +beginning of ‘src/Makefile.in’: + + +
      +PACKAGE = @PACKAGE@
      +VERSION = @VERSION@
      +
      + +
    2. + +If not done already, you should guarantee that top_srcdir +gets defined. This will serve for cpp include files. Just add +the line: + + +
      +top_srcdir = @top_srcdir@
      +
      + +
    3. + +You might also want to define subdir as ‘src’, later +allowing for almost uniform ‘dist:’ goals in all your +‘Makefile.in’. At list, the ‘dist:’ goal below assume that +you used: + + +
      +subdir = src
      +
      + +
    4. + +The main function of your program will normally call +bindtextdomain (see see section 4.2 Triggering gettext Operations), like this: + + +
      +bindtextdomain (PACKAGE, LOCALEDIR);
      +textdomain (PACKAGE);
      +
      + +To make LOCALEDIR known to the program, add the following lines to +‘Makefile.in’ if you are using Autoconf version 2.60 or newer: + + +
      +datadir = @datadir@
      +datarootdir= @datarootdir@
      +localedir = @localedir@
      +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
      +
      + +or these lines if your version of Autoconf is older than 2.60: + + +
      +datadir = @datadir@
      +localedir = $(datadir)/locale
      +DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
      +
      + +Note that @datadir@ defaults to ‘$(prefix)/share’, thus +$(localedir) defaults to ‘$(prefix)/share/locale’. + +
    5. + +You should ensure that the final linking will use @LIBINTL@ or +@LTLIBINTL@ as a library. @LIBINTL@ is for use without +libtool, @LTLIBINTL@ is for use with libtool. An +easy way to achieve this is to manage that it gets into LIBS, like +this: + + +
      +LIBS = @LIBINTL@ @LIBS@
      +
      + +In most packages internationalized with GNU gettext, one will +find a directory ‘lib/’ in which a library containing some helper +functions will be build. (You need at least the few functions which the +GNU gettext Library itself needs.) However some of the functions +in the ‘lib/’ also give messages to the user which of course should be +translated, too. Taking care of this, the support library (say +‘libsupport.a’) should be placed before @LIBINTL@ and +@LIBS@ in the above example. So one has to write this: + + +
      +LIBS = ../lib/libsupport.a @LIBINTL@ @LIBS@
      +
      + +
    6. + +You should also ensure that directory ‘intl/’ will be searched for +C preprocessor include files in all circumstances. So, you have to +manage so both ‘-I../intl’ and ‘-I$(top_srcdir)/intl’ will +be given to the C compiler. + +
    7. + +Your ‘dist:’ goal has to conform with others. Here is a +reasonable definition for it: + + +
      +distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
      +dist: Makefile $(DISTFILES)
      +	for file in $(DISTFILES); do \
      +	  ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir) || exit 1; \
      +	done
      +
      + +
    + +

    +Note that if you are using GNU automake, ‘Makefile.in’ is +automatically generated from ‘Makefile.am’, and the first three +changes and the last change are not necessary. The remaining needed +‘Makefile.am’ modifications are the following: + +

    + +
      +
    1. + +To make LOCALEDIR known to the program, add the following to +‘Makefile.am’: + + +
      +<module>_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\"
      +
      + +for each specific module or compilation unit, or + + +
      +AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\"
      +
      + +for all modules and compilation units together. Furthermore, if you are +using an Autoconf version older then 2.60, add this line to define +‘localedir’: + + +
      +localedir = $(datadir)/locale
      +
      + +
    2. + +To ensure that the final linking will use @LIBINTL@ or +@LTLIBINTL@ as a library, add the following to +‘Makefile.am’: + + +
      +<program>_LDADD = @LIBINTL@
      +
      + +for each specific program, or + + +
      +LDADD = @LIBINTL@
      +
      + +for all programs together. Remember that when you use libtool +to link a program, you need to use @LTLIBINTL@ instead of @LIBINTL@ +for that program. + +
    3. + +If you have an ‘intl/’ directory, whose contents is created by +gettextize, then to ensure that it will be searched for +C preprocessor include files in all circumstances, add something like +this to ‘Makefile.am’: + + +
      +AM_CPPFLAGS = -I../intl -I$(top_srcdir)/intl
      +
      + +
    + + + +

    13.4.13 ‘gettext.h’ in ‘lib/’

    +

    + + + + +

    +

    +Internationalization of packages, as provided by GNU gettext, is +optional. It can be turned off in two situations: + +

    + +
      +
    • + +When the installer has specified ‘./configure --disable-nls’. This +can be useful when small binaries are more important than features, for +example when building utilities for boot diskettes. It can also be useful +in order to get some specific C compiler warnings about code quality with +some older versions of GCC (older than 3.0). + +
    • + +When the package does not include the intl/ subdirectory, and the +libintl.h header (with its associated libintl library, if any) is not +already installed on the system, it is preferable that the package builds +without internationalization support, rather than to give a compilation +error. +
    + +

    +A C preprocessor macro can be used to detect these two cases. Usually, +when libintl.h was found and not explicitly disabled, the +ENABLE_NLS macro will be defined to 1 in the autoconf generated +configuration file (usually called ‘config.h’). In the two negative +situations, however, this macro will not be defined, thus it will evaluate +to 0 in C preprocessor expressions. + +

    +

    + +‘gettext.h’ is a convenience header file for conditional use of +‘<libintl.h>’, depending on the ENABLE_NLS macro. If +ENABLE_NLS is set, it includes ‘<libintl.h>’; otherwise it +defines no-op substitutes for the libintl.h functions. We recommend +the use of "gettext.h" over direct use of ‘<libintl.h>’, +so that portability to older systems is guaranteed and installers can +turn off internationalization if they want to. In the C code, you will +then write + +

    + +
    +#include "gettext.h"
    +
    + +

    +instead of + +

    + +
    +#include <libintl.h>
    +
    + +

    +The location of gettext.h is usually in a directory containing +auxiliary include files. In many GNU packages, there is a directory +‘lib/’ containing helper functions; ‘gettext.h’ fits there. +In other packages, it can go into the ‘src’ directory. + +

    +

    +Do not install the gettext.h file in public locations. Every +package that needs it should contain a copy of it on its own. + +

    + + +

    13.5 Autoconf macros for use in ‘configure.ac’

    +

    + + +

    +

    +GNU gettext installs macros for use in a package's +‘configure.ac’ or ‘configure.in’. +See section ‘Introduction’ in The Autoconf Manual. +The primary macro is, of course, AM_GNU_GETTEXT. + +

    + + + +

    13.5.1 AM_GNU_GETTEXT in ‘gettext.m4’

    + +

    + +The AM_GNU_GETTEXT macro tests for the presence of the GNU gettext +function family in either the C library or a separate libintl +library (shared or static libraries are both supported) or in the package's +‘intl/’ directory. It also invokes AM_PO_SUBDIRS, thus preparing +the ‘po/’ directories of the package for building. + +

    +

    +AM_GNU_GETTEXT accepts up to three optional arguments. The general +syntax is + +

    + +
    +AM_GNU_GETTEXT([intlsymbol], [needsymbol], [intldir])
    +
    + +

    +intlsymbol can be ‘external’ or ‘no-libtool’. The default +(if it is not specified or empty) is ‘no-libtool’. intlsymbol +should be ‘external’ for packages with no ‘intl/’ directory. +For packages with an ‘intl/’ directory, you can either use an +intlsymbol equal to ‘no-libtool’, or you can use ‘external’ +and override by using the macro AM_GNU_GETTEXT_INTL_SUBDIR elsewhere. +The two ways to specify the existence of an ‘intl/’ directory are +equivalent. At build time, a static library +$(top_builddir)/intl/libintl.a will then be created. + +

    +

    +If needsymbol is specified and is ‘need-ngettext’, then GNU +gettext implementations (in libc or libintl) without the ngettext() +function will be ignored. If needsymbol is specified and is +‘need-formatstring-macros’, then GNU gettext implementations that don't +support the ISO C 99 ‘<inttypes.h>’ formatstring macros will be ignored. +Only one needsymbol can be specified. These requirements can also be +specified by using the macro AM_GNU_GETTEXT_NEED elsewhere. To specify +more than one requirement, just specify the strongest one among them, or +invoke the AM_GNU_GETTEXT_NEED macro several times. The hierarchy +among the various alternatives is as follows: ‘need-formatstring-macros’ +implies ‘need-ngettext’. + +

    +

    +intldir is used to find the intl libraries. If empty, the value +‘$(top_builddir)/intl/’ is used. + +

    +

    +The AM_GNU_GETTEXT macro determines whether GNU gettext is +available and should be used. If so, it sets the USE_NLS variable +to ‘yes’; it defines ENABLE_NLS to 1 in the autoconf +generated configuration file (usually called ‘config.h’); it sets +the variables LIBINTL and LTLIBINTL to the linker options +for use in a Makefile (LIBINTL for use without libtool, +LTLIBINTL for use with libtool); it adds an ‘-I’ option to +CPPFLAGS if necessary. In the negative case, it sets +USE_NLS to ‘no’; it sets LIBINTL and LTLIBINTL +to empty and doesn't change CPPFLAGS. + +

    +

    +The complexities that AM_GNU_GETTEXT deals with are the following: + +

    + +
      +
    • + + +Some operating systems have gettext in the C library, for example +glibc. Some have it in a separate library libintl. GNU libintl +might have been installed as part of the GNU gettext package. + +
    • + +GNU libintl, if installed, is not necessarily already in the search +path (CPPFLAGS for the include file search path, LDFLAGS for +the library search path). + +
    • + +Except for glibc, the operating system's native gettext cannot +exploit the GNU mo files, doesn't have the necessary locale dependency +features, and cannot convert messages from the catalog's text encoding +to the user's locale encoding. + +
    • + +GNU libintl, if installed, is not necessarily already in the +run time library search path. To avoid the need for setting an environment +variable like LD_LIBRARY_PATH, the macro adds the appropriate +run time search path options to the LIBINTL and LTLIBINTL +variables. This works on most systems, but not on some operating systems +with limited shared library support, like SCO. + +
    • + +GNU libintl relies on POSIX/XSI iconv. The macro checks for +linker options needed to use iconv and appends them to the LIBINTL +and LTLIBINTL variables. +
    + + + +

    13.5.2 AM_GNU_GETTEXT_VERSION in ‘gettext.m4’

    + +

    + +The AM_GNU_GETTEXT_VERSION macro declares the version number of +the GNU gettext infrastructure that is used by the package. + +

    +

    +The use of this macro is optional; only the autopoint program makes +use of it (see section 13.6 Integrating with CVS). + +

    + + +

    13.5.3 AM_GNU_GETTEXT_NEED in ‘gettext.m4’

    + +

    + +The AM_GNU_GETTEXT_NEED macro declares a constraint regarding the +GNU gettext implementation. The syntax is + +

    + +
    +AM_GNU_GETTEXT_NEED([needsymbol])
    +
    + +

    +If needsymbol is ‘need-ngettext’, then GNU gettext implementations +(in libc or libintl) without the ngettext() function will be ignored. +If needsymbol is ‘need-formatstring-macros’, then GNU gettext +implementations that don't support the ISO C 99 ‘<inttypes.h>’ +formatstring macros will be ignored. + +

    +

    +The optional second argument of AM_GNU_GETTEXT is also taken into +account. + +

    +

    +The AM_GNU_GETTEXT_NEED invocations can occur before or after +the AM_GNU_GETTEXT invocation; the order doesn't matter. + +

    + + +

    13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in ‘intldir.m4’

    + +

    + +The AM_GNU_GETTEXT_INTL_SUBDIR macro specifies that the +AM_GNU_GETTEXT macro, although invoked with the first argument +‘external’, should also prepare for building the ‘intl/’ +subdirectory. + +

    +

    +The AM_GNU_GETTEXT_INTL_SUBDIR invocation can occur before or after +the AM_GNU_GETTEXT invocation; the order doesn't matter. + +

    +

    +The use of this macro requires GNU automake 1.10 or newer and +GNU autoconf 2.61 or newer. + +

    + + +

    13.5.5 AM_PO_SUBDIRS in ‘po.m4’

    + +

    + +The AM_PO_SUBDIRS macro prepares the ‘po/’ directories of the +package for building. This macro should be used in internationalized +programs written in other programming languages than C, C++, Objective C, +for example sh, Python, Lisp. See section 15 Other Programming Languages for a list of programming languages that support localization +through PO files. + +

    +

    +The AM_PO_SUBDIRS macro determines whether internationalization +should be used. If so, it sets the USE_NLS variable to ‘yes’, +otherwise to ‘no’. It also determines the right values for Makefile +variables in each ‘po/’ directory. + +

    + + +

    13.5.6 AM_XGETTEXT_OPTION in ‘po.m4’

    + +

    + +The AM_XGETTEXT_OPTION macro registers a command-line option to be +used in the invocations of xgettext in the ‘po/’ directories +of the package. + +

    +

    +For example, if you have a source file that defines a function +‘error_at_line’ whose fifth argument is a format string, you can use + +

    +AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])
    +
    + +

    +to instruct xgettext to mark all translatable strings in ‘gettext’ +invocations that occur as fifth argument to this function as ‘c-format’. + +

    +

    +See section 5.1 Invoking the xgettext Program for the list of options that xgettext +accepts. + +

    +

    +The use of this macro is an alternative to the use of the +‘XGETTEXT_OPTIONS’ variable in ‘po/Makevars’. + +

    + + +

    13.5.7 AM_ICONV in ‘iconv.m4’

    + +

    + +The AM_ICONV macro tests for the presence of the POSIX/XSI +iconv function family in either the C library or a separate +libiconv library. If found, it sets the am_cv_func_iconv +variable to ‘yes’; it defines HAVE_ICONV to 1 in the autoconf +generated configuration file (usually called ‘config.h’); it defines +ICONV_CONST to ‘const’ or to empty, depending on whether the +second argument of iconv() is of type ‘const char **’ or +‘char **’; it sets the variables LIBICONV and +LTLIBICONV to the linker options for use in a Makefile +(LIBICONV for use without libtool, LTLIBICONV for use with +libtool); it adds an ‘-I’ option to CPPFLAGS if +necessary. If not found, it sets LIBICONV and LTLIBICONV to +empty and doesn't change CPPFLAGS. + +

    +

    +The complexities that AM_ICONV deals with are the following: + +

    + +
      +
    • + + +Some operating systems have iconv in the C library, for example +glibc. Some have it in a separate library libiconv, for example +OSF/1 or FreeBSD. Regardless of the operating system, GNU libiconv +might have been installed. In that case, it should be used instead of the +operating system's native iconv. + +
    • + +GNU libiconv, if installed, is not necessarily already in the search +path (CPPFLAGS for the include file search path, LDFLAGS for +the library search path). + +
    • + +GNU libiconv is binary incompatible with some operating system's +native iconv, for example on FreeBSD. Use of an ‘iconv.h’ +and ‘libiconv.so’ that don't fit together would produce program +crashes. + +
    • + +GNU libiconv, if installed, is not necessarily already in the +run time library search path. To avoid the need for setting an environment +variable like LD_LIBRARY_PATH, the macro adds the appropriate +run time search path options to the LIBICONV variable. This works +on most systems, but not on some operating systems with limited shared +library support, like SCO. +
    + +

    +‘iconv.m4’ is distributed with the GNU gettext package because +‘gettext.m4’ relies on it. + +

    + + +

    13.6 Integrating with CVS

    + +

    +Many projects use CVS for distributed development, version control and +source backup. This section gives some advice how to manage the uses +of cvs, gettextize, autopoint and autoconf. + +

    + + + +

    13.6.1 Avoiding version mismatch in distributed development

    + +

    +In a project development with multiple developers, using CVS, there +should be a single developer who occasionally - when there is desire to +upgrade to a new gettext version - runs gettextize and +performs the changes listed in section 13.4 Files You Must Create or Alter, and then commits +his changes to the CVS. + +

    +

    +It is highly recommended that all developers on a project use the same +version of GNU gettext in the package. In other words, if a +developer runs gettextize, he should go the whole way, make the +necessary remaining changes and commit his changes to the CVS. +Otherwise the following damages will likely occur: + +

    + +
      +
    • + +Apparent version mismatch between developers. Since some gettext +specific portions in ‘configure.ac’, ‘configure.in’ and +Makefile.am, Makefile.in files depend on the gettext +version, the use of infrastructure files belonging to different +gettext versions can easily lead to build errors. + +
    • + +Hidden version mismatch. Such version mismatch can also lead to +malfunctioning of the package, that may be undiscovered by the developers. +The worst case of hidden version mismatch is that internationalization +of the package doesn't work at all. + +
    • + +Release risks. All developers implicitly perform constant testing on +a package. This is important in the days and weeks before a release. +If the guy who makes the release tar files uses a different version +of GNU gettext than the other developers, the distribution will +be less well tested than if all had been using the same gettext +version. For example, it is possible that a platform specific bug goes +undiscovered due to this constellation. +
    + + + +

    13.6.2 Files to put under CVS version control

    + +

    +There are basically three ways to deal with generated files in the +context of a CVS repository, such as ‘configure’ generated from +‘configure.ac’, parser.c generated from +parser.y, or po/Makefile.in.in autoinstalled by +gettextize or autopoint. + +

    + +
      +
    1. + +All generated files are always committed into the repository. + +
    2. + +All generated files are committed into the repository occasionally, +for example each time a release is made. + +
    3. + +Generated files are never committed into the repository. +
    + +

    +Each of these three approaches has different advantages and drawbacks. + +

    + +
      +
    1. + +The advantage is that anyone can check out the CVS at any moment and +gets a working build. The drawbacks are: 1a. It requires some frequent +"cvs commit" actions by the maintainers. 1b. The repository grows in size +quite fast. + +
    2. + +The advantage is that anyone can check out the CVS, and the usual +"./configure; make" will work. The drawbacks are: 2a. The one who +checks out the repository needs tools like GNU automake, +GNU autoconf, GNU m4 installed in his PATH; sometimes +he even needs particular versions of them. 2b. When a release is made +and a commit is made on the generated files, the other developers get +conflicts on the generated files after doing "cvs update". Although +these conflicts are easy to resolve, they are annoying. + +
    3. + +The advantage is less work for the maintainers. The drawback is that +anyone who checks out the CVS not only needs tools like GNU automake, +GNU autoconf, GNU m4 installed in his PATH, but also that +he needs to perform a package specific pre-build step before being able +to "./configure; make". +
    + +

    +For the first and second approach, all files modified or brought in +by the occasional gettextize invocation and update should be +committed into the CVS. + +

    +

    +For the third approach, the maintainer can omit from the CVS repository +all the files that gettextize mentions as "copy". Instead, he +adds to the ‘configure.ac’ or ‘configure.in’ a line of the +form + +

    + +
    +AM_GNU_GETTEXT_VERSION(0.18.1)
    +
    + +

    +and adds to the package's pre-build script an invocation of +‘autopoint’. For everyone who checks out the CVS, this +autopoint invocation will copy into the right place the +gettext infrastructure files that have been omitted from the CVS. + +

    +

    +The version number used as argument to AM_GNU_GETTEXT_VERSION is +the version of the gettext infrastructure that the package wants +to use. It is also the minimum version number of the ‘autopoint’ +program. So, if you write AM_GNU_GETTEXT_VERSION(0.11.5) then the +developers can have any version >= 0.11.5 installed; the package will work +with the 0.11.5 infrastructure in all developers' builds. When the +maintainer then runs gettextize from, say, version 0.12.1 on the package, +the occurrence of AM_GNU_GETTEXT_VERSION(0.11.5) will be changed +into AM_GNU_GETTEXT_VERSION(0.12.1), and all other developers that +use the CVS will henceforth need to have GNU gettext 0.12.1 or newer +installed. + +

    + + +

    13.6.3 Invoking the autopoint Program

    + +

    + + + +

    +autopoint [option]...
    +
    + +

    +The autopoint program copies standard gettext infrastructure files +into a source package. It extracts from a macro call of the form +AM_GNU_GETTEXT_VERSION(version), found in the package's +‘configure.in’ or ‘configure.ac’ file, the gettext version +used by the package, and copies the infrastructure files belonging to +this version into the package. + +

    + + +

    13.6.3.1 Options

    + +
    + +
    ‘-f’ +
    +
    ‘--force’ +
    + + +Force overwriting of files that already exist. + +
    ‘-n’ +
    +
    ‘--dry-run’ +
    + + +Print modifications but don't perform them. All file copying actions that +autopoint would normally execute are inhibited and instead only +listed on standard output. + +
    + + + +

    13.6.3.2 Informative output

    + +
    + +
    ‘--help’ +
    + +Display this help and exit. + +
    ‘--version’ +
    + +Output version information and exit. + +
    + +

    +autopoint supports the GNU gettext versions from 0.10.35 to +the current one, 0.18.1. In order to apply autopoint to +a package using a gettext version newer than 0.18.1, you +need to install this same version of GNU gettext at least. + +

    +

    +In packages using GNU automake, an invocation of autopoint +should be followed by invocations of aclocal and then autoconf +and autoheader. The reason is that autopoint installs some +autoconf macro files, which are used by aclocal to create +‘aclocal.m4’, and the latter is used by autoconf to create the +package's ‘configure’ script and by autoheader to create the +package's ‘config.h.in’ include file template. + +

    +

    +The name ‘autopoint’ is an abbreviation of ‘auto-po-intl-m4’; +the tool copies or updates mostly files in the ‘po’, ‘intl’, +‘m4’ directories. + +

    + + +

    13.7 Creating a Distribution Tarball

    + +

    + + +In projects that use GNU automake, the usual commands for creating +a distribution tarball, ‘make dist’ or ‘make distcheck’, +automatically update the PO files as needed. + +

    +

    +If GNU automake is not used, the maintainer needs to perform this +update before making a release: + +

    + +
    +$ ./configure
    +$ (cd po; make update-po)
    +$ make distclean
    +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_14.html b/mingw/share/doc/gettext/gettext_14.html new file mode 100644 index 00000000..040c3422 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_14.html @@ -0,0 +1,51 @@ + + + + + +GNU gettext utilities - 14 The Installer's and Distributor's View + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    14 The Installer's and Distributor's View

    +

    + + + + + +

    +

    +By default, packages fully using GNU gettext, internally, +are installed in such a way that they to allow translation of +messages. At configuration time, those packages should +automatically detect whether the underlying host system already provides +the GNU gettext functions. If not, +the GNU gettext library should be automatically prepared +and used. Installers may use special options at configuration +time for changing this behavior. The command ‘./configure +--with-included-gettext’ bypasses system gettext to +use the included GNU gettext instead, +while ‘./configure --disable-nls’ +produces programs totally unable to translate messages. + +

    +

    + +Internationalized packages have usually many ll.po’ +files. Unless +translations are disabled, all those available are installed together +with the package. However, the environment variable LINGUAS +may be set, prior to configuration, to limit the installed set. +LINGUAS should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_15.html b/mingw/share/doc/gettext/gettext_15.html new file mode 100644 index 00000000..8ab1e4c6 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_15.html @@ -0,0 +1,4023 @@ + + + + + +GNU gettext utilities - 15 Other Programming Languages + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    15 Other Programming Languages

    + +

    +While the presentation of gettext focuses mostly on C and +implicitly applies to C++ as well, its scope is far broader than that: +Many programming languages, scripting languages and other textual data +like GUI resources or package descriptions can make use of the gettext +approach. + +

    + + + +

    15.1 The Language Implementor's View

    +

    + + + +

    +

    +All programming and scripting languages that have the notion of strings +are eligible to supporting gettext. Supporting gettext +means the following: + +

    + +
      +
    1. + +You should add to the language a syntax for translatable strings. In +principle, a function call of gettext would do, but a shorthand +syntax helps keeping the legibility of internationalized programs. For +example, in C we use the syntax _("string"), and in GNU awk we use +the shorthand _"string". + +
    2. + +You should arrange that evaluation of such a translatable string at +runtime calls the gettext function, or performs equivalent +processing. + +
    3. + +Similarly, you should make the functions ngettext, +dcgettext, dcngettext available from within the language. +These functions are less often used, but are nevertheless necessary for +particular purposes: ngettext for correct plural handling, and +dcgettext and dcngettext for obeying other locale-related +environment variables than LC_MESSAGES, such as LC_TIME or +LC_MONETARY. For these latter functions, you need to make the +LC_* constants, available in the C header <locale.h>, +referenceable from within the language, usually either as enumeration +values or as strings. + +
    4. + +You should allow the programmer to designate a message domain, either by +making the textdomain function available from within the +language, or by introducing a magic variable called TEXTDOMAIN. +Similarly, you should allow the programmer to designate where to search +for message catalogs, by providing access to the bindtextdomain +function. + +
    5. + +You should either perform a setlocale (LC_ALL, "") call during +the startup of your language runtime, or allow the programmer to do so. +Remember that gettext will act as a no-op if the LC_MESSAGES and +LC_CTYPE locale categories are not both set. + +
    6. + +A programmer should have a way to extract translatable strings from a +program into a PO file. The GNU xgettext program is being +extended to support very different programming languages. Please +contact the GNU gettext maintainers to help them doing this. If +the string extractor is best integrated into your language's parser, GNU +xgettext can function as a front end to your string extractor. + +
    7. + +The language's library should have a string formatting facility where +the arguments of a format string are denoted by a positional number or a +name. This is needed because for some languages and some messages with +more than one substitutable argument, the translation will need to +output the substituted arguments in different order. See section 4.6 Special Comments preceding Keywords. + +
    8. + +If the language has more than one implementation, and not all of the +implementations use gettext, but the programs should be portable +across implementations, you should provide a no-i18n emulation, that +makes the other implementations accept programs written for yours, +without actually translating the strings. + +
    9. + +To help the programmer in the task of marking translatable strings, +which is sometimes performed using the Emacs PO mode (see section 4.5 Marking Translatable Strings), +you are welcome to +contact the GNU gettext maintainers, so they can add support for +your language to ‘po-mode.el’. +
    + +

    +On the implementation side, three approaches are possible, with +different effects on portability and copyright: + +

    + +
      +
    • + +You may integrate the GNU gettext's ‘intl/’ directory in +your package, as described in section 13 The Maintainer's View. This allows you to +have internationalization on all kinds of platforms. Note that when you +then distribute your package, it legally falls under the GNU General +Public License, and the GNU project will be glad about your contribution +to the Free Software pool. + +
    • + +You may link against GNU gettext functions if they are found in +the C library. For example, an autoconf test for gettext() and +ngettext() will detect this situation. For the moment, this test +will succeed on GNU systems and not on other platforms. No severe +copyright restrictions apply. + +
    • + +You may emulate or reimplement the GNU gettext functionality. +This has the advantage of full portability and no copyright +restrictions, but also the drawback that you have to reimplement the GNU +gettext features (such as the LANGUAGE environment +variable, the locale aliases database, the automatic charset conversion, +and plural handling). +
    + + + +

    15.2 The Programmer's View

    + +

    +For the programmer, the general procedure is the same as for the C +language. The Emacs PO mode marking supports other languages, and the GNU +xgettext string extractor recognizes other languages based on the +file extension or a command-line option. In some languages, +setlocale is not needed because it is already performed by the +underlying language runtime. + +

    + + +

    15.3 The Translator's View

    + +

    +The translator works exactly as in the C language case. The only +difference is that when translating format strings, she has to be aware +of the language's particular syntax for positional arguments in format +strings. + +

    + + + +

    15.3.1 C Format Strings

    + +

    +C format strings are described in POSIX (IEEE P1003.1 2001), section +XSH 3 fprintf(), +http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html. +See also the fprintf() manual page, +http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/printf.3.php, +http://informatik.fh-wuerzburg.de/student/i510/man/printf.html. + +

    +

    +Although format strings with positions that reorder arguments, such as + +

    + +
    +"Only %2$d bytes free on '%1$s'."
    +
    + +

    +which is semantically equivalent to + +

    + +
    +"'%s' has only %d bytes free."
    +
    + +

    +are a POSIX/XSI feature and not specified by ISO C 99, translators can rely +on this reordering ability: On the few platforms where printf(), +fprintf() etc. don't support this feature natively, ‘libintl.a’ +or ‘libintl.so’ provides replacement functions, and GNU <libintl.h> +activates these replacement functions automatically. + +

    +

    + + +As a special feature for Farsi (Persian) and maybe Arabic, translators can +insert an ‘I’ flag into numeric format directives. For example, the +translation of "%d" can be "%Id". The effect of this flag, +on systems with GNU libc, is that in the output, the ASCII digits are +replaced with the ‘outdigits’ defined in the LC_CTYPE locale +category. On other systems, the gettext function removes this flag, +so that it has no effect. + +

    +

    +Note that the programmer should not put this flag into the +untranslated string. (Putting the ‘I’ format directive flag into an +msgid string would lead to undefined behaviour on platforms without +glibc when NLS is disabled.) + +

    + + +

    15.3.2 Objective C Format Strings

    + +

    +Objective C format strings are like C format strings. They support an +additional format directive: "%@", which when executed consumes an argument +of type Object *. + +

    + + +

    15.3.3 Shell Format Strings

    + +

    +Shell format strings, as supported by GNU gettext and the ‘envsubst’ +program, are strings with references to shell variables in the form +$variable or ${variable}. References of the form +${variable-default}, +${variable:-default}, +${variable=default}, +${variable:=default}, +${variable+replacement}, +${variable:+replacement}, +${variable?ignored}, +${variable:?ignored}, +that would be valid inside shell scripts, are not supported. The +variable names must consist solely of alphanumeric or underscore +ASCII characters, not start with a digit and be nonempty; otherwise such +a variable reference is ignored. + +

    + + +

    15.3.4 Python Format Strings

    + +

    +Python format strings are described in +Python Library reference / +2. Built-in Types, Exceptions and Functions / +2.2. Built-in Types / +2.2.6. Sequence Types / +2.2.6.2. String Formatting Operations. +http://www.python.org/doc/2.2.1/lib/typesseq-strings.html. + +

    + + +

    15.3.5 Lisp Format Strings

    + +

    +Lisp format strings are described in the Common Lisp HyperSpec, +chapter 22.3 Formatted Output, +http://www.lisp.org/HyperSpec/Body/sec_22-3.html. + +

    + + +

    15.3.6 Emacs Lisp Format Strings

    + +

    +Emacs Lisp format strings are documented in the Emacs Lisp reference, +section Formatting Strings, +http://www.gnu.org/manual/elisp-manual-21-2.8/html_chapter/elisp_4.html#SEC75. +Note that as of version 21, XEmacs supports numbered argument specifications +in format strings while FSF Emacs doesn't. + +

    + + +

    15.3.7 librep Format Strings

    + +

    +librep format strings are documented in the librep manual, section +Formatted Output, +http://librep.sourceforge.net/librep-manual.html#Formatted%20Output, +http://www.gwinnup.org/research/docs/librep.html#SEC122. + +

    + + +

    15.3.8 Scheme Format Strings

    + +

    +Scheme format strings are documented in the SLIB manual, section +Format Specification. + +

    + + +

    15.3.9 Smalltalk Format Strings

    + +

    +Smalltalk format strings are described in the GNU Smalltalk documentation, +class CharArray, methods ‘bindWith:’ and +‘bindWithArguments:’. +http://www.gnu.org/software/smalltalk/gst-manual/gst_68.html#SEC238. +In summary, a directive starts with ‘%’ and is followed by ‘%’ +or a nonzero digit (‘1’ to ‘9’). + +

    + + +

    15.3.10 Java Format Strings

    + +

    +Java format strings are described in the JDK documentation for class +java.text.MessageFormat, +http://java.sun.com/j2se/1.4/docs/api/java/text/MessageFormat.html. +See also the ICU documentation +http://oss.software.ibm.com/icu/apiref/classMessageFormat.html. + +

    + + +

    15.3.11 C# Format Strings

    + +

    +C# format strings are described in the .NET documentation for class +System.String and in +http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpConFormattingOverview.asp. + +

    + + +

    15.3.12 awk Format Strings

    + +

    +awk format strings are described in the gawk documentation, section +Printf, +http://www.gnu.org/manual/gawk/html_node/Printf.html#Printf. + +

    + + +

    15.3.13 Object Pascal Format Strings

    + +

    +Object Pascal format strings are described in the documentation of the +Free Pascal runtime library, section Format, +http://www.freepascal.org/docs-html/rtl/sysutils/format.html. + +

    + + +

    15.3.14 YCP Format Strings

    + +

    +YCP sformat strings are described in the libycp documentation +file:/usr/share/doc/packages/libycp/YCP-builtins.html. +In summary, a directive starts with ‘%’ and is followed by ‘%’ +or a nonzero digit (‘1’ to ‘9’). + +

    + + +

    15.3.15 Tcl Format Strings

    + +

    +Tcl format strings are described in the ‘format.n’ manual page, +http://www.scriptics.com/man/tcl8.3/TclCmd/format.htm. + +

    + + +

    15.3.16 Perl Format Strings

    + +

    +There are two kinds format strings in Perl: those acceptable to the +Perl built-in function printf, labelled as ‘perl-format’, +and those acceptable to the libintl-perl function __x, +labelled as ‘perl-brace-format’. + +

    +

    +Perl printf format strings are described in the sprintf +section of ‘man perlfunc’. + +

    +

    +Perl brace format strings are described in the +‘Locale::TextDomain(3pm)’ manual page of the CPAN package +libintl-perl. In brief, Perl format uses placeholders put between +braces (‘{’ and ‘}’). The placeholder must have the syntax +of simple identifiers. + +

    + + +

    15.3.17 PHP Format Strings

    + +

    +PHP format strings are described in the documentation of the PHP function +sprintf, in ‘phpdoc/manual/function.sprintf.html’ or +http://www.php.net/manual/en/function.sprintf.php. + +

    + + +

    15.3.18 GCC internal Format Strings

    + +

    +These format strings are used inside the GCC sources. In such a format +string, a directive starts with ‘%’, is optionally followed by a +size specifier ‘l’, an optional flag ‘+’, another optional flag +‘#’, and is finished by a specifier: ‘%’ denotes a literal +percent sign, ‘c’ denotes a character, ‘s’ denotes a string, +‘i’ and ‘d’ denote an integer, ‘o’, ‘u’, ‘x’ +denote an unsigned integer, ‘.*s’ denotes a string preceded by a +width specification, ‘H’ denotes a ‘location_t *’ pointer, +‘D’ denotes a general declaration, ‘F’ denotes a function +declaration, ‘T’ denotes a type, ‘A’ denotes a function argument, +‘C’ denotes a tree code, ‘E’ denotes an expression, ‘L’ +denotes a programming language, ‘O’ denotes a binary operator, +‘P’ denotes a function parameter, ‘Q’ denotes an assignment +operator, ‘V’ denotes a const/volatile qualifier. + +

    + + +

    15.3.19 GFC internal Format Strings

    + +

    +These format strings are used inside the GNU Fortran Compiler sources, +that is, the Fortran frontend in the GCC sources. In such a format +string, a directive starts with ‘%’ and is finished by a +specifier: ‘%’ denotes a literal percent sign, ‘C’ denotes the +current source location, ‘L’ denotes a source location, ‘c’ +denotes a character, ‘s’ denotes a string, ‘i’ and ‘d’ +denote an integer, ‘u’ denotes an unsigned integer. ‘i’, +‘d’, and ‘u’ may be preceded by a size specifier ‘l’. + +

    + + +

    15.3.20 Qt Format Strings

    + +

    +Qt format strings are described in the documentation of the QString class +file:/usr/lib/qt-4.3.0/doc/html/qstring.html. +In summary, a directive consists of a ‘%’ followed by a digit. The same +directive cannot occur more than once in a format string. + +

    + + +

    15.3.21 Qt Format Strings

    + +

    +Qt format strings are described in the documentation of the QObject::tr method +file:/usr/lib/qt-4.3.0/doc/html/qobject.html. +In summary, the only allowed directive is ‘%n’. + +

    + + +

    15.3.22 KDE Format Strings

    + +

    +KDE 4 format strings are defined as follows: +A directive consists of a ‘%’ followed by a non-zero decimal number. +If a ‘%n’ occurs in a format strings, all of ‘%1’, ..., ‘%(n-1)’ +must occur as well, except possibly one of them. + +

    + + +

    15.3.23 Boost Format Strings

    + +

    +Boost format strings are described in the documentation of the +boost::format class, at +http://www.boost.org/libs/format/doc/format.html. +In summary, a directive has either the same syntax as in a C format string, +such as ‘%1$+5d’, or may be surrounded by vertical bars, such as +‘%|1$+5d|’ or ‘%|1$+5|’, or consists of just an argument number +between percent signs, such as ‘%1%’. + +

    + + +

    15.4 The Maintainer's View

    + +

    +For the maintainer, the general procedure differs from the C language +case in two ways. + +

    + +
      +
    • + +For those languages that don't use GNU gettext, the ‘intl/’ directory +is not needed and can be omitted. This means that the maintainer calls the +gettextize program without the ‘--intl’ option, and that he +invokes the AM_GNU_GETTEXT autoconf macro via +‘AM_GNU_GETTEXT([external])’. + +
    • + +If only a single programming language is used, the XGETTEXT_OPTIONS +variable in ‘po/Makevars’ (see section 13.4.3 ‘Makevars’ in ‘po/’) should be adjusted to +match the xgettext options for that particular programming language. +If the package uses more than one programming language with gettext +support, it becomes necessary to change the POT file construction rule +in ‘po/Makefile.in.in’. It is recommended to make one xgettext +invocation per programming language, each with the options appropriate for +that language, and to combine the resulting files using msgcat. +
    + + + +

    15.5 Individual Programming Languages

    + + + +

    15.5.1 C, C++, Objective C

    +

    + + +

    +
    + +
    RPMs +
    +gcc, gpp, gobjc, glibc, gettext + +
    File extension +
    +For C: c, h. +
    For C++: C, c++, cc, cxx, cpp, hpp. +
    For Objective C: m. + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +gettext, dgettext, dcgettext, ngettext, +dngettext, dcngettext + +
    textdomain +
    +textdomain function + +
    bindtextdomain +
    +bindtextdomain function + +
    setlocale +
    +Programmer must call setlocale (LC_ALL, "") + +
    Prerequisite +
    +#include <libintl.h> +
    #include <locale.h> +
    #define _(string) gettext (string) + +
    Use or emulate GNU gettext +
    +Use + +
    Extractor +
    +xgettext -k_ + +
    Formatting with positions +
    +fprintf "%2$d %1$d" +
    In C++: autosprintf "%2$d %1$d" +(see section ‘Introduction’ in GNU autosprintf) + +
    Portability +
    +autoconf (gettext.m4) and #if ENABLE_NLS + +
    po-mode marking +
    +yes +
    + +

    +The following examples are available in the ‘examples’ directory: +hello-c, hello-c-gnome, hello-c++, hello-c++-qt, +hello-c++-kde, hello-c++-gnome, hello-c++-wxwidgets, +hello-objc, hello-objc-gnustep, hello-objc-gnome. + +

    + + +

    15.5.2 sh - Shell Script

    +

    + + +

    +
    + +
    RPMs +
    +bash, gettext + +
    File extension +
    +sh + +
    String syntax +
    +"abc", 'abc', abc + +
    gettext shorthand +
    +"`gettext \"abc\"`" + +
    gettext/ngettext functions +
    + + +gettext, ngettext programs +
    eval_gettext, eval_ngettext shell functions + +
    textdomain +
    + +environment variable TEXTDOMAIN + +
    bindtextdomain +
    + +environment variable TEXTDOMAINDIR + +
    setlocale +
    +automatic + +
    Prerequisite +
    +. gettext.sh + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +--- + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-sh. + +

    + + + +

    15.5.2.1 Preparing Shell Scripts for Internationalization

    +

    + + +

    +

    +Preparing a shell script for internationalization is conceptually similar +to the steps described in section 4 Preparing Program Sources. The concrete steps for shell +scripts are as follows. + +

    + +
      +
    1. + +Insert the line + + +
      +. gettext.sh
      +
      + +near the top of the script. gettext.sh is a shell function library +that provides the functions +eval_gettext (see section 15.5.2.6 Invoking the eval_gettext function) and +eval_ngettext (see section 15.5.2.7 Invoking the eval_ngettext function). +You have to ensure that gettext.sh can be found in the PATH. + +
    2. + +Set and export the TEXTDOMAIN and TEXTDOMAINDIR environment +variables. Usually TEXTDOMAIN is the package or program name, and +TEXTDOMAINDIR is the absolute pathname corresponding to +$prefix/share/locale, where $prefix is the installation location. + + +
      +TEXTDOMAIN=@PACKAGE@
      +export TEXTDOMAIN
      +TEXTDOMAINDIR=@LOCALEDIR@
      +export TEXTDOMAINDIR
      +
      + +
    3. + +Prepare the strings for translation, as described in section 4.3 Preparing Translatable Strings. + +
    4. + +Simplify translatable strings so that they don't contain command substitution +("`...`" or "$(...)"), variable access with defaulting (like +${variable-default}), access to positional arguments +(like $0, $1, ...) or highly volatile shell variables (like +$?). This can always be done through simple local code restructuring. +For example, + + +
      +echo "Usage: $0 [OPTION] FILE..."
      +
      + +becomes + + +
      +program_name=$0
      +echo "Usage: $program_name [OPTION] FILE..."
      +
      + +Similarly, + + +
      +echo "Remaining files: `ls | wc -l`"
      +
      + +becomes + + +
      +filecount="`ls | wc -l`"
      +echo "Remaining files: $filecount"
      +
      + +
    5. + +For each translatable string, change the output command ‘echo’ or +‘$echo’ to ‘gettext’ (if the string contains no references to +shell variables) or to ‘eval_gettext’ (if it refers to shell variables), +followed by a no-argument ‘echo’ command (to account for the terminating +newline). Similarly, for cases with plural handling, replace a conditional +‘echo’ command with an invocation of ‘ngettext’ or +‘eval_ngettext’, followed by a no-argument ‘echo’ command. + +When doing this, you also need to add an extra backslash before the dollar +sign in references to shell variables, so that the ‘eval_gettext’ +function receives the translatable string before the variable values are +substituted into it. For example, + + +
      +echo "Remaining files: $filecount"
      +
      + +becomes + + +
      +eval_gettext "Remaining files: \$filecount"; echo
      +
      + +If the output command is not ‘echo’, you can make it use ‘echo’ +nevertheless, through the use of backquotes. However, note that inside +backquotes, backslashes must be doubled to be effective (because the +backquoting eats one level of backslashes). For example, assuming that +‘error’ is a shell function that signals an error, + + +
      +error "file not found: $filename"
      +
      + +is first transformed into + + +
      +error "`echo \"file not found: \$filename\"`"
      +
      + +which then becomes + + +
      +error "`eval_gettext \"file not found: \\\$filename\"`"
      +
      + +
    + + + +

    15.5.2.2 Contents of gettext.sh

    + +

    +gettext.sh, contained in the run-time package of GNU gettext, provides +the following: + +

    + + + + + +

    15.5.2.3 Invoking the gettext program

    + +

    + + + +

    +gettext [option] [[textdomain] msgid]
    +gettext [option] -s [msgid]...
    +
    + +

    + +The gettext program displays the native language translation of a +textual message. + +

    +

    +Arguments + +

    +
    + +
    ‘-d textdomain +
    +
    ‘--domain=textdomain +
    + + +Retrieve translated messages from textdomain. Usually a textdomain +corresponds to a package, a program, or a module of a program. + +
    ‘-e’ +
    + +Enable expansion of some escape sequences. This option is for compatibility +with the ‘echo’ program or shell built-in. The escape sequences +‘\a’, ‘\b’, ‘\c’, ‘\f’, ‘\n’, ‘\r’, ‘\t’, +‘\v’, ‘\\’, and ‘\’ followed by one to three octal digits, are +interpreted like the System V ‘echo’ program did. + +
    ‘-E’ +
    + +This option is only for compatibility with the ‘echo’ program or shell +built-in. It has no effect. + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-n’ +
    + +Suppress trailing newline. By default, gettext adds a newline to +the output. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    ‘[textdomain] msgid +
    +Retrieve translated message corresponding to msgid from textdomain. + +
    + +

    +If the textdomain parameter is not given, the domain is determined from +the environment variable TEXTDOMAIN. If the message catalog is not +found in the regular directory, another location can be specified with the +environment variable TEXTDOMAINDIR. + +

    +

    +When used with the -s option the program behaves like the ‘echo’ +command. But it does not simply copy its arguments to stdout. Instead those +messages found in the selected catalog are translated. + +

    +

    +Note: xgettext supports only the one-argument form of the +gettext invocation, where no options are present and the +textdomain is implicit, from the environment. + +

    + + +

    15.5.2.4 Invoking the ngettext program

    + +

    + + + +

    +ngettext [option] [textdomain] msgid msgid-plural count
    +
    + +

    + +The ngettext program displays the native language translation of a +textual message whose grammatical form depends on a number. + +

    +

    +Arguments + +

    +
    + +
    ‘-d textdomain +
    +
    ‘--domain=textdomain +
    + + +Retrieve translated messages from textdomain. Usually a textdomain +corresponds to a package, a program, or a module of a program. + +
    ‘-e’ +
    + +Enable expansion of some escape sequences. This option is for compatibility +with the ‘gettext’ program. The escape sequences +‘\a’, ‘\b’, ‘\c’, ‘\f’, ‘\n’, ‘\r’, ‘\t’, +‘\v’, ‘\\’, and ‘\’ followed by one to three octal digits, are +interpreted like the System V ‘echo’ program did. + +
    ‘-E’ +
    + +This option is only for compatibility with the ‘gettext’ program. It has +no effect. + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    textdomain +
    +Retrieve translated message from textdomain. + +
    msgid msgid-plural +
    +Translate msgid (English singular) / msgid-plural (English plural). + +
    count +
    +Choose singular/plural form based on this value. + +
    + +

    +If the textdomain parameter is not given, the domain is determined from +the environment variable TEXTDOMAIN. If the message catalog is not +found in the regular directory, another location can be specified with the +environment variable TEXTDOMAINDIR. + +

    +

    +Note: xgettext supports only the three-arguments form of the +ngettext invocation, where no options are present and the +textdomain is implicit, from the environment. + +

    + + +

    15.5.2.5 Invoking the envsubst program

    + +

    + + + +

    +envsubst [option] [shell-format]
    +
    + +

    + + + +The envsubst program substitutes the values of environment variables. + +

    +

    +Operation mode + +

    +
    + +
    ‘-v’ +
    +
    ‘--variables’ +
    + + +Output the variables occurring in shell-format. + +
    + +

    +Informative output + +

    +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + +

    +In normal operation mode, standard input is copied to standard output, +with references to environment variables of the form $VARIABLE or +${VARIABLE} being replaced with the corresponding values. If a +shell-format is given, only those environment variables that are +referenced in shell-format are substituted; otherwise all environment +variables references occurring in standard input are substituted. + +

    +

    +These substitutions are a subset of the substitutions that a shell performs +on unquoted and double-quoted strings. Other kinds of substitutions done +by a shell, such as ${variable-default} or +$(command-list) or `command-list`, are not performed +by the envsubst program, due to security reasons. + +

    +

    +When --variables is used, standard input is ignored, and the output +consists of the environment variables that are referenced in +shell-format, one per line. + +

    + + +

    15.5.2.6 Invoking the eval_gettext function

    + +

    + + +

    +eval_gettext msgid
    +
    + +

    + +This function outputs the native language translation of a textual message, +performing dollar-substitution on the result. Note that only shell variables +mentioned in msgid will be dollar-substituted in the result. + +

    + + +

    15.5.2.7 Invoking the eval_ngettext function

    + +

    + + +

    +eval_ngettext msgid msgid-plural count
    +
    + +

    + +This function outputs the native language translation of a textual message +whose grammatical form depends on a number, performing dollar-substitution +on the result. Note that only shell variables mentioned in msgid or +msgid-plural will be dollar-substituted in the result. + +

    + + +

    15.5.3 bash - Bourne-Again Shell Script

    +

    + + +

    +

    +GNU bash 2.0 or newer has a special shorthand for translating a +string and substituting variable values in it: $"msgid". But +the use of this construct is discouraged, due to the security +holes it opens and due to its portability problems. + +

    +

    +The security holes of $"..." come from the fact that after looking up +the translation of the string, bash processes it like it processes +any double-quoted string: dollar and backquote processing, like ‘eval’ +does. + +

    + +
      +
    1. + +In a locale whose encoding is one of BIG5, BIG5-HKSCS, GBK, GB18030, SHIFT_JIS, +JOHAB, some double-byte characters have a second byte whose value is +0x60. For example, the byte sequence \xe0\x60 is a single +character in these locales. Many versions of bash (all versions +up to bash-2.05, and newer versions on platforms without mbsrtowcs() +function) don't know about character boundaries and see a backquote character +where there is only a particular Chinese character. Thus it can start +executing part of the translation as a command list. This situation can occur +even without the translator being aware of it: if the translator provides +translations in the UTF-8 encoding, it is the gettext() function which +will, during its conversion from the translator's encoding to the user's +locale's encoding, produce the dangerous \x60 bytes. + +
    2. + +A translator could - voluntarily or inadvertently - use backquotes +"`...`" or dollar-parentheses "$(...)" in her translations. +The enclosed strings would be executed as command lists by the shell. +
    + +

    +The portability problem is that bash must be built with +internationalization support; this is normally not the case on systems +that don't have the gettext() function in libc. + +

    + + +

    15.5.4 Python

    +

    + + +

    +
    + +
    RPMs +
    +python + +
    File extension +
    +py + +
    String syntax +
    +'abc', u'abc', r'abc', ur'abc', +
    "abc", u"abc", r"abc", ur"abc", +
    ”'abc”', u”'abc”', r”'abc”', ur”'abc”', +
    """abc""", u"""abc""", r"""abc""", ur"""abc""" + +
    gettext shorthand +
    +_('abc') etc. + +
    gettext/ngettext functions +
    +gettext.gettext, gettext.dgettext, +gettext.ngettext, gettext.dngettext, +also ugettext, ungettext + +
    textdomain +
    +gettext.textdomain function, or +gettext.install(domain) function + +
    bindtextdomain +
    +gettext.bindtextdomain function, or +gettext.install(domain,localedir) function + +
    setlocale +
    +not used by the gettext emulation + +
    Prerequisite +
    +import gettext + +
    Use or emulate GNU gettext +
    +emulate + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +'...%(ident)d...' % { 'ident': value } + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-python. + +

    +

    +A note about format strings: Python supports format strings with unnamed +arguments, such as '...%d...', and format strings with named arguments, +such as '...%(ident)d...'. The latter are preferable for +internationalized programs, for two reasons: + +

    + +
      +
    • + +When a format string takes more than one argument, the translator can provide +a translation that uses the arguments in a different order, if the format +string uses named arguments. For example, the translator can reformulate + +
      +"'%(volume)s' has only %(freespace)d bytes free."
      +
      + +to + +
      +"Only %(freespace)d bytes free on '%(volume)s'."
      +
      + +Additionally, the identifiers also provide some context to the translator. + +
    • + +In the context of plural forms, the format string used for the singular form +does not use the numeric argument in many languages. Even in English, one +prefers to write "one hour" instead of "1 hour". Omitting +individual arguments from format strings like this is only possible with +the named argument syntax. (With unnamed arguments, Python -- unlike C -- +verifies that the format string uses all supplied arguments.) +
    + + + +

    15.5.5 GNU clisp - Common Lisp

    +

    + + + + +

    +
    + +
    RPMs +
    +clisp 2.28 or newer + +
    File extension +
    +lisp + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +(_ "abc"), (ENGLISH "abc") + +
    gettext/ngettext functions +
    +i18n:gettext, i18n:ngettext + +
    textdomain +
    +i18n:textdomain + +
    bindtextdomain +
    +i18n:textdomaindir + +
    setlocale +
    +automatic + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext -k_ -kENGLISH + +
    Formatting with positions +
    +format "~1@*~D ~0@*~D" + +
    Portability +
    +On platforms without gettext, no translation. + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-clisp. + +

    + + +

    15.5.6 GNU clisp C sources

    +

    + + +

    +
    + +
    RPMs +
    +clisp + +
    File extension +
    +d + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +ENGLISH ? "abc" : "" +
    GETTEXT("abc") +
    GETTEXTL("abc") + +
    gettext/ngettext functions +
    +clgettext, clgettextl + +
    textdomain +
    +--- + +
    bindtextdomain +
    +--- + +
    setlocale +
    +automatic + +
    Prerequisite +
    +#include "lispbibl.c" + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +clisp-xgettext + +
    Formatting with positions +
    +fprintf "%2$d %1$d" + +
    Portability +
    +On platforms without gettext, no translation. + +
    po-mode marking +
    +--- +
    + + + +

    15.5.7 Emacs Lisp

    +

    + + +

    +
    + +
    RPMs +
    +emacs, xemacs + +
    File extension +
    +el + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +(_"abc") + +
    gettext/ngettext functions +
    +gettext, dgettext (xemacs only) + +
    textdomain +
    +domain special form (xemacs only) + +
    bindtextdomain +
    +bind-text-domain function (xemacs only) + +
    setlocale +
    +automatic + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +format "%2$d %1$d" + +
    Portability +
    +Only XEmacs. Without I18N3 defined at build time, no translation. + +
    po-mode marking +
    +--- +
    + + + +

    15.5.8 librep

    +

    + + +

    +
    + +
    RPMs +
    +librep 0.15.3 or newer + +
    File extension +
    +jl + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +(_"abc") + +
    gettext/ngettext functions +
    +gettext + +
    textdomain +
    +textdomain function + +
    bindtextdomain +
    +bindtextdomain function + +
    setlocale +
    +--- + +
    Prerequisite +
    +(require 'rep.i18n.gettext) + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +format "%2$d %1$d" + +
    Portability +
    +On platforms without gettext, no translation. + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-librep. + +

    + + +

    15.5.9 GNU guile - Scheme

    +

    + + + +

    +
    + +
    RPMs +
    +guile + +
    File extension +
    +scm + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +(_ "abc") + +
    gettext/ngettext functions +
    +gettext, ngettext + +
    textdomain +
    +textdomain + +
    bindtextdomain +
    +bindtextdomain + +
    setlocale +
    +(catch #t (lambda () (setlocale LC_ALL "")) (lambda args #f)) + +
    Prerequisite +
    +(use-modules (ice-9 format)) + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext -k_ + +
    Formatting with positions +
    +--- + +
    Portability +
    +On platforms without gettext, no translation. + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-guile. + +

    + + +

    15.5.10 GNU Smalltalk

    +

    + + +

    +
    + +
    RPMs +
    +smalltalk + +
    File extension +
    +st + +
    String syntax +
    +'abc' + +
    gettext shorthand +
    +NLS ? 'abc' + +
    gettext/ngettext functions +
    +LcMessagesDomain>>#at:, LcMessagesDomain>>#at:plural:with: + +
    textdomain +
    +LcMessages>>#domain:localeDirectory: (returns a LcMessagesDomain +object).
    +Example: I18N Locale default messages domain: 'gettext' localeDirectory: /usr/local/share/locale' + +
    bindtextdomain +
    +LcMessages>>#domain:localeDirectory:, see above. + +
    setlocale +
    +Automatic if you use I18N Locale default. + +
    Prerequisite +
    +PackageLoader fileInPackage: 'I18N'! + +
    Use or emulate GNU gettext +
    +emulate + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +'%1 %2' bindWith: 'Hello' with: 'world' + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: +hello-smalltalk. + +

    + + +

    15.5.11 Java

    +

    + + +

    +
    + +
    RPMs +
    +java, java2 + +
    File extension +
    +java + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +GettextResource.gettext, GettextResource.ngettext, +GettextResource.pgettext, GettextResource.npgettext + +
    textdomain +
    +---, use ResourceBundle.getResource instead + +
    bindtextdomain +
    +---, use CLASSPATH instead + +
    setlocale +
    +automatic + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +---, uses a Java specific message catalog format + +
    Extractor +
    +xgettext -k_ + +
    Formatting with positions +
    +MessageFormat.format "{1,number} {0,number}" + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +Before marking strings as internationalizable, uses of the string +concatenation operator need to be converted to MessageFormat +applications. For example, "file "+filename+" not found" becomes +MessageFormat.format("file {0} not found", new Object[] { filename }). +Only after this is done, can the strings be marked and extracted. + +

    +

    +GNU gettext uses the native Java internationalization mechanism, namely +ResourceBundles. There are two formats of ResourceBundles: +.properties files and .class files. The .properties +format is a text file which the translators can directly edit, like PO +files, but which doesn't support plural forms. Whereas the .class +format is compiled from .java source code and can support plural +forms (provided it is accessed through an appropriate API, see below). + +

    +

    +To convert a PO file to a .properties file, the msgcat +program can be used with the option --properties-output. To convert +a .properties file back to a PO file, the msgcat program +can be used with the option --properties-input. All the tools +that manipulate PO files can work with .properties files as well, +if given the --properties-input and/or --properties-output +option. + +

    +

    +To convert a PO file to a ResourceBundle class, the msgfmt program +can be used with the option --java or --java2. To convert a +ResourceBundle back to a PO file, the msgunfmt program can be used +with the option --java. + +

    +

    +Two different programmatic APIs can be used to access ResourceBundles. +Note that both APIs work with all kinds of ResourceBundles, whether +GNU gettext generated classes, or other .class or .properties +files. + +

    + +
      +
    1. + +The java.util.ResourceBundle API. + +In particular, its getString function returns a string translation. +Note that a missing translation yields a MissingResourceException. + +This has the advantage of being the standard API. And it does not require +any additional libraries, only the msgcat generated .properties +files or the msgfmt generated .class files. But it cannot do +plural handling, even if the resource was generated by msgfmt from +a PO file with plural handling. + +
    2. + +The gnu.gettext.GettextResource API. + +Reference documentation in Javadoc 1.1 style format is in the +javadoc2 directory. + +Its gettext function returns a string translation. Note that when +a translation is missing, the msgid argument is returned unchanged. + +This has the advantage of having the ngettext function for plural +handling and the pgettext and npgettext for strings constraint +to a particular context. + + +To use this API, one needs the libintl.jar file which is part of +the GNU gettext package and distributed under the LGPL. +
    + +

    +Four examples, using the second API, are available in the ‘examples’ +directory: hello-java, hello-java-awt, hello-java-swing, +hello-java-qtjambi. + +

    +

    +Now, to make use of the API and define a shorthand for ‘getString’, +there are three idioms that you can choose from: + +

    + +
      +
    • + +(This one assumes Java 1.5 or newer.) +In a unique class of your project, say ‘Util’, define a static variable +holding the ResourceBundle instance and the shorthand: + + +
      +private static ResourceBundle myResources =
      +  ResourceBundle.getBundle("domain-name");
      +public static String _(String s) {
      +  return myResources.getString(s);
      +}
      +
      + +All classes containing internationalized strings then contain + + +
      +import static Util._;
      +
      + +and the shorthand is used like this: + + +
      +System.out.println(_("Operation completed."));
      +
      + +
    • + +In a unique class of your project, say ‘Util’, define a static variable +holding the ResourceBundle instance: + + +
      +public static ResourceBundle myResources =
      +  ResourceBundle.getBundle("domain-name");
      +
      + +All classes containing internationalized strings then contain + + +
      +private static ResourceBundle res = Util.myResources;
      +private static String _(String s) { return res.getString(s); }
      +
      + +and the shorthand is used like this: + + +
      +System.out.println(_("Operation completed."));
      +
      + +
    • + +You add a class with a very short name, say ‘S’, containing just the +definition of the resource bundle and of the shorthand: + + +
      +public class S {
      +  public static ResourceBundle myResources =
      +    ResourceBundle.getBundle("domain-name");
      +  public static String _(String s) {
      +    return myResources.getString(s);
      +  }
      +}
      +
      + +and the shorthand is used like this: + + +
      +System.out.println(S._("Operation completed."));
      +
      + +
    + +

    +Which of the three idioms you choose, will depend on whether your project +requires portability to Java versions prior to Java 1.5 and, if so, whether +copying two lines of codes into every class is more acceptable in your project +than a class with a single-letter name. + +

    + + +

    15.5.12 C#

    +

    + + +

    +
    + +
    RPMs +
    +pnet, pnetlib 0.6.2 or newer, or mono 0.29 or newer + +
    File extension +
    +cs + +
    String syntax +
    +"abc", @"abc" + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +GettextResourceManager.GetString, +GettextResourceManager.GetPluralString +GettextResourceManager.GetParticularString +GettextResourceManager.GetParticularPluralString + +
    textdomain +
    +new GettextResourceManager(domain) + +
    bindtextdomain +
    +---, compiled message catalogs are located in subdirectories of the directory +containing the executable + +
    setlocale +
    +automatic + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +---, uses a C# specific message catalog format + +
    Extractor +
    +xgettext -k_ + +
    Formatting with positions +
    +String.Format "{1} {0}" + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +Before marking strings as internationalizable, uses of the string +concatenation operator need to be converted to String.Format +invocations. For example, "file "+filename+" not found" becomes +String.Format("file {0} not found", filename). +Only after this is done, can the strings be marked and extracted. + +

    +

    +GNU gettext uses the native C#/.NET internationalization mechanism, namely +the classes ResourceManager and ResourceSet. Applications +use the ResourceManager methods to retrieve the native language +translation of strings. An instance of ResourceSet is the in-memory +representation of a message catalog file. The ResourceManager loads +and accesses ResourceSet instances as needed to look up the +translations. + +

    +

    +There are two formats of ResourceSets that can be directly loaded by +the C# runtime: .resources files and .dll files. + +

    + +
      +
    • + +The .resources format is a binary file usually generated through the +resgen or monoresgen utility, but which doesn't support plural +forms. .resources files can also be embedded in .NET .exe files. +This only affects whether a file system access is performed to load the message +catalog; it doesn't affect the contents of the message catalog. + +
    • + +On the other hand, the .dll format is a binary file that is compiled +from .cs source code and can support plural forms (provided it is +accessed through the GNU gettext API, see below). +
    + +

    +Note that these .NET .dll and .exe files are not tied to a +particular platform; their file format and GNU gettext for C# can be used +on any platform. + +

    +

    +To convert a PO file to a .resources file, the msgfmt program +can be used with the option ‘--csharp-resources’. To convert a +.resources file back to a PO file, the msgunfmt program can be +used with the option ‘--csharp-resources’. You can also, in some cases, +use the resgen program (from the pnet package) or the +monoresgen program (from the mono/mcs package). These +programs can also convert a .resources file back to a PO file. But +beware: as of this writing (January 2004), the monoresgen converter is +quite buggy and the resgen converter ignores the encoding of the PO +files. + +

    +

    +To convert a PO file to a .dll file, the msgfmt program can be +used with the option --csharp. The result will be a .dll file +containing a subclass of GettextResourceSet, which itself is a subclass +of ResourceSet. To convert a .dll file containing a +GettextResourceSet subclass back to a PO file, the msgunfmt +program can be used with the option --csharp. + +

    +

    +The advantages of the .dll format over the .resources format +are: + +

    + +
      +
    1. + +Freedom to localize: Users can add their own translations to an application +after it has been built and distributed. Whereas when the programmer uses +a ResourceManager constructor provided by the system, the set of +.resources files for an application must be specified when the +application is built and cannot be extended afterwards. + +
    2. + +Plural handling: A message catalog in .dll format supports the plural +handling function GetPluralString. Whereas .resources files can +only contain data and only support lookups that depend on a single string. + +
    3. + +Context handling: A message catalog in .dll format supports the +query-with-context functions GetParticularString and +GetParticularPluralString. Whereas .resources files can +only contain data and only support lookups that depend on a single string. + +
    4. + +The GettextResourceManager that loads the message catalogs in +.dll format also provides for inheritance on a per-message basis. +For example, in Austrian (de_AT) locale, translations from the German +(de) message catalog will be used for messages not found in the +Austrian message catalog. This has the consequence that the Austrian +translators need only translate those few messages for which the translation +into Austrian differs from the German one. Whereas when working with +.resources files, each message catalog must provide the translations +of all messages by itself. + +
    5. + +The GettextResourceManager that loads the message catalogs in +.dll format also provides for a fallback: The English msgid is +returned when no translation can be found. Whereas when working with +.resources files, a language-neutral .resources file must +explicitly be provided as a fallback. +
    + +

    +On the side of the programmatic APIs, the programmer can use either the +standard ResourceManager API and the GNU GettextResourceManager +API. The latter is an extension of the former, because +GettextResourceManager is a subclass of ResourceManager. + +

    + +
      +
    1. + +The System.Resources.ResourceManager API. + +This API works with resources in .resources format. + +The creation of the ResourceManager is done through + +
      +  new ResourceManager(domainname, Assembly.GetExecutingAssembly())
      +
      + + +The GetString function returns a string's translation. Note that this +function returns null when a translation is missing (i.e. not even found in +the fallback resource file). + +
    2. + +The GNU.Gettext.GettextResourceManager API. + +This API works with resources in .dll format. + +Reference documentation is in the +csharpdoc directory. + +The creation of the ResourceManager is done through + +
      +  new GettextResourceManager(domainname)
      +
      + +The GetString function returns a string's translation. Note that when +a translation is missing, the msgid argument is returned unchanged. + +The GetPluralString function returns a string translation with plural +handling, like the ngettext function in C. + +The GetParticularString function returns a string's translation, +specific to a particular context, like the pgettext function in C. +Note that when a translation is missing, the msgid argument is returned +unchanged. + +The GetParticularPluralString function returns a string translation, +specific to a particular context, with plural handling, like the +npgettext function in C. + + +To use this API, one needs the GNU.Gettext.dll file which is part of +the GNU gettext package and distributed under the LGPL. +
    + +

    +You can also mix both approaches: use the +GNU.Gettext.GettextResourceManager constructor, but otherwise use +only the ResourceManager type and only the GetString method. +This is appropriate when you want to profit from the tools for PO files, +but don't want to change an existing source code that uses +ResourceManager and don't (yet) need the GetPluralString method. + +

    +

    +Two examples, using the second API, are available in the ‘examples’ +directory: hello-csharp, hello-csharp-forms. + +

    +

    +Now, to make use of the API and define a shorthand for ‘GetString’, +there are two idioms that you can choose from: + +

    + +
      +
    • + +In a unique class of your project, say ‘Util’, define a static variable +holding the ResourceManager instance: + + +
      +public static GettextResourceManager MyResourceManager =
      +  new GettextResourceManager("domain-name");
      +
      + +All classes containing internationalized strings then contain + + +
      +private static GettextResourceManager Res = Util.MyResourceManager;
      +private static String _(String s) { return Res.GetString(s); }
      +
      + +and the shorthand is used like this: + + +
      +Console.WriteLine(_("Operation completed."));
      +
      + +
    • + +You add a class with a very short name, say ‘S’, containing just the +definition of the resource manager and of the shorthand: + + +
      +public class S {
      +  public static GettextResourceManager MyResourceManager =
      +    new GettextResourceManager("domain-name");
      +  public static String _(String s) {
      +     return MyResourceManager.GetString(s);
      +  }
      +}
      +
      + +and the shorthand is used like this: + + +
      +Console.WriteLine(S._("Operation completed."));
      +
      + +
    + +

    +Which of the two idioms you choose, will depend on whether copying two lines +of codes into every class is more acceptable in your project than a class +with a single-letter name. + +

    + + +

    15.5.13 GNU awk

    +

    + + + +

    +
    + +
    RPMs +
    +gawk 3.1 or newer + +
    File extension +
    +awk + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +_"abc" + +
    gettext/ngettext functions +
    +dcgettext, missing dcngettext in gawk-3.1.0 + +
    textdomain +
    +TEXTDOMAIN variable + +
    bindtextdomain +
    +bindtextdomain function + +
    setlocale +
    +automatic, but missing setlocale (LC_MESSAGES, "") in gawk-3.1.0 + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +printf "%2$d %1$d" (GNU awk only) + +
    Portability +
    +On platforms without gettext, no translation. On non-GNU awks, you must +define dcgettext, dcngettext and bindtextdomain +yourself. + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-gawk. + +

    + + +

    15.5.14 Pascal - Free Pascal Compiler

    +

    + + + + +

    +
    + +
    RPMs +
    +fpk + +
    File extension +
    +pp, pas + +
    String syntax +
    +'abc' + +
    gettext shorthand +
    +automatic + +
    gettext/ngettext functions +
    +---, use ResourceString data type instead + +
    textdomain +
    +---, use TranslateResourceStrings function instead + +
    bindtextdomain +
    +---, use TranslateResourceStrings function instead + +
    setlocale +
    +automatic, but uses only LANG, not LC_MESSAGES or LC_ALL + +
    Prerequisite +
    +{$mode delphi} or {$mode objfpc}
    uses gettext; + +
    Use or emulate GNU gettext +
    +emulate partially + +
    Extractor +
    +ppc386 followed by xgettext or rstconv + +
    Formatting with positions +
    +uses sysutils;
    format "%1:d %0:d" + +
    Portability +
    +? + +
    po-mode marking +
    +--- +
    + +

    +The Pascal compiler has special support for the ResourceString data +type. It generates a .rst file. This is then converted to a +.pot file by use of xgettext or rstconv. At runtime, +a .mo file corresponding to translations of this .pot file +can be loaded using the TranslateResourceStrings function in the +gettext unit. + +

    +

    +An example is available in the ‘examples’ directory: hello-pascal. + +

    + + +

    15.5.15 wxWidgets library

    +

    + + +

    +
    + +
    RPMs +
    +wxGTK, gettext + +
    File extension +
    +cpp + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +wxLocale::GetString, wxGetTranslation + +
    textdomain +
    +wxLocale::AddCatalog + +
    bindtextdomain +
    +wxLocale::AddCatalogLookupPathPrefix + +
    setlocale +
    +wxLocale::Init, wxSetLocale + +
    Prerequisite +
    +#include <wx/intl.h> + +
    Use or emulate GNU gettext +
    +emulate, see include/wx/intl.h and src/common/intl.cpp + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +wxString::Format supports positions if and only if the system has +wprintf(), vswprintf() functions and they support positions +according to POSIX. + +
    Portability +
    +fully portable + +
    po-mode marking +
    +yes +
    + + + +

    15.5.16 YCP - YaST2 scripting language

    +

    + + + +

    +
    + +
    RPMs +
    +libycp, libycp-devel, yast2-core, yast2-core-devel + +
    File extension +
    +ycp + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +_() with 1 or 3 arguments + +
    textdomain +
    +textdomain statement + +
    bindtextdomain +
    +--- + +
    setlocale +
    +--- + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +sformat "%2 %1" + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-ycp. + +

    + + +

    15.5.17 Tcl - Tk's scripting language

    +

    + + + +

    +
    + +
    RPMs +
    +tcl + +
    File extension +
    +tcl + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +[_ "abc"] + +
    gettext/ngettext functions +
    +::msgcat::mc + +
    textdomain +
    +--- + +
    bindtextdomain +
    +---, use ::msgcat::mcload instead + +
    setlocale +
    +automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL + +
    Prerequisite +
    +package require msgcat +
    proc _ {s} {return [::msgcat::mc $s]} + +
    Use or emulate GNU gettext +
    +---, uses a Tcl specific message catalog format + +
    Extractor +
    +xgettext -k_ + +
    Formatting with positions +
    +format "%2\$d %1\$d" + +
    Portability +
    +fully portable + +
    po-mode marking +
    +--- +
    + +

    +Two examples are available in the ‘examples’ directory: +hello-tcl, hello-tcl-tk. + +

    +

    +Before marking strings as internationalizable, substitutions of variables +into the string need to be converted to format applications. For +example, "file $filename not found" becomes +[format "file %s not found" $filename]. +Only after this is done, can the strings be marked and extracted. +After marking, this example becomes +[format [_ "file %s not found"] $filename] or +[msgcat::mc "file %s not found" $filename]. Note that the +msgcat::mc function implicitly calls format when more than one +argument is given. + +

    + + +

    15.5.18 Perl

    +

    + + +

    +
    + +
    RPMs +
    +perl + +
    File extension +
    +pl, PL, pm, cgi + +
    String syntax +
    + +
      + +
    • "abc" + +
    • 'abc' + +
    • qq (abc) + +
    • q (abc) + +
    • qr /abc/ + +
    • qx (/bin/date) + +
    • /pattern match/ + +
    • ?pattern match? + +
    • s/substitution/operators/ + +
    • $tied_hash{"message"} + +
    • $tied_hash_reference->{"message"} + +
    • etc., issue the command ‘man perlsyn’ for details + +
    + +
    gettext shorthand +
    +__ (double underscore) + +
    gettext/ngettext functions +
    +gettext, dgettext, dcgettext, ngettext, +dngettext, dcngettext + +
    textdomain +
    +textdomain function + +
    bindtextdomain +
    +bindtextdomain function + +
    bind_textdomain_codeset +
    +bind_textdomain_codeset function + +
    setlocale +
    +Use setlocale (LC_ALL, ""); + +
    Prerequisite +
    +use POSIX; +
    use Locale::TextDomain; (included in the package libintl-perl +which is available on the Comprehensive Perl Archive Network CPAN, +http://www.cpan.org/). + +
    Use or emulate GNU gettext +
    +platform dependent: gettext_pp emulates, gettext_xs uses GNU gettext + +
    Extractor +
    +xgettext -k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 -kN__ -k + +
    Formatting with positions +
    +Both kinds of format strings support formatting with positions. +
    printf "%2\$d %1\$d", ... (requires Perl 5.8.0 or newer) +
    __expand("[new] replaces [old]", old => $oldvalue, new => $newvalue) + +
    Portability +
    +The libintl-perl package is platform independent but is not +part of the Perl core. The programmer is responsible for +providing a dummy implementation of the required functions if the +package is not installed on the target system. + +
    po-mode marking +
    +--- + +
    Documentation +
    +Included in libintl-perl, available on CPAN +(http://www.cpan.org/). + +
    + +

    +An example is available in the ‘examples’ directory: hello-perl. + +

    +

    + + +

    +

    +The xgettext parser backend for Perl differs significantly from +the parser backends for other programming languages, just as Perl +itself differs significantly from other programming languages. The +Perl parser backend offers many more string marking facilities than +the other backends but it also has some Perl specific limitations, the +worst probably being its imperfectness. + +

    + + + +

    15.5.18.1 General Problems Parsing Perl Code

    + +

    +It is often heard that only Perl can parse Perl. This is not true. +Perl cannot be parsed at all, it can only be executed. +Perl has various built-in ambiguities that can only be resolved at runtime. + +

    +

    +The following example may illustrate one common problem: + +

    + +
    +print gettext "Hello World!";
    +
    + +

    +Although this example looks like a bullet-proof case of a function +invocation, it is not: + +

    + +
    +open gettext, ">testfile" or die;
    +print gettext "Hello world!"
    +
    + +

    +In this context, the string gettext looks more like a +file handle. But not necessarily: + +

    + +
    +use Locale::Messages qw (:libintl_h);
    +open gettext ">testfile" or die;
    +print gettext "Hello world!";
    +
    + +

    +Now, the file is probably syntactically incorrect, provided that the module +Locale::Messages found first in the Perl include path exports a +function gettext. But what if the module +Locale::Messages really looks like this? + +

    + +
    +use vars qw (*gettext);
    +
    +1;
    +
    + +

    +In this case, the string gettext will be interpreted as a file +handle again, and the above example will create a file ‘testfile’ +and write the string “Hello world!” into it. Even advanced +control flow analysis will not really help: + +

    + +
    +if (0.5 < rand) {
    +   eval "use Sane";
    +} else {
    +   eval "use InSane";
    +}
    +print gettext "Hello world!";
    +
    + +

    +If the module Sane exports a function gettext that does +what we expect, and the module InSane opens a file for writing +and associates the handle gettext with this output +stream, we are clueless again about what will happen at runtime. It is +completely unpredictable. The truth is that Perl has so many ways to +fill its symbol table at runtime that it is impossible to interpret a +particular piece of code without executing it. + +

    +

    +Of course, xgettext will not execute your Perl sources while +scanning for translatable strings, but rather use heuristics in order +to guess what you meant. + +

    +

    +Another problem is the ambiguity of the slash and the question mark. +Their interpretation depends on the context: + +

    + +
    +# A pattern match.
    +print "OK\n" if /foobar/;
    +
    +# A division.
    +print 1 / 2;
    +
    +# Another pattern match.
    +print "OK\n" if ?foobar?;
    +
    +# Conditional.
    +print $x ? "foo" : "bar";
    +
    + +

    +The slash may either act as the division operator or introduce a +pattern match, whereas the question mark may act as the ternary +conditional operator or as a pattern match, too. Other programming +languages like awk present similar problems, but the consequences of a +misinterpretation are particularly nasty with Perl sources. In awk +for instance, a statement can never exceed one line and the parser +can recover from a parsing error at the next newline and interpret +the rest of the input stream correctly. Perl is different, as a +pattern match is terminated by the next appearance of the delimiter +(the slash or the question mark) in the input stream, regardless of +the semantic context. If a slash is really a division sign but +mis-interpreted as a pattern match, the rest of the input file is most +probably parsed incorrectly. + +

    +

    +There are certain cases, where the ambiguity cannot be resolved at all: + +

    + +
    +$x = wantarray ? 1 : 0;
    +
    + +

    +The Perl built-in function wantarray does not accept any arguments. +The Perl parser therefore knows that the question mark does not start +a regular expression but is the ternary conditional operator. + +

    + +
    +sub wantarrays {}
    +$x = wantarrays ? 1 : 0;
    +
    + +

    +Now the situation is different. The function wantarrays takes +a variable number of arguments (like any non-prototyped Perl function). +The question mark is now the delimiter of a pattern match, and hence +the piece of code does not compile. + +

    + +
    +sub wantarrays() {}
    +$x = wantarrays ? 1 : 0;
    +
    + +

    +Now the function is prototyped, Perl knows that it does not accept any +arguments, and the question mark is therefore interpreted as the +ternaray operator again. But that unfortunately outsmarts xgettext. + +

    +

    +The Perl parser in xgettext cannot know whether a function has +a prototype and what that prototype would look like. It therefore makes +an educated guess. If a function is known to be a Perl built-in and +this function does not accept any arguments, a following question mark +or slash is treated as an operator, otherwise as the delimiter of a +following regular expression. The Perl built-ins that do not accept +arguments are wantarray, fork, time, times, +getlogin, getppid, getpwent, getgrent, +gethostent, getnetent, getprotoent, getservent, +setpwent, setgrent, endpwent, endgrent, +endhostent, endnetent, endprotoent, and +endservent. + +

    +

    +If you find that xgettext fails to extract strings from +portions of your sources, you should therefore look out for slashes +and/or question marks preceding these sections. You may have come +across a bug in xgettext's Perl parser (and of course you +should report that bug). In the meantime you should consider to +reformulate your code in a manner less challenging to xgettext. + +

    +

    +In particular, if the parser is too dumb to see that a function +does not accept arguments, use parentheses: + +

    + +
    +$x = somefunc() ? 1 : 0;
    +$y = (somefunc) ? 1 : 0;
    +
    + +

    +In fact the Perl parser itself has similar problems and warns you +about such constructs. + +

    + + +

    15.5.18.2 Which keywords will xgettext look for?

    +

    + + +

    +

    +Unless you instruct xgettext otherwise by invoking it with one +of the options --keyword or -k, it will recognize the +following keywords in your Perl sources: + +

    + +
      + +
    • gettext + +
    • dgettext + +
    • dcgettext + +
    • ngettext:1,2 + +The first (singular) and the second (plural) argument will be +extracted. + +
    • dngettext:1,2 + +The first (singular) and the second (plural) argument will be +extracted. + +
    • dcngettext:1,2 + +The first (singular) and the second (plural) argument will be +extracted. + +
    • gettext_noop + +
    • %gettext + +The keys of lookups into the hash %gettext will be extracted. + +
    • $gettext + +The keys of lookups into the hash reference $gettext will be extracted. + +
    + + + +

    15.5.18.3 How to Extract Hash Keys

    +

    + + +

    +

    +Translating messages at runtime is normally performed by looking up the +original string in the translation database and returning the +translated version. The “natural” Perl implementation is a hash +lookup, and, of course, xgettext supports such practice. + +

    + +
    +print __"Hello world!";
    +print $__{"Hello world!"};
    +print $__->{"Hello world!"};
    +print $$__{"Hello world!"};
    +
    + +

    +The above four lines all do the same thing. The Perl module +Locale::TextDomain exports by default a hash %__ that +is tied to the function __(). It also exports a reference +$__ to %__. + +

    +

    +If an argument to the xgettext option --keyword, +resp. -k starts with a percent sign, the rest of the keyword is +interpreted as the name of a hash. If it starts with a dollar +sign, the rest of the keyword is interpreted as a reference to a +hash. + +

    +

    +Note that you can omit the quotation marks (single or double) around +the hash key (almost) whenever Perl itself allows it: + +

    + +
    +print $gettext{Error};
    +
    + +

    +The exact rule is: You can omit the surrounding quotes, when the hash +key is a valid C (!) identifier, i.e. when it starts with an +underscore or an ASCII letter and is followed by an arbitrary number +of underscores, ASCII letters or digits. Other Unicode characters +are not allowed, regardless of the use utf8 pragma. + +

    + + +

    15.5.18.4 What are Strings And Quote-like Expressions?

    +

    + + +

    +

    +Perl offers a plethora of different string constructs. Those that can +be used either as arguments to functions or inside braces for hash +lookups are generally supported by xgettext. + +

    + +
      +
    • double-quoted strings + +
      + +
      +print gettext "Hello World!";
      +
      + +
    • single-quoted strings + +
      + +
      +print gettext 'Hello World!';
      +
      + +
    • the operator qq + +
      + +
      +print gettext qq |Hello World!|;
      +print gettext qq <E-mail: <guido\@imperia.net>>;
      +
      + +The operator qq is fully supported. You can use arbitrary +delimiters, including the four bracketing delimiters (round, angle, +square, curly) that nest. + +
    • the operator q + +
      + +
      +print gettext q |Hello World!|;
      +print gettext q <E-mail: <guido@imperia.net>>;
      +
      + +The operator q is fully supported. You can use arbitrary +delimiters, including the four bracketing delimiters (round, angle, +square, curly) that nest. + +
    • the operator qx + +
      + +
      +print gettext qx ;LANGUAGE=C /bin/date;
      +print gettext qx [/usr/bin/ls | grep '^[A-Z]*'];
      +
      + +The operator qx is fully supported. You can use arbitrary +delimiters, including the four bracketing delimiters (round, angle, +square, curly) that nest. + +The example is actually a useless use of gettext. It will +invoke the gettext function on the output of the command +specified with the qx operator. The feature was included +in order to make the interface consistent (the parser will extract +all strings and quote-like expressions). + +
    • here documents + +
      + +
      +print gettext <<'EOF';
      +program not found in $PATH
      +EOF
      +
      +print ngettext <<EOF, <<"EOF";
      +one file deleted
      +EOF
      +several files deleted
      +EOF
      +
      + +Here-documents are recognized. If the delimiter is enclosed in single +quotes, the string is not interpolated. If it is enclosed in double +quotes or has no quotes at all, the string is interpolated. + +Delimiters that start with a digit are not supported! + +
    + + + +

    15.5.18.5 Invalid Uses Of String Interpolation

    +

    + + +

    +

    +Perl is capable of interpolating variables into strings. This offers +some nice features in localized programs but can also lead to +problems. + +

    +

    +A common error is a construct like the following: + +

    + +
    +print gettext "This is the program $0!\n";
    +
    + +

    +Perl will interpolate at runtime the value of the variable $0 +into the argument of the gettext() function. Hence, this +argument is not a string constant but a variable argument ($0 +is a global variable that holds the name of the Perl script being +executed). The interpolation is performed by Perl before the string +argument is passed to gettext() and will therefore depend on +the name of the script which can only be determined at runtime. +Consequently, it is almost impossible that a translation can be looked +up at runtime (except if, by accident, the interpolated string is found +in the message catalog). + +

    +

    +The xgettext program will therefore terminate parsing with a fatal +error if it encounters a variable inside of an extracted string. In +general, this will happen for all kinds of string interpolations that +cannot be safely performed at compile time. If you absolutely know +what you are doing, you can always circumvent this behavior: + +

    + +
    +my $know_what_i_am_doing = "This is program $0!\n";
    +print gettext $know_what_i_am_doing;
    +
    + +

    +Since the parser only recognizes strings and quote-like expressions, +but not variables or other terms, the above construct will be +accepted. You will have to find another way, however, to let your +original string make it into your message catalog. + +

    +

    +If invoked with the option --extract-all, resp. -a, +variable interpolation will be accepted. Rationale: You will +generally use this option in order to prepare your sources for +internationalization. + +

    +

    +Please see the manual page ‘man perlop’ for details of strings and +quote-like expressions that are subject to interpolation and those +that are not. Safe interpolations (that will not lead to a fatal +error) are: + +

    + +
      + +
    • the escape sequences \t (tab, HT, TAB), \n + +(newline, NL), \r (return, CR), \f (form feed, FF), +\b (backspace, BS), \a (alarm, bell, BEL), and \e +(escape, ESC). + +
    • octal chars, like \033 + +
      +Note that octal escapes in the range of 400-777 are translated into a +UTF-8 representation, regardless of the presence of the use utf8 pragma. + +
    • hex chars, like \x1b + +
    • wide hex chars, like \x{263a} + +
      +Note that this escape is translated into a UTF-8 representation, +regardless of the presence of the use utf8 pragma. + +
    • control chars, like \c[ (CTRL-[) + +
    • named Unicode chars, like \N{LATIN CAPITAL LETTER C WITH CEDILLA} + +
      +Note that this escape is translated into a UTF-8 representation, +regardless of the presence of the use utf8 pragma. +
    + +

    +The following escapes are considered partially safe: + +

    + +
      + +
    • \l lowercase next char + +
    • \u uppercase next char + +
    • \L lowercase till \E + +
    • \U uppercase till \E + +
    • \E end case modification + +
    • \Q quote non-word characters till \E + +
    + +

    +These escapes are only considered safe if the string consists of +ASCII characters only. Translation of characters outside the range +defined by ASCII is locale-dependent and can actually only be performed +at runtime; xgettext doesn't do these locale-dependent translations +at extraction time. + +

    +

    +Except for the modifier \Q, these translations, albeit valid, +are generally useless and only obfuscate your sources. If a +translation can be safely performed at compile time you can just as +well write what you mean. + +

    + + +

    15.5.18.6 Valid Uses Of String Interpolation

    +

    + + +

    +

    +Perl is often used to generate sources for other programming languages +or arbitrary file formats. Web applications that output HTML code +make a prominent example for such usage. + +

    +

    +You will often come across situations where you want to intersperse +code written in the target (programming) language with translatable +messages, like in the following HTML example: + +

    + +
    +print gettext <<EOF;
    +<h1>My Homepage</h1>
    +<script language="JavaScript"><!--
    +for (i = 0; i < 100; ++i) {
    +    alert ("Thank you so much for visiting my homepage!");
    +}
    +//--></script>
    +EOF
    +
    + +

    +The parser will extract the entire here document, and it will appear +entirely in the resulting PO file, including the JavaScript snippet +embedded in the HTML code. If you exaggerate with constructs like +the above, you will run the risk that the translators of your package +will look out for a less challenging project. You should consider an +alternative expression here: + +

    + +
    +print <<EOF;
    +<h1>$gettext{"My Homepage"}</h1>
    +<script language="JavaScript"><!--
    +for (i = 0; i < 100; ++i) {
    +    alert ("$gettext{'Thank you so much for visiting my homepage!'}");
    +}
    +//--></script>
    +EOF
    +
    + +

    +Only the translatable portions of the code will be extracted here, and +the resulting PO file will begrudgingly improve in terms of readability. + +

    +

    +You can interpolate hash lookups in all strings or quote-like +expressions that are subject to interpolation (see the manual page +‘man perlop’ for details). Double interpolation is invalid, however: + +

    + +
    +# TRANSLATORS: Replace "the earth" with the name of your planet.
    +print gettext qq{Welcome to $gettext->{"the earth"}};
    +
    + +

    +The qq-quoted string is recognized as an argument to xgettext in +the first place, and checked for invalid variable interpolation. The +dollar sign of hash-dereferencing will therefore terminate the parser +with an “invalid interpolation” error. + +

    +

    +It is valid to interpolate hash lookups in regular expressions: + +

    + +
    +if ($var =~ /$gettext{"the earth"}/) {
    +   print gettext "Match!\n";
    +}
    +s/$gettext{"U. S. A."}/$gettext{"U. S. A."} $gettext{"(dial +0)"}/g;
    +
    + + + +

    15.5.18.7 When To Use Parentheses

    +

    + + +

    +

    +In Perl, parentheses around function arguments are mostly optional. +xgettext will always assume that all +recognized keywords (except for hashes and hash references) are names +of properly prototyped functions, and will (hopefully) only require +parentheses where Perl itself requires them. All constructs in the +following example are therefore ok to use: + +

    + +
    +print gettext ("Hello World!\n");
    +print gettext "Hello World!\n";
    +print dgettext ($package => "Hello World!\n");
    +print dgettext $package, "Hello World!\n";
    +
    +# The "fat comma" => turns the left-hand side argument into a
    +# single-quoted string!
    +print dgettext smellovision => "Hello World!\n";
    +
    +# The following assignment only works with prototyped functions.
    +# Otherwise, the functions will act as "greedy" list operators and
    +# eat up all following arguments.
    +my $anonymous_hash = {
    +   planet => gettext "earth",
    +   cakes => ngettext "one cake", "several cakes", $n,
    +   still => $works,
    +};
    +# The same without fat comma:
    +my $other_hash = {
    +   'planet', gettext "earth",
    +   'cakes', ngettext "one cake", "several cakes", $n,
    +   'still', $works,
    +};
    +
    +# Parentheses are only significant for the first argument.
    +print dngettext 'package', ("one cake", "several cakes", $n), $discarded;
    +
    + + + +

    15.5.18.8 How To Grok with Long Lines

    +

    + + +

    +

    +The necessity of long messages can often lead to a cumbersome or +unreadable coding style. Perl has several options that may prevent +you from writing unreadable code, and +xgettext does its best to do likewise. This is where the dot +operator (the string concatenation operator) may come in handy: + +

    + +
    +print gettext ("This is a very long"
    +               . " message that is still"
    +               . " readable, because"
    +               . " it is split into"
    +               . " multiple lines.\n");
    +
    + +

    +Perl is smart enough to concatenate these constant string fragments +into one long string at compile time, and so is +xgettext. You will only find one long message in the resulting +POT file. + +

    +

    +Note that the future Perl 6 will probably use the underscore +(‘_’) as the string concatenation operator, and the dot +(‘.’) for dereferencing. This new syntax is not yet supported by +xgettext. + +

    +

    +If embedded newline characters are not an issue, or even desired, you +may also insert newline characters inside quoted strings wherever you +feel like it: + +

    + +
    +print gettext ("<em>In HTML output
    +embedded newlines are generally no
    +problem, since adjacent whitespace
    +is always rendered into a single
    +space character.</em>");
    +
    + +

    +You may also consider to use here documents: + +

    + +
    +print gettext <<EOF;
    +<em>In HTML output
    +embedded newlines are generally no
    +problem, since adjacent whitespace
    +is always rendered into a single
    +space character.</em>
    +EOF
    +
    + +

    +Please do not forget that the line breaks are real, i.e. they +translate into newline characters that will consequently show up in +the resulting POT file. + +

    + + +

    15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work

    +

    + + +

    +

    +The foregoing sections should have proven that +xgettext is quite smart in extracting translatable strings from +Perl sources. Yet, some more or less exotic constructs that could be +expected to work, actually do not work. + +

    +

    +One of the more relevant limitations can be found in the +implementation of variable interpolation inside quoted strings. Only +simple hash lookups can be used there: + +

    + +
    +print <<EOF;
    +$gettext{"The dot operator"
    +          . " does not work"
    +          . "here!"}
    +Likewise, you cannot @{[ gettext ("interpolate function calls") ]}
    +inside quoted strings or quote-like expressions.
    +EOF
    +
    + +

    +This is valid Perl code and will actually trigger invocations of the +gettext function at runtime. Yet, the Perl parser in +xgettext will fail to recognize the strings. A less obvious +example can be found in the interpolation of regular expressions: + +

    + +
    +s/<!--START_OF_WEEK-->/gettext ("Sunday")/e;
    +
    + +

    +The modifier e will cause the substitution to be interpreted as +an evaluable statement. Consequently, at runtime the function +gettext() is called, but again, the parser fails to extract the +string “Sunday”. Use a temporary variable as a simple workaround if +you really happen to need this feature: + +

    + +
    +my $sunday = gettext "Sunday";
    +s/<!--START_OF_WEEK-->/$sunday/;
    +
    + +

    +Hash slices would also be handy but are not recognized: + +

    + +
    +my @weekdays = @gettext{'Sunday', 'Monday', 'Tuesday', 'Wednesday',
    +                        'Thursday', 'Friday', 'Saturday'};
    +# Or even:
    +@weekdays = @gettext{qw (Sunday Monday Tuesday Wednesday Thursday
    +                         Friday Saturday) };
    +
    + +

    +This is perfectly valid usage of the tied hash %gettext but the +strings are not recognized and therefore will not be extracted. + +

    +

    +Another caveat of the current version is its rudimentary support for +non-ASCII characters in identifiers. You may encounter serious +problems if you use identifiers with characters outside the range of +'A'-'Z', 'a'-'z', '0'-'9' and the underscore '_'. + +

    +

    +Maybe some of these missing features will be implemented in future +versions, but since you can always make do without them at minimal effort, +these todos have very low priority. + +

    +

    +A nasty problem are brace format strings that already contain braces +as part of the normal text, for example the usage strings typically +encountered in programs: + +

    + +
    +die "usage: $0 {OPTIONS} FILENAME...\n";
    +
    + +

    +If you want to internationalize this code with Perl brace format strings, +you will run into a problem: + +

    + +
    +die __x ("usage: {program} {OPTIONS} FILENAME...\n", program => $0);
    +
    + +

    +Whereas ‘{program}’ is a placeholder, ‘{OPTIONS}’ +is not and should probably be translated. Yet, there is no way to teach +the Perl parser in xgettext to recognize the first one, and leave +the other one alone. + +

    +

    +There are two possible work-arounds for this problem. If you are +sure that your program will run under Perl 5.8.0 or newer (these +Perl versions handle positional parameters in printf()) or +if you are sure that the translator will not have to reorder the arguments +in her translation -- for example if you have only one brace placeholder +in your string, or if it describes a syntax, like in this one --, you can +mark the string as no-perl-brace-format and use printf(): + +

    + +
    +# xgettext: no-perl-brace-format
    +die sprintf ("usage: %s {OPTIONS} FILENAME...\n", $0);
    +
    + +

    +If you want to use the more portable Perl brace format, you will have to do +put placeholders in place of the literal braces: + +

    + +
    +die __x ("usage: {program} {[}OPTIONS{]} FILENAME...\n",
    +         program => $0, '[' => '{', ']' => '}');
    +
    + +

    +Perl brace format strings know no escaping mechanism. No matter how this +escaping mechanism looked like, it would either give the programmer a +hard time, make translating Perl brace format strings heavy-going, or +result in a performance penalty at runtime, when the format directives +get executed. Most of the time you will happily get along with +printf() for this special case. + +

    + + +

    15.5.19 PHP Hypertext Preprocessor

    +

    + + +

    +
    + +
    RPMs +
    +mod_php4, mod_php4-core, phpdoc + +
    File extension +
    +php, php3, php4 + +
    String syntax +
    +"abc", 'abc' + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +gettext, dgettext, dcgettext; starting with PHP 4.2.0 +also ngettext, dngettext, dcngettext + +
    textdomain +
    +textdomain function + +
    bindtextdomain +
    +bindtextdomain function + +
    setlocale +
    +Programmer must call setlocale (LC_ALL, "") + +
    Prerequisite +
    +--- + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +xgettext + +
    Formatting with positions +
    +printf "%2\$d %1\$d" + +
    Portability +
    +On platforms without gettext, the functions are not available. + +
    po-mode marking +
    +--- +
    + +

    +An example is available in the ‘examples’ directory: hello-php. + +

    + + +

    15.5.20 Pike

    +

    + + +

    +
    + +
    RPMs +
    +roxen + +
    File extension +
    +pike + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +--- + +
    gettext/ngettext functions +
    +gettext, dgettext, dcgettext + +
    textdomain +
    +textdomain function + +
    bindtextdomain +
    +bindtextdomain function + +
    setlocale +
    +setlocale function + +
    Prerequisite +
    +import Locale.Gettext; + +
    Use or emulate GNU gettext +
    +use + +
    Extractor +
    +--- + +
    Formatting with positions +
    +--- + +
    Portability +
    +On platforms without gettext, the functions are not available. + +
    po-mode marking +
    +--- +
    + + + +

    15.5.21 GNU Compiler Collection sources

    +

    + + +

    +
    + +
    RPMs +
    +gcc + +
    File extension +
    +c, h. + +
    String syntax +
    +"abc" + +
    gettext shorthand +
    +_("abc") + +
    gettext/ngettext functions +
    +gettext, dgettext, dcgettext, ngettext, +dngettext, dcngettext + +
    textdomain +
    +textdomain function + +
    bindtextdomain +
    +bindtextdomain function + +
    setlocale +
    +Programmer must call setlocale (LC_ALL, "") + +
    Prerequisite +
    +#include "intl.h" + +
    Use or emulate GNU gettext +
    +Use + +
    Extractor +
    +xgettext -k_ + +
    Formatting with positions +
    +--- + +
    Portability +
    +Uses autoconf macros + +
    po-mode marking +
    +yes +
    + + + +

    15.6 Internationalizable Data

    + +

    +Here is a list of other data formats which can be internationalized +using GNU gettext. + +

    + + + +

    15.6.1 POT - Portable Object Template

    + +
    + +
    RPMs +
    +gettext + +
    File extension +
    +pot, po + +
    Extractor +
    +xgettext +
    + + + +

    15.6.2 Resource String Table

    +

    + + +

    +
    + +
    RPMs +
    +fpk + +
    File extension +
    +rst + +
    Extractor +
    +xgettext, rstconv +
    + + + +

    15.6.3 Glade - GNOME user interface description

    + +
    + +
    RPMs +
    +glade, libglade, glade2, libglade2, intltool + +
    File extension +
    +glade, glade2 + +
    Extractor +
    +xgettext, libglade-xgettext, xml-i18n-extract, intltool-extract +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_16.html b/mingw/share/doc/gettext/gettext_16.html new file mode 100644 index 00000000..71c06045 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_16.html @@ -0,0 +1,195 @@ + + + + + +GNU gettext utilities - 16 Concluding Remarks + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    16 Concluding Remarks

    + +

    +We would like to conclude this GNU gettext manual by presenting +an history of the Translation Project so far. We finally give +a few pointers for those who want to do further research or readings +about Native Language Support matters. + +

    + + + +

    16.1 History of GNU gettext

    +

    + + +

    +

    +Internationalization concerns and algorithms have been informally +and casually discussed for years in GNU, sometimes around GNU +libc, maybe around the incoming Hurd, or otherwise +(nobody clearly remembers). And even then, when the work started for +real, this was somewhat independently of these previous discussions. + +

    +

    +This all began in July 1994, when Patrick D'Cruze had the idea and +initiative of internationalizing version 3.9.2 of GNU fileutils. +He then asked Jim Meyering, the maintainer, how to get those changes +folded into an official release. That first draft was full of +#ifdefs and somewhat disconcerting, and Jim wanted to find +nicer ways. Patrick and Jim shared some tries and experimentations +in this area. Then, feeling that this might eventually have a deeper +impact on GNU, Jim wanted to know what standards were, and contacted +Richard Stallman, who very quickly and verbally described an overall +design for what was meant to become glocale, at that time. + +

    +

    +Jim implemented glocale and got a lot of exhausting feedback +from Patrick and Richard, of course, but also from Mitchum DSouza +(who wrote a catgets-like package), Roland McGrath, maybe David +MacKenzie, François Pinard, and Paul Eggert, all pushing and +pulling in various directions, not always compatible, to the extent +that after a couple of test releases, glocale was torn apart. +In particular, Paul Eggert -- always keeping an eye on developments +in Solaris -- advocated the use of the gettext API over +glocale's catgets-based API. + +

    +

    +While Jim took some distance and time and became dad for a second +time, Roland wanted to get GNU libc internationalized, and +got Ulrich Drepper involved in that project. Instead of starting +from glocale, Ulrich rewrote something from scratch, but +more conforming to the set of guidelines who emerged out of the +glocale effort. Then, Ulrich got people from the previous +forum to involve themselves into this new project, and the switch +from glocale to what was first named msgutils, renamed +nlsutils, and later gettext, became officially accepted +by Richard in May 1995 or so. + +

    +

    +Let's summarize by saying that Ulrich Drepper wrote GNU gettext +in April 1995. The first official release of the package, including +PO mode, occurred in July 1995, and was numbered 0.7. Other people +contributed to the effort by providing a discussion forum around +Ulrich, writing little pieces of code, or testing. These are quoted +in the THANKS file which comes with the GNU gettext +distribution. + +

    +

    +While this was being done, François adapted half a dozen of +GNU packages to glocale first, then later to gettext, +putting them in pretest, so providing along the way an effective +user environment for fine tuning the evolving tools. He also took +the responsibility of organizing and coordinating the Translation +Project. After nearly a year of informal exchanges between people from +many countries, translator teams started to exist in May 1995, through +the creation and support by Patrick D'Cruze of twenty unmoderated +mailing lists for that many native languages, and two moderated +lists: one for reaching all teams at once, the other for reaching +all willing maintainers of internationalized free software packages. + +

    +

    +François also wrote PO mode in June 1995 with the collaboration +of Greg McGary, as a kind of contribution to Ulrich's package. +He also gave a hand with the GNU gettext Texinfo manual. + +

    +

    +In 1997, Ulrich Drepper released the GNU libc 2.0, which included the +gettext, textdomain and bindtextdomain functions. + +

    +

    +In 2000, Ulrich Drepper added plural form handling (the ngettext +function) to GNU libc. Later, in 2001, he released GNU libc 2.2.x, +which is the first free C library with full internationalization support. + +

    +

    +Ulrich being quite busy in his role of General Maintainer of GNU libc, +he handed over the GNU gettext maintenance to Bruno Haible in +2000. Bruno added the plural form handling to the tools as well, added +support for UTF-8 and CJK locales, and wrote a few new tools for +manipulating PO files. + +

    + + +

    16.2 Related Readings

    +

    + + + +

    +

    + NOTE: This documentation section is outdated and needs to be +revised. + +

    +

    +Eugene H. Dorr (‘dorre@well.com’) maintains an interesting +bibliography on internationalization matters, called +Internationalization Reference List, which is available as: + +

    +ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
    +
    + +

    +Michael Gschwind (‘mike@vlsivie.tuwien.ac.at’) maintains a +Frequently Asked Questions (FAQ) list, entitled Programming for +Internationalisation. This FAQ discusses writing programs which +can handle different language conventions, character sets, etc.; +and is applicable to all character set encodings, with particular +emphasis on ISO 8859-1. It is regularly published in Usenet +groups ‘comp.unix.questions’, ‘comp.std.internat’, +‘comp.software.international’, ‘comp.lang.c’, +‘comp.windows.x’, ‘comp.std.c’, ‘comp.answers’ +and ‘news.answers’. The home location of this document is: + +

    +ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
    +
    + +

    +Patrick D'Cruze (‘pdcruze@li.org’) wrote a tutorial about NLS +matters, and Jochen Hein (‘Hein@student.tu-clausthal.de’) took +over the responsibility of maintaining it. It may be found as: + +

    +ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
    +     ...locale-tutorial-0.8.txt.gz
    +
    + +

    +This site is mirrored in: + +

    +ftp://ftp.ibp.fr/pub/linux/sunsite/
    +
    + +

    +A French version of the same tutorial should be findable at: + +

    +ftp://ftp.ibp.fr/pub/linux/french/docs/
    +
    + +

    +together with French translations of many Linux-related documents. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_17.html b/mingw/share/doc/gettext/gettext_17.html new file mode 100644 index 00000000..b8e8760f --- /dev/null +++ b/mingw/share/doc/gettext/gettext_17.html @@ -0,0 +1,793 @@ + + + + + +GNU gettext utilities - A Language Codes + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    A Language Codes

    +

    + + + +

    +

    +The ISO 639 standard defines two-letter codes for many languages, and +three-letter codes for more rarely used languages. +All abbreviations for languages used in the Translation Project should +come from this standard. + +

    + + + +

    A.1 Usual Language Codes

    + +

    +For the commonly used languages, the ISO 639-1 standard defines two-letter +codes. + +

    +
    + +
    ‘aa’ +
    +Afar. +
    ‘ab’ +
    +Abkhazian. +
    ‘ae’ +
    +Avestan. +
    ‘af’ +
    +Afrikaans. +
    ‘ak’ +
    +Akan. +
    ‘am’ +
    +Amharic. +
    ‘an’ +
    +Aragonese. +
    ‘ar’ +
    +Arabic. +
    ‘as’ +
    +Assamese. +
    ‘av’ +
    +Avaric. +
    ‘ay’ +
    +Aymara. +
    ‘az’ +
    +Azerbaijani. +
    ‘ba’ +
    +Bashkir. +
    ‘be’ +
    +Belarusian. +
    ‘bg’ +
    +Bulgarian. +
    ‘bh’ +
    +Bihari. +
    ‘bi’ +
    +Bislama. +
    ‘bm’ +
    +Bambara. +
    ‘bn’ +
    +Bengali; Bangla. +
    ‘bo’ +
    +Tibetan. +
    ‘br’ +
    +Breton. +
    ‘bs’ +
    +Bosnian. +
    ‘ca’ +
    +Catalan. +
    ‘ce’ +
    +Chechen. +
    ‘ch’ +
    +Chamorro. +
    ‘co’ +
    +Corsican. +
    ‘cr’ +
    +Cree. +
    ‘cs’ +
    +Czech. +
    ‘cu’ +
    +Church Slavic. +
    ‘cv’ +
    +Chuvash. +
    ‘cy’ +
    +Welsh. +
    ‘da’ +
    +Danish. +
    ‘de’ +
    +German. +
    ‘dv’ +
    +Divehi; Maldivian. +
    ‘dz’ +
    +Dzongkha; Bhutani. +
    ‘ee’ +
    +'Ew'e. +
    ‘el’ +
    +Greek. +
    ‘en’ +
    +English. +
    ‘eo’ +
    +Esperanto. +
    ‘es’ +
    +Spanish. +
    ‘et’ +
    +Estonian. +
    ‘eu’ +
    +Basque. +
    ‘fa’ +
    +Persian. +
    ‘ff’ +
    +Fulah. +
    ‘fi’ +
    +Finnish. +
    ‘fj’ +
    +Fijian; Fiji. +
    ‘fo’ +
    +Faroese. +
    ‘fr’ +
    +French. +
    ‘fy’ +
    +Western Frisian. +
    ‘ga’ +
    +Irish. +
    ‘gd’ +
    +Scottish Gaelic. +
    ‘gl’ +
    +Galician. +
    ‘gn’ +
    +Guarani. +
    ‘gu’ +
    +Gujarati. +
    ‘gv’ +
    +Manx. +
    ‘ha’ +
    +Hausa. +
    ‘he’ +
    +Hebrew (formerly iw). +
    ‘hi’ +
    +Hindi. +
    ‘ho’ +
    +Hiri Motu. +
    ‘hr’ +
    +Croatian. +
    ‘ht’ +
    +Haitian; Haitian Creole. +
    ‘hu’ +
    +Hungarian. +
    ‘hy’ +
    +Armenian. +
    ‘hz’ +
    +Herero. +
    ‘ia’ +
    +Interlingua. +
    ‘id’ +
    +Indonesian (formerly in). +
    ‘ie’ +
    +Interlingue; Occidental. +
    ‘ig’ +
    +Igbo. +
    ‘ii’ +
    +Sichuan Yi; Nuosu. +
    ‘ik’ +
    +Inupiak; Inupiaq. +
    ‘io’ +
    +Ido. +
    ‘is’ +
    +Icelandic. +
    ‘it’ +
    +Italian. +
    ‘iu’ +
    +Inuktitut. +
    ‘ja’ +
    +Japanese. +
    ‘jv’ +
    +Javanese. +
    ‘ka’ +
    +Georgian. +
    ‘kg’ +
    +Kongo. +
    ‘ki’ +
    +Kikuyu; Gikuyu. +
    ‘kj’ +
    +Kuanyama; Kwanyama. +
    ‘kk’ +
    +Kazakh. +
    ‘kl’ +
    +Kalaallisut; Greenlandic. +
    ‘km’ +
    +Central Khmer; Cambodian. +
    ‘kn’ +
    +Kannada. +
    ‘ko’ +
    +Korean. +
    ‘kr’ +
    +Kanuri. +
    ‘ks’ +
    +Kashmiri. +
    ‘ku’ +
    +Kurdish. +
    ‘kv’ +
    +Komi. +
    ‘kw’ +
    +Cornish. +
    ‘ky’ +
    +Kirghiz. +
    ‘la’ +
    +Latin. +
    ‘lb’ +
    +Letzeburgesch; Luxembourgish. +
    ‘lg’ +
    +Ganda. +
    ‘li’ +
    +Limburgish; Limburger; Limburgan. +
    ‘ln’ +
    +Lingala. +
    ‘lo’ +
    +Lao; Laotian. +
    ‘lt’ +
    +Lithuanian. +
    ‘lu’ +
    +Luba-Katanga. +
    ‘lv’ +
    +Latvian; Lettish. +
    ‘mg’ +
    +Malagasy. +
    ‘mh’ +
    +Marshallese. +
    ‘mi’ +
    +Maori. +
    ‘mk’ +
    +Macedonian. +
    ‘ml’ +
    +Malayalam. +
    ‘mn’ +
    +Mongolian. +
    ‘mo’ +
    +Moldavian. +
    ‘mr’ +
    +Marathi. +
    ‘ms’ +
    +Malay. +
    ‘mt’ +
    +Maltese. +
    ‘my’ +
    +Burmese. +
    ‘na’ +
    +Nauru. +
    ‘nb’ +
    +Norwegian Bokmål. +
    ‘nd’ +
    +Ndebele, North. +
    ‘ne’ +
    +Nepali. +
    ‘ng’ +
    +Ndonga. +
    ‘nl’ +
    +Dutch. +
    ‘nn’ +
    +Norwegian Nynorsk. +
    ‘no’ +
    +Norwegian. +
    ‘nr’ +
    +Ndebele, South. +
    ‘nv’ +
    +Navajo; Navaho. +
    ‘ny’ +
    +Chichewa; Nyanja. +
    ‘oc’ +
    +Occitan; Provençal. +
    ‘oj’ +
    +Ojibwa. +
    ‘om’ +
    +(Afan) Oromo. +
    ‘or’ +
    +Oriya. +
    ‘os’ +
    +Ossetian; Ossetic. +
    ‘pa’ +
    +Panjabi; Punjabi. +
    ‘pi’ +
    +Pali. +
    ‘pl’ +
    +Polish. +
    ‘ps’ +
    +Pashto; Pushto. +
    ‘pt’ +
    +Portuguese. +
    ‘qu’ +
    +Quechua. +
    ‘rm’ +
    +Romansh. +
    ‘rn’ +
    +Rundi; Kirundi. +
    ‘ro’ +
    +Romanian. +
    ‘ru’ +
    +Russian. +
    ‘rw’ +
    +Kinyarwanda. +
    ‘sa’ +
    +Sanskrit. +
    ‘sc’ +
    +Sardinian. +
    ‘sd’ +
    +Sindhi. +
    ‘se’ +
    +Northern Sami. +
    ‘sg’ +
    +Sango; Sangro. +
    ‘si’ +
    +Sinhala; Sinhalese. +
    ‘sk’ +
    +Slovak. +
    ‘sl’ +
    +Slovenian. +
    ‘sm’ +
    +Samoan. +
    ‘sn’ +
    +Shona. +
    ‘so’ +
    +Somali. +
    ‘sq’ +
    +Albanian. +
    ‘sr’ +
    +Serbian. +
    ‘ss’ +
    +Swati; Siswati. +
    ‘st’ +
    +Sesotho; Sotho, Southern. +
    ‘su’ +
    +Sundanese. +
    ‘sv’ +
    +Swedish. +
    ‘sw’ +
    +Swahili. +
    ‘ta’ +
    +Tamil. +
    ‘te’ +
    +Telugu. +
    ‘tg’ +
    +Tajik. +
    ‘th’ +
    +Thai. +
    ‘ti’ +
    +Tigrinya. +
    ‘tk’ +
    +Turkmen. +
    ‘tl’ +
    +Tagalog. +
    ‘tn’ +
    +Tswana; Setswana. +
    ‘to’ +
    +Tonga. +
    ‘tr’ +
    +Turkish. +
    ‘ts’ +
    +Tsonga. +
    ‘tt’ +
    +Tatar. +
    ‘tw’ +
    +Twi. +
    ‘ty’ +
    +Tahitian. +
    ‘ug’ +
    +Uighur. +
    ‘uk’ +
    +Ukrainian. +
    ‘ur’ +
    +Urdu. +
    ‘uz’ +
    +Uzbek. +
    ‘ve’ +
    +Venda. +
    ‘vi’ +
    +Vietnamese. +
    ‘vo’ +
    +Volapük; Volapuk. +
    ‘wa’ +
    +Walloon. +
    ‘wo’ +
    +Wolof. +
    ‘xh’ +
    +Xhosa. +
    ‘yi’ +
    +Yiddish (formerly ji). +
    ‘yo’ +
    +Yoruba. +
    ‘za’ +
    +Zhuang. +
    ‘zh’ +
    +Chinese. +
    ‘zu’ +
    +Zulu. +
    + + + +

    A.2 Rare Language Codes

    + +

    +For rarely used languages, the ISO 639-2 standard defines three-letter +codes. Here is the current list, reduced to only living languages with at least +one million of speakers. + +

    +
    + +
    ‘ace’ +
    +Achinese. +
    ‘awa’ +
    +Awadhi. +
    ‘bal’ +
    +Baluchi. +
    ‘ban’ +
    +Balinese. +
    ‘bej’ +
    +Beja; Bedawiyet. +
    ‘bem’ +
    +Bemba. +
    ‘bho’ +
    +Bhojpuri. +
    ‘bik’ +
    +Bikol. +
    ‘bin’ +
    +Bini; Edo. +
    ‘bug’ +
    +Buginese. +
    ‘ceb’ +
    +Cebuano. +
    ‘din’ +
    +Dinka. +
    ‘doi’ +
    +Dogri. +
    ‘fil’ +
    +Filipino; Pilipino. +
    ‘fon’ +
    +Fon. +
    ‘gon’ +
    +Gondi. +
    ‘gsw’ +
    +Swiss German; Alemannic; Alsatian. +
    ‘hil’ +
    +Hiligaynon. +
    ‘hmn’ +
    +Hmong. +
    ‘ilo’ +
    +Iloko. +
    ‘kab’ +
    +Kabyle. +
    ‘kam’ +
    +Kamba. +
    ‘kbd’ +
    +Kabardian. +
    ‘kmb’ +
    +Kimbundu. +
    ‘kok’ +
    +Konkani. +
    ‘kru’ +
    +Kurukh. +
    ‘lua’ +
    +Luba-Lulua. +
    ‘luo’ +
    +Luo (Kenya and Tanzania). +
    ‘mad’ +
    +Madurese. +
    ‘mag’ +
    +Magahi. +
    ‘mai’ +
    +Maithili. +
    ‘mak’ +
    +Makasar. +
    ‘man’ +
    +Mandingo. +
    ‘men’ +
    +Mende. +
    ‘min’ +
    +Minangkabau. +
    ‘mni’ +
    +Manipuri. +
    ‘mos’ +
    +Mossi. +
    ‘mwr’ +
    +Marwari. +
    ‘nap’ +
    +Neapolitan. +
    ‘nso’ +
    +Pedi; Sepedi; Northern Sotho. +
    ‘nym’ +
    +Nyamwezi. +
    ‘nyn’ +
    +Nyankole. +
    ‘pag’ +
    +Pangasinan. +
    ‘pam’ +
    +Pampanga; Kapampangan. +
    ‘raj’ +
    +Rajasthani. +
    ‘sas’ +
    +Sasak. +
    ‘sat’ +
    +Santali. +
    ‘scn’ +
    +Sicilian. +
    ‘shn’ +
    +Shan. +
    ‘sid’ +
    +Sidamo. +
    ‘srr’ +
    +Serer. +
    ‘suk’ +
    +Sukuma. +
    ‘sus’ +
    +Susu. +
    ‘tem’ +
    +Timne. +
    ‘tiv’ +
    +Tiv. +
    ‘tum’ +
    +Tumbuka. +
    ‘umb’ +
    +Umbundu. +
    ‘wal’ +
    +Walamo. +
    ‘war’ +
    +Waray. +
    ‘yao’ +
    +Yao. +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_18.html b/mingw/share/doc/gettext/gettext_18.html new file mode 100644 index 00000000..27bad99b --- /dev/null +++ b/mingw/share/doc/gettext/gettext_18.html @@ -0,0 +1,765 @@ + + + + + +GNU gettext utilities - B Country Codes + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    B Country Codes

    +

    + + + +

    +

    +The ISO 3166 standard defines two character codes for many countries +and territories. All abbreviations for countries used in the Translation +Project should come from this standard. + +

    +
    + +
    ‘AD’ +
    +Andorra. +
    ‘AE’ +
    +United Arab Emirates. +
    ‘AF’ +
    +Afghanistan. +
    ‘AG’ +
    +Antigua and Barbuda. +
    ‘AI’ +
    +Anguilla. +
    ‘AL’ +
    +Albania. +
    ‘AM’ +
    +Armenia. +
    ‘AN’ +
    +Netherlands Antilles. +
    ‘AO’ +
    +Angola. +
    ‘AQ’ +
    +Antarctica. +
    ‘AR’ +
    +Argentina. +
    ‘AS’ +
    +Samoa (American). +
    ‘AT’ +
    +Austria. +
    ‘AU’ +
    +Australia. +
    ‘AW’ +
    +Aruba. +
    ‘AX’ +
    +Aaland Islands. +
    ‘AZ’ +
    +Azerbaijan. +
    ‘BA’ +
    +Bosnia and Herzegovina. +
    ‘BB’ +
    +Barbados. +
    ‘BD’ +
    +Bangladesh. +
    ‘BE’ +
    +Belgium. +
    ‘BF’ +
    +Burkina Faso. +
    ‘BG’ +
    +Bulgaria. +
    ‘BH’ +
    +Bahrain. +
    ‘BI’ +
    +Burundi. +
    ‘BJ’ +
    +Benin. +
    ‘BM’ +
    +Bermuda. +
    ‘BN’ +
    +Brunei. +
    ‘BO’ +
    +Bolivia. +
    ‘BR’ +
    +Brazil. +
    ‘BS’ +
    +Bahamas. +
    ‘BT’ +
    +Bhutan. +
    ‘BV’ +
    +Bouvet Island. +
    ‘BW’ +
    +Botswana. +
    ‘BY’ +
    +Belarus. +
    ‘BZ’ +
    +Belize. +
    ‘CA’ +
    +Canada. +
    ‘CC’ +
    +Cocos (Keeling) Islands. +
    ‘CD’ +
    +Congo (Dem. Rep.). +
    ‘CF’ +
    +Central African Republic. +
    ‘CG’ +
    +Congo (Rep.). +
    ‘CH’ +
    +Switzerland. +
    ‘CI’ +
    +Côte d'Ivoire. +
    ‘CK’ +
    +Cook Islands. +
    ‘CL’ +
    +Chile. +
    ‘CM’ +
    +Cameroon. +
    ‘CN’ +
    +China. +
    ‘CO’ +
    +Colombia. +
    ‘CR’ +
    +Costa Rica. +
    ‘CU’ +
    +Cuba. +
    ‘CV’ +
    +Cape Verde. +
    ‘CX’ +
    +Christmas Island. +
    ‘CY’ +
    +Cyprus. +
    ‘CZ’ +
    +Czech Republic. +
    ‘DE’ +
    +Germany. +
    ‘DJ’ +
    +Djibouti. +
    ‘DK’ +
    +Denmark. +
    ‘DM’ +
    +Dominica. +
    ‘DO’ +
    +Dominican Republic. +
    ‘DZ’ +
    +Algeria. +
    ‘EC’ +
    +Ecuador. +
    ‘EE’ +
    +Estonia. +
    ‘EG’ +
    +Egypt. +
    ‘EH’ +
    +Western Sahara. +
    ‘ER’ +
    +Eritrea. +
    ‘ES’ +
    +Spain. +
    ‘ET’ +
    +Ethiopia. +
    ‘FI’ +
    +Finland. +
    ‘FJ’ +
    +Fiji. +
    ‘FK’ +
    +Falkland Islands. +
    ‘FM’ +
    +Micronesia. +
    ‘FO’ +
    +Faeroe Islands. +
    ‘FR’ +
    +France. +
    ‘GA’ +
    +Gabon. +
    ‘GB’ +
    +Britain (United Kingdom). +
    ‘GD’ +
    +Grenada. +
    ‘GE’ +
    +Georgia. +
    ‘GF’ +
    +French Guiana. +
    ‘GG’ +
    +Guernsey. +
    ‘GH’ +
    +Ghana. +
    ‘GI’ +
    +Gibraltar. +
    ‘GL’ +
    +Greenland. +
    ‘GM’ +
    +Gambia. +
    ‘GN’ +
    +Guinea. +
    ‘GP’ +
    +Guadeloupe. +
    ‘GQ’ +
    +Equatorial Guinea. +
    ‘GR’ +
    +Greece. +
    ‘GS’ +
    +South Georgia and the South Sandwich Islands. +
    ‘GT’ +
    +Guatemala. +
    ‘GU’ +
    +Guam. +
    ‘GW’ +
    +Guinea-Bissau. +
    ‘GY’ +
    +Guyana. +
    ‘HK’ +
    +Hong Kong. +
    ‘HM’ +
    +Heard Island and McDonald Islands. +
    ‘HN’ +
    +Honduras. +
    ‘HR’ +
    +Croatia. +
    ‘HT’ +
    +Haiti. +
    ‘HU’ +
    +Hungary. +
    ‘ID’ +
    +Indonesia. +
    ‘IE’ +
    +Ireland. +
    ‘IL’ +
    +Israel. +
    ‘IM’ +
    +Isle of Man. +
    ‘IN’ +
    +India. +
    ‘IO’ +
    +British Indian Ocean Territory. +
    ‘IQ’ +
    +Iraq. +
    ‘IR’ +
    +Iran. +
    ‘IS’ +
    +Iceland. +
    ‘IT’ +
    +Italy. +
    ‘JE’ +
    +Jersey. +
    ‘JM’ +
    +Jamaica. +
    ‘JO’ +
    +Jordan. +
    ‘JP’ +
    +Japan. +
    ‘KE’ +
    +Kenya. +
    ‘KG’ +
    +Kyrgyzstan. +
    ‘KH’ +
    +Cambodia. +
    ‘KI’ +
    +Kiribati. +
    ‘KM’ +
    +Comoros. +
    ‘KN’ +
    +St Kitts and Nevis. +
    ‘KP’ +
    +Korea (North). +
    ‘KR’ +
    +Korea (South). +
    ‘KW’ +
    +Kuwait. +
    ‘KY’ +
    +Cayman Islands. +
    ‘KZ’ +
    +Kazakhstan. +
    ‘LA’ +
    +Laos. +
    ‘LB’ +
    +Lebanon. +
    ‘LC’ +
    +St Lucia. +
    ‘LI’ +
    +Liechtenstein. +
    ‘LK’ +
    +Sri Lanka. +
    ‘LR’ +
    +Liberia. +
    ‘LS’ +
    +Lesotho. +
    ‘LT’ +
    +Lithuania. +
    ‘LU’ +
    +Luxembourg. +
    ‘LV’ +
    +Latvia. +
    ‘LY’ +
    +Libya. +
    ‘MA’ +
    +Morocco. +
    ‘MC’ +
    +Monaco. +
    ‘MD’ +
    +Moldova. +
    ‘ME’ +
    +Montenegro. +
    ‘MG’ +
    +Madagascar. +
    ‘MH’ +
    +Marshall Islands. +
    ‘MK’ +
    +Macedonia. +
    ‘ML’ +
    +Mali. +
    ‘MM’ +
    +Myanmar (Burma). +
    ‘MN’ +
    +Mongolia. +
    ‘MO’ +
    +Macao. +
    ‘MP’ +
    +Northern Mariana Islands. +
    ‘MQ’ +
    +Martinique. +
    ‘MR’ +
    +Mauritania. +
    ‘MS’ +
    +Montserrat. +
    ‘MT’ +
    +Malta. +
    ‘MU’ +
    +Mauritius. +
    ‘MV’ +
    +Maldives. +
    ‘MW’ +
    +Malawi. +
    ‘MX’ +
    +Mexico. +
    ‘MY’ +
    +Malaysia. +
    ‘MZ’ +
    +Mozambique. +
    ‘NA’ +
    +Namibia. +
    ‘NC’ +
    +New Caledonia. +
    ‘NE’ +
    +Niger. +
    ‘NF’ +
    +Norfolk Island. +
    ‘NG’ +
    +Nigeria. +
    ‘NI’ +
    +Nicaragua. +
    ‘NL’ +
    +Netherlands. +
    ‘NO’ +
    +Norway. +
    ‘NP’ +
    +Nepal. +
    ‘NR’ +
    +Nauru. +
    ‘NU’ +
    +Niue. +
    ‘NZ’ +
    +New Zealand. +
    ‘OM’ +
    +Oman. +
    ‘PA’ +
    +Panama. +
    ‘PE’ +
    +Peru. +
    ‘PF’ +
    +French Polynesia. +
    ‘PG’ +
    +Papua New Guinea. +
    ‘PH’ +
    +Philippines. +
    ‘PK’ +
    +Pakistan. +
    ‘PL’ +
    +Poland. +
    ‘PM’ +
    +St Pierre and Miquelon. +
    ‘PN’ +
    +Pitcairn. +
    ‘PR’ +
    +Puerto Rico. +
    ‘PS’ +
    +Palestine. +
    ‘PT’ +
    +Portugal. +
    ‘PW’ +
    +Palau. +
    ‘PY’ +
    +Paraguay. +
    ‘QA’ +
    +Qatar. +
    ‘RE’ +
    +Reunion. +
    ‘RO’ +
    +Romania. +
    ‘RS’ +
    +Serbia. +
    ‘RU’ +
    +Russia. +
    ‘RW’ +
    +Rwanda. +
    ‘SA’ +
    +Saudi Arabia. +
    ‘SB’ +
    +Solomon Islands. +
    ‘SC’ +
    +Seychelles. +
    ‘SD’ +
    +Sudan. +
    ‘SE’ +
    +Sweden. +
    ‘SG’ +
    +Singapore. +
    ‘SH’ +
    +St Helena. +
    ‘SI’ +
    +Slovenia. +
    ‘SJ’ +
    +Svalbard and Jan Mayen. +
    ‘SK’ +
    +Slovakia. +
    ‘SL’ +
    +Sierra Leone. +
    ‘SM’ +
    +San Marino. +
    ‘SN’ +
    +Senegal. +
    ‘SO’ +
    +Somalia. +
    ‘SR’ +
    +Suriname. +
    ‘ST’ +
    +Sao Tome and Principe. +
    ‘SV’ +
    +El Salvador. +
    ‘SY’ +
    +Syria. +
    ‘SZ’ +
    +Swaziland. +
    ‘TC’ +
    +Turks and Caicos Islands. +
    ‘TD’ +
    +Chad. +
    ‘TF’ +
    +French Southern and Antarctic Lands. +
    ‘TG’ +
    +Togo. +
    ‘TH’ +
    +Thailand. +
    ‘TJ’ +
    +Tajikistan. +
    ‘TK’ +
    +Tokelau. +
    ‘TL’ +
    +Timor-Leste. +
    ‘TM’ +
    +Turkmenistan. +
    ‘TN’ +
    +Tunisia. +
    ‘TO’ +
    +Tonga. +
    ‘TR’ +
    +Turkey. +
    ‘TT’ +
    +Trinidad and Tobago. +
    ‘TV’ +
    +Tuvalu. +
    ‘TW’ +
    +Taiwan. +
    ‘TZ’ +
    +Tanzania. +
    ‘UA’ +
    +Ukraine. +
    ‘UG’ +
    +Uganda. +
    ‘UM’ +
    +US minor outlying islands. +
    ‘US’ +
    +United States. +
    ‘UY’ +
    +Uruguay. +
    ‘UZ’ +
    +Uzbekistan. +
    ‘VA’ +
    +Vatican City. +
    ‘VC’ +
    +St Vincent and the Grenadines. +
    ‘VE’ +
    +Venezuela. +
    ‘VG’ +
    +Virgin Islands (UK). +
    ‘VI’ +
    +Virgin Islands (US). +
    ‘VN’ +
    +Vietnam. +
    ‘VU’ +
    +Vanuatu. +
    ‘WF’ +
    +Wallis and Futuna. +
    ‘WS’ +
    +Samoa (Western). +
    ‘YE’ +
    +Yemen. +
    ‘YT’ +
    +Mayotte. +
    ‘ZA’ +
    +South Africa. +
    ‘ZM’ +
    +Zambia. +
    ‘ZW’ +
    +Zimbabwe. +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_19.html b/mingw/share/doc/gettext/gettext_19.html new file mode 100644 index 00000000..865a7a01 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_19.html @@ -0,0 +1,1607 @@ + + + + + +GNU gettext utilities - C Licenses + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    C Licenses

    +

    + + +

    +

    +The files of this package are covered by the licenses indicated in each +particular file or directory. Here is a summary: + +

    + +
      +
    • + +The libintl and libasprintf libraries are covered by the +GNU Library General Public License (LGPL). +A copy of the license is included in section C.2 GNU LESSER GENERAL PUBLIC LICENSE. + +
    • + +The executable programs of this package and the libgettextpo library +are covered by the GNU General Public License (GPL). +A copy of the license is included in section C.1 GNU GENERAL PUBLIC LICENSE. + +
    • + +This manual is free documentation. It is dually licensed under the +GNU FDL and the GNU GPL. This means that you can redistribute this +manual under either of these two licenses, at your choice. +
      +This manual is covered by the GNU FDL. Permission is granted to copy, +distribute and/or modify this document under the terms of the +GNU Free Documentation License (FDL), either version 1.2 of the +License, or (at your option) any later version published by the +Free Software Foundation (FSF); with no Invariant Sections, with no +Front-Cover Text, and with no Back-Cover Texts. +A copy of the license is included in section C.3 GNU Free Documentation License. +
      +This manual is covered by the GNU GPL. You can redistribute it and/or +modify it under the terms of the GNU General Public License (GPL), either +version 2 of the License, or (at your option) any later version published +by the Free Software Foundation (FSF). +A copy of the license is included in section C.1 GNU GENERAL PUBLIC LICENSE. +
    + + + +

    C.1 GNU GENERAL PUBLIC LICENSE

    +

    + + +Version 2, June 1991 + +

    + + +
    +Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    +51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
    +
    +Everyone is permitted to copy and distribute verbatim copies
    +of this license document, but changing it is not allowed.
    +
    + + + +

    Preamble

    + +

    + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + +

    +

    + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +

    +

    + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + +

    +

    + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +

    +

    + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +

    +

    + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + +

    +

    + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + +

    +

    + The precise terms and conditions for copying, distribution and +modification follow. + +

    + + +
      +
    1. + +This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The “Program”, below, +refers to any such program or work, and a “work based on the Program” +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term “modification”.) Each licensee is addressed as “you”. + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + +
    2. + +You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + +
    3. + +You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + +
        +
      1. + +You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + +
      2. + +You must cause any work that you distribute or publish, that in +whole or in part contains or is derived from the Program or any +part thereof, to be licensed as a whole at no charge to all third +parties under the terms of this License. + +
      3. + +If the modified program normally reads commands interactively +when run, you must cause it, when started running for such +interactive use in the most ordinary way, to print or display an +announcement including an appropriate copyright notice and a +notice that there is no warranty (or else, saying that you provide +a warranty) and that users may redistribute the program under +these conditions, and telling the user how to view a copy of this +License. (Exception: if the Program itself is interactive but +does not normally print such an announcement, your work based on +the Program is not required to print an announcement.) +
      + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +
    4. + +You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + +
        +
      1. + +Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections +1 and 2 above on a medium customarily used for software interchange; or, + +
      2. + +Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your +cost of physically performing source distribution, a complete +machine-readable copy of the corresponding source code, to be +distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + +
      3. + +Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is +allowed only for noncommercial distribution and only if you +received the program in object code or executable form with such +an offer, in accord with Subsection b above.) +
      + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +
    5. + +You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + +
    6. + +You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +
    7. + +Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +
    8. + +If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +
    9. + +If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +
    10. + +The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and “any +later version”, you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + +
    11. + +If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +
    12. + +BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + +
    13. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. +
    + + + +

    Appendix: How to Apply These Terms to Your New Programs

    + +

    + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +

    +

    + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the “copyright” line and a pointer to where the full notice is found. + +

    + +
    +one line to give the program's name and a brief idea of what it does.
    +Copyright (C) yyyy  name of author
    +
    +This program is free software; you can redistribute it and/or modify
    +it under the terms of the GNU General Public License as published by
    +the Free Software Foundation; either version 2 of the License, or
    +(at your option) any later version.
    +
    +This program is distributed in the hope that it will be useful,
    +but WITHOUT ANY WARRANTY; without even the implied warranty of
    +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +GNU General Public License for more details.
    +
    +You should have received a copy of the GNU General Public License
    +along with this program; if not, write to the Free Software
    +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    +
    + +

    +Also add information on how to contact you by electronic and paper mail. + +

    +

    +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + +

    + +
    +Gnomovision version 69, Copyright (C) 19yy name of author
    +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    +This is free software, and you are welcome to redistribute it
    +under certain conditions; type `show c' for details.
    +
    + +

    +The hypothetical commands ‘show w’ and ‘show c’ should show +the appropriate parts of the General Public License. Of course, the +commands you use may be called something other than ‘show w’ and +‘show c’; they could even be mouse-clicks or menu items--whatever +suits your program. + +

    +

    +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a “copyright disclaimer” for the program, if +necessary. Here is a sample; alter the names: + +

    + +
    +Yoyodyne, Inc., hereby disclaims all copyright interest in the program
    +`Gnomovision' (which makes passes at compilers) written by James Hacker.
    +
    +signature of Ty Coon, 1 April 1989
    +Ty Coon, President of Vice
    +
    + +

    +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + + +

    C.2 GNU LESSER GENERAL PUBLIC LICENSE

    +

    + + +Version 2.1, February 1999 + +

    + +
    +Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    +51 Franklin St -- Fifth Floor, Boston, MA 02110-1301, USA
    +
    +Everyone is permitted to copy and distribute verbatim copies
    +of this license document, but changing it is not allowed.
    +
    +[This is the first released version of the Lesser GPL.  It also counts
    +as the successor of the GNU Library Public License, version 2, hence the
    +version number 2.1.]
    +
    + + + +

    Preamble

    + +

    + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + +

    +

    + This license, the Lesser General Public License, applies to some +specially designated software--typically libraries--of the Free +Software Foundation and other authors who decide to use it. You can use +it too, but we suggest you first think carefully about whether this +license or the ordinary General Public License is the better strategy to +use in any particular case, based on the explanations below. + +

    +

    + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of it +in new free programs; and that you are informed that you can do these +things. + +

    +

    + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + +

    +

    + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + +

    +

    + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + +

    +

    + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + +

    +

    + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + +

    +

    + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + +

    +

    + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + +

    +

    + We call this license the Lesser General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + +

    +

    + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + +

    +

    + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + +

    +

    + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + +

    +

    + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +“work based on the library” and a “work that uses the library”. The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +

    + + +
      +
    1. + +This License Agreement applies to any software library or other program +which contains a notice placed by the copyright holder or other +authorized party saying it may be distributed under the terms of this +Lesser General Public License (also called “this License”). Each +licensee is addressed as “you”. + + A “library” means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The “Library”, below, refers to any such software library or work +which has been distributed under these terms. A “work based on the +Library” means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term “modification”.) + + “Source code” for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + +
    2. + +You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + +
    3. + +You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + +
        +
      1. + +The modified work must itself be a software library. + +
      2. + +You must cause the files modified to carry prominent notices +stating that you changed the files and the date of any change. + +
      3. + +You must cause the whole of the work to be licensed at no +charge to all third parties under the terms of this License. + +
      4. + +If a facility in the modified Library refers to a function or a +table of data to be supplied by an application program that uses +the facility, other than as an argument passed when the facility +is invoked, then you must make a good faith effort to ensure that, +in the event an application does not supply such function or +table, the facility still operates, and performs whatever part of +its purpose remains meaningful. + +(For example, a function in a library to compute square roots has +a purpose that is entirely well-defined independent of the +application. Therefore, Subsection 2d requires that any +application-supplied function or table used by this function must +be optional: if the application does not supply it, the square +root function must still compute square roots.) +
      + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +
    4. + +You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + +
    5. + +You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + +
    6. + +A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a “work that uses the Library”. Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a “work that uses the Library” with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a “work that uses the +library”. The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a “work that uses the Library” uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + +
    7. + +As an exception to the Sections above, you may also combine or +link a “work that uses the Library” with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + +
        +
      1. + +Accompany the work with the complete corresponding +machine-readable source code for the Library including whatever +changes were used in the work (which must be distributed under +Sections 1 and 2 above); and, if the work is an executable linked +with the Library, with the complete machine-readable “work that +uses the Library”, as object code and/or source code, so that the +user can modify the Library and then relink to produce a modified +executable containing the modified Library. (It is understood +that the user who changes the contents of definitions files in the +Library will not necessarily be able to recompile the application +to use the modified definitions.) + +
      2. + +Use a suitable shared library mechanism for linking with the Library. A +suitable mechanism is one that (1) uses at run time a copy of the +library already present on the user's computer system, rather than +copying library functions into the executable, and (2) will operate +properly with a modified version of the library, if the user installs +one, as long as the modified version is interface-compatible with the +version that the work was made with. + +
      3. + +Accompany the work with a written offer, valid for at +least three years, to give the same user the materials +specified in Subsection 6a, above, for a charge no more +than the cost of performing this distribution. + +
      4. + +If distribution of the work is made by offering access to copy +from a designated place, offer equivalent access to copy the above +specified materials from the same place. + +
      5. + +Verify that the user has already received a copy of these +materials or that you have already sent this user a copy. +
      + + For an executable, the required form of the “work that uses the +Library” must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies the +executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + +
    8. + +You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + +
        +
      1. + +Accompany the combined library with a copy of the same work +based on the Library, uncombined with any other library +facilities. This must be distributed under the terms of the +Sections above. + +
      2. + +Give prominent notice with the combined library of the fact +that part of it is a work based on the Library, and explaining +where to find the accompanying uncombined form of the same work. +
      + +
    9. + +You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + +
    10. + +You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +
    11. + +Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + +
    12. + +If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +
    13. + +If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + +
    14. + +The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +“any later version”, you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + +
    15. + +If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +
    16. + +BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +
    17. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. +
    + + + +

    How to Apply These Terms to Your New Libraries

    + +

    + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + +

    +

    + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +“copyright” line and a pointer to where the full notice is found. + +

    + +
    +one line to give the library's name and an idea of what it does.
    +Copyright (C) year  name of author
    +
    +This library is free software; you can redistribute it and/or modify it
    +under the terms of the GNU Lesser General Public License as published by
    +the Free Software Foundation; either version 2.1 of the License, or (at
    +your option) any later version.
    +
    +This library is distributed in the hope that it will be useful, but
    +WITHOUT ANY WARRANTY; without even the implied warranty of
    +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +Lesser General Public License for more details.
    +
    +You should have received a copy of the GNU Lesser General Public
    +License along with this library; if not, write to the Free Software
    +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
    +USA.
    +
    + +

    +Also add information on how to contact you by electronic and paper mail. + +

    +

    +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a “copyright disclaimer” for the library, if +necessary. Here is a sample; alter the names: + +

    + +
    +Yoyodyne, Inc., hereby disclaims all copyright interest in the library
    +`Frob' (a library for tweaking knobs) written by James Random Hacker.
    +
    +signature of Ty Coon, 1 April 1990
    +Ty Coon, President of Vice
    +
    + +

    +That's all there is to it! + + +

    C.3 GNU Free Documentation License

    +

    + + +Version 1.2, November 2002 + +

    + +
    +Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
    +51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
    +
    +Everyone is permitted to copy and distribute verbatim copies
    +of this license document, but changing it is not allowed.
    +
    + + +
      +
    1. + +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document free in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of “copyleft”, which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +
    2. + +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The “Document”, below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as “you”. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A “Modified Version” of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A “Secondary Section” is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The “Invariant Sections” are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The “Cover Texts” are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A “Transparent” copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not “Transparent” is called “Opaque”. + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for +output purposes only. + +The “Title Page” means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, “Title Page” means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section “Entitled XYZ” means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as “Acknowledgements”, +“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” +of such a section when you modify the Document means that it remains a +section “Entitled XYZ” according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +
    3. + +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + +
    4. + +COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + +
    5. + +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + + +
        +
      1. + +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +
      2. + +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. + +
      3. + +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +
      4. + +Preserve all the copyright notices of the Document. + +
      5. + +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +
      6. + +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +
      7. + +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +
      8. + +Include an unaltered copy of this License. + +
      9. + +Preserve the section Entitled “History”, Preserve its Title, and add +to it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section Entitled “History” in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +
      10. + +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the “History” section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +
      11. + +For any section Entitled “Acknowledgements” or “Dedications”, Preserve +the Title of the section, and preserve in the section all the +substance and tone of each of the contributor acknowledgements and/or +dedications given therein. + +
      12. + +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +
      13. + +Delete any section Entitled “Endorsements”. Such a section +may not be included in the Modified Version. + +
      14. + +Do not retitle any existing section to be Entitled “Endorsements” or +to conflict in title with any Invariant Section. + +
      15. + +Preserve any Warranty Disclaimers. +
      + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled “Endorsements”, provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +
    6. + +COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled “History” +in the various original documents, forming one section Entitled +“History”; likewise combine any sections Entitled “Acknowledgements”, +and any sections Entitled “Dedications”. You must delete all +sections Entitled “Endorsements.” + +
    7. + +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +
    8. + +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an “aggregate” if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + +
    9. + +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled “Acknowledgements”, +“Dedications”, or “History”, the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + +
    10. + +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +
    11. + +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License “or any later version” applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. +
    + + + +

    ADDENDUM: How to use this License for your documents

    + +

    +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +

    + +
    +  Copyright (C)  year  your name.
    +  Permission is granted to copy, distribute and/or modify this document
    +  under the terms of the GNU Free Documentation License, Version 1.2
    +  or any later version published by the Free Software Foundation;
    +  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
    +  Texts.  A copy of the license is included in the section entitled ``GNU
    +  Free Documentation License''.
    +
    + +

    +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the “with...Texts.” line with this: + +

    + +
    +    with the Invariant Sections being list their titles, with
    +    the Front-Cover Texts being list, and with the Back-Cover Texts
    +    being list.
    +
    + +

    +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +

    +

    +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +

    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_2.html b/mingw/share/doc/gettext/gettext_2.html new file mode 100644 index 00000000..2da88d0f --- /dev/null +++ b/mingw/share/doc/gettext/gettext_2.html @@ -0,0 +1,349 @@ + + + + + +GNU gettext utilities - 2 The User's View + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    2 The User's View

    + +

    +Nowadays, when users log into a computer, they usually find that all +their programs show messages in their native language -- at least for +users of languages with an active free software community, like French or +German; to a lesser extent for languages with a smaller participation in +free software and the GNU project, like Hindi and Filipino. + +

    +

    +How does this work? How can the user influence the language that is used +by the programs? This chapter will answer it. + +

    + + + +

    2.1 Operating System Installation

    + +

    +The default language is often already specified during operating system +installation. When the operating system is installed, the installer +typically asks for the language used for the installation process and, +separately, for the language to use in the installed system. Some OS +installers only ask for the language once. + +

    +

    +This determines the system-wide default language for all users. But the +installers often give the possibility to install extra localizations for +additional languages. For example, the localizations of KDE (the K +Desktop Environment) and OpenOffice.org are often bundled separately, +as one installable package per language. + +

    +

    +At this point it is good to consider the intended use of the machine: If +it is a machine designated for personal use, additional localizations are +probably not necessary. If, however, the machine is in use in an +organization or company that has international relationships, one can +consider the needs of guest users. If you have a guest from abroad, for +a week, what could be his preferred locales? It may be worth installing +these additional localizations ahead of time, since they cost only a bit +of disk space at this point. + +

    +

    +The system-wide default language is the locale configuration that is used +when a new user account is created. But the user can have his own locale +configuration that is different from the one of the other users of the +same machine. He can specify it, typically after the first login, as +described in the next section. + +

    + + +

    2.2 Setting the Locale Used by GUI Programs

    + +

    +The immediately available programs in a user's desktop come from a group +of programs called a “desktop environment”; it usually includes the window +manager, a web browser, a text editor, and more. The most common free +desktop environments are KDE, GNOME, and Xfce. + +

    +

    +The locale used by GUI programs of the desktop environment can be specified +in a configuration screen called “control center”, “language settings” +or “country settings”. + +

    +

    +Individual GUI programs that are not part of the desktop environment can +have their locale specified either in a settings panel, or through environment +variables. + +

    +

    +For some programs, it is possible to specify the locale through environment +variables, possibly even to a different locale than the desktop's locale. +This means, instead of starting a program through a menu or from the file +system, you can start it from the command-line, after having set some +environment variables. The environment variables can be those specified +in the next section (section 2.3 Setting the Locale through Environment Variables); for some versions of +KDE, however, the locale is specified through a variable KDE_LANG, +rather than LANG or LC_ALL. + +

    + + +

    2.3 Setting the Locale through Environment Variables

    + +

    +As a user, if your language has been installed for this package, in the +simplest case, you only have to set the LANG environment variable +to the appropriate ll_CC combination. For example, +let's suppose that you speak German and live in Germany. At the shell +prompt, merely execute +‘setenv LANG de_DE’ (in csh), +‘export LANG; LANG=de_DE’ (in sh) or +‘export LANG=de_DE’ (in bash). This can be done from your +‘.login’ or ‘.profile’ file, once and for all. + +

    + + + +

    2.3.1 Locale Names

    + +

    +A locale name usually has the form ll_CC. Here +ll is an ISO 639 two-letter language code, and +CC is an ISO 3166 two-letter country code. For example, +for German in Germany, ll is de, and CC is DE. +You find a list of the language codes in appendix section A Language Codes and +a list of the country codes in appendix section B Country Codes. + +

    +

    +You might think that the country code specification is redundant. But in +fact, some languages have dialects in different countries. For example, +‘de_AT’ is used for Austria, and ‘pt_BR’ for Brazil. The country +code serves to distinguish the dialects. + +

    +

    +Many locale names have an extended syntax +ll_CC.encoding that also specifies the character +encoding. These are in use because between 2000 and 2005, most users have +switched to locales in UTF-8 encoding. For example, the German locale on +glibc systems is nowadays ‘de_DE.UTF-8’. The older name ‘de_DE’ +still refers to the German locale as of 2000 that stores characters in +ISO-8859-1 encoding -- a text encoding that cannot even accomodate the Euro +currency sign. + +

    +

    +Some locale names use ll_CC.@variant instead of +ll_CC. The ‘@variant can denote any kind of +characteristics that is not already implied by the language ll and +the country CC. It can denote a particular monetary unit. For example, +on glibc systems, ‘de_DE@euro’ denotes the locale that uses the Euro +currency, in contrast to the older locale ‘de_DE’ which implies the use +of the currency before 2002. It can also denote a dialect of the language, +or the script used to write text (for example, ‘sr_RS@latin’ uses the +Latin script, whereas ‘sr_RS’ uses the Cyrillic script to write Serbian), +or the orthography rules, or similar. + +

    +

    +On other systems, some variations of this scheme are used, such as +ll. You can get the list of locales supported by your system +for your language by running the command ‘locale -a | grep '^ll'’. + +

    +

    +There is also a special locale, called ‘C’. +When it is used, it disables all localization: in this locale, all programs +standardized by POSIX use English messages and an unspecified character +encoding (often US-ASCII, but sometimes also ISO-8859-1 or UTF-8, depending on +the operating system). + +

    + + +

    2.3.2 Locale Environment Variables

    +

    + + + + +

    +

    +A locale is composed of several locale categories, see section 1.3 Aspects in Native Language Support. +When a program looks up locale dependent values, it does this according to +the following environment variables, in priority order: + +

    + +
      +
    1. LANGUAGE + + + + +
    2. LC_ALL + + + + + + + +
    3. LC_xxx, according to selected locale category: + +LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, +LC_MONETARY, LC_MESSAGES, ... + +
    4. LANG + +
    + +

    +Variables whose value is set but is empty are ignored in this lookup. + +

    +

    +LANG is the normal environment variable for specifying a locale. +As a user, you normally set this variable (unless some of the other variables +have already been set by the system, in ‘/etc/profile’ or similar +initialization files). + +

    +

    +LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, +LC_MONETARY, LC_MESSAGES, and so on, are the environment +variables meant to override LANG and affecting a single locale +category only. For example, assume you are a Swedish user in Spain, and you +want your programs to handle numbers and dates according to Spanish +conventions, and only the messages should be in Swedish. Then you could +create a locale named ‘sv_ES’ or ‘sv_ES.UTF-8’ by use of the +localedef program. But it is simpler, and achieves the same effect, +to set the LANG variable to es_ES.UTF-8 and the +LC_MESSAGES variable to sv_SE.UTF-8; these two locales come +already preinstalled with the operating system. + +

    +

    +LC_ALL is an environment variable that overrides all of these. +It is typically used in scripts that run particular programs. For example, +configure scripts generated by GNU autoconf use LC_ALL to make +sure that the configuration tests don't operate in locale dependent ways. + +

    +

    +Some systems, unfortunately, set LC_ALL in ‘/etc/profile’ or in +similar initialization files. As a user, you therefore have to unset this +variable if you want to set LANG and optionally some of the other +LC_xxx variables. + +

    +

    +The LANGUAGE variable is described in the next subsection. + +

    + + +

    2.3.3 Specifying a Priority List of Languages

    + +

    +Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +LANGUAGE. GNU gettext gives preference to LANGUAGE +over LC_ALL and LANG for the purpose of message handling, +but you still need to have LANG (or LC_ALL) set to the primary +language; this is required by other parts of the system libraries. +For example, some Swedish users who would rather read translations in +German than English for when Swedish is not available, set LANGUAGE +to ‘sv:de’ while leaving LANG to ‘sv_SE’. + +

    +

    +Special advice for Norwegian users: The language code for Norwegian +bokm@ringaccent{a}l changed from ‘no’ to ‘nb’ recently (in 2003). +During the transition period, while some message catalogs for this language +are installed under ‘nb’ and some older ones under ‘no’, it is +recommended for Norwegian users to set LANGUAGE to ‘nb:no’ so that +both newer and older translations are used. + +

    +

    +In the LANGUAGE environment variable, but not in the other +environment variables, ll_CC combinations can be +abbreviated as ll to denote the language's main dialect. +For example, ‘de’ is equivalent to ‘de_DE’ (German as spoken in +Germany), and ‘pt’ to ‘pt_PT’ (Portuguese as spoken in Portugal) +in this context. + +

    +

    +Note: The variable LANGUAGE is ignored if the locale is set to +‘C’. In other words, you have to first enable localization, by setting +LANG (or LC_ALL) to a value other than ‘C’, before you can +use a language priority list through the LANGUAGE variable. + +

    + + +

    2.4 Installing Translations for Particular Programs

    +

    + + + +

    +

    +Languages are not equally well supported in all packages using GNU +gettext, and more translations are added over time. Usually, you +use the translations that are shipped with the operating system +or with particular packages that you install afterwards. But you can also +install newer localizations directly. For doing this, you will need an +understanding where each localization file is stored on the file system. + +

    +

    + +For programs that participate in the Translation Project, you can start +looking for translations here: +http://translationproject.org/team/index.html. +A snapshot of this information is also found in the ‘ABOUT-NLS’ file +that is shipped with GNU gettext. + +

    +

    +For programs that are part of the KDE project, the starting point is: +http://i18n.kde.org/. + +

    +

    +For programs that are part of the GNOME project, the starting point is: +http://www.gnome.org/i18n/. + +

    +

    +For other programs, you may check whether the program's source code package +contains some ll.po’ files; often they are kept together in a +directory called ‘po/’. Each ll.po’ file contains the +message translations for the language whose abbreviation of ll. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_20.html b/mingw/share/doc/gettext/gettext_20.html new file mode 100644 index 00000000..f1326a2c --- /dev/null +++ b/mingw/share/doc/gettext/gettext_20.html @@ -0,0 +1,79 @@ + + + + + +GNU gettext utilities - Program Index + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    Program Index

    + +

    +Jump to: +a +- +e +- +g +- +m +- +n +- +r +- +x +

    +

    a

    + +
  • autopoint +
  • +

    e

    + +
  • envsubst +
  • +

    g

    + +
  • gettext, gettext +
  • gettextize +
  • +

    m

    + +
  • msgattrib +
  • msgcat +
  • msgcmp +
  • msgcomm +
  • msgconv +
  • msgen +
  • msgexec +
  • msgfilter +
  • msgfmt +
  • msggrep +
  • msginit +
  • msgmerge +
  • msgunfmt +
  • msguniq +
  • +

    n

    + +
  • ngettext, ngettext +
  • +

    r

    + +
  • recode-sr-latin +
  • +

    x

    + +
  • xgettext +
  • + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_21.html b/mingw/share/doc/gettext/gettext_21.html new file mode 100644 index 00000000..16ec2eaa --- /dev/null +++ b/mingw/share/doc/gettext/gettext_21.html @@ -0,0 +1,609 @@ + + + + + +GNU gettext utilities - Option Index + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    Option Index

    + +

    +Jump to: +- +

    +

    -

    + +
  • --add-comments, xgettext option +
  • --add-location, msgattrib option +
  • --add-location, msgcat option +
  • --add-location, msgcomm option +
  • --add-location, msgconv option +
  • --add-location, msgen option +
  • --add-location, msgfilter option +
  • --add-location, msggrep option +
  • --add-location, msgmerge option +
  • --add-location, msguniq option +
  • --add-location, xgettext option +
  • --alignment, msgfmt option +
  • --backup, msgmerge option +
  • --boost, xgettext option +
  • --c++, xgettext option +
  • --check, msgfmt option +
  • --check-accelerators, msgfmt option +
  • --check-compatibility, msgfmt option +
  • --check-domain, msgfmt option +
  • --check-format, msgfmt option +
  • --check-header, msgfmt option +
  • --clear-fuzzy, msgattrib option +
  • --clear-obsolete, msgattrib option +
  • --clear-previous, msgattrib option +
  • --color, msgattrib option +
  • --color, msgcat option, --color, msgcat option +
  • --color, msgcomm option +
  • --color, msgconv option +
  • --color, msgen option +
  • --color, msgfilter option +
  • --color, msggrep option +
  • --color, msginit option +
  • --color, msgmerge option +
  • --color, msgunfmt option +
  • --color, msguniq option +
  • --color, xgettext option +
  • --comment, msggrep option +
  • --compendium, msgmerge option +
  • --copyright-holder, xgettext option +
  • --csharp, msgfmt option +
  • --csharp, msgunfmt option +
  • --csharp-resources, msgfmt option +
  • --csharp-resources, msgunfmt option +
  • --debug, xgettext option +
  • --default-domain, xgettext option +
  • --directory, msgattrib option +
  • --directory, msgcat option +
  • --directory, msgcmp option +
  • --directory, msgcomm option +
  • --directory, msgconv option +
  • --directory, msgen option +
  • --directory, msgexec option +
  • --directory, msgfilter option +
  • --directory, msgfmt option +
  • --directory, msggrep option +
  • --directory, msgmerge option +
  • --directory, msguniq option +
  • --directory, xgettext option +
  • --domain, gettext option +
  • --domain, msggrep option +
  • --domain, ngettext option +
  • --dry-run, autopoint option +
  • --dry-run, gettextize option +
  • --exclude-file, xgettext option +
  • --expression, msgfilter option +
  • --extended-regexp, msggrep option +
  • --extract-all, xgettext option +
  • --extracted-comment, msggrep option +
  • --file, msgfilter option +
  • --file, msggrep option +
  • --files-from, msgcat option +
  • --files-from, msgcomm option +
  • --files-from, xgettext option +
  • --fixed-strings, msggrep option +
  • --flag, xgettext option +
  • --force, autopoint option +
  • --force, gettextize option +
  • --force-po, msgattrib option +
  • --force-po, msgcat option +
  • --force-po, msgcomm option +
  • --force-po, msgconv option +
  • --force-po, msgen option +
  • --force-po, msgfilter option +
  • --force-po, msggrep option +
  • --force-po, msgmerge option +
  • --force-po, msgunfmt option +
  • --force-po, msguniq option +
  • --force-po, xgettext option +
  • --foreign-user, xgettext option +
  • --from-code, xgettext option +
  • --fuzzy, msgattrib option +
  • --help, autopoint option +
  • --help, envsubst option +
  • --help, gettext option +
  • --help, gettextize option +
  • --help, msgattrib option +
  • --help, msgcat option +
  • --help, msgcmp option +
  • --help, msgcomm option +
  • --help, msgconv option +
  • --help, msgen option +
  • --help, msgexec option +
  • --help, msgfilter option +
  • --help, msgfmt option +
  • --help, msggrep option +
  • --help, msginit option +
  • --help, msgmerge option +
  • --help, msgunfmt option +
  • --help, msguniq option +
  • --help, ngettext option +
  • --help, xgettext option +
  • --ignore-case, msggrep option +
  • --ignore-file, msgattrib option +
  • --indent, msgattrib option +
  • --indent, msgcat option +
  • --indent, msgcomm option +
  • --indent, msgconv option +
  • --indent, msgen option +
  • --indent, msgfilter option +
  • --indent, msggrep option +
  • --indent, msgmerge option +
  • --indent, msgunfmt option +
  • --indent, msguniq option +
  • --indent, xgettext option +
  • --input, msgexec option +
  • --input, msgfilter option +
  • --input, msginit option +
  • --intl, gettextize option +
  • --invert-match, msggrep option +
  • --java, msgfmt option +
  • --java, msgunfmt option +
  • --java2, msgfmt option +
  • --join-existing, xgettext option +
  • --kde, xgettext option +
  • --keep-header, msgfilter option +
  • --keyword, xgettext option +
  • --lang, msgcat option, --lang, msgcat option, --lang, msgcat option +
  • --language, xgettext option +
  • --less-than, msgcat option +
  • --less-than, msgcomm option +
  • --locale, msgfmt option, --locale, msgfmt option, --locale, msgfmt option +
  • --locale, msginit option +
  • --locale, msgunfmt option, --locale, msgunfmt option, --locale, msgunfmt option +
  • --location, msggrep option +
  • --more-than, msgcat option +
  • --more-than, msgcomm option +
  • --msgctxt, msggrep option +
  • --msgid, msggrep option +
  • --msgid-bugs-address, xgettext option +
  • --msgstr, msggrep option +
  • --msgstr-prefix, xgettext option +
  • --msgstr-suffix, xgettext option +
  • --multi-domain, msgcmp option +
  • --multi-domain, msgmerge option +
  • --no-changelog, gettextize option +
  • --no-fuzzy, msgattrib option +
  • --no-fuzzy-matching, msgcmp option +
  • --no-fuzzy-matching, msgmerge option +
  • --no-hash, msgfmt option +
  • --no-location, msgattrib option +
  • --no-location, msgcat option +
  • --no-location, msgcomm option +
  • --no-location, msgconv option +
  • --no-location, msgen option +
  • --no-location, msgfilter option +
  • --no-location, msggrep option +
  • --no-location, msgmerge option +
  • --no-location, msguniq option +
  • --no-location, xgettext option +
  • --no-obsolete, msgattrib option +
  • --no-translator, msginit option +
  • --no-wrap, msgattrib option +
  • --no-wrap, msgcat option +
  • --no-wrap, msgcomm option +
  • --no-wrap, msgconv option +
  • --no-wrap, msgen option +
  • --no-wrap, msgfilter option +
  • --no-wrap, msggrep option +
  • --no-wrap, msginit option +
  • --no-wrap, msgmerge option +
  • --no-wrap, msgunfmt option +
  • --no-wrap, msguniq option +
  • --no-wrap, xgettext option +
  • --obsolete, msgattrib option +
  • --omit-header, msgcomm option +
  • --omit-header, xgettext option +
  • --only-file, msgattrib option +
  • --only-fuzzy, msgattrib option +
  • --only-obsolete, msgattrib option +
  • --output, xgettext option +
  • --output-dir, xgettext option +
  • --output-file, msgattrib option +
  • --output-file, msgcat option +
  • --output-file, msgcomm option +
  • --output-file, msgconv option +
  • --output-file, msgen option +
  • --output-file, msgfilter option +
  • --output-file, msgfmt option +
  • --output-file, msggrep option +
  • --output-file, msginit option +
  • --output-file, msgmerge option +
  • --output-file, msgunfmt option +
  • --output-file, msguniq option +
  • --package-name, xgettext option +
  • --package-version, xgettext option +
  • --po-dir, gettextize option +
  • --previous, msgmerge option +
  • --properties-input, msgattrib option +
  • --properties-input, msgcat option +
  • --properties-input, msgcmp option +
  • --properties-input, msgcomm option +
  • --properties-input, msgconv option +
  • --properties-input, msgen option +
  • --properties-input, msgexec option +
  • --properties-input, msgfilter option +
  • --properties-input, msgfmt option +
  • --properties-input, msggrep option +
  • --properties-input, msginit option +
  • --properties-input, msgmerge option +
  • --properties-input, msguniq option +
  • --properties-output, msgattrib option +
  • --properties-output, msgcat option +
  • --properties-output, msgcomm option +
  • --properties-output, msgconv option +
  • --properties-output, msgen option +
  • --properties-output, msgfilter option +
  • --properties-output, msggrep option +
  • --properties-output, msginit option +
  • --properties-output, msgmerge option +
  • --properties-output, msgunfmt option +
  • --properties-output, msguniq option +
  • --properties-output, xgettext option +
  • --qt, msgfmt option +
  • --qt, xgettext option +
  • --quiet, msgfilter option +
  • --quiet, msgmerge option +
  • --regexp=, msggrep option +
  • --repeated, msguniq option +
  • --resource, msgfmt option, --resource, msgfmt option +
  • --resource, msgunfmt option, --resource, msgunfmt option +
  • --set-fuzzy, msgattrib option +
  • --set-obsolete, msgattrib option +
  • --silent, msgfilter option +
  • --silent, msgmerge option +
  • --sort-by-file, msgattrib option +
  • --sort-by-file, msgcat option +
  • --sort-by-file, msgcomm option +
  • --sort-by-file, msgconv option +
  • --sort-by-file, msgen option +
  • --sort-by-file, msgfilter option +
  • --sort-by-file, msggrep option +
  • --sort-by-file, msgmerge option +
  • --sort-by-file, msguniq option +
  • --sort-by-file, xgettext option +
  • --sort-output, msgattrib option +
  • --sort-output, msgcat option +
  • --sort-output, msgcomm option +
  • --sort-output, msgconv option +
  • --sort-output, msgen option +
  • --sort-output, msgfilter option +
  • --sort-output, msggrep option +
  • --sort-output, msgmerge option +
  • --sort-output, msgunfmt option +
  • --sort-output, msguniq option +
  • --sort-output, xgettext option +
  • --statistics, msgfmt option +
  • --strict, msgattrib option +
  • --strict, msgcat option +
  • --strict, msgcomm option +
  • --strict, msgconv option +
  • --strict, msgen option +
  • --strict, msgfilter option +
  • --strict, msgfmt option +
  • --strict, msggrep option +
  • --strict, msgmerge option +
  • --strict, msgunfmt option +
  • --strict, msguniq option +
  • --strict, xgettext option +
  • --stringtable-input, msgattrib option +
  • --stringtable-input, msgcat option +
  • --stringtable-input, msgcmp option +
  • --stringtable-input, msgcomm option +
  • --stringtable-input, msgen option +
  • --stringtable-input, msgexec option +
  • --stringtable-input, msgfilter option +
  • --stringtable-input, msgfmt option +
  • --stringtable-input, msggrep option +
  • --stringtable-input, msginit option +
  • --stringtable-input, msgmerge option +
  • --stringtable-input, msgonv option +
  • --stringtable-input, msguniq option +
  • --stringtable-output, msgattrib option +
  • --stringtable-output, msgcat option +
  • --stringtable-output, msgcomm option +
  • --stringtable-output, msgconv option +
  • --stringtable-output, msgen option +
  • --stringtable-output, msgfilter option +
  • --stringtable-output, msggrep option +
  • --stringtable-output, msginit option +
  • --stringtable-output, msgmerge option +
  • --stringtable-output, msgunfmt option +
  • --stringtable-output, msguniq option +
  • --stringtable-output, xgettext option +
  • --style, msgattrib option +
  • --style, msgcat option, --style, msgcat option +
  • --style, msgcomm option +
  • --style, msgconv option +
  • --style, msgen option +
  • --style, msgfilter option +
  • --style, msggrep option +
  • --style, msginit option +
  • --style, msgmerge option +
  • --style, msgunfmt option +
  • --style, msguniq option +
  • --style, xgettext option +
  • --suffix, msgmerge option +
  • --symlink, gettextize option +
  • --tcl, msgfmt option +
  • --tcl, msgunfmt option +
  • --to-code, msgcat option +
  • --to-code, msgconv option +
  • --to-code, msguniq option +
  • --translated, msgattrib option +
  • --trigraphs, xgettext option +
  • --unique, msgcat option +
  • --unique, msgcomm option +
  • --unique, msguniq option +
  • --untranslated, msgattrib option +
  • --update, msgmerge option +
  • --use-first, msgcat option +
  • --use-first, msguniq option +
  • --use-fuzzy, msgcmp option +
  • --use-fuzzy, msgfmt option +
  • --use-untranslated, msgcmp option +
  • --variables, envsubst option +
  • --verbose, msgfmt option +
  • --verbose, msgmerge option +
  • --verbose, msgunfmt option +
  • --version, autopoint option +
  • --version, envsubst option +
  • --version, gettext option +
  • --version, gettextize option +
  • --version, msgattrib option +
  • --version, msgcat option +
  • --version, msgcmp option +
  • --version, msgcomm option +
  • --version, msgconv option +
  • --version, msgen option +
  • --version, msgexec option +
  • --version, msgfilter option +
  • --version, msgfmt option +
  • --version, msggrep option +
  • --version, msginit option +
  • --version, msgmerge option +
  • --version, msgunfmt option +
  • --version, msguniq option +
  • --version, ngettext option +
  • --version, xgettext option +
  • --width, msgattrib option +
  • --width, msgcat option +
  • --width, msgcomm option +
  • --width, msgconv option +
  • --width, msgen option +
  • --width, msgfilter option +
  • --width, msggrep option +
  • --width, msginit option +
  • --width, msgmerge option +
  • --width, msgunfmt option +
  • --width, msguniq option +
  • --width, xgettext option +
  • -<, msgcat option +
  • -<, msgcomm option +
  • ->, msgcat option +
  • ->, msgcomm option +
  • -a, msgfmt option +
  • -a, xgettext option +
  • -C, msgfmt option +
  • -c, msgfmt option +
  • -C, msggrep option +
  • -C, msgmerge option +
  • -C, xgettext option +
  • -c, xgettext option +
  • -d, autopoint option +
  • -d, gettext option +
  • -d, gettextize option +
  • -D, msgattrib option +
  • -D, msgcat option +
  • -D, msgcmp option +
  • -D, msgcomm option +
  • -D, msgconv option +
  • -D, msgen option +
  • -D, msgexec option +
  • -D, msgfilter option +
  • -d, msgfmt option, -d, msgfmt option, -d, msgfmt option +
  • -D, msgfmt option +
  • -D, msggrep option +
  • -D, msgmerge option +
  • -d, msgunfmt option, -d, msgunfmt option +
  • -D, msguniq option +
  • -d, msguniq option +
  • -d, ngettext option +
  • -D, xgettext option +
  • -d, xgettext option +
  • -e, gettext option +
  • -E, gettext option +
  • -e, msgfilter option +
  • -E, msggrep option +
  • -e, msggrep option +
  • -e, ngettext option +
  • -E, ngettext option +
  • -f, autopoint option +
  • -f, gettextize option +
  • -F, msgattrib option +
  • -f, msgcat option +
  • -F, msgcat option +
  • -F, msgcomm option +
  • -f, msgcomm option +
  • -F, msgconv option +
  • -F, msgen option +
  • -F, msgfilter option +
  • -f, msgfilter option +
  • -f, msgfmt option +
  • -f, msggrep option +
  • -F, msggrep option +
  • -F, msgmerge option +
  • -F, msguniq option +
  • -F, xgettext option +
  • -f, xgettext option +
  • -h, envsubst option +
  • -h, gettext option +
  • -h, msgattrib option +
  • -h, msgcat option +
  • -h, msgcmp option +
  • -h, msgcomm option +
  • -h, msgconv option +
  • -h, msgen option +
  • -h, msgexec option +
  • -h, msgfilter option +
  • -h, msgfmt option +
  • -h, msggrep option +
  • -h, msginit option +
  • -h, msgmerge option +
  • -h, msgunfmt option +
  • -h, msguniq option +
  • -h, ngettext option +
  • -h, xgettext option +
  • -i, msgattrib option +
  • -i, msgcat option +
  • -i, msgcomm option +
  • -i, msgconv option +
  • -i, msgen option +
  • -i, msgexec option +
  • -i, msgfilter option +
  • -i, msggrep option +
  • -i, msginit option +
  • -i, msgmerge option +
  • -i, msgunfmt option +
  • -i, msguniq option +
  • -i, xgettext option +
  • -j, msgfmt option +
  • -J, msggrep option +
  • -j, msgunfmt option +
  • -j, xgettext option +
  • -K, msggrep option +
  • -k, xgettext option +
  • -l, msgfmt option, -l, msgfmt option, -l, msgfmt option +
  • -l, msginit option +
  • -l, msgunfmt option, -l, msgunfmt option, -l, msgunfmt option +
  • -L, xgettext option +
  • -m, msgcmp option +
  • -M, msggrep option +
  • -m, msgmerge option +
  • -M, xgettext option +
  • -m, xgettext option +
  • -n, gettext option +
  • -n, msgattrib option +
  • -n, msgcat option +
  • -N, msgcmp option +
  • -n, msgcomm option +
  • -n, msgfilter option +
  • -N, msggrep option +
  • -N, msgmerge option +
  • -n, msguniq option +
  • -n, xgettext option +
  • -o, msgattrib option +
  • -o, msgcat option +
  • -o, msgcomm option +
  • -o, msgconv option +
  • -o, msgen option +
  • -o, msgfilter option +
  • -o, msgfmt option +
  • -o, msggrep option +
  • -o, msginit option +
  • -o, msgmerge option +
  • -o, msgunfmt option +
  • -o, msguniq option +
  • -o, xgettext option +
  • -P, msgattrib option +
  • -p, msgattrib option +
  • -P, msgcat option +
  • -p, msgcat option +
  • -P, msgcmp option +
  • -P, msgcomm option +
  • -p, msgcomm option +
  • -P, msgconv option +
  • -p, msgconv option +
  • -P, msgen option +
  • -p, msgen option +
  • -P, msgexec option +
  • -P, msgfilter option +
  • -p, msgfilter option +
  • -P, msgfmt option +
  • -p, msggrep option +
  • -P, msggrep option +
  • -P, msginit option +
  • -p, msginit option +
  • -p, msgmerge option +
  • -P, msgmerge option +
  • -p, msgunfmt option +
  • -p, msguniq option +
  • -P, msguniq option +
  • -p, xgettext option +
  • -q, msgmerge option +
  • -r, msgfmt option, -r, msgfmt option +
  • -r, msgunfmt option, -r, msgunfmt option +
  • -s, msgattrib option +
  • -s, msgcat option +
  • -s, msgcomm option +
  • -s, msgconv option +
  • -s, msgen option +
  • -s, msgfilter option +
  • -s, msgmerge option +
  • -s, msgunfmt option +
  • -s, msguniq option +
  • -s, xgettext option +
  • -t, msgcat option +
  • -t, msgconv option +
  • -T, msggrep option +
  • -t, msguniq option +
  • -T, xgettext option +
  • -u, msgcat option +
  • -u, msgcomm option +
  • -U, msgmerge option +
  • -u, msguniq option +
  • -v, envsubst option +
  • -V, envsubst option +
  • -V, gettext option +
  • -V, msgattrib option +
  • -V, msgcat option +
  • -V, msgcmp option +
  • -V, msgcomm option +
  • -V, msgconv option +
  • -V, msgen option +
  • -V, msgexec option +
  • -V, msgfilter option +
  • -V, msgfmt option +
  • -v, msgfmt option +
  • -V, msggrep option +
  • -v, msggrep option +
  • -V, msginit option +
  • -v, msgmerge option +
  • -V, msgmerge option +
  • -v, msgunfmt option +
  • -V, msgunfmt option +
  • -V, msguniq option +
  • -V, ngettext option +
  • -V, xgettext option +
  • -w, msgattrib option +
  • -w, msgcat option +
  • -w, msgcomm option +
  • -w, msgconv option +
  • -w, msgen option +
  • -w, msgfilter option +
  • -w, msggrep option +
  • -w, msginit option +
  • -w, msgmerge option +
  • -w, msgunfmt option +
  • -w, msguniq option +
  • -w, xgettext option +
  • -X, msggrep option +
  • -x, xgettext option +
  • + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_22.html b/mingw/share/doc/gettext/gettext_22.html new file mode 100644 index 00000000..2d332255 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_22.html @@ -0,0 +1,69 @@ + + + + + +GNU gettext utilities - Variable Index + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    Variable Index

    + +

    +Jump to: +g +- +l +- +m +- +p +- +t +

    +

    g

    + +
  • GETTEXT_LOG_UNTRANSLATED, environment variable +
  • +

    l

    + +
  • LANG, environment variable, LANG, environment variable +
  • LANGUAGE, environment variable, LANGUAGE, environment variable, LANGUAGE, environment variable +
  • LC_ALL, environment variable, LC_ALL, environment variable +
  • LC_COLLATE, environment variable, LC_COLLATE, environment variable +
  • LC_CTYPE, environment variable, LC_CTYPE, environment variable +
  • LC_MESSAGES, environment variable, LC_MESSAGES, environment variable +
  • LC_MONETARY, environment variable, LC_MONETARY, environment variable +
  • LC_NUMERIC, environment variable, LC_NUMERIC, environment variable +
  • LC_TIME, environment variable, LC_TIME, environment variable +
  • LINGUAS, environment variable +
  • +

    m

    + +
  • MSGEXEC_LOCATION, environment variable +
  • MSGEXEC_MSGCTXT, environment variable +
  • MSGEXEC_MSGID, environment variable +
  • MSGFILTER_LOCATION, environment variable +
  • MSGFILTER_MSGCTXT, environment variable +
  • MSGFILTER_MSGID, environment variable +
  • +

    p

    + +
  • PO_STYLE, environment variable +
  • +

    t

    + +
  • TERM, environment variable +
  • TEXTDOMAIN, environment variable +
  • TEXTDOMAINDIR, environment variable +
  • + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_23.html b/mingw/share/doc/gettext/gettext_23.html new file mode 100644 index 00000000..9f438320 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_23.html @@ -0,0 +1,114 @@ + + + + + +GNU gettext utilities - PO Mode Index + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    PO Mode Index

    + +

    +Jump to: +& +- +a +- +c +- +e +- +f +- +i +- +l +- +m +- +o +- +p +- +s +- +u +

    +

    &

    + +
  • ‘.emacs’ customizations +
  • ‘TAGS’, and marking translatable strings +
  • +

    a

    + +
  • auxiliary PO file +
  • +

    c

    + +
  • commands +
  • comment out PO file entry +
  • consulting program sources +
  • consulting translations to other languages +
  • current entry of a PO file +
  • cut and paste for translated strings +
  • +

    e

    + +
  • editing comments +
  • editing multiple entries +
  • editing translations +
  • etags, using for marking strings +
  • exiting PO subedit +
  • +

    f

    + +
  • find source fragment for a PO file entry +
  • +

    i

    + +
  • installing PO mode +
  • +

    l

    + +
  • looking at the source to aid translation +
  • +

    m

    + +
  • marking strings for translation +
  • moving by fuzzy entries +
  • moving by obsolete entries +
  • moving by translated entries +
  • moving by untranslated entries +
  • moving through a PO file +
  • +

    o

    + +
  • obsolete active entry +
  • +

    p

    + +
  • pending subedits +
  • +

    s

    + +
  • starting a string translation +
  • string normalization in entries +
  • subedit minor mode +
  • +

    u

    + +
  • use the source, Luke +
  • using obsolete translations to make new entries +
  • using translation compendia +
  • + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_24.html b/mingw/share/doc/gettext/gettext_24.html new file mode 100644 index 00000000..6dc86fcb --- /dev/null +++ b/mingw/share/doc/gettext/gettext_24.html @@ -0,0 +1,35 @@ + + + + + +GNU gettext utilities - Autoconf Macro Index + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    Autoconf Macro Index

    + +

    +Jump to: +a +

    +

    a

    + +
  • AM_GNU_GETTEXT +
  • AM_GNU_GETTEXT_INTL_SUBDIR +
  • AM_GNU_GETTEXT_NEED +
  • AM_GNU_GETTEXT_VERSION +
  • AM_ICONV +
  • AM_PO_SUBDIRS +
  • AM_XGETTEXT_OPTION +
  • + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_25.html b/mingw/share/doc/gettext/gettext_25.html new file mode 100644 index 00000000..a000c0f8 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_25.html @@ -0,0 +1,504 @@ + + + + + +GNU gettext utilities - General Index + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    General Index

    + +

    +Jump to: +& +- +_ +- +a +- +b +- +c +- +d +- +e +- +f +- +g +- +h +- +i +- +j +- +k +- +l +- +m +- +n +- +o +- +p +- +q +- +r +- +s +- +t +- +u +- +v +- +w +- +x +- +y +

    +

    &

    + +
  • ‘ABOUT-NLS’ file +
  • ‘acconfig.h’ file +
  • ‘aclocal.m4’ file +
  • ‘config.h.in’ file +
  • ‘gettext.h’ file +
  • ‘LINGUAS’ file +
  • ‘Makefile.in.in’ extensions +
  • ‘Makevars’ file +
  • ‘mkinstalldirs’ file +
  • ‘POTFILES.in’ file +
  • +

    _

    + +
  • _, a macro to mark strings for translation +
  • _nl_msg_cat_cntr +
  • +

    a

    + +
  • accumulating translations +
  • adding keywords, xgettext +
  • ambiguities +
  • apply a filter to translations +
  • apply command to all translations in a catalog +
  • Arabic digits +
  • attribute manipulation +
  • attribute, fuzzy +
  • attributes of a PO file entry +
  • attributes, manipulating +
  • autoconf macros for gettext +
  • autopoint program, usage +
  • auxiliary PO file +
  • available translations +
  • awk +
  • +

    b

    + +
  • backup old file, and msgmerge program +
  • bash +
  • bibliography +
  • big picture +
  • bind_textdomain_codeset +
  • Boost format strings +
  • bug report address +
  • +

    c

    + +
  • C and C-like languages +
  • C trigraphs +
  • C# +
  • C# mode, and msgfmt program +
  • C# mode, and msgunfmt program +
  • C# resources mode, and msgfmt program +
  • C# resources mode, and msgunfmt program +
  • C#, string concatenation +
  • catalog encoding and msgexec output +
  • catclose, a catgets function +
  • catgets, X/Open specification +
  • catgets, a catgets function +
  • catopen, a catgets function +
  • character encoding +
  • charset conversion at runtime +
  • charset of PO files +
  • check format strings +
  • checking of translations +
  • clisp +
  • clisp C sources +
  • codeset +
  • comments in PO files +
  • comments, automatic +
  • comments, extracted +
  • comments, translator +
  • Common Lisp +
  • compare PO files +
  • comparison of interfaces +
  • compatibility with X/Open msgfmt +
  • compendium +
  • compendium, creating +
  • concatenate PO files +
  • concatenating PO files into a compendium +
  • concatenation of strings +
  • context +
  • context, argument specification in xgettext +
  • context, in MO files +
  • context, in PO files +
  • control characters +
  • convert binary message catalog into PO file +
  • convert translations to a different encoding +
  • converting a package to use gettext +
  • country codes +
  • create new PO file +
  • creating a new PO file +
  • creating compendia +
  • currency symbols +
  • +

    d

    + +
  • date format +
  • dcngettext +
  • dcpgettext +
  • dcpgettext_expr +
  • debugging messages marked as format strings +
  • dialect +
  • disabling NLS +
  • distribution tarball +
  • dngettext +
  • dollar substitution +
  • domain ambiguities +
  • dpgettext +
  • dpgettext_expr +
  • duplicate elimination +
  • duplicate removal +
  • +

    e

    + +
  • editing comments in PO files +
  • Editing PO Files +
  • editing translations +
  • Emacs Lisp +
  • Emacs PO Mode +
  • encoding +
  • encoding conversion +
  • encoding conversion at runtime +
  • encoding for your language +
  • encoding list +
  • encoding of PO files +
  • environment variables +
  • envsubst program, usage +
  • eval_gettext function, usage +
  • eval_ngettext function, usage +
  • evolution of packages +
  • extracting parts of a PO file into a compendium +
  • +

    f

    + +
  • FDL, GNU Free Documentation License +
  • file format, ‘.mo’ +
  • file format, ‘.po’ +
  • files, ‘.po’ and ‘.mo’ +
  • files, ‘.pot’ +
  • filter messages according to attributes +
  • find common messages +
  • force use of fuzzy entries +
  • format strings +
  • Free Pascal +
  • function attribute, __format__ +
  • function attribute, __format_arg__ +
  • fuzzy entries +
  • +

    g

    + +
  • gawk +
  • GCC-source +
  • generate binary message catalog from PO file +
  • generate translation catalog in English +
  • gettext files +
  • gettext installation +
  • gettext interface +
  • gettext program, usage +
  • gettext, a programmer's view +
  • gettext vs catgets +
  • gettextize program, usage +
  • GNOME PO file editor +
  • GPL, GNU General Public License +
  • GUI programs +
  • guile +
  • +

    h

    + +
  • hash table, inside MO files +
  • he, she, and they +
  • header entry of a PO file +
  • help option +
  • history of GNU gettext +
  • +

    i

    + +
  • i18n +
  • importing PO files +
  • include file ‘libintl.h’, include file ‘libintl.h’, include file ‘libintl.h’, include file ‘libintl.h’ +
  • initialization +
  • initialize new PO file +
  • initialize translations from a compendium +
  • installing gettext +
  • interface to catgets +
  • internationalization +
  • inttypes.h +
  • ISO 3166 +
  • ISO 639 +
  • +

    j

    + +
  • Java +
  • Java mode, and msgfmt program +
  • Java mode, and msgunfmt program +
  • Java, string concatenation +
  • +

    k

    + +
  • KDE format strings +
  • KDE PO file editor +
  • keyboard accelerator checking +
  • +

    l

    + +
  • l10n +
  • language codes +
  • language selection +
  • language selection at runtime +
  • large package +
  • LGPL, GNU Lesser General Public License +
  • libiconv library +
  • libintl for C# +
  • libintl for Java +
  • libintl library +
  • librep Lisp +
  • License, GNU FDL +
  • License, GNU GPL +
  • License, GNU LGPL +
  • Licenses +
  • link with ‘libintl’ +
  • Linux, Linux, Linux +
  • Lisp +
  • list of translation teams, where to find +
  • locale categories, locale categories +
  • locale category, LC_ALL +
  • locale category, LC_COLLATE +
  • locale category, LC_CTYPE, locale category, LC_CTYPE, locale category, LC_CTYPE +
  • locale category, LC_MESSAGES, locale category, LC_MESSAGES +
  • locale category, LC_MONETARY, locale category, LC_MONETARY +
  • locale category, LC_NUMERIC, locale category, LC_NUMERIC +
  • locale category, LC_RESPONSES +
  • locale category, LC_TIME, locale category, LC_TIME +
  • locale program +
  • localization +
  • lookup message translation, lookup message translation +
  • lookup plural message translation, lookup plural message translation +
  • +

    m

    + +
  • magic signature of MO files +
  • manipulating PO files +
  • marking Perl sources +
  • marking string initializers +
  • marking strings that require translation +
  • marking strings, preparations +
  • marking translatable strings +
  • markup +
  • menu entries +
  • menu, keyboard accelerator support +
  • merge PO files +
  • merging two PO files +
  • message catalog files location +
  • messages +
  • migration from earlier versions of gettext +
  • mnemonics of menu entries +
  • MO file's format +
  • modify message attributes +
  • msgattrib program, usage +
  • msgcat program, usage +
  • msgcmp program, usage +
  • msgcomm program, usage +
  • msgconv program, usage +
  • msgen program, usage +
  • msgexec program, usage +
  • msgfilter filter and catalog encoding +
  • msgfilter program, usage +
  • msgfmt program, usage +
  • msggrep program, usage +
  • msginit program, usage +
  • msgmerge program, usage +
  • msgunfmt program, usage +
  • msguniq program, usage +
  • multi-line strings +
  • +

    n

    + +
  • N_, a convenience macro +
  • Native Language Support +
  • Natural Language Support +
  • newlines in PO files +
  • ngettext +
  • ngettext program, usage +
  • NLS +
  • number format +
  • +

    o

    + +
  • Object Pascal +
  • obsolete entries +
  • optimization of gettext functions +
  • orthography +
  • outdigits +
  • output to stdout, xgettext +
  • overview of gettext +
  • +

    p

    + +
  • package and version declaration in ‘configure.ac’ +
  • package build and installation options +
  • package distributor's view of gettext +
  • package installer's view of gettext +
  • package maintainer's view of gettext +
  • paragraphs +
  • Pascal +
  • Perl +
  • Perl default keywords +
  • Perl invalid string interpolation +
  • Perl long lines +
  • Perl parentheses +
  • Perl pitfalls +
  • Perl quote-like expressions +
  • Perl special keywords for hash-lookups +
  • Perl valid string interpolation +
  • pgettext +
  • pgettext_expr +
  • PHP +
  • Pike +
  • plural form formulas +
  • plural forms +
  • plural forms, in MO files +
  • plural forms, in PO files +
  • plural forms, translating +
  • PO files' format +
  • PO mode (Emacs) commands +
  • PO template file +
  • po_file_domains +
  • po_file_free +
  • po_file_read +
  • po_message_iterator +
  • po_message_iterator_free +
  • po_message_msgid +
  • po_message_msgid_plural +
  • po_message_msgstr +
  • po_message_msgstr_plural +
  • po_next_message +
  • portability problems with sed +
  • preparing programs for translation +
  • preparing shell scripts for translation +
  • problems with catgets interface +
  • programming languages +
  • Python +
  • +

    q

    + +
  • Qt format strings +
  • Qt mode, and msgfmt program +
  • quotation marks, quotation marks +
  • quote characters, use in PO files +
  • +

    r

    + +
  • recode-sr-latin program +
  • related reading +
  • release +
  • RST +
  • +

    s

    + +
  • Scheme +
  • scripting languages +
  • search messages in a catalog +
  • selecting message language +
  • sentences +
  • setting up gettext at build time +
  • setting up gettext at run time +
  • several domains +
  • sex +
  • she, he, and they +
  • shell format string +
  • shell scripts +
  • Smalltalk +
  • sorting msgcat output +
  • sorting msgmerge output +
  • sorting msgunfmt output +
  • sorting output of xgettext +
  • specifying plural form in a PO file +
  • standard output, and msgcat +
  • standard output, and msgmerge program +
  • string concatenation +
  • string normalization in entries +
  • style +
  • supported languages, xgettext +
  • +

    t

    + +
  • Tcl +
  • Tcl mode, and msgfmt program +
  • Tcl mode, and msgunfmt program +
  • template PO file +
  • testing ‘.po’ files for equivalence +
  • Tk's scripting language +
  • translated entries +
  • translating menu entries +
  • translation aspects +
  • Translation Matrix +
  • Translation Project +
  • turning off NLS support +
  • tutorial of gettext usage +
  • +

    u

    + +
  • unify duplicate translations +
  • untranslated entries +
  • update translations from a compendium +
  • upgrading to new versions of gettext +
  • +

    v

    + +
  • version control for backup files, msgmerge +
  • +

    w

    + +
  • wxWidgets library +
  • +

    x

    + +
  • xargs, and output from msgexec +
  • xgettext program, usage +
  • xmodmap program, and typing quotation marks +
  • +

    y

    + +
  • YaST2 scripting language +
  • YCP +
  • + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_3.html b/mingw/share/doc/gettext/gettext_3.html new file mode 100644 index 00000000..7c62e546 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_3.html @@ -0,0 +1,509 @@ + + + + + +GNU gettext utilities - 3 The Format of PO Files + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    3 The Format of PO Files

    +

    + + + +

    +

    +The GNU gettext toolset helps programmers and translators +at producing, updating and using translation files, mainly those +PO files which are textual, editable files. This chapter explains +the format of PO files. + +

    +

    +A PO file is made up of many entries, each entry holding the relation +between an original untranslated string and its corresponding +translation. All entries in a given PO file usually pertain +to a single project, and all translations are expressed in a single +target language. One PO file entry has the following schematic +structure: + +

    + +
    +white-space
    +#  translator-comments
    +#. extracted-comments
    +#: reference...
    +#, flag...
    +#| msgid previous-untranslated-string
    +msgid untranslated-string
    +msgstr translated-string
    +
    + +

    +The general structure of a PO file should be well understood by +the translator. When using PO mode, very little has to be known +about the format details, as PO mode takes care of them for her. + +

    +

    +A simple entry can look like this: + +

    + +
    +#: lib/error.c:116
    +msgid "Unknown system error"
    +msgstr "Error desconegut del sistema"
    +
    + +

    + + + +Entries begin with some optional white space. Usually, when generated +through GNU gettext tools, there is exactly one blank line +between entries. Then comments follow, on lines all starting with the +character #. There are two kinds of comments: those which have +some white space immediately following the # - the translator +comments -, which comments are created and maintained exclusively by the +translator, and those which have some non-white character just after the +# - the automatic comments -, which comments are created and +maintained automatically by GNU gettext tools. Comment lines +starting with #. contain comments given by the programmer, directed +at the translator; these comments are called extracted comments +because the xgettext program extracts them from the program's +source code. Comment lines starting with #: contain references to +the program's source code. Comment lines starting with #, contain +flags; more about these below. Comment lines starting with #| +contain the previous untranslated string for which the translator gave +a translation. + +

    +

    +All comments, of either kind, are optional. + +

    +

    + + +After white space and comments, entries show two strings, namely +first the untranslated string as it appears in the original program +sources, and then, the translation of this string. The original +string is introduced by the keyword msgid, and the translation, +by msgstr. The two strings, untranslated and translated, +are quoted in various ways in the PO file, using " +delimiters and \ escapes, but the translator does not really +have to pay attention to the precise quoting format, as PO mode fully +takes care of quoting for her. + +

    +

    +The msgid strings, as well as automatic comments, are produced +and managed by other GNU gettext tools, and PO mode does not +provide means for the translator to alter these. The most she can +do is merely deleting them, and only by deleting the whole entry. +On the other hand, the msgstr string, as well as translator +comments, are really meant for the translator, and PO mode gives her +the full control she needs. + +

    +

    +The comment lines beginning with #, are special because they are +not completely ignored by the programs as comments generally are. The +comma separated list of flags is used by the msgfmt +program to give the user some better diagnostic messages. Currently +there are two forms of flags defined: + +

    +
    + +
    fuzzy +
    + +This flag can be generated by the msgmerge program or it can be +inserted by the translator herself. It shows that the msgstr +string might not be a correct translation (anymore). Only the translator +can judge if the translation requires further modification, or is +acceptable as is. Once satisfied with the translation, she then removes +this fuzzy attribute. The msgmerge program inserts this +when it combined the msgid and msgstr entries after fuzzy +search only. See section 8.3.6 Fuzzy Entries. + +
    c-format +
    + +
    no-c-format +
    + +These flags should not be added by a human. Instead only the +xgettext program adds them. In an automated PO file processing +system as proposed here, the user's changes would be thrown away again as +soon as the xgettext program generates a new template file. + +The c-format flag indicates that the untranslated string and the +translation are supposed to be C format strings. The no-c-format +flag indicates that they are not C format strings, even though the untranslated +string happens to look like a C format string (with ‘%’ directives). + +When the c-format flag is given for a string the msgfmt +program does some more tests to check the validity of the translation. +See section 10.1 Invoking the msgfmt Program, section 4.6 Special Comments preceding Keywords and section 15.3.1 C Format Strings. + +
    objc-format +
    + +
    no-objc-format +
    + +Likewise for Objective C, see section 15.3.2 Objective C Format Strings. + +
    sh-format +
    + +
    no-sh-format +
    + +Likewise for Shell, see section 15.3.3 Shell Format Strings. + +
    python-format +
    + +
    no-python-format +
    + +Likewise for Python, see section 15.3.4 Python Format Strings. + +
    lisp-format +
    + +
    no-lisp-format +
    + +Likewise for Lisp, see section 15.3.5 Lisp Format Strings. + +
    elisp-format +
    + +
    no-elisp-format +
    + +Likewise for Emacs Lisp, see section 15.3.6 Emacs Lisp Format Strings. + +
    librep-format +
    + +
    no-librep-format +
    + +Likewise for librep, see section 15.3.7 librep Format Strings. + +
    scheme-format +
    + +
    no-scheme-format +
    + +Likewise for Scheme, see section 15.3.8 Scheme Format Strings. + +
    smalltalk-format +
    + +
    no-smalltalk-format +
    + +Likewise for Smalltalk, see section 15.3.9 Smalltalk Format Strings. + +
    java-format +
    + +
    no-java-format +
    + +Likewise for Java, see section 15.3.10 Java Format Strings. + +
    csharp-format +
    + +
    no-csharp-format +
    + +Likewise for C#, see section 15.3.11 C# Format Strings. + +
    awk-format +
    + +
    no-awk-format +
    + +Likewise for awk, see section 15.3.12 awk Format Strings. + +
    object-pascal-format +
    + +
    no-object-pascal-format +
    + +Likewise for Object Pascal, see section 15.3.13 Object Pascal Format Strings. + +
    ycp-format +
    + +
    no-ycp-format +
    + +Likewise for YCP, see section 15.3.14 YCP Format Strings. + +
    tcl-format +
    + +
    no-tcl-format +
    + +Likewise for Tcl, see section 15.3.15 Tcl Format Strings. + +
    perl-format +
    + +
    no-perl-format +
    + +Likewise for Perl, see section 15.3.16 Perl Format Strings. + +
    perl-brace-format +
    + +
    no-perl-brace-format +
    + +Likewise for Perl brace, see section 15.3.16 Perl Format Strings. + +
    php-format +
    + +
    no-php-format +
    + +Likewise for PHP, see section 15.3.17 PHP Format Strings. + +
    gcc-internal-format +
    + +
    no-gcc-internal-format +
    + +Likewise for the GCC sources, see section 15.3.18 GCC internal Format Strings. + +
    gfc-internal-format +
    + +
    no-gfc-internal-format +
    + +Likewise for the GNU Fortran Compiler sources, see section 15.3.19 GFC internal Format Strings. + +
    qt-format +
    + +
    no-qt-format +
    + +Likewise for Qt, see section 15.3.20 Qt Format Strings. + +
    qt-plural-format +
    + +
    no-qt-plural-format +
    + +Likewise for Qt plural forms, see section 15.3.21 Qt Format Strings. + +
    kde-format +
    + +
    no-kde-format +
    + +Likewise for KDE, see section 15.3.22 KDE Format Strings. + +
    boost-format +
    + +
    no-boost-format +
    + +Likewise for Boost, see section 15.3.23 Boost Format Strings. + +
    + +

    + + +It is also possible to have entries with a context specifier. They look like +this: + +

    + +
    +white-space
    +#  translator-comments
    +#. extracted-comments
    +#: reference...
    +#, flag...
    +#| msgctxt previous-context
    +#| msgid previous-untranslated-string
    +msgctxt context
    +msgid untranslated-string
    +msgstr translated-string
    +
    + +

    +The context serves to disambiguate messages with the same +untranslated-string. It is possible to have several entries with +the same untranslated-string in a PO file, provided that they each +have a different context. Note that an empty context string +and an absent msgctxt line do not mean the same thing. + +

    +

    + + +A different kind of entries is used for translations which involve +plural forms. + +

    + +
    +white-space
    +#  translator-comments
    +#. extracted-comments
    +#: reference...
    +#, flag...
    +#| msgid previous-untranslated-string-singular
    +#| msgid_plural previous-untranslated-string-plural
    +msgid untranslated-string-singular
    +msgid_plural untranslated-string-plural
    +msgstr[0] translated-string-case-0
    +...
    +msgstr[N] translated-string-case-n
    +
    + +

    +Such an entry can look like this: + +

    + +
    +#: src/msgcmp.c:338 src/po-lex.c:699
    +#, c-format
    +msgid "found %d fatal error"
    +msgid_plural "found %d fatal errors"
    +msgstr[0] "s'ha trobat %d error fatal"
    +msgstr[1] "s'han trobat %d errors fatals"
    +
    + +

    +Here also, a msgctxt context can be specified before msgid, +like above. + +

    +

    +Here, additional kinds of flags can be used: + +

    +
    + +
    range: +
    + +This flag is followed by a range of non-negative numbers, using the syntax +range: minimum-value..maximum-value. It designates the +possible values that the numeric parameter of the message can take. In some +languages, translators may produce slightly better translations if they know +that the value can only take on values between 0 and 10, for example. +
    + +

    +The previous-untranslated-string is optionally inserted by the +msgmerge program, at the same time when it marks a message fuzzy. +It helps the translator to see which changes were done by the developers +on the untranslated-string. + +

    +

    +It happens that some lines, usually whitespace or comments, follow the +very last entry of a PO file. Such lines are not part of any entry, +and will be dropped when the PO file is processed by the tools, or may +disturb some PO file editors. + +

    +

    +The remainder of this section may be safely skipped by those using +a PO file editor, yet it may be interesting for everybody to have a better +idea of the precise format of a PO file. On the other hand, those +wishing to modify PO files by hand should carefully continue reading on. + +

    +

    +Each of untranslated-string and translated-string respects +the C syntax for a character string, including the surrounding quotes +and embedded backslashed escape sequences. When the time comes +to write multi-line strings, one should not use escaped newlines. +Instead, a closing quote should follow the last character on the +line to be continued, and an opening quote should resume the string +at the beginning of the following PO file line. For example: + +

    + +
    +msgid ""
    +"Here is an example of how one might continue a very long string\n"
    +"for the common case the string represents multi-line output.\n"
    +
    + +

    +In this example, the empty string is used on the first line, to +allow better alignment of the H from the word ‘Here’ +over the f from the word ‘for’. In this example, the +msgid keyword is followed by three strings, which are meant +to be concatenated. Concatenating the empty string does not change +the resulting overall string, but it is a way for us to comply with +the necessity of msgid to be followed by a string on the same +line, while keeping the multi-line presentation left-justified, as +we find this to be a cleaner disposition. The empty string could have +been omitted, but only if the string starting with ‘Here’ was +promoted on the first line, right after msgid.(2) It was not really necessary +either to switch between the two last quoted strings immediately after +the newline ‘\n’, the switch could have occurred after any +other character, we just did it this way because it is neater. + +

    +

    + +One should carefully distinguish between end of lines marked as +‘\n’ inside quotes, which are part of the represented +string, and end of lines in the PO file itself, outside string quotes, +which have no incidence on the represented string. + +

    +

    + +Outside strings, white lines and comments may be used freely. +Comments start at the beginning of a line with ‘#’ and extend +until the end of the PO file line. Comments written by translators +should have the initial ‘#’ immediately followed by some white +space. If the ‘#’ is not immediately followed by white space, +this comment is most likely generated and managed by specialized GNU +tools, and might disappear or be replaced unexpectedly when the PO +file is given to msgmerge. + +

    +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_4.html b/mingw/share/doc/gettext/gettext_4.html new file mode 100644 index 00000000..6fd8a085 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_4.html @@ -0,0 +1,1302 @@ + + + + + +GNU gettext utilities - 4 Preparing Program Sources + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    4 Preparing Program Sources

    +

    + + +

    + +

    +For the programmer, changes to the C source code fall into three +categories. First, you have to make the localization functions +known to all modules needing message translation. Second, you should +properly trigger the operation of GNU gettext when the program +initializes, usually from the main function. Last, you should +identify, adjust and mark all constant strings in your program +needing translation. + +

    + + + +

    4.1 Importing the gettext declaration

    + +

    +Presuming that your set of programs, or package, has been adjusted +so all needed GNU gettext files are available, and your +‘Makefile’ files are adjusted (see section 13 The Maintainer's View), each C module +having translated C strings should contain the line: + +

    +

    + + +

    +#include <libintl.h>
    +
    + +

    +Similarly, each C module containing printf()/fprintf()/... +calls with a format string that could be a translated C string (even if +the C string comes from a different C module) should contain the line: + +

    + +
    +#include <libintl.h>
    +
    + + + +

    4.2 Triggering gettext Operations

    + +

    + +The initialization of locale data should be done with more or less +the same code in every program, as demonstrated below: + +

    + +
    +int
    +main (int argc, char *argv[])
    +{
    +  ...
    +  setlocale (LC_ALL, "");
    +  bindtextdomain (PACKAGE, LOCALEDIR);
    +  textdomain (PACKAGE);
    +  ...
    +}
    +
    + +

    +PACKAGE and LOCALEDIR should be provided either by +‘config.h’ or by the Makefile. For now consult the gettext +or hello sources for more information. + +

    +

    + + +The use of LC_ALL might not be appropriate for you. +LC_ALL includes all locale categories and especially +LC_CTYPE. This latter category is responsible for determining +character classes with the isalnum etc. functions from +‘ctype.h’ which could especially for programs, which process some +kind of input language, be wrong. For example this would mean that a +source code using the ç (c-cedilla character) is runnable in +France but not in the U.S. + +

    +

    +Some systems also have problems with parsing numbers using the +scanf functions if an other but the LC_ALL locale category is +used. The standards say that additional formats but the one known in the +"C" locale might be recognized. But some systems seem to reject +numbers in the "C" locale format. In some situation, it might +also be a problem with the notation itself which makes it impossible to +recognize whether the number is in the "C" locale or the local +format. This can happen if thousands separator characters are used. +Some locales define this character according to the national +conventions to '.' which is the same character used in the +"C" locale to denote the decimal point. + +

    +

    +So it is sometimes necessary to replace the LC_ALL line in the +code above by a sequence of setlocale lines + +

    + +
    +{
    +  ...
    +  setlocale (LC_CTYPE, "");
    +  setlocale (LC_MESSAGES, "");
    +  ...
    +}
    +
    + +

    + + + + + + + +On all POSIX conformant systems the locale categories LC_CTYPE, +LC_MESSAGES, LC_COLLATE, LC_MONETARY, +LC_NUMERIC, and LC_TIME are available. On some systems +which are only ISO C compliant, LC_MESSAGES is missing, but +a substitute for it is defined in GNU gettext's <libintl.h> and +in GNU gnulib's <locale.h>. + +

    +

    +Note that changing the LC_CTYPE also affects the functions +declared in the <ctype.h> standard header and some functions +declared in the <string.h> and <stdlib.h> standard headers. +If this is not +desirable in your application (for example in a compiler's parser), +you can use a set of substitute functions which hardwire the C locale, +such as found in the modules ‘c-ctype’, ‘c-strcase’, +‘c-strcasestr’, ‘c-strtod’, ‘c-strtold’ in the GNU gnulib +source distribution. + +

    +

    +It is also possible to switch the locale forth and back between the +environment dependent locale and the C locale, but this approach is +normally avoided because a setlocale call is expensive, +because it is tedious to determine the places where a locale switch +is needed in a large program's source, and because switching a locale +is not multithread-safe. + +

    + + +

    4.3 Preparing Translatable Strings

    + +

    + +Before strings can be marked for translations, they sometimes need to +be adjusted. Usually preparing a string for translation is done right +before marking it, during the marking phase which is described in the +next sections. What you have to keep in mind while doing that is the +following. + +

    + +
      +
    • + +Decent English style. + +
    • + +Entire sentences. + +
    • + +Split at paragraphs. + +
    • + +Use format strings instead of string concatenation. + +
    • + +Avoid unusual markup and unusual control characters. +
    + +

    +Let's look at some examples of these guidelines. + +

    +

    + +Translatable strings should be in good English style. If slang language +with abbreviations and shortcuts is used, often translators will not +understand the message and will produce very inappropriate translations. + +

    + +
    +"%s: is parameter\n"
    +
    + +

    +This is nearly untranslatable: Is the displayed item a parameter or +the parameter? + +

    + +
    +"No match"
    +
    + +

    +The ambiguity in this message makes it unintelligible: Is the program +attempting to set something on fire? Does it mean "The given object does +not match the template"? Does it mean "The template does not fit for any +of the objects"? + +

    +

    + +In both cases, adding more words to the message will help both the +translator and the English speaking user. + +

    +

    + +Translatable strings should be entire sentences. It is often not possible +to translate single verbs or adjectives in a substitutable way. + +

    + +
    +printf ("File %s is %s protected", filename, rw ? "write" : "read");
    +
    + +

    +Most translators will not look at the source and will thus only see the +string "File %s is %s protected", which is unintelligible. Change +this to + +

    + +
    +printf (rw ? "File %s is write protected" : "File %s is read protected",
    +        filename);
    +
    + +

    +This way the translator will not only understand the message, she will +also be able to find the appropriate grammatical construction. A French +translator for example translates "write protected" like "protected +against writing". + +

    +

    +Entire sentences are also important because in many languages, the +declination of some word in a sentence depends on the gender or the +number (singular/plural) of another part of the sentence. There are +usually more interdependencies between words than in English. The +consequence is that asking a translator to translate two half-sentences +and then combining these two half-sentences through dumb string concatenation +will not work, for many languages, even though it would work for English. +That's why translators need to handle entire sentences. + +

    +

    +Often sentences don't fit into a single line. If a sentence is output +using two subsequent printf statements, like this + +

    + +
    +printf ("Locale charset \"%s\" is different from\n", lcharset);
    +printf ("input file charset \"%s\".\n", fcharset);
    +
    + +

    +the translator would have to translate two half sentences, but nothing +in the POT file would tell her that the two half sentences belong together. +It is necessary to merge the two printf statements so that the +translator can handle the entire sentence at once and decide at which +place to insert a line break in the translation (if at all): + +

    + +
    +printf ("Locale charset \"%s\" is different from\n\
    +input file charset \"%s\".\n", lcharset, fcharset);
    +
    + +

    +You may now ask: how about two or more adjacent sentences? Like in this case: + +

    + +
    +puts ("Apollo 13 scenario: Stack overflow handling failed.");
    +puts ("On the next stack overflow we will crash!!!");
    +
    + +

    +Should these two statements merged into a single one? I would recommend to +merge them if the two sentences are related to each other, because then it +makes it easier for the translator to understand and translate both. On +the other hand, if one of the two messages is a stereotypic one, occurring +in other places as well, you will do a favour to the translator by not +merging the two. (Identical messages occurring in several places are +combined by xgettext, so the translator has to handle them once only.) + +

    +

    + +Translatable strings should be limited to one paragraph; don't let a +single message be longer than ten lines. The reason is that when the +translatable string changes, the translator is faced with the task of +updating the entire translated string. Maybe only a single word will +have changed in the English string, but the translator doesn't see that +(with the current translation tools), therefore she has to proofread +the entire message. + +

    +

    + +Many GNU programs have a ‘--help’ output that extends over several +screen pages. It is a courtesy towards the translators to split such a +message into several ones of five to ten lines each. While doing that, +you can also attempt to split the documented options into groups, +such as the input options, the output options, and the informative +output options. This will help every user to find the option he is +looking for. + +

    +

    + + +Hardcoded string concatenation is sometimes used to construct English +strings: + +

    + +
    +strcpy (s, "Replace ");
    +strcat (s, object1);
    +strcat (s, " with ");
    +strcat (s, object2);
    +strcat (s, "?");
    +
    + +

    +In order to present to the translator only entire sentences, and also +because in some languages the translator might want to swap the order +of object1 and object2, it is necessary to change this +to use a format string: + +

    + +
    +sprintf (s, "Replace %s with %s?", object1, object2);
    +
    + +

    + +A similar case is compile time concatenation of strings. The ISO C 99 +include file <inttypes.h> contains a macro PRId64 that +can be used as a formatting directive for outputting an ‘int64_t’ +integer through printf. It expands to a constant string, usually +"d" or "ld" or "lld" or something like this, depending on the platform. +Assume you have code like + +

    + +
    +printf ("The amount is %0" PRId64 "\n", number);
    +
    + +

    +The gettext tools and library have special support for these +<inttypes.h> macros. You can therefore simply write + +

    + +
    +printf (gettext ("The amount is %0" PRId64 "\n"), number);
    +
    + +

    +The PO file will contain the string "The amount is %0<PRId64>\n". +The translators will provide a translation containing "%0<PRId64>" +as well, and at runtime the gettext function's result will +contain the appropriate constant string, "d" or "ld" or "lld". + +

    +

    +This works only for the predefined <inttypes.h> macros. If +you have defined your own similar macros, let's say ‘MYPRId64’, +that are not known to xgettext, the solution for this problem +is to change the code like this: + +

    + +
    +char buf1[100];
    +sprintf (buf1, "%0" MYPRId64, number);
    +printf (gettext ("The amount is %s\n"), buf1);
    +
    + +

    +This means, you put the platform dependent code in one statement, and the +internationalization code in a different statement. Note that a buffer length +of 100 is safe, because all available hardware integer types are limited to +128 bits, and to print a 128 bit integer one needs at most 54 characters, +regardless whether in decimal, octal or hexadecimal. + +

    +

    + + +All this applies to other programming languages as well. For example, in +Java and C#, string concatenation is very frequently used, because it is a +compiler built-in operator. Like in C, in Java, you would change + +

    + +
    +System.out.println("Replace "+object1+" with "+object2+"?");
    +
    + +

    +into a statement involving a format string: + +

    + +
    +System.out.println(
    +    MessageFormat.format("Replace {0} with {1}?",
    +                         new Object[] { object1, object2 }));
    +
    + +

    +Similarly, in C#, you would change + +

    + +
    +Console.WriteLine("Replace "+object1+" with "+object2+"?");
    +
    + +

    +into a statement involving a format string: + +

    + +
    +Console.WriteLine(
    +    String.Format("Replace {0} with {1}?", object1, object2));
    +
    + +

    + + +Unusual markup or control characters should not be used in translatable +strings. Translators will likely not understand the particular meaning +of the markup or control characters. + +

    +

    +For example, if you have a convention that ‘|’ delimits the +left-hand and right-hand part of some GUI elements, translators will +often not understand it without specific comments. It might be +better to have the translator translate the left-hand and right-hand +part separately. + +

    +

    +Another example is the ‘argp’ convention to use a single ‘\v’ +(vertical tab) control character to delimit two sections inside a +string. This is flawed. Some translators may convert it to a simple +newline, some to blank lines. With some PO file editors it may not be +easy to even enter a vertical tab control character. So, you cannot +be sure that the translation will contain a ‘\v’ character, at the +corresponding position. The solution is, again, to let the translator +translate two separate strings and combine at run-time the two translated +strings with the ‘\v’ required by the convention. + +

    +

    +HTML markup, however, is common enough that it's probably ok to use in +translatable strings. But please bear in mind that the GNU gettext tools +don't verify that the translations are well-formed HTML. + +

    + + +

    4.4 How Marks Appear in Sources

    +

    + + +

    +

    +All strings requiring translation should be marked in the C sources. Marking +is done in such a way that each translatable string appears to be +the sole argument of some function or preprocessor macro. There are +only a few such possible functions or macros meant for translation, +and their names are said to be marking keywords. The marking is +attached to strings themselves, rather than to what we do with them. +This approach has more uses. A blatant example is an error message +produced by formatting. The format string needs translation, as +well as some strings inserted through some ‘%s’ specification +in the format, while the result from sprintf may have so many +different instances that it is impractical to list them all in some +‘error_string_out()’ routine, say. + +

    +

    +This marking operation has two goals. The first goal of marking +is for triggering the retrieval of the translation, at run time. +The keyword is possibly resolved into a routine able to dynamically +return the proper translation, as far as possible or wanted, for the +argument string. Most localizable strings are found in executable +positions, that is, attached to variables or given as parameters to +functions. But this is not universal usage, and some translatable +strings appear in structured initializations. See section 4.7 Special Cases of Translatable Strings. + +

    +

    +The second goal of the marking operation is to help xgettext +at properly extracting all translatable strings when it scans a set +of program sources and produces PO file templates. + +

    +

    +The canonical keyword for marking translatable strings is +‘gettext’, it gave its name to the whole GNU gettext +package. For packages making only light use of the ‘gettext’ +keyword, macro or function, it is easily used as is. However, +for packages using the gettext interface more heavily, it +is usually more convenient to give the main keyword a shorter, less +obtrusive name. Indeed, the keyword might appear on a lot of strings +all over the package, and programmers usually do not want nor need +their program sources to remind them forcefully, all the time, that they +are internationalized. Further, a long keyword has the disadvantage +of using more horizontal space, forcing more indentation work on +sources for those trying to keep them within 79 or 80 columns. + +

    +

    + +Many packages use ‘_’ (a simple underline) as a keyword, +and write ‘_("Translatable string")’ instead of ‘gettext +("Translatable string")’. Further, the coding rule, from GNU standards, +wanting that there is a space between the keyword and the opening +parenthesis is relaxed, in practice, for this particular usage. +So, the textual overhead per translatable string is reduced to +only three characters: the underline and the two parentheses. +However, even if GNU gettext uses this convention internally, +it does not offer it officially. The real, genuine keyword is truly +‘gettext’ indeed. It is fairly easy for those wanting to use +‘_’ instead of ‘gettext’ to declare: + +

    + +
    +#include <libintl.h>
    +#define _(String) gettext (String)
    +
    + +

    +instead of merely using ‘#include <libintl.h>’. + +

    +

    +The marking keywords ‘gettext’ and ‘_’ take the translatable +string as sole argument. It is also possible to define marking functions +that take it at another argument position. It is even possible to make +the marked argument position depend on the total number of arguments of +the function call; this is useful in C++. All this is achieved using +xgettext's ‘--keyword’ option. How to pass such an option +to xgettext, assuming that gettextize is used, is described +in section 13.4.3 ‘Makevars’ in ‘po/’ and section 13.5.6 AM_XGETTEXT_OPTION in ‘po.m4’. + +

    +

    +Note also that long strings can be split across lines, into multiple +adjacent string tokens. Automatic string concatenation is performed +at compile time according to ISO C and ISO C++; xgettext also +supports this syntax. + +

    +

    +Later on, the maintenance is relatively easy. If, as a programmer, +you add or modify a string, you will have to ask yourself if the +new or altered string requires translation, and include it within +‘_()’ if you think it should be translated. For example, ‘"%s"’ +is an example of string not requiring translation. But +‘"%s: %d"’ does require translation, because in French, unlike +in English, it's customary to put a space before a colon. + +

    + + +

    4.5 Marking Translatable Strings

    +

    + + +

    +

    +In PO mode, one set of features is meant more for the programmer than +for the translator, and allows him to interactively mark which strings, +in a set of program sources, are translatable, and which are not. +Even if it is a fairly easy job for a programmer to find and mark +such strings by other means, using any editor of his choice, PO mode +makes this work more comfortable. Further, this gives translators +who feel a little like programmers, or programmers who feel a little +like translators, a tool letting them work at marking translatable +strings in the program sources, while simultaneously producing a set of +translation in some language, for the package being internationalized. + +

    +

    + +The set of program sources, targeted by the PO mode commands describe +here, should have an Emacs tags table constructed for your project, +prior to using these PO file commands. This is easy to do. In any +shell window, change the directory to the root of your project, then +execute a command resembling: + +

    + +
    +etags src/*.[hc] lib/*.[hc]
    +
    + +

    +presuming here you want to process all ‘.h’ and ‘.c’ files +from the ‘src/’ and ‘lib/’ directories. This command will +explore all said files and create a ‘TAGS’ file in your root +directory, somewhat summarizing the contents using a special file +format Emacs can understand. + +

    +

    + +For packages following the GNU coding standards, there is +a make goal tags or TAGS which constructs the tag files in +all directories and for all files containing source code. + +

    +

    +Once your ‘TAGS’ file is ready, the following commands assist +the programmer at marking translatable strings in his set of sources. +But these commands are necessarily driven from within a PO file +window, and it is likely that you do not even have such a PO file yet. +This is not a problem at all, as you may safely open a new, empty PO +file, mainly for using these commands. This empty PO file will slowly +fill in while you mark strings as translatable in your program sources. + +

    +
    + +
    , +
    + +Search through program sources for a string which looks like a +candidate for translation (po-tags-search). + +
    M-, +
    + +Mark the last string found with ‘_()’ (po-mark-translatable). + +
    M-. +
    + +Mark the last string found with a keyword taken from a set of possible +keywords. This command with a prefix allows some management of these +keywords (po-select-mark-and-mark). + +
    + +

    + +The , (po-tags-search) command searches for the next +occurrence of a string which looks like a possible candidate for +translation, and displays the program source in another Emacs window, +positioned in such a way that the string is near the top of this other +window. If the string is too big to fit whole in this window, it is +positioned so only its end is shown. In any case, the cursor +is left in the PO file window. If the shown string would be better +presented differently in different native languages, you may mark it +using M-, or M-.. Otherwise, you might rather ignore it +and skip to the next string by merely repeating the , command. + +

    +

    +A string is a good candidate for translation if it contains a sequence +of three or more letters. A string containing at most two letters in +a row will be considered as a candidate if it has more letters than +non-letters. The command disregards strings containing no letters, +or isolated letters only. It also disregards strings within comments, +or strings already marked with some keyword PO mode knows (see below). + +

    +

    +If you have never told Emacs about some ‘TAGS’ file to use, the +command will request that you specify one from the minibuffer, the +first time you use the command. You may later change your ‘TAGS’ +file by using the regular Emacs command M-x visit-tags-table, +which will ask you to name the precise ‘TAGS’ file you want +to use. See section ‘Tag Tables’ in The Emacs Editor. + +

    +

    +Each time you use the , command, the search resumes from where it was +left by the previous search, and goes through all program sources, +obeying the ‘TAGS’ file, until all sources have been processed. +However, by giving a prefix argument to the command (C-u +,), you may request that the search be restarted all over again +from the first program source; but in this case, strings that you +recently marked as translatable will be automatically skipped. + +

    +

    +Using this , command does not prevent using of other regular +Emacs tags commands. For example, regular tags-search or +tags-query-replace commands may be used without disrupting the +independent , search sequence. However, as implemented, the +initial , command (or the , command is used with a +prefix) might also reinitialize the regular Emacs tags searching to the +first tags file, this reinitialization might be considered spurious. + +

    +

    + + +The M-, (po-mark-translatable) command will mark the +recently found string with the ‘_’ keyword. The M-. +(po-select-mark-and-mark) command will request that you type +one keyword from the minibuffer and use that keyword for marking +the string. Both commands will automatically create a new PO file +untranslated entry for the string being marked, and make it the +current entry (making it easy for you to immediately proceed to its +translation, if you feel like doing it right away). It is possible +that the modifications made to the program source by M-, or +M-. render some source line longer than 80 columns, forcing you +to break and re-indent this line differently. You may use the O +command from PO mode, or any other window changing command from +Emacs, to break out into the program source window, and do any +needed adjustments. You will have to use some regular Emacs command +to return the cursor to the PO file window, if you want command +, for the next string, say. + +

    +

    +The M-. command has a few built-in speedups, so you do not +have to explicitly type all keywords all the time. The first such +speedup is that you are presented with a preferred keyword, +which you may accept by merely typing RET at the prompt. +The second speedup is that you may type any non-ambiguous prefix of the +keyword you really mean, and the command will complete it automatically +for you. This also means that PO mode has to know all +your possible keywords, and that it will not accept mistyped keywords. + +

    +

    +If you reply ? to the keyword request, the command gives a +list of all known keywords, from which you may choose. When the +command is prefixed by an argument (C-u M-.), it inhibits +updating any program source or PO file buffer, and does some simple +keyword management instead. In this case, the command asks for a +keyword, written in full, which becomes a new allowed keyword for +later M-. commands. Moreover, this new keyword automatically +becomes the preferred keyword for later commands. By typing +an already known keyword in response to C-u M-., one merely +changes the preferred keyword and does nothing more. + +

    +

    +All keywords known for M-. are recognized by the , command +when scanning for strings, and strings already marked by any of those +known keywords are automatically skipped. If many PO files are opened +simultaneously, each one has its own independent set of known keywords. +There is no provision in PO mode, currently, for deleting a known +keyword, you have to quit the file (maybe using q) and reopen +it afresh. When a PO file is newly brought up in an Emacs window, only +‘gettext’ and ‘_’ are known as keywords, and ‘gettext’ +is preferred for the M-. command. In fact, this is not useful to +prefer ‘_’, as this one is already built in the M-, command. + +

    + + +

    4.6 Special Comments preceding Keywords

    + +

    + +In C programs strings are often used within calls of functions from the +printf family. The special thing about these format strings is +that they can contain format specifiers introduced with %. Assume +we have the code + +

    + +
    +printf (gettext ("String `%s' has %d characters\n"), s, strlen (s));
    +
    + +

    +A possible German translation for the above string might be: + +

    + +
    +"%d Zeichen lang ist die Zeichenkette `%s'"
    +
    + +

    +A C programmer, even if he cannot speak German, will recognize that +there is something wrong here. The order of the two format specifiers +is changed but of course the arguments in the printf don't have. +This will most probably lead to problems because now the length of the +string is regarded as the address. + +

    +

    +To prevent errors at runtime caused by translations the msgfmt +tool can check statically whether the arguments in the original and the +translation string match in type and number. If this is not the case +and the ‘-c’ option has been passed to msgfmt, msgfmt +will give an error and refuse to produce a MO file. Thus consequent +use of ‘msgfmt -c’ will catch the error, so that it cannot cause +cause problems at runtime. + +

    +

    +If the word order in the above German translation would be correct one +would have to write + +

    + +
    +"%2$d Zeichen lang ist die Zeichenkette `%1$s'"
    +
    + +

    +The routines in msgfmt know about this special notation. + +

    +

    +Because not all strings in a program must be format strings it is not +useful for msgfmt to test all the strings in the ‘.po’ file. +This might cause problems because the string might contain what looks +like a format specifier, but the string is not used in printf. + +

    +

    +Therefore the xgettext adds a special tag to those messages it +thinks might be a format string. There is no absolute rule for this, +only a heuristic. In the ‘.po’ file the entry is marked using the +c-format flag in the #, comment line (see section 3 The Format of PO Files). + +

    +

    + + +The careful reader now might say that this again can cause problems. +The heuristic might guess it wrong. This is true and therefore +xgettext knows about a special kind of comment which lets +the programmer take over the decision. If in the same line as or +the immediately preceding line to the gettext keyword +the xgettext program finds a comment containing the words +xgettext:c-format, it will mark the string in any case with +the c-format flag. This kind of comment should be used when +xgettext does not recognize the string as a format string but +it really is one and it should be tested. Please note that when the +comment is in the same line as the gettext keyword, it must be +before the string to be translated. + +

    +

    +This situation happens quite often. The printf function is often +called with strings which do not contain a format specifier. Of course +one would normally use fputs but it does happen. In this case +xgettext does not recognize this as a format string but what +happens if the translation introduces a valid format specifier? The +printf function will try to access one of the parameters but none +exists because the original code does not pass any parameters. + +

    +

    +xgettext of course could make a wrong decision the other way +round, i.e. a string marked as a format string actually is not a format +string. In this case the msgfmt might give too many warnings and +would prevent translating the ‘.po’ file. The method to prevent +this wrong decision is similar to the one used above, only the comment +to use must contain the string xgettext:no-c-format. + +

    +

    +If a string is marked with c-format and this is not correct the +user can find out who is responsible for the decision. See +section 5.1 Invoking the xgettext Program to see how the --debug option can be +used for solving this problem. + +

    + + +

    4.7 Special Cases of Translatable Strings

    + +

    + +The attentive reader might now point out that it is not always possible +to mark translatable string with gettext or something like this. +Consider the following case: + +

    + +
    +{
    +  static const char *messages[] = {
    +    "some very meaningful message",
    +    "and another one"
    +  };
    +  const char *string;
    +  ...
    +  string
    +    = index > 1 ? "a default message" : messages[index];
    +
    +  fputs (string);
    +  ...
    +}
    +
    + +

    +While it is no problem to mark the string "a default message" it +is not possible to mark the string initializers for messages. +What is to be done? We have to fulfill two tasks. First we have to mark the +strings so that the xgettext program (see section 5.1 Invoking the xgettext Program) +can find them, and second we have to translate the string at runtime +before printing them. + +

    +

    +The first task can be fulfilled by creating a new keyword, which names a +no-op. For the second we have to mark all access points to a string +from the array. So one solution can look like this: + +

    + +
    +#define gettext_noop(String) String
    +
    +{
    +  static const char *messages[] = {
    +    gettext_noop ("some very meaningful message"),
    +    gettext_noop ("and another one")
    +  };
    +  const char *string;
    +  ...
    +  string
    +    = index > 1 ? gettext ("a default message") : gettext (messages[index]);
    +
    +  fputs (string);
    +  ...
    +}
    +
    + +

    +Please convince yourself that the string which is written by +fputs is translated in any case. How to get xgettext know +the additional keyword gettext_noop is explained in section 5.1 Invoking the xgettext Program. + +

    +

    +The above is of course not the only solution. You could also come along +with the following one: + +

    + +
    +#define gettext_noop(String) String
    +
    +{
    +  static const char *messages[] = {
    +    gettext_noop ("some very meaningful message",
    +    gettext_noop ("and another one")
    +  };
    +  const char *string;
    +  ...
    +  string
    +    = index > 1 ? gettext_noop ("a default message") : messages[index];
    +
    +  fputs (gettext (string));
    +  ...
    +}
    +
    + +

    +But this has a drawback. The programmer has to take care that +he uses gettext_noop for the string "a default message". +A use of gettext could have in rare cases unpredictable results. + +

    +

    +One advantage is that you need not make control flow analysis to make +sure the output is really translated in any case. But this analysis is +generally not very difficult. If it should be in any situation you can +use this second method in this situation. + +

    + + +

    4.8 Letting Users Report Translation Bugs

    + +

    +Code sometimes has bugs, but translations sometimes have bugs too. The +users need to be able to report them. Reporting translation bugs to the +programmer or maintainer of a package is not very useful, since the +maintainer must never change a translation, except on behalf of the +translator. Hence the translation bugs must be reported to the +translators. + +

    +

    +Here is a way to organize this so that the maintainer does not need to +forward translation bug reports, nor even keep a list of the addresses of +the translators or their translation teams. + +

    +

    +Every program has a place where is shows the bug report address. For +GNU programs, it is the code which handles the “--help” option, +typically in a function called “usage”. In this place, instruct the +translator to add her own bug reporting address. For example, if that +code has a statement + +

    + +
    +printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
    +
    + +

    +you can add some translator instructions like this: + +

    + +
    +/* TRANSLATORS: The placeholder indicates the bug-reporting address
    +   for this package.  Please add _another line_ saying
    +   "Report translation bugs to <...>\n" with the address for translation
    +   bugs (typically your translation team's web or email address).  */
    +printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
    +
    + +

    +These will be extracted by ‘xgettext’, leading to a .pot file that +contains this: + +

    + +
    +#. TRANSLATORS: The placeholder indicates the bug-reporting address
    +#. for this package.  Please add _another line_ saying
    +#. "Report translation bugs to <...>\n" with the address for translation
    +#. bugs (typically your translation team's web or email address).
    +#: src/hello.c:178
    +#, c-format
    +msgid "Report bugs to <%s>.\n"
    +msgstr ""
    +
    + + + +

    4.9 Marking Proper Names for Translation

    + +

    +Should names of persons, cities, locations etc. be marked for translation +or not? People who only know languages that can be written with Latin +letters (English, Spanish, French, German, etc.) are tempted to say “no”, +because names usually do not change when transported between these languages. +However, in general when translating from one script to another, names +are translated too, usually phonetically or by transliteration. For +example, Russian or Greek names are converted to the Latin alphabet when +being translated to English, and English or French names are converted +to the Katakana script when being translated to Japanese. This is +necessary because the speakers of the target language in general cannot +read the script the name is originally written in. + +

    +

    +As a programmer, you should therefore make sure that names are marked +for translation, with a special comment telling the translators that it +is a proper name and how to pronounce it. In its simple form, it looks +like this: + +

    + +
    +printf (_("Written by %s.\n"),
    +        /* TRANSLATORS: This is a proper name.  See the gettext
    +           manual, section Names.  Note this is actually a non-ASCII
    +           name: The first name is (with Unicode escapes)
    +           "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
    +           Pronunciation is like "fraa-swa pee-nar".  */
    +        _("Francois Pinard"));
    +
    + +

    +The GNU gnulib library offers a module ‘propername’ +(http://www.gnu.org/software/gnulib/MODULES.html#module=propername) +which takes care to automatically append the original name, in parentheses, +to the translated name. For names that cannot be written in ASCII, it +also frees the translator from the task of entering the appropriate non-ASCII +characters if no script change is needed. In this more comfortable form, +it looks like this: + +

    + +
    +printf (_("Written by %s and %s.\n"),
    +        proper_name ("Ulrich Drepper"),
    +        /* TRANSLATORS: This is a proper name.  See the gettext
    +           manual, section Names.  Note this is actually a non-ASCII
    +           name: The first name is (with Unicode escapes)
    +           "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
    +           Pronunciation is like "fraa-swa pee-nar".  */
    +        proper_name_utf8 ("Francois Pinard", "Fran\303\247ois Pinard"));
    +
    + +

    +You can also write the original name directly in Unicode (rather than with +Unicode escapes or HTML entities) and denote the pronunciation using the +International Phonetic Alphabet (see +http://www.wikipedia.org/wiki/International_Phonetic_Alphabet). + +

    +

    +As a translator, you should use some care when translating names, because +it is frustrating if people see their names mutilated or distorted. + +

    +

    +If your language uses the Latin script, all you need to do is to reproduce +the name as perfectly as you can within the usual character set of your +language. In this particular case, this means to provide a translation +containing the c-cedilla character. If your language uses a different +script and the people speaking it don't usually read Latin words, it means +transliteration. If the programmer used the simple case, you should still +give, in parentheses, the original writing of the name -- for the sake of +the people that do read the Latin script. If the programmer used the +‘propername’ module mentioned above, you don't need to give the original +writing of the name in parentheses, because the program will already do so. +Here is an example, using Greek as the target script: + +

    + +
    +#. This is a proper name.  See the gettext
    +#. manual, section Names.  Note this is actually a non-ASCII
    +#. name: The first name is (with Unicode escapes)
    +#. "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
    +#. Pronunciation is like "fraa-swa pee-nar".
    +msgid "Francois Pinard"
    +msgstr "\phi\rho\alpha\sigma\omicron\alpha \pi\iota\nu\alpha\rho"
    +       " (Francois Pinard)"
    +
    + +

    +Because translation of names is such a sensitive domain, it is a good +idea to test your translation before submitting it. + +

    + + +

    4.10 Preparing Library Sources

    + +

    +When you are preparing a library, not a program, for the use of +gettext, only a few details are different. Here we assume that +the library has a translation domain and a POT file of its own. (If +it uses the translation domain and POT file of the main program, then +the previous sections apply without changes.) + +

    + +
      +
    1. + +The library code doesn't call setlocale (LC_ALL, ""). It's the +responsibility of the main program to set the locale. The library's +documentation should mention this fact, so that developers of programs +using the library are aware of it. + +
    2. + +The library code doesn't call textdomain (PACKAGE), because it +would interfere with the text domain set by the main program. + +
    3. + +The initialization code for a program was + + +
      +  setlocale (LC_ALL, "");
      +  bindtextdomain (PACKAGE, LOCALEDIR);
      +  textdomain (PACKAGE);
      +
      + +For a library it is reduced to + + +
      +  bindtextdomain (PACKAGE, LOCALEDIR);
      +
      + +If your library's API doesn't already have an initialization function, +you need to create one, containing at least the bindtextdomain +invocation. However, you usually don't need to export and document this +initialization function: It is sufficient that all entry points of the +library call the initialization function if it hasn't been called before. +The typical idiom used to achieve this is a static boolean variable that +indicates whether the initialization function has been called. Like this: + + +
      +static bool libfoo_initialized;
      +
      +static void
      +libfoo_initialize (void)
      +{
      +  bindtextdomain (PACKAGE, LOCALEDIR);
      +  libfoo_initialized = true;
      +}
      +
      +/* This function is part of the exported API.  */
      +struct foo *
      +create_foo (...)
      +{
      +  /* Must ensure the initialization is performed.  */
      +  if (!libfoo_initialized)
      +    libfoo_initialize ();
      +  ...
      +}
      +
      +/* This function is part of the exported API.  The argument must be
      +   non-NULL and have been created through create_foo().  */
      +int
      +foo_refcount (struct foo *argument)
      +{
      +  /* No need to invoke the initialization function here, because
      +     create_foo() must already have been called before.  */
      +  ...
      +}
      +
      + +
    4. + +The usual declaration of the ‘_’ macro in each source file was + + +
      +#include <libintl.h>
      +#define _(String) gettext (String)
      +
      + +for a program. For a library, which has its own translation domain, +it reads like this: + + +
      +#include <libintl.h>
      +#define _(String) dgettext (PACKAGE, String)
      +
      + +In other words, dgettext is used instead of gettext. +Similarly, the dngettext function should be used in place of the +ngettext function. +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_5.html b/mingw/share/doc/gettext/gettext_5.html new file mode 100644 index 00000000..3e33dec8 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_5.html @@ -0,0 +1,695 @@ + + + + + +GNU gettext utilities - 5 Making the PO Template File + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    5 Making the PO Template File

    +

    + + +

    +

    +After preparing the sources, the programmer creates a PO template file. +This section explains how to use xgettext for this purpose. + +

    +

    +xgettext creates a file named domainname.po’. You +should then rename it to domainname.pot’. (Why doesn't +xgettext create it under the name domainname.pot’ +right away? The answer is: for historical reasons. When xgettext +was specified, the distinction between a PO file and PO file template +was fuzzy, and the suffix ‘.pot’ wasn't in use at that time.) + +

    + + + +

    5.1 Invoking the xgettext Program

    + +

    + + + +

    +xgettext [option] [inputfile] ...
    +
    + +

    +The xgettext program extracts translatable strings from given +input files. + +

    + + +

    5.1.1 Input file location

    + +
    + +
    inputfile ...’ +
    +Input files. + +
    ‘-f file +
    +
    ‘--files-from=file +
    + + +Read the names of the input files from file instead of getting +them from the command line. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If inputfile is ‘-’, standard input is read. + +

    + + +

    5.1.2 Output file location

    + +
    + +
    ‘-d name +
    +
    ‘--default-domain=name +
    + + +Use name.po’ for output (instead of ‘messages.po’). + +
    ‘-o file +
    +
    ‘--output=file +
    + + +Write output to specified file (instead of name.po’ or +‘messages.po’). + +
    ‘-p dir +
    +
    ‘--output-dir=dir +
    + + +Output files will be placed in directory dir. + +
    + +

    + +If the output file is ‘-’ or ‘/dev/stdout’, the output +is written to standard output. + +

    + + +

    5.1.3 Choice of input file language

    + +
    + +
    ‘-L name +
    +
    ‘--language=name +
    + + + +Specifies the language of the input files. The supported languages +are C, C++, ObjectiveC, PO, Python, +Lisp, EmacsLisp, librep, Scheme, Smalltalk, +Java, JavaProperties, C#, awk, YCP, +Tcl, Perl, PHP, GCC-source, NXStringTable, +RST, Glade. + +
    ‘-C’ +
    +
    ‘--c++’ +
    + + +This is a shorthand for --language=C++. + +
    + +

    +By default the language is guessed depending on the input file name +extension. + +

    + + +

    5.1.4 Input file interpretation

    + +
    + +
    ‘--from-code=name +
    + +Specifies the encoding of the input files. This option is needed only +if some untranslated message strings or their corresponding comments +contain non-ASCII characters. Note that Tcl and Glade input files are +always assumed to be in UTF-8, regardless of this option. + +
    + +

    +By default the input files are assumed to be in ASCII. + +

    + + +

    5.1.5 Operation mode

    + +
    + +
    ‘-j’ +
    +
    ‘--join-existing’ +
    + + +Join messages with existing file. + +
    ‘-x file +
    +
    ‘--exclude-file=file +
    + + +Entries from file are not extracted. file should be a PO or +POT file. + +
    ‘-c[tag]’ +
    +
    ‘--add-comments[=tag]’ +
    + + +Place comment blocks starting with tag and preceding keyword lines +in the output file. Without a tag, the option means to put all +comment blocks preceding keyword lines in the output file. + +
    + + + +

    5.1.6 Language specific options

    + +
    + +
    ‘-a’ +
    +
    ‘--extract-all’ +
    + + +Extract all strings. + +This option has an effect with most languages, namely C, C++, ObjectiveC, +Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, Tcl, Perl, PHP, +GCC-source, Glade. + +
    ‘-k[keywordspec]’ +
    +
    ‘--keyword[=keywordspec]’ +
    + + +Specify keywordspec as an additional keyword to be looked for. +Without a keywordspec, the option means to not use default keywords. + + + +If keywordspec is a C identifier id, xgettext looks +for strings in the first argument of each call to the function or macro +id. If keywordspec is of the form +id:argnum, xgettext looks for strings in the +argnumth argument of the call. If keywordspec is of the form +id:argnum1,argnum2, xgettext looks for +strings in the argnum1st argument and in the argnum2nd argument +of the call, and treats them as singular/plural variants for a message +with plural handling. Also, if keywordspec is of the form +id:contextargnumc,argnum or +id:argnum,contextargnumc’, xgettext treats +strings in the contextargnumth argument as a context specifier. +And, as a special-purpose support for GNOME, if keywordspec is of the +form id:argnumg’, xgettext recognizes the +argnumth argument as a string with context, using the GNOME glib +syntax ‘"msgctxt|msgid"’. +
    +Furthermore, if keywordspec is of the form +id:...,totalnumargst’, xgettext recognizes this +argument specification only if the number of actual arguments is equal to +totalnumargs. This is useful for disambiguating overloaded function +calls in C++. +
    +Finally, if keywordspec is of the form +id:argnum...,"xcomment"’, xgettext, when +extracting a message from the specified argument strings, adds an extracted +comment xcomment to the message. Note that when used through a normal +shell command line, the double-quotes around the xcomment need to be +escaped. + +This option has an effect with most languages, namely C, C++, ObjectiveC, +Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, Tcl, Perl, PHP, +GCC-source, Glade. + +The default keyword specifications, which are always looked for if not +explicitly disabled, are language dependent. They are: + + +
      +
    • + +For C, C++, and GCC-source: gettext, dgettext:2, +dcgettext:2, ngettext:1,2, dngettext:2,3, +dcngettext:2,3, gettext_noop, and pgettext:1c,2, +dpgettext:2c,3, dcpgettext:2c,3, npgettext:1c,2,3, +dnpgettext:2c,3,4, dcnpgettext:2c,3,4. + +
    • + +For Objective C: Like for C, and also NSLocalizedString, _, +NSLocalizedStaticString, __. + +
    • + +For Shell scripts: gettext, ngettext:1,2, eval_gettext, +eval_ngettext:1,2. + +
    • + +For Python: gettext, ugettext, dgettext:2, +ngettext:1,2, ungettext:1,2, dngettext:2,3, _. + +
    • + +For Lisp: gettext, ngettext:1,2, gettext-noop. + +
    • + +For EmacsLisp: _. + +
    • + +For librep: _. + +
    • + +For Scheme: gettext, ngettext:1,2, gettext-noop. + +
    • + +For Java: GettextResource.gettext:2, +GettextResource.ngettext:2,3, GettextResource.pgettext:2c,3, +GettextResource.npgettext:2c,3,4, gettext, ngettext:1,2, +pgettext:1c,2, npgettext:1c,2,3, getString. + +
    • + +For C#: GetString, GetPluralString:1,2, +GetParticularString:1c,2, GetParticularPluralString:1c,2,3. + +
    • + +For awk: dcgettext, dcngettext:1,2. + +
    • + +For Tcl: ::msgcat::mc. + +
    • + +For Perl: gettext, %gettext, $gettext, dgettext:2, +dcgettext:2, ngettext:1,2, dngettext:2,3, +dcngettext:2,3, gettext_noop. + +
    • + +For PHP: _, gettext, dgettext:2, dcgettext:2, +ngettext:1,2, dngettext:2,3, dcngettext:2,3. + +
    • + +For Glade 1: label, title, text, format, +copyright, comments, preview_text, tooltip. +
    + +To disable the default keyword specifications, the option ‘-k’ or +‘--keyword’ or ‘--keyword=’, without a keywordspec, can be +used. + +
    ‘--flag=word:arg:flag +
    + +Specifies additional flags for strings occurring as part of the argth +argument of the function word. The possible flags are the possible +format string indicators, such as ‘c-format’, and their negations, +such as ‘no-c-format’, possibly prefixed with ‘pass-’. +
    + +The meaning of --flag=function:arg:lang-format +is that in language lang, the specified function expects as +argth argument a format string. (For those of you familiar with +GCC function attributes, --flag=function:arg:c-format is +roughly equivalent to the declaration +‘__attribute__ ((__format__ (__printf__, arg, ...)))’ attached +to function in a C source file.) +For example, if you use the ‘error’ function from GNU libc, you can +specify its behaviour through --flag=error:3:c-format. The effect of +this specification is that xgettext will mark as format strings all +gettext invocations that occur as argth argument of +function. +This is useful when such strings contain no format string directives: +together with the checks done by ‘msgfmt -c’ it will ensure that +translators cannot accidentally use format string directives that would +lead to a crash at runtime. +
    + +The meaning of --flag=function:arg:pass-lang-format +is that in language lang, if the function call occurs in a +position that must yield a format string, then its argth argument +must yield a format string of the same type as well. (If you know GCC +function attributes, the --flag=function:arg:pass-c-format +option is roughly equivalent to the declaration +‘__attribute__ ((__format_arg__ (arg)))’ attached to function +in a C source file.) +For example, if you use the ‘_’ shortcut for the gettext function, +you should use --flag=_:1:pass-c-format. The effect of this +specification is that xgettext will propagate a format string +requirement for a _("string") call to its first argument, the literal +"string", and thus mark it as a format string. +This is useful when such strings contain no format string directives: +together with the checks done by ‘msgfmt -c’ it will ensure that +translators cannot accidentally use format string directives that would +lead to a crash at runtime. +
    +This option has an effect with most languages, namely C, C++, ObjectiveC, +Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, YCP, Tcl, Perl, PHP, +GCC-source. + +
    ‘-T’ +
    +
    ‘--trigraphs’ +
    + + + +Understand ANSI C trigraphs for input. +
    +This option has an effect only with the languages C, C++, ObjectiveC. + +
    ‘--qt’ +
    + + +Recognize Qt format strings. +
    +This option has an effect only with the language C++. + +
    ‘--kde’ +
    + + +Recognize KDE 4 format strings. +
    +This option has an effect only with the language C++. + +
    ‘--boost’ +
    + + +Recognize Boost format strings. +
    +This option has an effect only with the language C++. + +
    ‘--debug’ +
    + + +Use the flags c-format and possible-c-format to show who was +responsible for marking a message as a format string. The latter form is +used if the xgettext program decided, the format form is used if +the programmer prescribed it. + +By default only the c-format form is used. The translator should +not have to care about these details. + +
    + +

    +This implementation of xgettext is able to process a few awkward +cases, like strings in preprocessor macros, ANSI concatenation of +adjacent strings, and escaped end of lines for continued strings. + +

    + + +

    5.1.7 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if no message is defined. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. Note that using +this option makes it harder for technically skilled translators to understand +each message's context. + +
    ‘-n’ +
    +
    ‘--add-location’ +
    + + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘--properties-output’ +
    + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    ‘--omit-header’ +
    + +Don't write header with ‘msgid ""’ entry. + + +This is useful for testing purposes because it eliminates a source +of variance for generated .gmo files. With --omit-header, +two invocations of xgettext on the same files with the same +options at different times are guaranteed to produce the same results. + +Note that using this option will lead to an error if the resulting file +would not entirely be in ASCII. + +
    ‘--copyright-holder=string +
    + +Set the copyright holder in the output. string should be the +copyright holder of the surrounding package. (Note that the msgstr +strings, extracted from the package's sources, belong to the copyright +holder of the package.) Translators are expected to transfer or disclaim +the copyright for their translations, so that package maintainers can +distribute them without legal risk. If string is empty, the output +files are marked as being in the public domain; in this case, the translators +are expected to disclaim their copyright, again so that package maintainers +can distribute them without legal risk. + +The default value for string is the Free Software Foundation, Inc., +simply because xgettext was first used in the GNU project. + +
    ‘--foreign-user’ +
    + +Omit FSF copyright in output. This option is equivalent to +‘--copyright-holder=”’. It can be useful for packages outside the GNU +project that want their translations to be in the public domain. + +
    ‘--package-name=package +
    + +Set the package name in the header of the output. + +
    ‘--package-version=version +
    + +Set the package version in the header of the output. This option has an +effect only if the ‘--package-name’ option is also used. + +
    ‘--msgid-bugs-address=email@address +
    + +Set the reporting address for msgid bugs. This is the email address or URL +to which the translators shall report bugs in the untranslated strings: + + +
      +
    • Strings which are not entire sentences, see the maintainer guidelines + +in section 4.3 Preparing Translatable Strings. +
    • Strings which use unclear terms or require additional context to be + +understood. +
    • Strings which make invalid assumptions about notation of date, time or + +money. +
    • Pluralisation problems. + +
    • Incorrect English spelling. + +
    • Incorrect formatting. + +
    + +It can be your email address, or a mailing list address where translators +can write to without being subscribed, or the URL of a web page through +which the translators can contact you. + +The default value is empty, which means that translators will be clueless! +Don't forget to specify this option. + +
    ‘-m[string]’ +
    +
    ‘--msgstr-prefix[=string]’ +
    + + +Use string (or "" if not specified) as prefix for msgstr values. + +
    ‘-M[string]’ +
    +
    ‘--msgstr-suffix[=string]’ +
    + + +Use string (or "" if not specified) as suffix for msgstr values. + +
    + + + +

    5.1.8 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_6.html b/mingw/share/doc/gettext/gettext_6.html new file mode 100644 index 00000000..6a38a685 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_6.html @@ -0,0 +1,503 @@ + + + + + +GNU gettext utilities - 6 Creating a New PO File + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    6 Creating a New PO File

    +

    + + +

    +

    +When starting a new translation, the translator creates a file called +LANG.po’, as a copy of the package.pot’ template +file with modifications in the initial comments (at the beginning of the file) +and in the header entry (the first entry, near the beginning of the file). + +

    +

    +The easiest way to do so is by use of the ‘msginit’ program. +For example: + +

    + +
    +$ cd PACKAGE-VERSION
    +$ cd po
    +$ msginit
    +
    + +

    +The alternative way is to do the copy and modifications by hand. +To do so, the translator copies package.pot’ to +LANG.po’. Then she modifies the initial comments and +the header entry of this file. + +

    + + + +

    6.1 Invoking the msginit Program

    + +

    + + + +

    +msginit [option]
    +
    + +

    + + +The msginit program creates a new PO file, initializing the meta +information with values from the user's environment. + +

    + + +

    6.1.1 Input file location

    + +
    + +
    ‘-i inputfile +
    +
    ‘--input=inputfile +
    + + +Input POT file. + +
    + +

    +If no inputfile is given, the current directory is searched for the +POT file. If it is ‘-’, standard input is read. + +

    + + +

    6.1.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified PO file. + +
    + +

    +If no output file is given, it depends on the ‘--locale’ option or the +user's locale setting. If it is ‘-’, the results are written to +standard output. + +

    + + +

    6.1.3 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    6.1.4 Output details

    + +
    + +
    ‘-l ll_CC +
    +
    ‘--locale=ll_CC +
    + + +Set target locale. ll should be a language code, and CC should +be a country code. The command ‘locale -a’ can be used to output a list +of all installed locales. The default is the user's locale setting. + +
    ‘--no-translator’ +
    + +Declares that the PO file will not have a human translator and is instead +automatically generated. + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    + + + +

    6.1.5 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    6.2 Filling in the Header Entry

    +

    + + +

    +

    +The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and +"FIRST AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible +information. This can be done in any text editor; if Emacs is used +and it switched to PO mode automatically (because it has recognized +the file's suffix), you can disable it by typing M-x fundamental-mode. + +

    +

    +Modifying the header entry can already be done using PO mode: in Emacs, +type M-x po-mode RET and then RET again to start editing the +entry. You should fill in the following fields. + +

    +
    + +
    Project-Id-Version +
    +This is the name and version of the package. Fill it in if it has not +already been filled in by xgettext. + +
    Report-Msgid-Bugs-To +
    +This has already been filled in by xgettext. It contains an email +address or URL where you can report bugs in the untranslated strings: + + +
      +
    • Strings which are not entire sentences, see the maintainer guidelines + +in section 4.3 Preparing Translatable Strings. +
    • Strings which use unclear terms or require additional context to be + +understood. +
    • Strings which make invalid assumptions about notation of date, time or + +money. +
    • Pluralisation problems. + +
    • Incorrect English spelling. + +
    • Incorrect formatting. + +
    + +
    POT-Creation-Date +
    +This has already been filled in by xgettext. + +
    PO-Revision-Date +
    +You don't need to fill this in. It will be filled by the PO file editor +when you save the file. + +
    Last-Translator +
    +Fill in your name and email address (without double quotes). + +
    Language-Team +
    +Fill in the English name of the language, and the email address or +homepage URL of the language team you are part of. + +Before starting a translation, it is a good idea to get in touch with +your translation team, not only to make sure you don't do duplicated work, +but also to coordinate difficult linguistic issues. + + +In the Free Translation Project, each translation team has its own mailing +list. The up-to-date list of teams can be found at the Free Translation +Project's homepage, http://translationproject.org/, in the "Teams" +area. + +
    Language +
    +Fill in the language code of the language. This can be in one of three +forms: + + +
      +
    • + +ll, an ISO 639 two-letter language code (lowercase). +See section A Language Codes for the list of codes. + +
    • + +ll_CC, where ll is an ISO 639 two-letter +language code (lowercase) and CC is an ISO 3166 two-letter +country code (uppercase). The country code specification is not redundant: +Some languages have dialects in different countries. For example, +‘de_AT’ is used for Austria, and ‘pt_BR’ for Brazil. The country +code serves to distinguish the dialects. See section A Language Codes and +section B Country Codes for the lists of codes. + +
    • + +ll_CC@variant, where ll is an +ISO 639 two-letter language code (lowercase), CC is an +ISO 3166 two-letter country code (uppercase), and variant is +a variant designator. The variant designator (lowercase) can be a script +designator, such as ‘latin’ or ‘cyrillic’. +
    + +The naming convention ll_CC is also the way locales are +named on systems based on GNU libc. But there are three important differences: + + +
      +
    • + +In this PO file field, but not in locale names, ll_CC +combinations denoting a language's main dialect are abbreviated as +ll. For example, ‘de’ is equivalent to ‘de_DE’ +(German as spoken in Germany), and ‘pt’ to ‘pt_PT’ (Portuguese as +spoken in Portugal) in this context. + +
    • + +In this PO file field, suffixes like ‘.encoding are not used. + +
    • + +In this PO file field, variant designators that are not relevant to message +translation, such as ‘@euro’, are not used. +
    + +So, if your locale name is ‘de_DE.UTF-8’, the language specification in +PO files is just ‘de’. + +
    Content-Type +
    + + +Replace ‘CHARSET’ with the character encoding used for your language, +in your locale, or UTF-8. This field is needed for correct operation of the +msgmerge and msgfmt programs, as well as for users whose +locale's character encoding differs from yours (see section 11.2.4 How to specify the output character set gettext uses). + + +You get the character encoding of your locale by running the shell command +‘locale charmap’. If the result is ‘C’ or ‘ANSI_X3.4-1968’, +which is equivalent to ‘ASCII’ (= ‘US-ASCII’), it means that your +locale is not correctly configured. In this case, ask your translation +team which charset to use. ‘ASCII’ is not usable for any language +except Latin. + + +Because the PO files must be portable to operating systems with less advanced +internationalization facilities, the character encodings that can be used +are limited to those supported by both GNU libc and GNU +libiconv. These are: +ASCII, ISO-8859-1, ISO-8859-2, ISO-8859-3, +ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, +ISO-8859-8, ISO-8859-9, ISO-8859-13, ISO-8859-14, +ISO-8859-15, +KOI8-R, KOI8-U, KOI8-T, +CP850, CP866, CP874, +CP932, CP949, CP950, CP1250, CP1251, +CP1252, CP1253, CP1254, CP1255, CP1256, +CP1257, GB2312, EUC-JP, EUC-KR, EUC-TW, +BIG5, BIG5-HKSCS, GBK, GB18030, SHIFT_JIS, +JOHAB, TIS-620, VISCII, GEORGIAN-PS, UTF-8. + + +In the GNU system, the following encodings are frequently used for the +corresponding languages. + + + +
      +
    • ISO-8859-1 for + +Afrikaans, Albanian, Basque, Breton, Catalan, Cornish, Danish, Dutch, +English, Estonian, Faroese, Finnish, French, Galician, German, +Greenlandic, Icelandic, Indonesian, Irish, Italian, Malay, Manx, +Norwegian, Occitan, Portuguese, Spanish, Swedish, Tagalog, Uzbek, +Walloon, +
    • ISO-8859-2 for + +Bosnian, Croatian, Czech, Hungarian, Polish, Romanian, Serbian, Slovak, +Slovenian, +
    • ISO-8859-3 for Maltese, + +
    • ISO-8859-5 for Macedonian, Serbian, + +
    • ISO-8859-6 for Arabic, + +
    • ISO-8859-7 for Greek, + +
    • ISO-8859-8 for Hebrew, + +
    • ISO-8859-9 for Turkish, + +
    • ISO-8859-13 for Latvian, Lithuanian, Maori, + +
    • ISO-8859-14 for Welsh, + +
    • ISO-8859-15 for + +Basque, Catalan, Dutch, English, Finnish, French, Galician, German, Irish, +Italian, Portuguese, Spanish, Swedish, Walloon, +
    • KOI8-R for Russian, + +
    • KOI8-U for Ukrainian, + +
    • KOI8-T for Tajik, + +
    • CP1251 for Bulgarian, Belarusian, + +
    • GB2312, GBK, GB18030 + +for simplified writing of Chinese, +
    • BIG5, BIG5-HKSCS + +for traditional writing of Chinese, +
    • EUC-JP for Japanese, + +
    • EUC-KR for Korean, + +
    • TIS-620 for Thai, + +
    • GEORGIAN-PS for Georgian, + +
    • UTF-8 for any language, including those listed above. + +
    + + + +When single quote characters or double quote characters are used in +translations for your language, and your locale's encoding is one of the +ISO-8859-* charsets, it is best if you create your PO files in UTF-8 +encoding, instead of your locale's encoding. This is because in UTF-8 +the real quote characters can be represented (single quote characters: +U+2018, U+2019, double quote characters: U+201C, U+201D), whereas none of +ISO-8859-* charsets has them all. Users in UTF-8 locales will see the +real quote characters, whereas users in ISO-8859-* locales will see the +vertical apostrophe and the vertical double quote instead (because that's +what the character set conversion will transliterate them to). + + +To enter such quote characters under X11, you can change your keyboard +mapping using the xmodmap program. The X11 names of the quote +characters are "leftsinglequotemark", "rightsinglequotemark", +"leftdoublequotemark", "rightdoublequotemark", "singlelowquotemark", +"doublelowquotemark". + +Note that only recent versions of GNU Emacs support the UTF-8 encoding: +Emacs 20 with Mule-UCS, and Emacs 21. As of January 2001, XEmacs doesn't +support the UTF-8 encoding. + +The character encoding name can be written in either upper or lower case. +Usually upper case is preferred. + +
    Content-Transfer-Encoding +
    +Set this to 8bit. + +
    Plural-Forms +
    +This field is optional. It is only needed if the PO file has plural forms. +You can find them by searching for the ‘msgid_plural’ keyword. The +format of the plural forms field is described in section 11.2.6 Additional functions for plural forms and +section 12.6 Translating plural forms. +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_7.html b/mingw/share/doc/gettext/gettext_7.html new file mode 100644 index 00000000..f7344ed6 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_7.html @@ -0,0 +1,389 @@ + + + + + +GNU gettext utilities - 7 Updating Existing PO Files + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    7 Updating Existing PO Files

    + + + +

    7.1 Invoking the msgmerge Program

    + +

    + + + +

    +msgmerge [option] def.po ref.pot
    +
    + +

    +The msgmerge program merges two Uniforum style .po files together. +The def.po file is an existing PO file with translations which will +be taken over to the newly created file as long as they still match; +comments will be preserved, but extracted comments and file positions will +be discarded. The ref.pot file is the last created PO file with +up-to-date source references but old translations, or a PO Template file +(generally created by xgettext); any translations or comments +in the file will be discarded, however dot comments and file positions +will be preserved. Where an exact match cannot be found, fuzzy matching +is used to produce better results. + +

    + + +

    7.1.1 Input file location

    + +
    + +
    def.po’ +
    +Translations referring to old sources. + +
    ref.pot’ +
    +References to the new sources. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    ‘-C file +
    +
    ‘--compendium=file +
    + + +Specify an additional library of message translations. See section 8.4 Using Translation Compendia. +This option may be specified more than once. + +
    + + + +

    7.1.2 Operation mode

    + +
    + +
    ‘-U’ +
    +
    ‘--update’ +
    + + +Update def.po. Do nothing if def.po is already up to date. + +
    + + + +

    7.1.3 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    + +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    7.1.4 Output file location in update mode

    + +

    +The result is written back to def.po. + +

    +
    + +
    ‘--backup=control +
    + + +Make a backup of def.po + +
    ‘--suffix=suffix +
    + +Override the usual backup suffix. + +
    + +

    + +The version control method may be selected via the --backup option +or through the VERSION_CONTROL environment variable. Here are the +values: + +

    +
    + +
    ‘none’ +
    +
    ‘off’ +
    +Never make backups (even if --backup is given). + +
    ‘numbered’ +
    +
    ‘t’ +
    +Make numbered backups. + +
    ‘existing’ +
    +
    ‘nil’ +
    +Make numbered backups if numbered backups for this file already exist, +otherwise make simple backups. + +
    ‘simple’ +
    +
    ‘never’ +
    +Always make simple backups. + +
    + +

    +The backup suffix is ‘~’, unless set with --suffix or the +SIMPLE_BACKUP_SUFFIX environment variable. + +

    + + +

    7.1.5 Operation modifiers

    + +
    + +
    ‘-m’ +
    +
    ‘--multi-domain’ +
    + + +Apply ref.pot to each of the domains in def.po. + +
    ‘-N’ +
    +
    ‘--no-fuzzy-matching’ +
    + + +Do not use fuzzy matching when an exact match is not found. This may speed +up the operation considerably. + +
    ‘--previous’ +
    + +Keep the previous msgids of translated messages, marked with ‘#|’, when +adding the fuzzy marker to such messages. +
    + + + +

    7.1.6 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input files are Java ResourceBundles in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input files are NeXTstep/GNUstep localized resource files in +.strings syntax, not in PO file syntax. + +
    + + + +

    7.1.7 Output details

    + +
    + +
    ‘--lang=catalogname +
    + +Specify the ‘Language’ field to be used in the header entry. See +section 6.2 Filling in the Header Entry for the meaning of this field. Note: The +‘Language-Team’ and ‘Plural-Forms’ fields are left unchanged. +If this option is not specified, the ‘Language’ field is inferred, as +best as possible, from the ‘Language-Team’ field. + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘--add-location’ +
    + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    7.1.8 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    ‘-v’ +
    +
    ‘--verbose’ +
    + + +Increase verbosity level. + +
    ‘-q’ +
    +
    ‘--quiet’ +
    +
    ‘--silent’ +
    + + + +Suppress progress indicators. + +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_8.html b/mingw/share/doc/gettext/gettext_8.html new file mode 100644 index 00000000..02974e8a --- /dev/null +++ b/mingw/share/doc/gettext/gettext_8.html @@ -0,0 +1,1836 @@ + + + + + +GNU gettext utilities - 8 Editing PO Files + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    8 Editing PO Files

    +

    + + +

    + + + +

    8.1 KDE's PO File Editor

    +

    + + +

    + + +

    8.2 GNOME's PO File Editor

    +

    + + +

    + + +

    8.3 Emacs's PO File Editor

    +

    + + +

    + +

    +For those of you being +the lucky users of Emacs, PO mode has been specifically created +for providing a cozy environment for editing or modifying PO files. +While editing a PO file, PO mode allows for the easy browsing of +auxiliary and compendium PO files, as well as for following references into +the set of C program sources from which PO files have been derived. +It has a few special features, among which are the interactive marking +of program strings as translatable, and the validation of PO files +with easy repositioning to PO file lines showing errors. + +

    +

    +For the beginning, besides main PO mode commands +(see section 8.3.2 Main PO mode Commands), you should know how to move between entries +(see section 8.3.3 Entry Positioning), and how to handle untranslated entries +(see section 8.3.7 Untranslated Entries). + +

    + + + +

    8.3.1 Completing GNU gettext Installation

    + +

    + + +Once you have received, unpacked, configured and compiled the GNU +gettext distribution, the ‘make install’ command puts in +place the programs xgettext, msgfmt, gettext, and +msgmerge, as well as their available message catalogs. To +top off a comfortable installation, you might also want to make the +PO mode available to your Emacs users. + +

    +

    + + +During the installation of the PO mode, you might want to modify your +file ‘.emacs’, once and for all, so it contains a few lines looking +like: + +

    + +
    +(setq auto-mode-alist
    +      (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
    +(autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
    +
    + +

    +Later, whenever you edit some ‘.po’ +file, or any file having the string ‘.po.’ within its name, +Emacs loads ‘po-mode.elc’ (or ‘po-mode.el’) as needed, and +automatically activates PO mode commands for the associated buffer. +The string PO appears in the mode line for any buffer for +which PO mode is active. Many PO files may be active at once in a +single Emacs session. + +

    +

    +If you are using Emacs version 20 or newer, and have already installed +the appropriate international fonts on your system, you may also tell +Emacs how to determine automatically the coding system of every PO file. +This will often (but not always) cause the necessary fonts to be loaded +and used for displaying the translations on your Emacs screen. For this +to happen, add the lines: + +

    + +
    +(modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
    +                            'po-find-file-coding-system)
    +(autoload 'po-find-file-coding-system "po-mode")
    +
    + +

    +to your ‘.emacs’ file. If, with this, you still see boxes instead +of international characters, try a different font set (via Shift Mouse +button 1). + +

    + + +

    8.3.2 Main PO mode Commands

    + +

    + + +After setting up Emacs with something similar to the lines in +section 8.3.1 Completing GNU gettext Installation, PO mode is activated for a window when Emacs finds a +PO file in that window. This puts the window read-only and establishes a +po-mode-map, which is a genuine Emacs mode, in a way that is not derived +from text mode in any way. Functions found on po-mode-hook, +if any, will be executed. + +

    +

    +When PO mode is active in a window, the letters ‘PO’ appear +in the mode line for that window. The mode line also displays how +many entries of each kind are held in the PO file. For example, +the string ‘132t+3f+10u+2o’ would tell the translator that the +PO mode contains 132 translated entries (see section 8.3.5 Translated Entries, +3 fuzzy entries (see section 8.3.6 Fuzzy Entries), 10 untranslated entries +(see section 8.3.7 Untranslated Entries) and 2 obsolete entries (see section 8.3.8 Obsolete Entries). Zero-coefficients items are not shown. So, in this example, if +the fuzzy entries were unfuzzied, the untranslated entries were translated +and the obsolete entries were deleted, the mode line would merely display +‘145t’ for the counters. + +

    +

    +The main PO commands are those which do not fit into the other categories of +subsequent sections. These allow for quitting PO mode or for managing windows +in special ways. + +

    +
    + +
    _ +
    + +Undo last modification to the PO file (po-undo). + +
    Q +
    + +Quit processing and save the PO file (po-quit). + +
    q +
    + +Quit processing, possibly after confirmation (po-confirm-and-quit). + +
    0 +
    + +Temporary leave the PO file window (po-other-window). + +
    ? +
    +
    h +
    + + +Show help about PO mode (po-help). + +
    = +
    + +Give some PO file statistics (po-statistics). + +
    V +
    + +Batch validate the format of the whole PO file (po-validate). + +
    + +

    + + +The command _ (po-undo) interfaces to the Emacs +undo facility. See section ‘Undoing Changes’ in The Emacs Editor. Each time _ is typed, modifications which the translator +did to the PO file are undone a little more. For the purpose of +undoing, each PO mode command is atomic. This is especially true for +the RET command: the whole edition made by using a single +use of this command is undone at once, even if the edition itself +implied several actions. However, while in the editing window, one +can undo the edition work quite parsimoniously. + +

    +

    + + + + +The commands Q (po-quit) and q +(po-confirm-and-quit) are used when the translator is done with the +PO file. The former is a bit less verbose than the latter. If the file +has been modified, it is saved to disk first. In both cases, and prior to +all this, the commands check if any untranslated messages remain in the +PO file and, if so, the translator is asked if she really wants to leave +off working with this PO file. This is the preferred way of getting rid +of an Emacs PO file buffer. Merely killing it through the usual command +C-x k (kill-buffer) is not the tidiest way to proceed. + +

    +

    + + +The command 0 (po-other-window) is another, softer way, +to leave PO mode, temporarily. It just moves the cursor to some other +Emacs window, and pops one if necessary. For example, if the translator +just got PO mode to show some source context in some other, she might +discover some apparent bug in the program source that needs correction. +This command allows the translator to change sex, become a programmer, +and have the cursor right into the window containing the program she +(or rather he) wants to modify. By later getting the cursor back +in the PO file window, or by asking Emacs to edit this file once again, +PO mode is then recovered. + +

    +

    + + + +The command h (po-help) displays a summary of all available PO +mode commands. The translator should then type any character to resume +normal PO mode operations. The command ? has the same effect +as h. + +

    +

    + + +The command = (po-statistics) computes the total number of +entries in the PO file, the ordinal of the current entry (counted from +1), the number of untranslated entries, the number of obsolete entries, +and displays all these numbers. + +

    +

    + + +The command V (po-validate) launches msgfmt in +checking and verbose +mode over the current PO file. This command first offers to save the +current PO file on disk. The msgfmt tool, from GNU gettext, +has the purpose of creating a MO file out of a PO file, and PO mode uses +the features of this program for checking the overall format of a PO file, +as well as all individual entries. + +

    +

    + +The program msgfmt runs asynchronously with Emacs, so the +translator regains control immediately while her PO file is being studied. +Error output is collected in the Emacs ‘*compilation*’ buffer, +displayed in another window. The regular Emacs command C-x` +(next-error), as well as other usual compile commands, allow the +translator to reposition quickly to the offending parts of the PO file. +Once the cursor is on the line in error, the translator may decide on +any PO mode action which would help correcting the error. + +

    + + +

    8.3.3 Entry Positioning

    + +

    + +The cursor in a PO file window is almost always part of +an entry. The only exceptions are the special case when the cursor +is after the last entry in the file, or when the PO file is +empty. The entry where the cursor is found to be is said to be the +current entry. Many PO mode commands operate on the current entry, +so moving the cursor does more than allowing the translator to browse +the PO file, this also selects on which entry commands operate. + +

    +

    + +Some PO mode commands alter the position of the cursor in a specialized +way. A few of those special purpose positioning are described here, +the others are described in following sections (for a complete list try +C-h m): + +

    +
    + +
    . +
    + +Redisplay the current entry (po-current-entry). + +
    n +
    + +Select the entry after the current one (po-next-entry). + +
    p +
    + +Select the entry before the current one (po-previous-entry). + +
    < +
    + +Select the first entry in the PO file (po-first-entry). + +
    > +
    + +Select the last entry in the PO file (po-last-entry). + +
    m +
    + +Record the location of the current entry for later use +(po-push-location). + +
    r +
    + +Return to a previously saved entry location (po-pop-location). + +
    x +
    + +Exchange the current entry location with the previously saved one +(po-exchange-location). + +
    + +

    + + +Any Emacs command able to reposition the cursor may be used +to select the current entry in PO mode, including commands which +move by characters, lines, paragraphs, screens or pages, and search +commands. However, there is a kind of standard way to display the +current entry in PO mode, which usual Emacs commands moving +the cursor do not especially try to enforce. The command . +(po-current-entry) has the sole purpose of redisplaying the +current entry properly, after the current entry has been changed by +means external to PO mode, or the Emacs screen otherwise altered. + +

    +

    +It is yet to be decided if PO mode helps the translator, or otherwise +irritates her, by forcing a rigid window disposition while she +is doing her work. We originally had quite precise ideas about +how windows should behave, but on the other hand, anyone used to +Emacs is often happy to keep full control. Maybe a fixed window +disposition might be offered as a PO mode option that the translator +might activate or deactivate at will, so it could be offered on an +experimental basis. If nobody feels a real need for using it, or +a compulsion for writing it, we should drop this whole idea. +The incentive for doing it should come from translators rather than +programmers, as opinions from an experienced translator are surely +more worth to me than opinions from programmers thinking about +how others should do translation. + +

    +

    + + + + +The commands n (po-next-entry) and p +(po-previous-entry) move the cursor the entry following, +or preceding, the current one. If n is given while the +cursor is on the last entry of the PO file, or if p +is given while the cursor is on the first entry, no move is done. + +

    +

    + + + + +The commands < (po-first-entry) and > +(po-last-entry) move the cursor to the first entry, or last +entry, of the PO file. When the cursor is located past the last +entry in a PO file, most PO mode commands will return an error saying +‘After last entry’. Moreover, the commands < and > +have the special property of being able to work even when the cursor +is not into some PO file entry, and one may use them for nicely +correcting this situation. But even these commands will fail on a +truly empty PO file. There are development plans for the PO mode for it +to interactively fill an empty PO file from sources. See section 4.5 Marking Translatable Strings. + +

    +

    +The translator may decide, before working at the translation of +a particular entry, that she needs to browse the remainder of the +PO file, maybe for finding the terminology or phraseology used +in related entries. She can of course use the standard Emacs idioms +for saving the current cursor location in some register, and use that +register for getting back, or else, use the location ring. + +

    +

    + + + + +PO mode offers another approach, by which cursor locations may be saved +onto a special stack. The command m (po-push-location) +merely adds the location of current entry to the stack, pushing +the already saved locations under the new one. The command +r (po-pop-location) consumes the top stack element and +repositions the cursor to the entry associated with that top element. +This position is then lost, for the next r will move the cursor +to the previously saved location, and so on until no locations remain +on the stack. + +

    +

    +If the translator wants the position to be kept on the location stack, +maybe for taking a look at the entry associated with the top +element, then go elsewhere with the intent of getting back later, she +ought to use m immediately after r. + +

    +

    + + +The command x (po-exchange-location) simultaneously +repositions the cursor to the entry associated with the top element of +the stack of saved locations, and replaces that top element with the +location of the current entry before the move. Consequently, repeating +the x command toggles alternatively between two entries. +For achieving this, the translator will position the cursor on the +first entry, use m, then position to the second entry, and +merely use x for making the switch. + +

    + + +

    8.3.4 Normalizing Strings in Entries

    +

    + + +

    +

    +There are many different ways for encoding a particular string into a +PO file entry, because there are so many different ways to split and +quote multi-line strings, and even, to represent special characters +by backslashed escaped sequences. Some features of PO mode rely on +the ability for PO mode to scan an already existing PO file for a +particular string encoded into the msgid field of some entry. +Even if PO mode has internally all the built-in machinery for +implementing this recognition easily, doing it fast is technically +difficult. To facilitate a solution to this efficiency problem, +we decided on a canonical representation for strings. + +

    +

    +A conventional representation of strings in a PO file is currently +under discussion, and PO mode experiments with a canonical representation. +Having both xgettext and PO mode converging towards a uniform +way of representing equivalent strings would be useful, as the internal +normalization needed by PO mode could be automatically satisfied +when using xgettext from GNU gettext. An explicit +PO mode normalization should then be only necessary for PO files +imported from elsewhere, or for when the convention itself evolves. + +

    +

    +So, for achieving normalization of at least the strings of a given +PO file needing a canonical representation, the following PO mode +command is available: + +

    +

    + +

    + +
    M-x po-normalize +
    + +Tidy the whole PO file by making entries more uniform. + +
    + +

    +The special command M-x po-normalize, which has no associated +keys, revises all entries, ensuring that strings of both original +and translated entries use uniform internal quoting in the PO file. +It also removes any crumb after the last entry. This command may be +useful for PO files freshly imported from elsewhere, or if we ever +improve on the canonical quoting format we use. This canonical format +is not only meant for getting cleaner PO files, but also for greatly +speeding up msgid string lookup for some other PO mode commands. + +

    +

    +M-x po-normalize presently makes three passes over the entries. +The first implements heuristics for converting PO files for GNU +gettext 0.6 and earlier, in which msgid and msgstr +fields were using K&R style C string syntax for multi-line strings. +These heuristics may fail for comments not related to obsolete +entries and ending with a backslash; they also depend on subsequent +passes for finalizing the proper commenting of continued lines for +obsolete entries. This first pass might disappear once all oldish PO +files would have been adjusted. The second and third pass normalize +all msgid and msgstr strings respectively. They also +clean out those trailing backslashes used by XView's msgfmt +for continued lines. + +

    +

    + +Having such an explicit normalizing command allows for importing PO +files from other sources, but also eases the evolution of the current +convention, evolution driven mostly by aesthetic concerns, as of now. +It is easy to make suggested adjustments at a later time, as the +normalizing command and eventually, other GNU gettext tools +should greatly automate conformance. A description of the canonical +string format is given below, for the particular benefit of those not +having Emacs handy, and who would nevertheless want to handcraft +their PO files in nice ways. + +

    +

    + +Right now, in PO mode, strings are single line or multi-line. A string +goes multi-line if and only if it has embedded newlines, that +is, if it matches ‘[^\n]\n+[^\n]’. So, we would have: + +

    + +
    +msgstr "\n\nHello, world!\n\n\n"
    +
    + +

    +but, replacing the space by a newline, this becomes: + +

    + +
    +msgstr ""
    +"\n"
    +"\n"
    +"Hello,\n"
    +"world!\n"
    +"\n"
    +"\n"
    +
    + +

    +We are deliberately using a caricatural example, here, to make the +point clearer. Usually, multi-lines are not that bad looking. +It is probable that we will implement the following suggestion. +We might lump together all initial newlines into the empty string, +and also all newlines introducing empty lines (that is, for n +> 1, the n-1'th last newlines would go together on a separate +string), so making the previous example appear: + +

    + +
    +msgstr "\n\n"
    +"Hello,\n"
    +"world!\n"
    +"\n\n"
    +
    + +

    +There are a few yet undecided little points about string normalization, +to be documented in this manual, once these questions settle. + +

    + + +

    8.3.5 Translated Entries

    +

    + + +

    +

    +Each PO file entry for which the msgstr field has been filled with +a translation, and which is not marked as fuzzy (see section 8.3.6 Fuzzy Entries), +is said to be a translated entry. Only translated entries will +later be compiled by GNU msgfmt and become usable in programs. +Other entry types will be excluded; translation will not occur for them. + +

    +

    + +Some commands are more specifically related to translated entry processing. + +

    +
    + +
    t +
    + +Find the next translated entry (po-next-translated-entry). + +
    T +
    + +Find the previous translated entry (po-previous-translated-entry). + +
    + +

    + + + + +The commands t (po-next-translated-entry) and T +(po-previous-translated-entry) move forwards or backwards, chasing +for an translated entry. If none is found, the search is extended and +wraps around in the PO file buffer. + +

    +

    + +Translated entries usually result from the translator having edited in +a translation for them, section 8.3.9 Modifying Translations. However, if the +variable po-auto-fuzzy-on-edit is not nil, the entry having +received a new translation first becomes a fuzzy entry, which ought to +be later unfuzzied before becoming an official, genuine translated entry. +See section 8.3.6 Fuzzy Entries. + +

    + + +

    8.3.6 Fuzzy Entries

    +

    + + +

    +

    + + +Each PO file entry may have a set of attributes, which are +qualities given a name and explicitly associated with the translation, +using a special system comment. One of these attributes +has the name fuzzy, and entries having this attribute are said +to have a fuzzy translation. They are called fuzzy entries, for short. + +

    +

    +Fuzzy entries, even if they account for translated entries for +most other purposes, usually call for revision by the translator. +Those may be produced by applying the program msgmerge to +update an older translated PO files according to a new PO template +file, when this tool hypothesises that some new msgid has +been modified only slightly out of an older one, and chooses to pair +what it thinks to be the old translation for the new modified entry. +The slight alteration in the original string (the msgid string) +should often be reflected in the translated string, and this requires +the intervention of the translator. For this reason, msgmerge +might mark some entries as being fuzzy. + +

    +

    + +Also, the translator may decide herself to mark an entry as fuzzy +for her own convenience, when she wants to remember that the entry +has to be later revisited. So, some commands are more specifically +related to fuzzy entry processing. + +

    +
    + +
    f +
    + +Find the next fuzzy entry (po-next-fuzzy-entry). + +
    F +
    + +Find the previous fuzzy entry (po-previous-fuzzy-entry). + +
    TAB +
    + +Remove the fuzzy attribute of the current entry (po-unfuzzy). + +
    + +

    + + + + +The commands f (po-next-fuzzy-entry) and F +(po-previous-fuzzy-entry) move forwards or backwards, chasing for +a fuzzy entry. If none is found, the search is extended and wraps +around in the PO file buffer. + +

    +

    + + + +The command TAB (po-unfuzzy) removes the fuzzy +attribute associated with an entry, usually leaving it translated. +Further, if the variable po-auto-select-on-unfuzzy has not +the nil value, the TAB command will automatically chase +for another interesting entry to work on. The initial value of +po-auto-select-on-unfuzzy is nil. + +

    +

    +The initial value of po-auto-fuzzy-on-edit is nil. However, +if the variable po-auto-fuzzy-on-edit is set to t, any entry +edited through the RET command is marked fuzzy, as a way to +ensure some kind of double check, later. In this case, the usual paradigm +is that an entry becomes fuzzy (if not already) whenever the translator +modifies it. If she is satisfied with the translation, she then uses +TAB to pick another entry to work on, clearing the fuzzy attribute +on the same blow. If she is not satisfied yet, she merely uses SPC +to chase another entry, leaving the entry fuzzy. + +

    +

    + + +The translator may also use the DEL command +(po-fade-out-entry) over any translated entry to mark it as being +fuzzy, when she wants to easily leave a trace she wants to later return +working at this entry. + +

    +

    +Also, when time comes to quit working on a PO file buffer with the q +command, the translator is asked for confirmation, if fuzzy string +still exists. + +

    + + +

    8.3.7 Untranslated Entries

    +

    + + +

    +

    +When xgettext originally creates a PO file, unless told +otherwise, it initializes the msgid field with the untranslated +string, and leaves the msgstr string to be empty. Such entries, +having an empty translation, are said to be untranslated entries. +Later, when the programmer slightly modifies some string right in +the program, this change is later reflected in the PO file +by the appearance of a new untranslated entry for the modified string. + +

    +

    +The usual commands moving from entry to entry consider untranslated +entries on the same level as active entries. Untranslated entries +are easily recognizable by the fact they end with ‘msgstr ""’. + +

    +

    + +The work of the translator might be (quite naively) seen as the process +of seeking for an untranslated entry, editing a translation for +it, and repeating these actions until no untranslated entries remain. +Some commands are more specifically related to untranslated entry +processing. + +

    +
    + +
    u +
    + +Find the next untranslated entry (po-next-untranslated-entry). + +
    U +
    + +Find the previous untranslated entry (po-previous-untransted-entry). + +
    k +
    + +Turn the current entry into an untranslated one (po-kill-msgstr). + +
    + +

    + + + + +The commands u (po-next-untranslated-entry) and U +(po-previous-untransted-entry) move forwards or backwards, +chasing for an untranslated entry. If none is found, the search is +extended and wraps around in the PO file buffer. + +

    +

    + + +An entry can be turned back into an untranslated entry by +merely emptying its translation, using the command k +(po-kill-msgstr). See section 8.3.9 Modifying Translations. + +

    +

    +Also, when time comes to quit working on a PO file buffer +with the q command, the translator is asked for confirmation, +if some untranslated string still exists. + +

    + + +

    8.3.8 Obsolete Entries

    +

    + + +

    +

    +By obsolete PO file entries, we mean those entries which are +commented out, usually by msgmerge when it found that the +translation is not needed anymore by the package being localized. + +

    +

    +The usual commands moving from entry to entry consider obsolete +entries on the same level as active entries. Obsolete entries are +easily recognizable by the fact that all their lines start with +#, even those lines containing msgid or msgstr. + +

    +

    +Commands exist for emptying the translation or reinitializing it +to the original untranslated string. Commands interfacing with the +kill ring may force some previously saved text into the translation. +The user may interactively edit the translation. All these commands +may apply to obsolete entries, carefully leaving the entry obsolete +after the fact. + +

    +

    + +Moreover, some commands are more specifically related to obsolete +entry processing. + +

    +
    + +
    o +
    + +Find the next obsolete entry (po-next-obsolete-entry). + +
    O +
    + +Find the previous obsolete entry (po-previous-obsolete-entry). + +
    DEL +
    + +Make an active entry obsolete, or zap out an obsolete entry +(po-fade-out-entry). + +
    + +

    + + + + +The commands o (po-next-obsolete-entry) and O +(po-previous-obsolete-entry) move forwards or backwards, +chasing for an obsolete entry. If none is found, the search is +extended and wraps around in the PO file buffer. + +

    +

    +PO mode does not provide ways for un-commenting an obsolete entry +and making it active, because this would reintroduce an original +untranslated string which does not correspond to any marked string +in the program sources. This goes with the philosophy of never +introducing useless msgid values. + +

    +

    + + + + +However, it is possible to comment out an active entry, so making +it obsolete. GNU gettext utilities will later react to the +disappearance of a translation by using the untranslated string. +The command DEL (po-fade-out-entry) pushes the current entry +a little further towards annihilation. If the entry is active (it is a +translated entry), then it is first made fuzzy. If it is already fuzzy, +then the entry is merely commented out, with confirmation. If the entry +is already obsolete, then it is completely deleted from the PO file. +It is easy to recycle the translation so deleted into some other PO file +entry, usually one which is untranslated. See section 8.3.9 Modifying Translations. + +

    +

    +Here is a quite interesting problem to solve for later development of +PO mode, for those nights you are not sleepy. The idea would be that +PO mode might become bright enough, one of these days, to make good +guesses at retrieving the most probable candidate, among all obsolete +entries, for initializing the translation of a newly appeared string. +I think it might be a quite hard problem to do this algorithmically, as +we have to develop good and efficient measures of string similarity. +Right now, PO mode completely lets the decision to the translator, +when the time comes to find the adequate obsolete translation, it +merely tries to provide handy tools for helping her to do so. + +

    + + +

    8.3.9 Modifying Translations

    +

    + + + +

    +

    +PO mode prevents direct modification of the PO file, by the usual +means Emacs gives for altering a buffer's contents. By doing so, +it pretends helping the translator to avoid little clerical errors +about the overall file format, or the proper quoting of strings, +as those errors would be easily made. Other kinds of errors are +still possible, but some may be caught and diagnosed by the batch +validation process, which the translator may always trigger by the +V command. For all other errors, the translator has to rely on +her own judgment, and also on the linguistic reports submitted to her +by the users of the translated package, having the same mother tongue. + +

    +

    +When the time comes to create a translation, correct an error diagnosed +mechanically or reported by a user, the translators have to resort to +using the following commands for modifying the translations. + +

    +
    + +
    RET +
    + +Interactively edit the translation (po-edit-msgstr). + +
    LFD +
    +
    C-j +
    + + +Reinitialize the translation with the original, untranslated string +(po-msgid-to-msgstr). + +
    k +
    + +Save the translation on the kill ring, and delete it (po-kill-msgstr). + +
    w +
    + +Save the translation on the kill ring, without deleting it +(po-kill-ring-save-msgstr). + +
    y +
    + +Replace the translation, taking the new from the kill ring +(po-yank-msgstr). + +
    + +

    + + +The command RET (po-edit-msgstr) opens a new Emacs +window meant to edit in a new translation, or to modify an already existing +translation. The new window contains a copy of the translation taken from +the current PO file entry, all ready for edition, expunged of all quoting +marks, fully modifiable and with the complete extent of Emacs modifying +commands. When the translator is done with her modifications, she may use +C-c C-c to close the subedit window with the automatically requoted +results, or C-c C-k to abort her modifications. See section 8.3.11 Details of Sub Edition, +for more information. + +

    +

    + + + +The command LFD (po-msgid-to-msgstr) initializes, or +reinitializes the translation with the original string. This command is +normally used when the translator wants to redo a fresh translation of +the original string, disregarding any previous work. + +

    +

    + +It is possible to arrange so, whenever editing an untranslated +entry, the LFD command be automatically executed. If you set +po-auto-edit-with-msgid to t, the translation gets +initialised with the original string, in case none exists already. +The default value for po-auto-edit-with-msgid is nil. + +

    +

    + +In fact, whether it is best to start a translation with an empty +string, or rather with a copy of the original string, is a matter of +taste or habit. Sometimes, the source language and the +target language are so different that is simply best to start writing +on an empty page. At other times, the source and target languages +are so close that it would be a waste to retype a number of words +already being written in the original string. A translator may also +like having the original string right under her eyes, as she will +progressively overwrite the original text with the translation, even +if this requires some extra editing work to get rid of the original. + +

    +

    + + + + + +The command k (po-kill-msgstr) merely empties the +translation string, so turning the entry into an untranslated +one. But while doing so, its previous contents is put apart in +a special place, known as the kill ring. The command w +(po-kill-ring-save-msgstr) has also the effect of taking a +copy of the translation onto the kill ring, but it otherwise leaves +the entry alone, and does not remove the translation from the +entry. Both commands use exactly the Emacs kill ring, which is shared +between buffers, and which is well known already to Emacs lovers. + +

    +

    +The translator may use k or w many times in the course +of her work, as the kill ring may hold several saved translations. +From the kill ring, strings may later be reinserted in various +Emacs buffers. In particular, the kill ring may be used for moving +translation strings between different entries of a single PO file +buffer, or if the translator is handling many such buffers at once, +even between PO files. + +

    +

    +To facilitate exchanges with buffers which are not in PO mode, the +translation string put on the kill ring by the k command is fully +unquoted before being saved: external quotes are removed, multi-line +strings are concatenated, and backslash escaped sequences are turned +into their corresponding characters. In the special case of obsolete +entries, the translation is also uncommented prior to saving. + +

    +

    + + +The command y (po-yank-msgstr) completely replaces the +translation of the current entry by a string taken from the kill ring. +Following Emacs terminology, we then say that the replacement +string is yanked into the PO file buffer. +See section ‘Yanking’ in The Emacs Editor. +The first time y is used, the translation receives the value of +the most recent addition to the kill ring. If y is typed once +again, immediately, without intervening keystrokes, the translation +just inserted is taken away and replaced by the second most recent +addition to the kill ring. By repeating y many times in a row, +the translator may travel along the kill ring for saved strings, +until she finds the string she really wanted. + +

    +

    +When a string is yanked into a PO file entry, it is fully and +automatically requoted for complying with the format PO files should +have. Further, if the entry is obsolete, PO mode then appropriately +push the inserted string inside comments. Once again, translators +should not burden themselves with quoting considerations besides, of +course, the necessity of the translated string itself respective to +the program using it. + +

    +

    +Note that k or w are not the only commands pushing strings +on the kill ring, as almost any PO mode command replacing translation +strings (or the translator comments) automatically saves the old string +on the kill ring. The main exceptions to this general rule are the +yanking commands themselves. + +

    +

    + +To better illustrate the operation of killing and yanking, let's +use an actual example, taken from a common situation. When the +programmer slightly modifies some string right in the program, his +change is later reflected in the PO file by the appearance +of a new untranslated entry for the modified string, and the fact +that the entry translating the original or unmodified string becomes +obsolete. In many cases, the translator might spare herself some work +by retrieving the unmodified translation from the obsolete entry, +then initializing the untranslated entry msgstr field with +this retrieved translation. Once this done, the obsolete entry is +not wanted anymore, and may be safely deleted. + +

    +

    +When the translator finds an untranslated entry and suspects that a +slight variant of the translation exists, she immediately uses m +to mark the current entry location, then starts chasing obsolete +entries with o, hoping to find some translation corresponding +to the unmodified string. Once found, she uses the DEL command +for deleting the obsolete entry, knowing that DEL also kills +the translation, that is, pushes the translation on the kill ring. +Then, r returns to the initial untranslated entry, and y +then yanks the saved translation right into the msgstr +field. The translator is then free to use RET for fine +tuning the translation contents, and maybe to later use u, +then m again, for going on with the next untranslated string. + +

    +

    +When some sequence of keys has to be typed over and over again, the +translator may find it useful to become better acquainted with the Emacs +capability of learning these sequences and playing them back under request. +See section ‘Keyboard Macros’ in The Emacs Editor. + +

    + + +

    8.3.10 Modifying Comments

    +

    + + + +

    +

    +Any translation work done seriously will raise many linguistic +difficulties, for which decisions have to be made, and the choices +further documented. These documents may be saved within the +PO file in form of translator comments, which the translator +is free to create, delete, or modify at will. These comments may +be useful to herself when she returns to this PO file after a while. + +

    +

    +Comments not having whitespace after the initial ‘#’, for example, +those beginning with ‘#.’ or ‘#:’, are not translator +comments, they are exclusively created by other gettext tools. +So, the commands below will never alter such system added comments, +they are not meant for the translator to modify. See section 3 The Format of PO Files. + +

    +

    +The following commands are somewhat similar to those modifying translations, +so the general indications given for those apply here. See section 8.3.9 Modifying Translations. + +

    +
    + +
    # +
    + +Interactively edit the translator comments (po-edit-comment). + +
    K +
    + +Save the translator comments on the kill ring, and delete it +(po-kill-comment). + +
    W +
    + +Save the translator comments on the kill ring, without deleting it +(po-kill-ring-save-comment). + +
    Y +
    + +Replace the translator comments, taking the new from the kill ring +(po-yank-comment). + +
    + +

    +These commands parallel PO mode commands for modifying the translation +strings, and behave much the same way as they do, except that they handle +this part of PO file comments meant for translator usage, rather +than the translation strings. So, if the descriptions given below are +slightly succinct, it is because the full details have already been given. +See section 8.3.9 Modifying Translations. + +

    +

    + + +The command # (po-edit-comment) opens a new Emacs window +containing a copy of the translator comments on the current PO file entry. +If there are no such comments, PO mode understands that the translator wants +to add a comment to the entry, and she is presented with an empty screen. +Comment marks (#) and the space following them are automatically +removed before edition, and reinstated after. For translator comments +pertaining to obsolete entries, the uncommenting and recommenting operations +are done twice. Once in the editing window, the keys C-c C-c +allow the translator to tell she is finished with editing the comment. +See section 8.3.11 Details of Sub Edition, for further details. + +

    +

    + +Functions found on po-subedit-mode-hook, if any, are executed after +the string has been inserted in the edit buffer. + +

    +

    + + + + + + +The command K (po-kill-comment) gets rid of all +translator comments, while saving those comments on the kill ring. +The command W (po-kill-ring-save-comment) takes +a copy of the translator comments on the kill ring, but leaves +them undisturbed in the current entry. The command Y +(po-yank-comment) completely replaces the translator comments +by a string taken at the front of the kill ring. When this command +is immediately repeated, the comments just inserted are withdrawn, +and replaced by other strings taken along the kill ring. + +

    +

    +On the kill ring, all strings have the same nature. There is no +distinction between translation strings and translator +comments strings. So, for example, let's presume the translator +has just finished editing a translation, and wants to create a new +translator comment to document why the previous translation was +not good, just to remember what was the problem. Foreseeing that she +will do that in her documentation, the translator may want to quote +the previous translation in her translator comments. To do so, she +may initialize the translator comments with the previous translation, +still at the head of the kill ring. Because editing already pushed the +previous translation on the kill ring, she merely has to type M-w +prior to #, and the previous translation will be right there, +all ready for being introduced by some explanatory text. + +

    +

    +On the other hand, presume there are some translator comments already +and that the translator wants to add to those comments, instead +of wholly replacing them. Then, she should edit the comment right +away with #. Once inside the editing window, she can use the +regular Emacs commands C-y (yank) and M-y +(yank-pop) to get the previous translation where she likes. + +

    + + +

    8.3.11 Details of Sub Edition

    +

    + + +

    +

    +The PO subedit minor mode has a few peculiarities worth being described +in fuller detail. It installs a few commands over the usual editing set +of Emacs, which are described below. + +

    +
    + +
    C-c C-c +
    + +Complete edition (po-subedit-exit). + +
    C-c C-k +
    + +Abort edition (po-subedit-abort). + +
    C-c C-a +
    + +Consult auxiliary PO files (po-subedit-cycle-auxiliary). + +
    + +

    + + + +The window's contents represents a translation for a given message, +or a translator comment. The translator may modify this window to +her heart's content. Once this is done, the command C-c C-c +(po-subedit-exit) may be used to return the edited translation into +the PO file, replacing the original translation, even if it moved out of +sight or if buffers were switched. + +

    +

    + + +If the translator becomes unsatisfied with her translation or comment, +to the extent she prefers keeping what was existent prior to the +RET or # command, she may use the command C-c C-k +(po-subedit-abort) to merely get rid of edition, while preserving +the original translation or comment. Another way would be for her to exit +normally with C-c C-c, then type U once for undoing the +whole effect of last edition. + +

    +

    + + +The command C-c C-a (po-subedit-cycle-auxiliary) +allows for glancing through translations +already achieved in other languages, directly while editing the current +translation. This may be quite convenient when the translator is fluent +at many languages, but of course, only makes sense when such completed +auxiliary PO files are already available to her (see section 8.3.13 Consulting Auxiliary PO Files). + +

    +

    +Functions found on po-subedit-mode-hook, if any, are executed after +the string has been inserted in the edit buffer. + +

    +

    +While editing her translation, the translator should pay attention to not +inserting unwanted RET (newline) characters at the end of +the translated string if those are not meant to be there, or to removing +such characters when they are required. Since these characters are not +visible in the editing buffer, they are easily introduced by mistake. +To help her, RET automatically puts the character < +at the end of the string being edited, but this < is not really +part of the string. On exiting the editing window with C-c C-c, +PO mode automatically removes such < and all whitespace added after +it. If the translator adds characters after the terminating <, it +looses its delimiting property and integrally becomes part of the string. +If she removes the delimiting <, then the edited string is taken +as is, with all trailing newlines, even if invisible. Also, if +the translated string ought to end itself with a genuine <, then +the delimiting < may not be removed; so the string should appear, +in the editing window, as ending with two < in a row. + +

    +

    + +When a translation (or a comment) is being edited, the translator may move +the cursor back into the PO file buffer and freely move to other entries, +browsing at will. If, with an edition pending, the translator wanders in the +PO file buffer, she may decide to start modifying another entry. Each entry +being edited has its own subedit buffer. It is possible to simultaneously +edit the translation and the comment of a single entry, or to +edit entries in different PO files, all at once. Typing RET +on a field already being edited merely resumes that particular edit. Yet, +the translator should better be comfortable at handling many Emacs windows! + +

    +

    + +Pending subedits may be completed or aborted in any order, regardless +of how or when they were started. When many subedits are pending and the +translator asks for quitting the PO file (with the q command), subedits +are automatically resumed one at a time, so she may decide for each of them. + +

    + + +

    8.3.12 C Sources Context

    +

    + + + + +

    +

    +PO mode is particularly powerful when used with PO files +created through GNU gettext utilities, as those utilities +insert special comments in the PO files they generate. +Some of these special comments relate the PO file entry to +exactly where the untranslated string appears in the program sources. + +

    +

    +When the translator gets to an untranslated entry, she is fairly +often faced with an original string which is not as informative as +it normally should be, being succinct, cryptic, or otherwise ambiguous. +Before choosing how to translate the string, she needs to understand +better what the string really means and how tight the translation has +to be. Most of the time, when problems arise, the only way left to make +her judgment is looking at the true program sources from where this +string originated, searching for surrounding comments the programmer +might have put in there, and looking around for helping clues of +any kind. + +

    +

    +Surely, when looking at program sources, the translator will receive +more help if she is a fluent programmer. However, even if she is +not versed in programming and feels a little lost in C code, the +translator should not be shy at taking a look, once in a while. +It is most probable that she will still be able to find some of the +hints she needs. She will learn quickly to not feel uncomfortable +in program code, paying more attention to programmer's comments, +variable and function names (if he dared choosing them well), and +overall organization, than to the program code itself. + +

    +

    + +The following commands are meant to help the translator at getting +program source context for a PO file entry. + +

    +
    + +
    s +
    + +Resume the display of a program source context, or cycle through them +(po-cycle-source-reference). + +
    M-s +
    + +Display of a program source context selected by menu +(po-select-source-reference). + +
    S +
    + +Add a directory to the search path for source files +(po-consider-source-path). + +
    M-S +
    + +Delete a directory from the search path for source files +(po-ignore-source-path). + +
    + +

    + + + + +The commands s (po-cycle-source-reference) and M-s +(po-select-source-reference) both open another window displaying +some source program file, and already positioned in such a way that +it shows an actual use of the string to be translated. By doing +so, the command gives source program context for the string. But if +the entry has no source context references, or if all references +are unresolved along the search path for program sources, then the +command diagnoses this as an error. + +

    +

    +Even if s (or M-s) opens a new window, the cursor stays +in the PO file window. If the translator really wants to +get into the program source window, she ought to do it explicitly, +maybe by using command O. + +

    +

    +When s is typed for the first time, or for a PO file entry which +is different of the last one used for getting source context, then the +command reacts by giving the first context available for this entry, +if any. If some context has already been recently displayed for the +current PO file entry, and the translator wandered off to do other +things, typing s again will merely resume, in another window, +the context last displayed. In particular, if the translator moved +the cursor away from the context in the source file, the command will +bring the cursor back to the context. By using s many times +in a row, with no other commands intervening, PO mode will cycle to +the next available contexts for this particular entry, getting back +to the first context once the last has been shown. + +

    +

    +The command M-s behaves differently. Instead of cycling through +references, it lets the translator choose a particular reference among +many, and displays that reference. It is best used with completion, +if the translator types TAB immediately after M-s, in +response to the question, she will be offered a menu of all possible +references, as a reminder of which are the acceptable answers. +This command is useful only where there are really many contexts +available for a single string to translate. + +

    +

    + + + + +Program source files are usually found relative to where the PO +file stands. As a special provision, when this fails, the file is +also looked for, but relative to the directory immediately above it. +Those two cases take proper care of most PO files. However, it might +happen that a PO file has been moved, or is edited in a different +place than its normal location. When this happens, the translator +should tell PO mode in which directory normally sits the genuine PO +file. Many such directories may be specified, and all together, they +constitute what is called the search path for program sources. +The command S (po-consider-source-path) is used to interactively +enter a new directory at the front of the search path, and the command +M-S (po-ignore-source-path) is used to select, with completion, +one of the directories she does not want anymore on the search path. + +

    + + +

    8.3.13 Consulting Auxiliary PO Files

    +

    + + +

    +

    +PO mode is able to help the knowledgeable translator, being fluent in +many languages, at taking advantage of translations already achieved +in other languages she just happens to know. It provides these other +language translations as additional context for her own work. Moreover, +it has features to ease the production of translations for many languages +at once, for translators preferring to work in this way. + +

    +

    + + +An auxiliary PO file is an existing PO file meant for the same +package the translator is working on, but targeted to a different mother +tongue language. Commands exist for declaring and handling auxiliary +PO files, and also for showing contexts for the entry under work. + +

    +

    +Here are the auxiliary file commands available in PO mode. + +

    +
    + +
    a +
    + +Seek auxiliary files for another translation for the same entry +(po-cycle-auxiliary). + +
    C-c C-a +
    + +Switch to a particular auxiliary file (po-select-auxiliary). + +
    A +
    + +Declare this PO file as an auxiliary file (po-consider-as-auxiliary). + +
    M-A +
    + +Remove this PO file from the list of auxiliary files +(po-ignore-as-auxiliary). + +
    + +

    + + + + +Command A (po-consider-as-auxiliary) adds the current +PO file to the list of auxiliary files, while command M-A +(po-ignore-as-auxiliary just removes it. + +

    +

    + + +The command a (po-cycle-auxiliary) seeks all auxiliary PO +files, round-robin, searching for a translated entry in some other language +having an msgid field identical as the one for the current entry. +The found PO file, if any, takes the place of the current PO file in +the display (its window gets on top). Before doing so, the current PO +file is also made into an auxiliary file, if not already. So, a +in this newly displayed PO file will seek another PO file, and so on, +so repeating a will eventually yield back the original PO file. + +

    +

    + + +The command C-c C-a (po-select-auxiliary) asks the translator +for her choice of a particular auxiliary file, with completion, and +then switches to that selected PO file. The command also checks if +the selected file has an msgid field identical as the one for +the current entry, and if yes, this entry becomes current. Otherwise, +the cursor of the selected file is left undisturbed. + +

    +

    +For all this to work fully, auxiliary PO files will have to be normalized, +in that way that msgid fields should be written exactly +the same way. It is possible to write msgid fields in various +ways for representing the same string, different writing would break the +proper behaviour of the auxiliary file commands of PO mode. This is not +expected to be much a problem in practice, as most existing PO files have +their msgid entries written by the same GNU gettext tools. + +

    +

    + +However, PO files initially created by PO mode itself, while marking +strings in source files, are normalised differently. So are PO +files resulting of the ‘M-x normalize’ command. Until these +discrepancies between PO mode and other GNU gettext tools get +fully resolved, the translator should stay aware of normalisation issues. + +

    + + +

    8.4 Using Translation Compendia

    +

    + + +

    +

    + +A compendium is a special PO file containing a set of +translations recurring in many different packages. The translator can +use gettext tools to build a new compendium, to add entries to her +compendium, and to initialize untranslated entries, or to update +already translated entries, from translations kept in the compendium. + +

    + + + +

    8.4.1 Creating Compendia

    +

    + + + +

    +

    +Basically every PO file consisting of translated entries only can be +declared as a valid compendium. Often the translator wants to have +special compendia; let's consider two cases: concatenating PO +files and extracting a message subset from a PO file. + +

    + + +

    8.4.1.1 Concatenate PO Files

    + +

    + + +To concatenate several valid PO files into one compendium file you can +use ‘msgcomm’ or ‘msgcat’ (the latter preferred): + +

    + +
    +msgcat -o compendium.po file1.po file2.po
    +
    + +

    +By default, msgcat will accumulate divergent translations +for the same string. Those occurrences will be marked as fuzzy +and highly visible decorated; calling msgcat on +‘file1.po’: + +

    + +
    +#: src/hello.c:200
    +#, c-format
    +msgid "Report bugs to <%s>.\n"
    +msgstr "Comunicar `bugs' a <%s>.\n"
    +
    + +

    +and ‘file2.po’: + +

    + +
    +#: src/bye.c:100
    +#, c-format
    +msgid "Report bugs to <%s>.\n"
    +msgstr "Comunicar \"bugs\" a <%s>.\n"
    +
    + +

    +will result in: + +

    + +
    +#: src/hello.c:200 src/bye.c:100
    +#, fuzzy, c-format
    +msgid "Report bugs to <%s>.\n"
    +msgstr ""
    +"#-#-#-#-#  file1.po  #-#-#-#-#\n"
    +"Comunicar `bugs' a <%s>.\n"
    +"#-#-#-#-#  file2.po  #-#-#-#-#\n"
    +"Comunicar \"bugs\" a <%s>.\n"
    +
    + +

    +The translator will have to resolve this “conflict” manually; she +has to decide whether the first or the second version is appropriate +(or provide a new translation), to delete the “marker lines”, and +finally to remove the fuzzy mark. + +

    +

    +If the translator knows in advance the first found translation of a +message is always the best translation she can make use to the +‘--use-first’ switch: + +

    + +
    +msgcat --use-first -o compendium.po file1.po file2.po
    +
    + +

    +A good compendium file must not contain fuzzy or untranslated +entries. If input files are “dirty” you must preprocess the input +files or postprocess the result using ‘msgattrib --translated --no-fuzzy’. + +

    + + +

    8.4.1.2 Extract a Message Subset from a PO File

    +

    + + +

    +

    +Nobody wants to translate the same messages again and again; thus you +may wish to have a compendium file containing ‘getopt.c’ messages. + +

    +

    +To extract a message subset (e.g., all ‘getopt.c’ messages) from an +existing PO file into one compendium file you can use ‘msggrep’: + +

    + +
    +msggrep --location src/getopt.c -o compendium.po file.po
    +
    + + + +

    8.4.2 Using Compendia

    + +

    +You can use a compendium file to initialize a translation from scratch +or to update an already existing translation. + +

    + + +

    8.4.2.1 Initialize a New Translation File

    +

    + + +

    +

    +Since a PO file with translations does not exist the translator can +merely use ‘/dev/null’ to fake the “old” translation file. + +

    + +
    +msgmerge --compendium compendium.po -o file.po /dev/null file.pot
    +
    + + + +

    8.4.2.2 Update an Existing Translation File

    +

    + + +

    +

    +Concatenate the compendium file(s) and the existing PO, merge the +result with the POT file and remove the obsolete entries (optional, +here done using ‘sed’): + +

    + +
    +msgcat --use-first -o update.po compendium1.po compendium2.po file.po
    +msgmerge update.po file.pot | msgattrib --no-obsolete > file.po
    +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_9.html b/mingw/share/doc/gettext/gettext_9.html new file mode 100644 index 00000000..536a39e5 --- /dev/null +++ b/mingw/share/doc/gettext/gettext_9.html @@ -0,0 +1,3468 @@ + + + + + +GNU gettext utilities - 9 Manipulating PO Files + + +Go to the first, previous, next, last section, table of contents. +


    + + +

    9 Manipulating PO Files

    +

    + + +

    +

    +Sometimes it is necessary to manipulate PO files in a way that is better +performed automatically than by hand. GNU gettext includes a +complete set of tools for this purpose. + +

    +

    + +When merging two packages into a single package, the resulting POT file +will be the concatenation of the two packages' POT files. Thus the +maintainer must concatenate the two existing package translations into +a single translation catalog, for each language. This is best performed +using ‘msgcat’. It is then the translators' duty to deal with any +possible conflicts that arose during the merge. + +

    +

    + +When a translator takes over the translation job from another translator, +but she uses a different character encoding in her locale, she will +convert the catalog to her character encoding. This is best done through +the ‘msgconv’ program. + +

    +

    +When a maintainer takes a source file with tagged messages from another +package, he should also take the existing translations for this source +file (and not let the translators do the same job twice). One way to do +this is through ‘msggrep’, another is to create a POT file for +that source file and use ‘msgmerge’. + +

    +

    + + +When a translator wants to adjust some translation catalog for a special +dialect or orthography -- for example, German as written in Switzerland +versus German as written in Germany -- she needs to apply some text +processing to every message in the catalog. The tool for doing this is +‘msgfilter’. + +

    +

    +Another use of msgfilter is to produce approximately the POT file for +which a given PO file was made. This can be done through a filter command +like ‘msgfilter sed -e d | sed -e '/^# /d'’. Note that the original +POT file may have had different comments and different plural message counts, +that's why it's better to use the original POT file if available. + +

    +

    + +When a translator wants to check her translations, for example according +to orthography rules or using a non-interactive spell checker, she can do +so using the ‘msgexec’ program. + +

    +

    + +When third party tools create PO or POT files, sometimes duplicates cannot +be avoided. But the GNU gettext tools give an error when they +encounter duplicate msgids in the same file and in the same domain. +To merge duplicates, the ‘msguniq’ program can be used. + +

    +

    +‘msgcomm’ is a more general tool for keeping or throwing away +duplicates, occurring in different files. + +

    +

    +‘msgcmp’ can be used to check whether a translation catalog is +completely translated. + +

    +

    + +‘msgattrib’ can be used to select and extract only the fuzzy +or untranslated messages of a translation catalog. + +

    +

    +‘msgen’ is useful as a first step for preparing English translation +catalogs. It copies each message's msgid to its msgstr. + +

    +

    +Finally, for those applications where all these various programs are not +sufficient, a library ‘libgettextpo’ is provided that can be used to +write other specialized programs that process PO files. + +

    + + + +

    9.1 Invoking the msgcat Program

    + +

    + + + +

    +msgcat [option] [inputfile]...
    +
    + +

    + + +The msgcat program concatenates and merges the specified PO files. +It finds messages which are common to two or more of the specified PO files. +By using the --more-than option, greater commonality may be requested +before messages are printed. Conversely, the --less-than option may be +used to specify less commonality before messages are printed (i.e. +‘--less-than=2’ will only print the unique messages). Translations, +comments and extract comments will be cumulated, except that if +--use-first is specified, they will be taken from the first PO file +to define them. File positions from all PO files will be cumulated. + +

    + + +

    9.1.1 Input file location

    + +
    + +
    inputfile ...’ +
    +Input files. + +
    ‘-f file +
    +
    ‘--files-from=file +
    + + +Read the names of the input files from file instead of getting +them from the command line. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If inputfile is ‘-’, standard input is read. + +

    + + +

    9.1.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    + +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.1.3 Message selection

    + +
    + +
    ‘-< number +
    +
    ‘--less-than=number +
    + + +Print messages with less than number definitions, defaults to infinite +if not set. + +
    ‘-> number +
    +
    ‘--more-than=number +
    + + +Print messages with more than number definitions, defaults to 0 if not +set. + +
    ‘-u’ +
    +
    ‘--unique’ +
    + + +Shorthand for ‘--less-than=2’. Requests that only unique messages be +printed. + +
    + + + +

    9.1.4 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input files are Java ResourceBundles in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input files are NeXTstep/GNUstep localized resource files in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.1.5 Output details

    + +
    + +
    ‘-t’ +
    +
    ‘--to-code=name +
    + + +Specify encoding for output. + +
    ‘--use-first’ +
    + +Use first available translation for each message. Don't merge several +translations into one. + +
    ‘--lang=catalogname +
    + +Specify the ‘Language’ field to be used in the header entry. See +section 6.2 Filling in the Header Entry for the meaning of this field. Note: The +‘Language-Team’ and ‘Plural-Forms’ fields are left unchanged. + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘-n’ +
    +
    ‘--add-location’ +
    + + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    9.1.6 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.2 Invoking the msgconv Program

    + +

    + + + +

    +msgconv [option] [inputfile]
    +
    + +

    + +The msgconv program converts a translation catalog to a different +character encoding. + +

    + + +

    9.2.1 Input file location

    + +
    + +
    inputfile +
    +Input PO file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If no inputfile is given or if it is ‘-’, standard input is read. + +

    + + +

    9.2.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.2.3 Conversion target

    + +
    + +
    ‘-t’ +
    +
    ‘--to-code=name +
    + + +Specify encoding for output. + +
    + +

    +The default encoding is the current locale's encoding. + +

    + + +

    9.2.4 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.2.5 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘--add-location’ +
    + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    9.2.6 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.3 Invoking the msggrep Program

    + +

    + + + +

    +msggrep [option] [inputfile]
    +
    + +

    + +The msggrep program extracts all messages of a translation catalog +that match a given pattern or belong to some given source files. + +

    + + +

    9.3.1 Input file location

    + +
    + +
    inputfile +
    +Input PO file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If no inputfile is given or if it is ‘-’, standard input is read. + +

    + + +

    9.3.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.3.3 Message selection

    + + +
    +  [-N sourcefile]... [-M domainname]...
    +  [-J msgctxt-pattern] [-K msgid-pattern] [-T msgstr-pattern]
    +  [-C comment-pattern]
    +
    + +

    +A message is selected if + +

      +
    • it comes from one of the specified source files, + +
    • or if it comes from one of the specified domains, + +
    • or if ‘-J’ is given and its context (msgctxt) matches + +msgctxt-pattern, +
    • or if ‘-K’ is given and its key (msgid or msgid_plural) matches + +msgid-pattern, +
    • or if ‘-T’ is given and its translation (msgstr) matches + +msgstr-pattern, +
    • or if ‘-C’ is given and the translator's comment matches + +comment-pattern. +
    + +

    +When more than one selection criterion is specified, the set of selected +messages is the union of the selected messages of each criterion. + +

    +

    +msgctxt-pattern or msgid-pattern or msgstr-pattern syntax: + +

    +  [-E | -F] [-e pattern | -f file]...
    +
    + +

    +patterns are basic regular expressions by default, or extended regular +expressions if -E is given, or fixed strings if -F is given. + +

    +
    + +
    ‘-N sourcefile +
    +
    ‘--location=sourcefile +
    + + +Select messages extracted from sourcefile. sourcefile can be +either a literal file name or a wildcard pattern. + +
    ‘-M domainname +
    +
    ‘--domain=domainname +
    + + +Select messages belonging to domain domainname. + +
    ‘-J’ +
    +
    ‘--msgctxt’ +
    + + +Start of patterns for the msgctxt. + +
    ‘-K’ +
    +
    ‘--msgid’ +
    + + +Start of patterns for the msgid. + +
    ‘-T’ +
    +
    ‘--msgstr’ +
    + + +Start of patterns for the msgstr. + +
    ‘-C’ +
    +
    ‘--comment’ +
    + + +Start of patterns for the translator's comment. + +
    ‘-X’ +
    +
    ‘--extracted-comment’ +
    + + +Start of patterns for the extracted comments. + +
    ‘-E’ +
    +
    ‘--extended-regexp’ +
    + + +Specify that pattern is an extended regular expression. + +
    ‘-F’ +
    +
    ‘--fixed-strings’ +
    + + +Specify that pattern is a set of newline-separated strings. + +
    ‘-e pattern +
    +
    ‘--regexp=pattern +
    + + +Use pattern as a regular expression. + +
    ‘-f file +
    +
    ‘--file=file +
    + + +Obtain pattern from file. + +
    ‘-i’ +
    +
    ‘--ignore-case’ +
    + + +Ignore case distinctions. + +
    ‘-v’ +
    +
    ‘--invert-match’ +
    + + +Output only the messages that do not match any selection criterion, instead +of the messages that match a selection criterion. + +
    + + + +

    9.3.4 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.3.5 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘--indent’ +
    + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘--add-location’ +
    + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘--sort-output’ +
    + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘--sort-by-file’ +
    + +Sort output by file location. + +
    + + + +

    9.3.6 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.3.7 Examples

    + +

    +To extract the messages that come from the source files +gnulib-lib/error.c and gnulib-lib/getopt.c: + +

    + +
    +msggrep -N gnulib-lib/error.c -N gnulib-lib/getopt.c input.po
    +
    + +

    +To extract the messages that contain the string “Please specify” in the +original string: + +

    + +
    +msggrep --msgid -F -e 'Please specify' input.po
    +
    + +

    +To extract the messages that have a context specifier of either “Menu>File” +or “Menu>Edit” or a submenu of them: + +

    + +
    +msggrep --msgctxt -E -e '^Menu>(File|Edit)' input.po
    +
    + +

    +To extract the messages whose translation contains one of the strings in the +file wordlist.txt: + +

    + +
    +msggrep --msgstr -F -f wordlist.txt input.po
    +
    + + + +

    9.4 Invoking the msgfilter Program

    + +

    + + + +

    +msgfilter [option] filter [filter-option]
    +
    + +

    + +The msgfilter program applies a filter to all translations of a +translation catalog. + +

    +

    + + + +During each filter invocation, the environment variable +MSGFILTER_MSGID is bound to the message's msgid, and the environment +variable MSGFILTER_LOCATION is bound to the location in the PO file +of the message. If the message has a context, the environment variable +MSGFILTER_MSGCTXT is bound to the message's msgctxt, otherwise it is +unbound. + +

    + + +

    9.4.1 Input file location

    + +
    + +
    ‘-i inputfile +
    +
    ‘--input=inputfile +
    + + +Input PO file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If no inputfile is given or if it is ‘-’, standard input is read. + +

    + + +

    9.4.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.4.3 The filter

    + +

    +The filter can be any program that reads a translation from standard +input and writes a modified translation to standard output. A frequently +used filter is ‘sed’. A few particular built-in filters are also +recognized. + +

    +

    + +Note: If the filter is not a built-in filter, you have to care about encodings: +It is your responsibility to ensure that the filter can cope +with input encoded in the translation catalog's encoding. If the +filter wants input in a particular encoding, you can in a first step +convert the translation catalog to that encoding using the ‘msgconv’ +program, before invoking ‘msgfilter’. If the filter wants input +in the locale's encoding, but you want to avoid the locale's encoding, then +you can first convert the translation catalog to UTF-8 using the +‘msgconv’ program and then make ‘msgfilter’ work in an UTF-8 +locale, by using the LC_ALL environment variable. + +

    +

    + +Note: Most translations in a translation catalog don't end with a newline +character. For this reason, it is important that the filter +recognizes its last input line even if it ends without a newline, and that +it doesn't add an undesired trailing newline at the end. The ‘sed’ +program on some platforms is known to ignore the last line of input if it +is not terminated with a newline. You can use GNU sed instead; it +does not have this limitation. + +

    + + +

    9.4.4 Useful filter-options when the filter is ‘sed’

    + +
    + +
    ‘-e script +
    +
    ‘--expression=script +
    + + +Add script to the commands to be executed. + +
    ‘-f scriptfile +
    +
    ‘--file=scriptfile +
    + + +Add the contents of scriptfile to the commands to be executed. + +
    ‘-n’ +
    +
    ‘--quiet’ +
    +
    ‘--silent’ +
    + + + +Suppress automatic printing of pattern space. + +
    + + + +

    9.4.5 Built-in filters

    + +

    + + +The filter ‘recode-sr-latin’ is recognized as a built-in filter. +The command ‘recode-sr-latin’ converts Serbian text, written in the +Cyrillic script, to the Latin script. +The command ‘msgfilter recode-sr-latin’ applies this conversion to the +translations of a PO file. Thus, it can be used to convert an ‘sr.po’ +file to an ‘sr@latin.po’ file. + +

    +

    +The use of built-in filters is not sensitive to the current locale's encoding. +Moreover, when used with a built-in filter, ‘msgfilter’ can automatically +convert the message catalog to the UTF-8 encoding when needed. + +

    + + +

    9.4.6 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.4.7 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘--indent’ +
    + +Write the .po file using indented style. + +
    ‘--keep-header’ +
    + +Keep the header entry, i.e. the message with ‘msgid ""’, unmodified, +instead of filtering it. By default, the header entry is subject to +filtering like any other message. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘--add-location’ +
    + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    9.4.8 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.4.9 Examples

    + +

    +To convert German translations to Swiss orthography (in an UTF-8 locale): + +

    + +
    +msgconv -t UTF-8 de.po | msgfilter sed -e 's/ß/ss/g'
    +
    + +

    +To convert Serbian translations in Cyrillic script to Latin script: + +

    + +
    +msgfilter recode-sr-latin < sr.po
    +
    + + + +

    9.5 Invoking the msguniq Program

    + +

    + + + +

    +msguniq [option] [inputfile]
    +
    + +

    + + +The msguniq program unifies duplicate translations in a translation +catalog. It finds duplicate translations of the same message ID. Such +duplicates are invalid input for other programs like msgfmt, +msgmerge or msgcat. By default, duplicates are merged +together. When using the ‘--repeated’ option, only duplicates are +output, and all other messages are discarded. Comments and extracted +comments will be cumulated, except that if ‘--use-first’ is +specified, they will be taken from the first translation. File positions +will be cumulated. When using the ‘--unique’ option, duplicates are +discarded. + +

    + + +

    9.5.1 Input file location

    + +
    + +
    inputfile +
    +Input PO file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If no inputfile is given or if it is ‘-’, standard input is read. + +

    + + +

    9.5.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.5.3 Message selection

    + +
    + +
    ‘-d’ +
    +
    ‘--repeated’ +
    + + +Print only duplicates. + +
    ‘-u’ +
    +
    ‘--unique’ +
    + + +Print only unique messages, discard duplicates. + +
    + + + +

    9.5.4 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.5.5 Output details

    + +
    + +
    ‘-t’ +
    +
    ‘--to-code=name +
    + + +Specify encoding for output. + +
    ‘--use-first’ +
    + +Use first available translation for each message. Don't merge several +translations into one. + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘-n’ +
    +
    ‘--add-location’ +
    + + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    9.5.6 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.6 Invoking the msgcomm Program

    + +

    + + + +

    +msgcomm [option] [inputfile]...
    +
    + +

    + +The msgcomm program finds messages which are common to two or more +of the specified PO files. +By using the --more-than option, greater commonality may be requested +before messages are printed. Conversely, the --less-than option may be +used to specify less commonality before messages are printed (i.e. +‘--less-than=2’ will only print the unique messages). Translations, +comments and extract comments will be preserved, but only from the first +PO file to define them. File positions from all PO files will be +cumulated. + +

    + + +

    9.6.1 Input file location

    + +
    + +
    inputfile ...’ +
    +Input files. + +
    ‘-f file +
    +
    ‘--files-from=file +
    + + +Read the names of the input files from file instead of getting +them from the command line. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If inputfile is ‘-’, standard input is read. + +

    + + +

    9.6.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.6.3 Message selection

    + +
    + +
    ‘-< number +
    +
    ‘--less-than=number +
    + + +Print messages with less than number definitions, defaults to infinite +if not set. + +
    ‘-> number +
    +
    ‘--more-than=number +
    + + +Print messages with more than number definitions, defaults to 1 if not +set. + +
    ‘-u’ +
    +
    ‘--unique’ +
    + + +Shorthand for ‘--less-than=2’. Requests that only unique messages be +printed. + +
    + + + +

    9.6.4 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input files are Java ResourceBundles in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input files are NeXTstep/GNUstep localized resource files in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.6.5 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘-n’ +
    +
    ‘--add-location’ +
    + + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    ‘--omit-header’ +
    + +Don't write header with ‘msgid ""’ entry. + +
    + + + +

    9.6.6 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.7 Invoking the msgcmp Program

    + +

    + + + +

    +msgcmp [option] def.po ref.pot
    +
    + +

    + +The msgcmp program compares two Uniforum style .po files to check that +both contain the same set of msgid strings. The def.po file is an +existing PO file with the translations. The ref.pot file is the last +created PO file, or a PO Template file (generally created by xgettext). +This is useful for checking that you have translated each and every message +in your program. Where an exact match cannot be found, fuzzy matching is +used to produce better diagnostics. + +

    + + +

    9.7.1 Input file location

    + +
    + +
    def.po’ +
    +Translations. + +
    ref.pot’ +
    +References to the sources. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. + +
    + + + +

    9.7.2 Operation modifiers

    + +
    + +
    ‘-m’ +
    +
    ‘--multi-domain’ +
    + + +Apply ref.pot to each of the domains in def.po. + +
    ‘-N’ +
    +
    ‘--no-fuzzy-matching’ +
    + + +Do not use fuzzy matching when an exact match is not found. This may speed +up the operation considerably. + +
    ‘--use-fuzzy’ +
    + +Consider fuzzy messages in the def.po file like translated messages. +Note that using this option is usually wrong, because fuzzy messages are +exactly those which have not been validated by a human translator. + +
    ‘--use-untranslated’ +
    + +Consider untranslated messages in the def.po file like translated +messages. Note that using this option is usually wrong. + +
    + + + +

    9.7.3 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input files are Java ResourceBundles in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input files are NeXTstep/GNUstep localized resource files in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.7.4 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.8 Invoking the msgattrib Program

    + +

    + + + +

    +msgattrib [option] [inputfile]
    +
    + +

    + + +The msgattrib program filters the messages of a translation catalog +according to their attributes, and manipulates the attributes. + +

    + + +

    9.8.1 Input file location

    + +
    + +
    inputfile +
    +Input PO file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If no inputfile is given or if it is ‘-’, standard input is read. + +

    + + +

    9.8.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.8.3 Message selection

    + +
    + +
    ‘--translated’ +
    + +Keep translated messages, remove untranslated messages. + +
    ‘--untranslated’ +
    + +Keep untranslated messages, remove translated messages. + +
    ‘--no-fuzzy’ +
    + +Remove +‘fuzzy’ +marked messages. + +
    ‘--only-fuzzy’ +
    + +Keep +‘fuzzy’ +marked messages, remove all other messages. + +
    ‘--no-obsolete’ +
    + +Remove obsolete #~ messages. + +
    ‘--only-obsolete’ +
    + +Keep obsolete #~ messages, remove all other messages. + +
    + + + +

    9.8.4 Attribute manipulation

    + +

    + +Attributes are modified after the message selection/removal has been +performed. If the ‘--only-file’ or ‘--ignore-file’ option is +specified, the attribute modification is applied only to those messages +that are listed in the only-file and not listed in the +ignore-file. + +

    +
    + +
    ‘--set-fuzzy’ +
    + +Set all messages +‘fuzzy’. + +
    ‘--clear-fuzzy’ +
    + +Set all messages +non-‘fuzzy’. + +
    ‘--set-obsolete’ +
    + +Set all messages obsolete. + +
    ‘--clear-obsolete’ +
    + +Set all messages non-obsolete. + +
    ‘--clear-previous’ +
    + +Remove the “previous msgid” (‘#|’) comments from all messages. + +
    ‘--only-file=file +
    + +Limit the attribute changes to entries that are listed in file. +file should be a PO or POT file. + +
    ‘--ignore-file=file +
    + +Limit the attribute changes to entries that are not listed in file. +file should be a PO or POT file. + +
    ‘--fuzzy’ +
    + +Synonym for ‘--only-fuzzy --clear-fuzzy’: It keeps only the fuzzy +messages and removes their +‘fuzzy’ +mark. + +
    ‘--obsolete’ +
    + +Synonym for ‘--only-obsolete --clear-obsolete’: It keeps only the +obsolete messages and makes them non-obsolete. + +
    + + + +

    9.8.5 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.8.6 Output details

    + +
    + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘-n’ +
    +
    ‘--add-location’ +
    + + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    9.8.7 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.9 Invoking the msgen Program

    + +

    + + + +

    +msgen [option] inputfile
    +
    + +

    + +The msgen program creates an English translation catalog. The +input file is the last created English PO file, or a PO Template file +(generally created by xgettext). Untranslated entries are assigned a +translation that is identical to the msgid. + +

    +

    +Note: ‘msginit --no-translator --locale=en’ performs a very similar +task. The main difference is that msginit cares specially about +the header entry, whereas msgen doesn't. + +

    + + +

    9.9.1 Input file location

    + +
    + +
    inputfile +
    +Input PO or POT file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If inputfile is ‘-’, standard input is read. + +

    + + +

    9.9.2 Output file location

    + +
    + +
    ‘-o file +
    +
    ‘--output-file=file +
    + + +Write output to specified file. + +
    + +

    +The results are written to standard output if no output file is specified +or if it is ‘-’. + +

    + + +

    9.9.3 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.9.4 Output details

    + +
    + +
    ‘--lang=catalogname +
    + +Specify the ‘Language’ field to be used in the header entry. See +section 6.2 Filling in the Header Entry for the meaning of this field. Note: The +‘Language-Team’ and ‘Plural-Forms’ fields are not set by this +option. + +
    ‘--color’ +
    +
    ‘--color=when +
    + +Specify whether or when to use colors and other text attributes. +See section 9.11.1 The --color option for details. + +
    ‘--style=style_file +
    + +Specify the CSS style rule file to use for --color. +See section 9.11.3 The --style option for details. + +
    ‘--force-po’ +
    + +Always write an output file even if it contains no message. + +
    ‘-i’ +
    +
    ‘--indent’ +
    + + +Write the .po file using indented style. + +
    ‘--no-location’ +
    + +Do not write ‘#: filename:line lines. + +
    ‘--add-location’ +
    + +Generate ‘#: filename:line lines (default). + +
    ‘--strict’ +
    + +Write out a strict Uniforum conforming PO file. Note that this +Uniforum format should be avoided because it doesn't support the +GNU extensions. + +
    ‘-p’ +
    +
    ‘--properties-output’ +
    + + +Write out a Java ResourceBundle in Java .properties syntax. Note +that this file format doesn't support plural forms and silently drops +obsolete messages. + +
    ‘--stringtable-output’ +
    + +Write out a NeXTstep/GNUstep localized resource file in .strings syntax. +Note that this file format doesn't support plural forms. + +
    ‘-w number +
    +
    ‘--width=number +
    + + +Set the output page width. Long strings in the output files will be +split across multiple lines in order to ensure that each line's width +(= number of screen columns) is less or equal to the given number. + +
    ‘--no-wrap’ +
    + +Do not break long message lines. Message lines whose width exceeds the +output page width will not be split into several lines. Only file reference +lines which are wider than the output page width will be split. + +
    ‘-s’ +
    +
    ‘--sort-output’ +
    + + +Generate sorted output. Note that using this option makes it much harder +for the translator to understand each message's context. + +
    ‘-F’ +
    +
    ‘--sort-by-file’ +
    + + +Sort output by file location. + +
    + + + +

    9.9.5 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.10 Invoking the msgexec Program

    + +

    + + + +

    +msgexec [option] command [command-option]
    +
    + +

    + +The msgexec program applies a command to all translations of a +translation catalog. +The command can be any program that reads a translation from standard +input. It is invoked once for each translation. Its output becomes +msgexec's output. msgexec's return code is the maximum return code +across all invocations. + +

    +

    + +A special builtin command called ‘0’ outputs the translation, followed +by a null byte. The output of ‘msgexec 0’ is suitable as input for +‘xargs -0’. + +

    +

    + + + +During each command invocation, the environment variable +MSGEXEC_MSGID is bound to the message's msgid, and the environment +variable MSGEXEC_LOCATION is bound to the location in the PO file +of the message. If the message has a context, the environment variable +MSGEXEC_MSGCTXT is bound to the message's msgctxt, otherwise it is +unbound. + +

    +

    + +Note: It is your responsibility to ensure that the command can cope +with input encoded in the translation catalog's encoding. If the +command wants input in a particular encoding, you can in a first step +convert the translation catalog to that encoding using the ‘msgconv’ +program, before invoking ‘msgexec’. If the command wants input +in the locale's encoding, but you want to avoid the locale's encoding, then +you can first convert the translation catalog to UTF-8 using the +‘msgconv’ program and then make ‘msgexec’ work in an UTF-8 +locale, by using the LC_ALL environment variable. + +

    + + +

    9.10.1 Input file location

    + +
    + +
    ‘-i inputfile +
    +
    ‘--input=inputfile +
    + + +Input PO file. + +
    ‘-D directory +
    +
    ‘--directory=directory +
    + + +Add directory to the list of directories. Source files are +searched relative to this list of directories. The resulting ‘.po’ +file will be written relative to the current directory, though. + +
    + +

    +If no inputfile is given or if it is ‘-’, standard input is read. + +

    + + +

    9.10.2 Input file syntax

    + +
    + +
    ‘-P’ +
    +
    ‘--properties-input’ +
    + + +Assume the input file is a Java ResourceBundle in Java .properties +syntax, not in PO file syntax. + +
    ‘--stringtable-input’ +
    + +Assume the input file is a NeXTstep/GNUstep localized resource file in +.strings syntax, not in PO file syntax. + +
    + + + +

    9.10.3 Informative output

    + +
    + +
    ‘-h’ +
    +
    ‘--help’ +
    + + +Display this help and exit. + +
    ‘-V’ +
    +
    ‘--version’ +
    + + +Output version information and exit. + +
    + + + +

    9.11 Highlighting parts of PO files

    + +

    +Translators are usually only interested in seeing the untranslated and +fuzzy messages of a PO file. Also, when a message is set fuzzy because +the msgid changed, they want to see the differences between the previous +msgid and the current one (especially if the msgid is long and only few +words in it have changed). Finally, it's always welcome to highlight the +different sections of a message in a PO file (comments, msgid, msgstr, etc.). + +

    +

    +Such highlighting is possible through the msgcat options +‘--color’ and ‘--style’. + +

    + + + +

    9.11.1 The --color option

    + +

    + +The ‘--color=when option specifies under which conditions +colorized output should be generated. The when part can be one of +the following: + +

    +
    + +
    always +
    +
    yes +
    +The output will be colorized. + +
    never +
    +
    no +
    +The output will not be colorized. + +
    auto +
    +
    tty +
    +The output will be colorized if the output device is a tty, i.e. when the +output goes directly to a text screen or terminal emulator window. + +
    html +
    +The output will be colorized and be in HTML format. +
    + +

    +‘--color’ is equivalent to ‘--color=yes’. The default is +‘--color=auto’. + +

    +

    +Thus, a command like ‘msgcat vi.po’ will produce colorized output +when called by itself in a command window. Whereas in a pipe, such as +‘msgcat vi.po | less -R’, it will not produce colorized output. To +get colorized output in this situation nevertheless, use the command +‘msgcat --color vi.po | less -R’. + +

    +

    +The ‘--color=html’ option will produce output that can be viewed in +a browser. This can be useful, for example, for Indic languages, +because the renderic of Indic scripts in browser is usually better than +in terminal emulators. + +

    +

    +Note that the output produced with the --color option is not +a valid PO file in itself. It contains additional terminal-specific escape +sequences or HTML tags. A PO file reader will give a syntax error when +confronted with such content. Except for the ‘--color=html’ case, +you therefore normally don't need to save output produced with the +--color option in a file. + +

    + + +

    9.11.2 The environment variable TERM

    + +

    + +The environment variable TERM contains a identifier for the text +window's capabilities. You can get a detailed list of these cababilities +by using the ‘infocmp’ command, using ‘man 5 terminfo’ as a +reference. + +

    +

    +When producing text with embedded color directives, msgcat looks +at the TERM variable. Text windows today typically support at least +8 colors. Often, however, the text window supports 16 or more colors, +even though the TERM variable is set to a identifier denoting only +8 supported colors. It can be worth setting the TERM variable to +a different value in these cases: + +

    +
    + +
    xterm +
    +xterm is in most cases built with support for 16 colors. It can also +be built with support for 88 or 256 colors (but not both). You can try to +set TERM to either xterm-16color, xterm-88color, or +xterm-256color. + +
    rxvt +
    +rxvt is often built with support for 16 colors. You can try to set +TERM to rxvt-16color. + +
    konsole +
    +konsole too is often built with support for 16 colors. You can try to +set TERM to konsole-16color or xterm-16color. +
    + +

    +After setting TERM, you can verify it by invoking +‘msgcat --color=test’ and seeing whether the output looks like a +reasonable color map. + +

    + + +

    9.11.3 The --style option

    + +

    + +The ‘--style=style_file option specifies the style file to use +when colorizing. It has an effect only when the --color option is +effective. + +

    +

    + +If the --style option is not specified, the environment variable +PO_STYLE is considered. It is meant to point to the user's +preferred style for PO files. + +

    +

    +The default style file is ‘$prefix/share/gettext/styles/po-default.css’, +where $prefix is the installation location. + +

    +

    +A few style files are predefined: +

    + +
    ‘po-vim.css’ +
    +This style imitates the look used by vim 7. + +
    ‘po-emacs-x.css’ +
    +This style imitates the look used by GNU Emacs 21 and 22 in an X11 window. + +
    ‘po-emacs-xterm.css’ +
    +
    ‘po-emacs-xterm16.css’ +
    +
    ‘po-emacs-xterm256.css’ +
    +This style imitates the look used by GNU Emacs 22 in a terminal of type +‘xterm’ (8 colors) or ‘xterm-16color’ (16 colors) or +‘xterm-256color’ (256 colors), respectively. +
    + +

    +You can use these styles without specifying a directory. They are actually +located in ‘$prefix/share/gettext/styles/’, where $prefix is the +installation location. + +

    +

    +You can also design your own styles. This is described in the next section. + +

    + + + +

    9.11.4 Style rules for PO files

    + +

    +The same style file can be used for styling of a PO file, for terminal +output and for HTML output. It is written in CSS (Cascading Style Sheet) +syntax. See http://www.w3.org/TR/css2/cover.html for a formal +definition of CSS. Many HTML authoring tutorials also contain explanations +of CSS. + +

    +

    +In the case of HTML output, the style file is embedded in the HTML output. +In the case of text output, the style file is interpreted by the +msgcat program. This means, in particular, that when +@import is used with relative file names, the file names are + +

    + +
      +
    • + +relative to the resulting HTML file, in the case of HTML output, + +
    • + +relative to the style sheet containing the @import, in the case of +text output. (Actually, @imports are not yet supported in this case, +due to a limitation in libcroco.) +
    + +

    +CSS rules are built up from selectors and declarations. The declarations +specify graphical properties; the selectors specify specify when they apply. + +

    +

    +In PO files, the following simple selectors (based on "CSS classes", see +the CSS2 spec, section 5.8.3) are supported. + +

    + +
      +
    • + +Selectors that apply to entire messages: + +
      + +
      .header +
      +This matches the header entry of a PO file. + +
      .translated +
      +This matches a translated message. + +
      .untranslated +
      +This matches an untranslated message (i.e. a message with empty translation). + +
      .fuzzy +
      +This matches a fuzzy message (i.e. a message which has a translation that +needs review by the translator). + +
      .obsolete +
      +This matches an obsolete message (i.e. a message that was translated but is +not needed by the current POT file any more). +
      + +
    • + +Selectors that apply to parts of a message in PO syntax. Recall the general +structure of a message in PO syntax: + + +
      +white-space
      +#  translator-comments
      +#. extracted-comments
      +#: reference...
      +#, flag...
      +#| msgid previous-untranslated-string
      +msgid untranslated-string
      +msgstr translated-string
      +
      + +
      + +
      .comment +
      +This matches all comments (translator comments, extracted comments, +source file reference comments, flag comments, previous message comments, +as well as the entire obsolete messages). + +
      .translator-comment +
      +This matches the translator comments. + +
      .extracted-comment +
      +This matches the extracted comments, i.e. the comments placed by the +programmer at the attention of the translator. + +
      .reference-comment +
      +This matches the source file reference comments (entire lines). + +
      .reference +
      +This matches the individual source file references inside the source file +reference comment lines. + +
      .flag-comment +
      +This matches the flag comment lines (entire lines). + +
      .flag +
      +This matches the individual flags inside flag comment lines. + +
      .fuzzy-flag +
      +This matches the `fuzzy' flag inside flag comment lines. + +
      .previous-comment +
      +This matches the comments containing the previous untranslated string (entire +lines). + +
      .previous +
      +This matches the previous untranslated string including the string delimiters, +the associated keywords (msgid etc.) and the spaces between them. + +
      .msgid +
      +This matches the untranslated string including the string delimiters, +the associated keywords (msgid etc.) and the spaces between them. + +
      .msgstr +
      +This matches the translated string including the string delimiters, +the associated keywords (msgstr etc.) and the spaces between them. + +
      .keyword +
      +This matches the keywords (msgid, msgstr, etc.). + +
      .string +
      +This matches strings, including the string delimiters (double quotes). +
      + +
    • + +Selectors that apply to parts of strings: + +
      + +
      .text +
      +This matches the entire contents of a string (excluding the string delimiters, +i.e. the double quotes). + +
      .escape-sequence +
      +This matches an escape sequence (starting with a backslash). + +
      .format-directive +
      +This matches a format string directive (starting with a ‘%’ sign in the +case of most programming languages, with a ‘{’ in the case of +java-format and csharp-format, with a ‘~’ in the case of +lisp-format and scheme-format, or with ‘$’ in the case of +sh-format). + +
      .invalid-format-directive +
      +This matches an invalid format string directive. + +
      .added +
      +In an untranslated string, this matches a part of the string that was not +present in the previous untranslated string. (Not yet implemented in this +release.) + +
      .changed +
      +In an untranslated string or in a previous untranslated string, this matches +a part of the string that is changed or replaced. (Not yet implemented in +this release.) + +
      .removed +
      +In a previous untranslated string, this matches a part of the string that +is not present in the current untranslated string. (Not yet implemented in +this release.) +
      +
    + +

    +These selectors can be combined to hierarchical selectors. For example, + +

    + +
    +.msgstr .invalid-format-directive { color: red; }
    +
    + +

    +will highlight the invalid format directives in the translated strings. + +

    +

    +In text mode, pseudo-classes (CSS2 spec, section 5.11) and pseudo-elements +(CSS2 spec, section 5.12) are not supported. + +

    +

    +The declarations in HTML mode are not limited; any graphical attribute +supported by the browsers can be used. + +

    +

    +The declarations in text mode are limited to the following properties. Other +properties will be silently ignored. + +

    +
    + +
    color (CSS2 spec, section 14.1) +
    +
    background-color (CSS2 spec, section 14.2.1) +
    +These properties is supported. Colors will be adjusted to match the terminal's +capabilities. Note that many terminals support only 8 colors. + +
    font-weight (CSS2 spec, section 15.2.3) +
    +This property is supported, but most terminals can only render two different +weights: normal and bold. Values >= 600 are rendered as +bold. + +
    font-style (CSS2 spec, section 15.2.3) +
    +This property is supported. The values italic and oblique are +rendered the same way. + +
    text-decoration (CSS2 spec, section 16.3.1) +
    +This property is supported, limited to the values none and +underline. +
    + + + +

    9.11.5 Customizing less for viewing PO files

    + +

    +The ‘less’ program is a popular text file browser for use in a text +screen or terminal emulator. It also supports text with embedded escape +sequences for colors and text decorations. + +

    +

    +You can use less to view a PO file like this (assuming an UTF-8 +environment): + +

    + +
    +msgcat --to-code=UTF-8 --color xyz.po | less -R
    +
    + +

    +You can simplify this to this simple command: + +

    + +
    +less xyz.po
    +
    + +

    +after these three preparations: + +

    + +
      +
    1. + +Add the options ‘-R’ and ‘-f’ to the LESS environment +variable. In sh shells: + +
      +$ LESS="$LESS -R -f"
      +$ export LESS
      +
      + +
    2. + +If your system does not already have the ‘lessopen.sh’ and +‘lessclose.sh’ scripts, create them and set the LESSOPEN and +LESSCLOSE environment variables, as indicated in the manual page +(‘man less’). + +
    3. + +Add to ‘lessopen.sh’ a piece of script that recognizes PO files +through their file extension and invokes msgcat on them, producing +a temporary file. Like this: + + +
      +case "$1" in
      +  *.po)
      +    tmpfile=`mktemp "${TMPDIR-/tmp}/less.XXXXXX"`
      +    msgcat --to-code=UTF-8 --color "$1" > "$tmpfile"
      +    echo "$tmpfile"
      +    exit 0
      +    ;;
      +esac
      +
      + +
    + + + +

    9.12 Writing your own programs that process PO files

    + +

    +For the tasks for which a combination of ‘msgattrib’, ‘msgcat’ etc. +is not sufficient, a set of C functions is provided in a library, to make it +possible to process PO files in your own programs. When you use this library, +you don't need to write routines to parse the PO file; instead, you retrieve +a pointer in memory to each of messages contained in the PO file. Functions +for writing PO files are not provided at this time. + +

    +

    +The functions are declared in the header file ‘<gettext-po.h>’, and are +defined in a library called ‘libgettextpo’. + +

    +

    +

    +
    Data Type: po_file_t +
    +This is a pointer type that refers to the contents of a PO file, after it has +been read into memory. +
    + +

    +

    +

    +
    Data Type: po_message_iterator_t +
    +This is a pointer type that refers to an iterator that produces a sequence of +messages. +
    + +

    +

    +

    +
    Data Type: po_message_t +
    +This is a pointer type that refers to a message of a PO file, including its +translation. +
    + +

    +

    +

    +
    Function: po_file_t po_file_read (const char *filename) +
    +The po_file_read function reads a PO file into memory. The file name +is given as argument. The return value is a handle to the PO file's contents, +valid until po_file_free is called on it. In case of error, the return +value is NULL, and errno is set. +
    + +

    +

    +

    +
    Function: void po_file_free (po_file_t file) +
    +The po_file_free function frees a PO file's contents from memory, +including all messages that are only implicitly accessible through iterators. +
    + +

    +

    +

    +
    Function: const char * const * po_file_domains (po_file_t file) +
    +The po_file_domains function returns the domains for which the given +PO file has messages. The return value is a NULL terminated array +which is valid as long as the file handle is valid. For PO files which +contain no ‘domain’ directive, the return value contains only one domain, +namely the default domain "messages". +
    + +

    +

    +

    +
    Function: po_message_iterator_t po_message_iterator (po_file_t file, const char *domain) +
    +The po_message_iterator returns an iterator that will produce the +messages of file that belong to the given domain. If domain +is NULL, the default domain is used instead. To list the messages, +use the function po_next_message repeatedly. +
    + +

    +

    +

    +
    Function: void po_message_iterator_free (po_message_iterator_t iterator) +
    +The po_message_iterator_free function frees an iterator previously +allocated through the po_message_iterator function. +
    + +

    +

    +

    +
    Function: po_message_t po_next_message (po_message_iterator_t iterator) +
    +The po_next_message function returns the next message from +iterator and advances the iterator. It returns NULL when the +iterator has reached the end of its message list. +
    + +

    +

    +The following functions returns details of a po_message_t. Recall +that the results are valid as long as the file handle is valid. + +

    +

    +

    +
    Function: const char * po_message_msgid (po_message_t message) +
    +The po_message_msgid function returns the msgid (untranslated +English string) of a message. This is guaranteed to be non-NULL. +
    + +

    +

    +

    +
    Function: const char * po_message_msgid_plural (po_message_t message) +
    +The po_message_msgid_plural function returns the msgid_plural +(untranslated English plural string) of a message with plurals, or NULL +for a message without plural. +
    + +

    +

    +

    +
    Function: const char * po_message_msgstr (po_message_t message) +
    +The po_message_msgstr function returns the msgstr (translation) +of a message. For an untranslated message, the return value is an empty +string. +
    + +

    +

    +

    +
    Function: const char * po_message_msgstr_plural (po_message_t message, int index) +
    +The po_message_msgstr_plural function returns the +msgstr[index] of a message with plurals, or NULL when +the index is out of range or for a message without plural. +
    + +

    +

    +Here is an example code how these functions can be used. + +

    + +
    +const char *filename = ...;
    +po_file_t file = po_file_read (filename);
    +
    +if (file == NULL)
    +  error (EXIT_FAILURE, errno, "couldn't open the PO file %s", filename);
    +{
    +  const char * const *domains = po_file_domains (file);
    +  const char * const *domainp;
    +
    +  for (domainp = domains; *domainp; domainp++)
    +    {
    +      const char *domain = *domainp;
    +      po_message_iterator_t iterator = po_message_iterator (file, domain);
    +
    +      for (;;)
    +        {
    +          po_message_t *message = po_next_message (iterator);
    +
    +          if (message == NULL)
    +            break;
    +          {
    +            const char *msgid = po_message_msgid (message);
    +            const char *msgstr = po_message_msgstr (message);
    +
    +            ...
    +          }
    +        }
    +      po_message_iterator_free (iterator);
    +    }
    +}
    +po_file_free (file);
    +
    + +


    +Go to the first, previous, next, last section, table of contents. + + diff --git a/mingw/share/doc/gettext/gettext_foot.html b/mingw/share/doc/gettext/gettext_foot.html new file mode 100644 index 00000000..2c49cedc --- /dev/null +++ b/mingw/share/doc/gettext/gettext_foot.html @@ -0,0 +1,44 @@ + + + + + +GNU gettext utilities - Footnotes + + +

    GNU gettext tools, version 0.18.1

    +

    Native Language Support Library and Tools

    +

    Edition 0.18.1, 6 June 2010

    +
    Ulrich Drepper
    +
    Jim Meyering
    +
    François Pinard
    +
    Bruno Haible
    +

    +


    +

    (1)

    +

    In this manual, all mentions of Emacs +refers to either GNU Emacs or to XEmacs, which people sometimes call FSF +Emacs and Lucid Emacs, respectively. +

    (2)

    +

    This +limitation is not imposed by GNU gettext, but is for compatibility +with the msgfmt implementation on Solaris. +

    (3)

    +

    Some +system, e.g. mingw, don't have LC_MESSAGES. Here we use a more or +less arbitrary value for it, namely 1729, the smallest positive integer +which can be represented in two different ways as the sum of two cubes. +

    (4)

    +

    When the system does not support setlocale its behavior +in setting the locale values is simulated by looking at the environment +variables. +

    (5)

    +

    Additions are welcome. Send appropriate information to +bug-gnu-gettext@gnu.org and bug-glibc-manual@gnu.org. +


    +This document was generated on 6 June 2010 using the +texi2html +translator version 1.52b.

    + + diff --git a/mingw/share/doc/gettext/gettext_toc.html b/mingw/share/doc/gettext/gettext_toc.html new file mode 100644 index 00000000..feb68f0a --- /dev/null +++ b/mingw/share/doc/gettext/gettext_toc.html @@ -0,0 +1,470 @@ + + + + + +GNU gettext utilities - Table of Contents + + +

    GNU gettext tools, version 0.18.1

    +

    Native Language Support Library and Tools

    +

    Edition 0.18.1, 6 June 2010

    +
    Ulrich Drepper
    +
    Jim Meyering
    +
    François Pinard
    +
    Bruno Haible
    +

    +


    +

    +


    +This document was generated on 6 June 2010 using the +texi2html +translator version 1.52b.

    + + diff --git a/mingw/share/doc/gettext/gettextize.1.html b/mingw/share/doc/gettext/gettextize.1.html new file mode 100644 index 00000000..0ad39823 --- /dev/null +++ b/mingw/share/doc/gettext/gettextize.1.html @@ -0,0 +1,265 @@ + + + + + +GETTEXTIZE + + + +

    GETTEXTIZE

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +OPTIONS
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    gettextize − install or upgrade gettext +infrastructure

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    gettextize [OPTION]... +[package-dir]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Prepares a source package to use gettext.

    +
    + +

    OPTIONS

    + + + + + + + + +
    + +

    −−help

    +
    + +

    print this help and exit

    +
    +
    + + + + + +
    +

    −−version

    + + + + + +
    +

    print version information and exit

    +
    + + + + + +
    +

    −f, −−force

    + + + + + +
    +

    force writing of new files even if old exist

    +
    + + + + + + + +
    + +

    −−intl

    +
    + +

    install libintl in a subdirectory (deprecated)

    +
    + + + + + +
    +

    −−po−dir=DIR

    + + + + + +
    +

    specify directory with PO files

    +
    + + + + + +
    +

    −−no−changelog

    + + + + + +
    +

    don’t update or create ChangeLog files

    +
    + + + + + +
    +

    −−symlink

    + + + + + +
    +

    make symbolic links instead of copying files

    +
    + + + + + +
    +

    −n, +−−dry−run

    + + + + + +
    +

    print modifications but don’t perform them

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Ulrich Drepper

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1998, 2000-2010 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for gettextize is +maintained as a Texinfo manual. If the info and +gettextize programs are properly installed at your +site, the command

    +
    + + + + + +
    +

    info gettextize

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/javadoc2/allclasses-frame.html b/mingw/share/doc/gettext/javadoc2/allclasses-frame.html new file mode 100644 index 00000000..a788935a --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/allclasses-frame.html @@ -0,0 +1,25 @@ + + + + + + +All Classes + + + + + +All Classes +
    + + + + + +
    GettextResource +
    +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/deprecated-list.html b/mingw/share/doc/gettext/javadoc2/deprecated-list.html new file mode 100644 index 00000000..57a2b737 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/deprecated-list.html @@ -0,0 +1,87 @@ + + + + + + +: Deprecated List + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    +

    +Deprecated API

    +
    +
    + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/gnu/gettext/GettextResource.html b/mingw/share/doc/gettext/javadoc2/gnu/gettext/GettextResource.html new file mode 100644 index 00000000..c1daa903 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/gnu/gettext/GettextResource.html @@ -0,0 +1,321 @@ + + + + + + +: Class GettextResource + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + +

    + +gnu.gettext +
    +Class GettextResource

    +
    +java.lang.Object
    +  |
    +  +--java.util.ResourceBundle
    +        |
    +        +--gnu.gettext.GettextResource
    +
    +
    +
    +
    public abstract class GettextResource
    extends java.util.ResourceBundle
    + +

    +This class implements the main GNU libintl functions in Java. +

    + Using the GNU gettext approach, compiled message catalogs are normal + Java ResourceBundle classes and are thus interoperable with standard + ResourceBundle based code. +

    + The main differences between the Sun ResourceBundle approach and the + GNU gettext approach are: +

      +
    • In the Sun approach, the keys are abstract textual shortcuts. + In the GNU gettext approach, the keys are the English/ASCII version + of the messages. +
    • In the Sun approach, the translation files are called + "Resource_locale.properties" and have non-ASCII + characters encoded in the Java + \unnnn syntax. Very few editors + can natively display international characters in this format. In the + GNU gettext approach, the translation files are called + "Resource.locale.po" + and are in the encoding the translator has chosen. Many editors + can be used. There are at least three GUI translating tools + (Emacs PO mode, KDE KBabel, GNOME gtranslator). +
    • In the Sun approach, the function + ResourceBundle.getString throws a + MissingResourceException when no translation is found. + In the GNU gettext approach, the gettext function + returns the (English) message key in that case. +
    • In the Sun approach, there is no support for plural handling. + Even the most elaborate MessageFormat strings cannot provide decent + plural handling. In the GNU gettext approach, we have the + ngettext function. +
    +

    + To compile GNU gettext message catalogs into Java ResourceBundle classes, + the msgfmt program can be used. +

    +


    + +

    + + + + + + + + + + + + + + +
    +Field Summary
    +static booleanverbose + +
    +           
    + + + + + + + +
    Fields inherited from class java.util.ResourceBundle
    parent
    +  + + + + + + + + + + +
    +Constructor Summary
    GettextResource() + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    +static java.lang.Stringgettext(java.util.ResourceBundle catalog, + java.lang.String msgid) + +
    +          Returns the translation of msgid.
    +static java.lang.Stringngettext(java.util.ResourceBundle catalog, + java.lang.String msgid, + java.lang.String msgid_plural, + long n) + +
    +          Returns the plural form for n of the translation of + msgid.
    + + + + + + + +
    Methods inherited from class java.util.ResourceBundle
    getBundle, getBundle, getBundle, getKeys, getLocale, getObject, getString, getStringArray, handleGetObject, setParent
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +verbose

    +
    +public static boolean verbose
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +GettextResource

    +
    +public GettextResource()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +gettext

    +
    +public static java.lang.String gettext(java.util.ResourceBundle catalog,
    +                                       java.lang.String msgid)
    +
    +
    Returns the translation of msgid.
    +
    Parameters:
    catalog - a ResourceBundle
    msgid - the key string to be translated, an ASCII string
    Returns:
    the translation of msgid, or msgid if + none is found
    +
    +
    +
    + +

    +ngettext

    +
    +public static java.lang.String ngettext(java.util.ResourceBundle catalog,
    +                                        java.lang.String msgid,
    +                                        java.lang.String msgid_plural,
    +                                        long n)
    +
    +
    Returns the plural form for n of the translation of + msgid.
    +
    Parameters:
    catalog - a ResourceBundle
    msgid - the key string to be translated, an ASCII string
    msgid_plural - its English plural form
    Returns:
    the translation of msgid depending on n, + or msgid or msgid_plural if none is found
    +
    +
    + +
    + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-frame.html b/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-frame.html new file mode 100644 index 00000000..6e2f332a --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +: Package gnu.gettext + + + + + +gnu.gettext + + + + +
    +Classes  + +
    +GettextResource
    + + + + diff --git a/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-summary.html b/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-summary.html new file mode 100644 index 00000000..d4909fa9 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-summary.html @@ -0,0 +1,103 @@ + + + + + + +: Package gnu.gettext + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +

    +Package gnu.gettext +

    + + + + + + + + + +
    +Class Summary
    GettextResourceThis class implements the main GNU libintl functions in Java. +
    +  + +

    +


    + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-tree.html b/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-tree.html new file mode 100644 index 00000000..75a50036 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/gnu/gettext/package-tree.html @@ -0,0 +1,99 @@ + + + + + + +: gnu.gettext Class Hierarchy + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    +

    +Hierarchy For Package gnu.gettext +

    +
    +

    +Class Hierarchy +

    +
      +
    • class java.lang.Object +
    +
    + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/help-doc.html b/mingw/share/doc/gettext/javadoc2/help-doc.html new file mode 100644 index 00000000..8f09871e --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/help-doc.html @@ -0,0 +1,136 @@ + + + + + + +: API Help + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    +

    +How This API Document Is Organized

    +
    +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

    +Package

    +
    + +

    +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

      +
    • Interfaces (italic)
    • Classes
    • Exceptions
    • Errors
    +
    +

    +Class/Interface

    +
    + +

    +Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      +
    • Class inheritance diagram
    • Direct Subclasses
    • All Known Subinterfaces
    • All Known Implementing Classes
    • Class/interface declaration
    • Class/interface description +

      +

    • Inner Class Summary
    • Field Summary
    • Constructor Summary
    • Method Summary +

      +

    • Field Detail
    • Constructor Detail
    • Method Detail
    +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
    +

    +Tree (Class Hierarchy)

    +
    +There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
      +
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    +
    +

    +Deprecated API

    +
    +The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
    +

    +Index

    +
    +The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
    +

    +Prev/Next

    +These links take you to the next or previous class, interface, package, or related page.

    +Frames/No Frames

    +These links show and hide the HTML frames. All pages are available with or without frames. +

    +

    +Serialized Form

    +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

    + + +This help file applies to API documentation generated using the standard doclet. + +
    +


    + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/index-all.html b/mingw/share/doc/gettext/javadoc2/index-all.html new file mode 100644 index 00000000..48ebc2e4 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/index-all.html @@ -0,0 +1,111 @@ + + + + + + +: Index + + + + + + + + + + + + + + + + + +
    + +
    + + +G N V
    +

    +G

    +
    +
    gettext(ResourceBundle, String) - +Static method in class gnu.gettext.GettextResource +
    Returns the translation of msgid. +
    GettextResource - class gnu.gettext.GettextResource.
    This class implements the main GNU libintl functions in Java. +
    GettextResource() - +Constructor for class gnu.gettext.GettextResource +
      +
    +
    +

    +N

    +
    +
    ngettext(ResourceBundle, String, String, long) - +Static method in class gnu.gettext.GettextResource +
    Returns the plural form for n of the translation of + msgid. +
    +
    +

    +V

    +
    +
    verbose - +Static variable in class gnu.gettext.GettextResource +
      +
    +
    +G N V + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/index.html b/mingw/share/doc/gettext/javadoc2/index.html new file mode 100644 index 00000000..e3601570 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/index.html @@ -0,0 +1,22 @@ + + + + + + +Generated Documentation (Untitled) + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to <A HREF="gnu/gettext/GettextResource.html">Non-frame version.</A> + diff --git a/mingw/share/doc/gettext/javadoc2/overview-tree.html b/mingw/share/doc/gettext/javadoc2/overview-tree.html new file mode 100644 index 00000000..310db687 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/overview-tree.html @@ -0,0 +1,96 @@ + + + + + + +: Class Hierarchy + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    +

    +Hierarchy For All Packages

    +
    +

    +Class Hierarchy +

    +
      +
    • class java.lang.Object +
    +
    + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/package-list b/mingw/share/doc/gettext/javadoc2/package-list new file mode 100644 index 00000000..4820a252 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/package-list @@ -0,0 +1 @@ +gnu.gettext diff --git a/mingw/share/doc/gettext/javadoc2/packages.html b/mingw/share/doc/gettext/javadoc2/packages.html new file mode 100644 index 00000000..4807ba26 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/packages.html @@ -0,0 +1,26 @@ + + + + + + + + + + + + +
    + +
    + +
    +
    +The front page has been relocated.Please see: +
    +          Frame version +
    +          Non-frame version.
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/serialized-form.html b/mingw/share/doc/gettext/javadoc2/serialized-form.html new file mode 100644 index 00000000..6ce40bc5 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/serialized-form.html @@ -0,0 +1,87 @@ + + + + + + +Serialized Form + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    +

    +Serialized Form

    +
    +
    + + + + + + + + + + + + + +
    + +
    + + +
    + + + diff --git a/mingw/share/doc/gettext/javadoc2/stylesheet.css b/mingw/share/doc/gettext/javadoc2/stylesheet.css new file mode 100644 index 00000000..95f57649 --- /dev/null +++ b/mingw/share/doc/gettext/javadoc2/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ +.TableRowColor { background: #FFFFFF } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: normal; font-family: normal } +.FrameHeadingFont { font-size: normal; font-family: normal } +.FrameItemFont { font-size: normal; font-family: normal } + +/* Example of smaller, sans-serif font in frames */ +/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */ + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */ +.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} + diff --git a/mingw/share/doc/gettext/msgattrib.1.html b/mingw/share/doc/gettext/msgattrib.1.html new file mode 100644 index 00000000..77b068b2 --- /dev/null +++ b/mingw/share/doc/gettext/msgattrib.1.html @@ -0,0 +1,871 @@ + + + + + +MSGATTRIB + + + +

    MSGATTRIB

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgattrib − attribute matching and manipulation on +message catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgattrib [OPTION] [INPUTFILE]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Filters the messages of a translation catalog according +to their attributes, and manipulates the attributes.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE

    + + + + + +
    +

    input PO file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Message selection:

    + + + + + +
    +

    −−translated

    + + + + + +
    +

    keep translated, remove untranslated messages

    +
    + + + + + +
    +

    −−untranslated

    + + + + + +
    +

    keep untranslated, remove translated messages

    +
    + + + + + +
    +

    −−no−fuzzy

    + + + + + +
    +

    remove ’fuzzy’ marked messages

    +
    + + + + + +
    +

    −−only−fuzzy

    + + + + + +
    +

    keep ’fuzzy’ marked messages

    +
    + + + + + +
    +

    −−no−obsolete

    + + + + + +
    +

    remove obsolete #~ messages

    +
    + + + + + +
    +

    −−only−obsolete

    + + + + + +
    +

    keep obsolete #~ messages

    +
    + + + + + +
    +

    Attribute manipulation:

    + + + + + +
    +

    −−set−fuzzy

    + + + + + +
    +

    set all messages ’fuzzy’

    +
    + + + + + +
    +

    −−clear−fuzzy

    + + + + + +
    +

    set all messages non-’fuzzy’

    +
    + + + + + +
    +

    −−set−obsolete

    + + + + + +
    +

    set all messages obsolete

    +
    + + + + + +
    +

    −−clear−obsolete

    + + + + + +
    +

    set all messages non-obsolete

    +
    + + + + + +
    +

    −−clear−previous

    + + + + + +
    +

    remove the "previous msgid" from all +messages

    +
    + + + + + +
    + +

    −−only−file=FILE.po

    + + + + + +
    +

    manipulate only entries listed in FILE.po

    +
    + + + + + +
    + +

    −−ignore−file=FILE.po

    + + + + + +
    +

    manipulate only entries not listed in FILE.po

    +
    + + + + + +
    +

    −−fuzzy

    + + + + + +
    +

    synonym for −−only−fuzzy +−−clear−fuzzy

    +
    + + + + + +
    +

    −−obsolete

    + + + + + +
    +

    synonym for −−only−obsolete +−−clear−obsolete

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    write the .po file using indented style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    do not write ’#: filename:line’ lines

    +
    + + + + + +
    +

    −n, +−−add−location

    + + + + + +
    +

    generate ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    write out strict Uniforum conforming .po file

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgattrib is maintained +as a Texinfo manual. If the info and msgattrib +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgattrib

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgcat.1.html b/mingw/share/doc/gettext/msgcat.1.html new file mode 100644 index 00000000..b0d00b2b --- /dev/null +++ b/mingw/share/doc/gettext/msgcat.1.html @@ -0,0 +1,740 @@ + + + + + +MSGCAT + + + +

    MSGCAT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgcat − combines several message catalogs

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgcat [OPTION] [INPUTFILE]...

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Concatenates and merges the specified PO files. Find +messages which are common to two or more of the specified PO +files. By using the −−more−than +option, greater commonality may be requested before messages +are printed. Conversely, the +−−less−than option may be used to +specify less commonality before messages are printed (i.e. +−−less−than=2 will only +print the unique messages). Translations, comments and +extract comments will be cumulated, except that if +−−use−first is specified, they will +be taken from the first PO file to define them. File +positions from all PO files will be cumulated.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE ...

    + + + + + +
    +

    input files

    +
    + + + + + +
    +

    −f, +−−files−from=FILE

    + + + + + +
    +

    get list of input files from FILE

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If input file is -, standard input is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Message selection:

    + + + + + +
    +

    -<, +−−less−than=NUMBER

    + + + + + +
    +

    print messages with less than this many definitions, +defaults to infinite if not set

    +
    + + + + + +
    +

    ->, +−−more−than=NUMBER

    + + + + + +
    +

    print messages with more than this many definitions, +defaults to 0 if not set

    +
    + + + + + +
    +

    −u, −−unique

    + + + + + +
    +

    shorthand for +−−less−than=2, requests that +only unique messages be printed

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input files are in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input files are in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −t, +−−to−code=NAME

    + + + + + +
    +

    encoding for output

    +
    + + + + + +
    +

    −−use−first

    + + + + + +
    +

    use first available translation for each message, +don’t merge several translations

    +
    + + + + + +
    +

    −−lang=CATALOGNAME

    + + + + + +
    +

    set ’Language’ field in the header entry

    +
    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    write the .po file using indented style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    do not write ’#: filename:line’ lines

    +
    + + + + + +
    +

    −n, +−−add−location

    + + + + + +
    +

    generate ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    write out strict Uniforum conforming .po file

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgcat is maintained as +a Texinfo manual. If the info and msgcat +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgcat

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgcmp.1.html b/mingw/share/doc/gettext/msgcmp.1.html new file mode 100644 index 00000000..17fdff5c --- /dev/null +++ b/mingw/share/doc/gettext/msgcmp.1.html @@ -0,0 +1,358 @@ + + + + + +MSGCMP + + + +

    MSGCMP

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgcmp − compare message catalog and template

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgcmp [OPTION] def.po ref.pot

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Compare two Uniforum style .po files to check that both +contain the same set of msgid strings. The def.po file is an +existing PO file with the translations. The ref.pot file is +the last created PO file, or a PO Template file (generally +created by xgettext). This is useful for checking that you +have translated each and every message in your program. +Where an exact match cannot be found, fuzzy matching is used +to produce better diagnostics.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + + + + +
    + +

    def.po

    +
    + +

    translations

    +
    +
    + + + + + +
    +

    ref.pot

    + + + + + +
    +

    references to the sources

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    Operation modifiers:

    + + + + + +
    +

    −m, +−−multi−domain

    + + + + + +
    +

    apply ref.pot to each of the domains in def.po

    +
    + + + + + +
    +

    −N, +−−no−fuzzy−matching

    + + + + + +
    +

    do not use fuzzy matching

    +
    + + + + + +
    +

    −−use−fuzzy

    + + + + + +
    +

    consider fuzzy entries

    +
    + + + + + +
    +

    −−use−untranslated

    + + + + + +
    +

    consider untranslated entries

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input files are in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input files are in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Peter Miller.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1998, 2000-2010 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgcmp is maintained as +a Texinfo manual. If the info and msgcmp +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgcmp

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgcomm.1.html b/mingw/share/doc/gettext/msgcomm.1.html new file mode 100644 index 00000000..1c65a21f --- /dev/null +++ b/mingw/share/doc/gettext/msgcomm.1.html @@ -0,0 +1,703 @@ + + + + + +MSGCOMM + + + +

    MSGCOMM

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgcomm − match two message catalogs

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgcomm [OPTION] [INPUTFILE]...

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Find messages which are common to two or more of the +specified PO files. By using the +−−more−than option, greater +commonality may be requested before messages are printed. +Conversely, the −−less−than option +may be used to specify less commonality before messages are +printed (i.e. −−less−than=2 +will only print the unique messages). Translations, comments +and extract comments will be preserved, but only from the +first PO file to define them. File positions from all PO +files will be cumulated.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE ...

    + + + + + +
    +

    input files

    +
    + + + + + +
    +

    −f, +−−files−from=FILE

    + + + + + +
    +

    get list of input files from FILE

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If input file is -, standard input is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Message selection:

    + + + + + +
    +

    -<, +−−less−than=NUMBER

    + + + + + +
    +

    print messages with less than this many definitions, +defaults to infinite if not set

    +
    + + + + + +
    +

    ->, +−−more−than=NUMBER

    + + + + + +
    +

    print messages with more than this many definitions, +defaults to 1 if not set

    +
    + + + + + +
    +

    −u, −−unique

    + + + + + +
    +

    shorthand for +−−less−than=2, requests that +only unique messages be printed

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input files are in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input files are in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    write the .po file using indented style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    do not write ’#: filename:line’ lines

    +
    + + + + + +
    +

    −n, +−−add−location

    + + + + + +
    +

    generate ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    write out strict Uniforum conforming .po file

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    −−omit−header

    + + + + + +
    +

    don’t write header with ‘msgid +""’ entry

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Peter Miller.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1998, 2000-2010 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgcomm is maintained +as a Texinfo manual. If the info and msgcomm +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgcomm

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgconv.1.html b/mingw/share/doc/gettext/msgconv.1.html new file mode 100644 index 00000000..326bf783 --- /dev/null +++ b/mingw/share/doc/gettext/msgconv.1.html @@ -0,0 +1,630 @@ + + + + + +MSGCONV + + + +

    MSGCONV

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgconv − character set conversion for message +catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgconv [OPTION] [INPUTFILE]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Converts a translation catalog to a different character +encoding.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE

    + + + + + +
    +

    input PO file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Conversion target:

    + + + + + +
    +

    −t, +−−to−code=NAME

    + + + + + +
    +

    encoding for output

    +
    + + + + + +
    +

    The default encoding is the current locale’s +encoding.

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    indented output style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    suppress ’#: filename:line’ lines

    +
    + + + + + +
    +

    −−add−location

    + + + + + +
    +

    preserve ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    strict Uniforum output style

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgconv is maintained +as a Texinfo manual. If the info and msgconv +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgconv

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgen.1.html b/mingw/share/doc/gettext/msgen.1.html new file mode 100644 index 00000000..c1bf1da8 --- /dev/null +++ b/mingw/share/doc/gettext/msgen.1.html @@ -0,0 +1,611 @@ + + + + + +MSGEN + + + +

    MSGEN

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgen − create English message catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgen [OPTION] INPUTFILE

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Creates an English translation catalog. The input file is +the last created English PO file, or a PO Template file +(generally created by xgettext). Untranslated entries are +assigned a translation that is identical to the msgid.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE

    + + + + + +
    +

    input PO or POT file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If input file is -, standard input is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−lang=CATALOGNAME

    + + + + + +
    +

    set ’Language’ field in the header entry

    +
    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    indented output style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    suppress ’#: filename:line’ lines

    +
    + + + + + +
    +

    −−add−location

    + + + + + +
    +

    preserve ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    strict Uniforum output style

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgen is maintained as +a Texinfo manual. If the info and msgen +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgen

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgexec.1.html b/mingw/share/doc/gettext/msgexec.1.html new file mode 100644 index 00000000..2b360c70 --- /dev/null +++ b/mingw/share/doc/gettext/msgexec.1.html @@ -0,0 +1,279 @@ + + + + + +MSGEXEC + + + +

    MSGEXEC

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgexec − process translations of message +catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgexec [OPTION] COMMAND +[COMMAND-OPTION]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Applies a command to all translations of a translation +catalog. The COMMAND can be any program that reads a +translation from standard input. It is invoked once for each +translation. Its output becomes msgexec’s output. +msgexec’s return code is the maximum return code +across all invocations.

    + +

    A special builtin command called ’0’ outputs +the translation, followed by a null byte. The output of +"msgexec 0" is suitable as input for "xargs +−0".

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    −i, +−−input=INPUTFILE

    + + + + + +
    +

    input PO file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgexec is maintained +as a Texinfo manual. If the info and msgexec +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgexec

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgfilter.1.html b/mingw/share/doc/gettext/msgfilter.1.html new file mode 100644 index 00000000..66f989ac --- /dev/null +++ b/mingw/share/doc/gettext/msgfilter.1.html @@ -0,0 +1,680 @@ + + + + + +MSGFILTER + + + +

    MSGFILTER

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgfilter − edit translations of message +catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgfilter [OPTION] FILTER +[FILTER-OPTION]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Applies a filter to all translations of a translation +catalog.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    −i, +−−input=INPUTFILE

    + + + + + +
    +

    input PO file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    + +

    The FILTER can be any program that reads a translation +from standard input and writes a modified translation to +standard output.

    +
    + + + + + +
    +

    Useful FILTER-OPTIONs when the FILTER is +’sed’:

    + + + + + +
    +

    −e, +−−expression=SCRIPT

    + + + + + +
    +

    add SCRIPT to the commands to be executed

    +
    + + + + + +
    +

    −f, +−−file=SCRIPTFILE

    + + + + + +
    +

    add the contents of SCRIPTFILE to the commands to be +executed

    +
    + + + + + +
    +

    −n, −−quiet, +−−silent

    + + + + + +
    +

    suppress automatic printing of pattern space

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −−indent

    + + + + + +
    +

    indented output style

    +
    + + + + + +
    +

    −−keep−header

    + + + + + +
    +

    keep header entry unmodified, don’t filter it

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    suppress ’#: filename:line’ lines

    +
    + + + + + +
    +

    −−add−location

    + + + + + +
    +

    preserve ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    strict Uniforum output style

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgfilter is maintained +as a Texinfo manual. If the info and msgfilter +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgfilter

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgfmt.1.html b/mingw/share/doc/gettext/msgfmt.1.html new file mode 100644 index 00000000..6b0dc43a --- /dev/null +++ b/mingw/share/doc/gettext/msgfmt.1.html @@ -0,0 +1,838 @@ + + + + + +MSGFMT + + + +

    MSGFMT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgfmt − compile message catalog to binary +format

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgfmt [OPTION] filename.po ...

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Generate binary message catalog from textual translation +description.

    + +

    Mandatory arguments to long options are mandatory for +short options too. Similarly for optional arguments.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    filename.po ...

    + + + + + +
    +

    input files

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If input file is -, standard input is read.

    +
    + + + + + +
    +

    Operation mode:

    + + + + + +
    +

    −j, −−java

    + + + + + +
    +

    Java mode: generate a Java ResourceBundle class

    +
    + + + + + +
    +

    −−java2

    + + + + + +
    +

    like −−java, and assume Java2 (JDK 1.2 +or higher)

    +
    + + + + + +
    +

    −−csharp

    + + + + + +
    +

    C# mode: generate a .NET .dll file

    +
    + + + + + +
    +

    −−csharp−resources

    + + + + + +
    +

    C# resources mode: generate a .NET .resources file

    +
    + + + + + + + + + + + + + + +
    + +

    −−tcl

    +
    + +

    Tcl mode: generate a tcl/msgcat .msg file

    +
    +
    + +

    −−qt

    +
    + +

    Qt mode: generate a Qt .qm file

    +
    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    enable strict Uniforum mode

    +
    + + + + + +
    +

    If output file is -, output is written to standard +output.

    +
    + + + + + +
    +

    Output file location in Java mode:

    + + + + + +
    +

    −r, +−−resource=RESOURCE

    + + + + + +
    +

    resource name

    +
    + + + + + +
    +

    −l, +−−locale=LOCALE

    + + + + + +
    +

    locale name, either language or language_COUNTRY

    +
    + + + + + +
    +

    −d DIRECTORY

    + + + + + +
    +

    base directory of classes directory hierarchy

    +
    + + + + + +
    +

    The class name is determined by appending the locale name +to the resource name, separated with an underscore. The +−d option is mandatory. The class is written +under the specified directory.

    +
    + + + + + +
    +

    Output file location in C# mode:

    + + + + + +
    +

    −r, +−−resource=RESOURCE

    + + + + + +
    +

    resource name

    +
    + + + + + +
    +

    −l, +−−locale=LOCALE

    + + + + + +
    +

    locale name, either language or language_COUNTRY

    +
    + + + + + +
    +

    −d DIRECTORY

    + + + + + +
    +

    base directory for locale dependent .dll files

    +
    + + + + + +
    +

    The −l and −d options are +mandatory. The .dll file is written in a subdirectory of the +specified directory whose name depends on the locale.

    +
    + + + + + +
    +

    Output file location in Tcl mode:

    + + + + + +
    +

    −l, +−−locale=LOCALE

    + + + + + +
    +

    locale name, either language or language_COUNTRY

    +
    + + + + + +
    +

    −d DIRECTORY

    + + + + + +
    +

    base directory of .msg message catalogs

    +
    + + + + + +
    +

    The −l and −d options are +mandatory. The .msg file is written in the specified +directory.

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input files are in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input files are in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Input file interpretation:

    + + + + + +
    +

    −c, −−check

    + + + + + +
    +

    perform all the checks implied by +−−check−format, +−−check−header, +−−check−domain

    +
    + + + + + +
    +

    −−check−format

    + + + + + +
    +

    check language dependent format strings

    +
    + + + + + +
    +

    −−check−header

    + + + + + +
    +

    verify presence and contents of the header entry

    +
    + + + + + +
    +

    −−check−domain

    + + + + + +
    +

    check for conflicts between domain directives and the +−−output−file option

    +
    + + + + + +
    +

    −C, +−−check−compatibility

    + + + + + +
    +

    check that GNU msgfmt behaves like X/Open msgfmt

    +
    + + + + + +
    + +

    −−check−accelerators[=CHAR]

    + + + + + +
    +

    check presence of keyboard accelerators for menu +items

    +
    + + + + + +
    +

    −f, +−−use−fuzzy

    + + + + + +
    +

    use fuzzy entries in output

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −a, +−−alignment=NUMBER

    + + + + + +
    +

    align strings to NUMBER bytes (default: 1)

    +
    + + + + + +
    +

    −−no−hash

    + + + + + +
    +

    binary file will not include the hash table

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + + + + + +
    +

    −−statistics

    + + + + + +
    +

    print statistics about translations

    +
    + + + + + +
    +

    −v, −−verbose

    + + + + + +
    +

    increase verbosity level

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Ulrich Drepper.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1998, 2000-2010 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgfmt is maintained as +a Texinfo manual. If the info and msgfmt +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgfmt

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msggrep.1.html b/mingw/share/doc/gettext/msggrep.1.html new file mode 100644 index 00000000..e41d8398 --- /dev/null +++ b/mingw/share/doc/gettext/msggrep.1.html @@ -0,0 +1,886 @@ + + + + + +MSGGREP + + + +

    MSGGREP

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msggrep − pattern matching on message catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msggrep [OPTION] [INPUTFILE]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Extracts all messages of a translation catalog that match +a given pattern or belong to some given source files.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE

    + + + + + +
    +

    input PO file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Message selection:

    + + + + + +
    +

    [-N SOURCEFILE]... [-M DOMAINNAME]... [-J +MSGCTXT-PATTERN] [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C +COMMENT-PATTERN] [-X EXTRACTED-COMMENT-PATTERN]

    +
    + + + + + +
    +

    A message is selected if it comes from one of the +specified source files, or if it comes from one of the +specified domains, or if −J is given and its +context (msgctxt) matches MSGCTXT-PATTERN, or if +−K is given and its key (msgid or msgid_plural) +matches MSGID-PATTERN, or if −T is given and +its translation (msgstr) matches MSGSTR-PATTERN, or if +−C is given and the translator’s comment +matches COMMENT-PATTERN, or if −X is given and +the extracted comment matches EXTRACTED-COMMENT-PATTERN.

    + +

    When more than one selection criterion is specified, the +set of selected messages is the union of the selected +messages of each criterion.

    + +

    MSGCTXT-PATTERN or MSGID-PATTERN or MSGSTR-PATTERN or +COMMENT-PATTERN or EXTRACTED-COMMENT-PATTERN syntax:

    +
    + + + + + +
    +

    [-E | −F] [-e PATTERN | −f +FILE]...

    +
    + + + + + +
    +

    PATTERNs are basic regular expressions by default, or +extended regular expressions if −E is given, or +fixed strings if −F is given.

    +
    + + + + + +
    +

    −N, +−−location=SOURCEFILE

    + + + + + +
    +

    select messages extracted from SOURCEFILE

    +
    + + + + + +
    +

    −M, +−−domain=DOMAINNAME

    + + + + + +
    +

    select messages belonging to domain DOMAINNAME

    +
    + + + + + +
    +

    −J, −−msgctxt

    + + + + + +
    +

    start of patterns for the msgctxt

    +
    + + + + + +
    +

    −K, −−msgid

    + + + + + +
    +

    start of patterns for the msgid

    +
    + + + + + +
    +

    −T, −−msgstr

    + + + + + +
    +

    start of patterns for the msgstr

    +
    + + + + + +
    +

    −C, −−comment

    + + + + + +
    +

    start of patterns for the translator’s comment

    +
    + + + + + +
    +

    −X, +−−extracted−comment

    + + + + + +
    +

    start of patterns for the extracted comment

    +
    + + + + + +
    +

    −E, +−−extended−regexp

    + + + + + +
    +

    PATTERN is an extended regular expression

    +
    + + + + + +
    +

    −F, +−−fixed−strings

    + + + + + +
    +

    PATTERN is a set of newline-separated strings

    +
    + + + + + +
    +

    −e, +−−regexp=PATTERN

    + + + + + +
    +

    use PATTERN as a regular expression

    +
    + + + + + +
    +

    −f, +−−file=FILE

    + + + + + +
    +

    obtain PATTERN from FILE

    +
    + + + + + +
    +

    −i, +−−ignore−case

    + + + + + +
    +

    ignore case distinctions

    +
    + + + + + +
    +

    −v, +−−invert−match

    + + + + + +
    +

    output only the messages that do not match any selection +criterion

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −−indent

    + + + + + +
    +

    indented output style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    suppress ’#: filename:line’ lines

    +
    + + + + + +
    +

    −−add−location

    + + + + + +
    +

    preserve ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    strict Uniforum output style

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msggrep is maintained +as a Texinfo manual. If the info and msggrep +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msggrep

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msginit.1.html b/mingw/share/doc/gettext/msginit.1.html new file mode 100644 index 00000000..ed6e7b0f --- /dev/null +++ b/mingw/share/doc/gettext/msginit.1.html @@ -0,0 +1,457 @@ + + + + + +MSGINIT + + + +

    MSGINIT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msginit − initialize a message catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msginit [OPTION]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Creates a new PO file, initializing the meta information +with values from the user’s environment.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    −i, +−−input=INPUTFILE

    + + + + + +
    +

    input POT file

    +
    + + + + + +
    +

    If no input file is given, the current directory is +searched for the POT file. If it is -, standard input is +read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified PO file

    +
    + + + + + +
    +

    If no output file is given, it depends on the +−−locale option or the user’s +locale setting. If it is -, the results are written to +standard output.

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −l, +−−locale=LL_CC

    + + + + + +
    +

    set target locale

    +
    + + + + + +
    +

    −−no−translator

    + + + + + +
    +

    assume the PO file is automatically generated

    +
    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msginit is maintained +as a Texinfo manual. If the info and msginit +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msginit

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgmerge.1.html b/mingw/share/doc/gettext/msgmerge.1.html new file mode 100644 index 00000000..4b161725 --- /dev/null +++ b/mingw/share/doc/gettext/msgmerge.1.html @@ -0,0 +1,896 @@ + + + + + +MSGMERGE + + + +

    MSGMERGE

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgmerge − merge message catalog and template

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgmerge [OPTION] def.po ref.pot

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Merges two Uniforum style .po files together. The def.po +file is an existing PO file with translations which will be +taken over to the newly created file as long as they still +match; comments will be preserved, but extracted comments +and file positions will be discarded. The ref.pot file is +the last created PO file with up-to-date source references +but old translations, or a PO Template file (generally +created by xgettext); any translations or comments in the +file will be discarded, however dot comments and file +positions will be preserved. Where an exact match cannot be +found, fuzzy matching is used to produce better results.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + + + + +
    + +

    def.po

    +
    + +

    translations referring to old sources

    +
    +
    + + + + + +
    +

    ref.pot

    + + + + + +
    +

    references to new sources

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    −C, +−−compendium=FILE

    + + + + + +
    +

    additional library of message translations, may be +specified more than once

    +
    + + + + + +
    +

    Operation mode:

    + + + + + +
    +

    −U, −−update

    + + + + + +
    +

    update def.po, do nothing if def.po already up to +date

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    + +

    Output file location in update mode: The result is +written back to def.po.

    +
    + + + + + +
    +

    −−backup=CONTROL

    + + + + + +
    +

    make a backup of def.po

    +
    + + + + + +
    +

    −−suffix=SUFFIX

    + + + + + +
    +

    override the usual backup suffix

    +
    + + + + + +
    +

    The version control method may be selected via the +−−backup option or through the +VERSION_CONTROL environment variable. Here are the +values:

    +
    + + + + + +
    +

    none, off

    + + + + + +
    +

    never make backups (even if −−backup +is given)

    +
    + + + + + +
    +

    numbered, t

    + + + + + +
    +

    make numbered backups

    +
    + + + + + +
    +

    existing, nil

    + + + + + +
    +

    numbered if numbered backups exist, simple otherwise

    +
    + + + + + +
    +

    simple, never

    + + + + + +
    +

    always make simple backups

    +
    + + + + + +
    +

    The backup suffix is ‘~’, unless set with +−−suffix or the SIMPLE_BACKUP_SUFFIX +environment variable.

    +
    + + + + + +
    +

    Operation modifiers:

    + + + + + +
    +

    −m, +−−multi−domain

    + + + + + +
    +

    apply ref.pot to each of the domains in def.po

    +
    + + + + + +
    +

    −N, +−−no−fuzzy−matching

    + + + + + +
    +

    do not use fuzzy matching

    +
    + + + + + +
    +

    −−previous

    + + + + + +
    +

    keep previous msgids of translated messages

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input files are in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input files are in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−lang=CATALOGNAME

    + + + + + +
    +

    set ’Language’ field in the header entry

    +
    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    indented output style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    suppress ’#: filename:line’ lines

    +
    + + + + + +
    +

    −−add−location

    + + + + + +
    +

    preserve ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    strict Uniforum output style

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + + + + + +
    +

    −v, −−verbose

    + + + + + +
    +

    increase verbosity level

    +
    + + + + + +
    +

    −q, −−quiet, +−−silent

    + + + + + +
    +

    suppress progress indicators

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Peter Miller.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1998, 2000-2010 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgmerge is maintained +as a Texinfo manual. If the info and msgmerge +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgmerge

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msgunfmt.1.html b/mingw/share/doc/gettext/msgunfmt.1.html new file mode 100644 index 00000000..ac60fb97 --- /dev/null +++ b/mingw/share/doc/gettext/msgunfmt.1.html @@ -0,0 +1,754 @@ + + + + + +MSGUNFMT + + + +

    MSGUNFMT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msgunfmt − uncompile message catalog from binary +format

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msgunfmt [OPTION] [FILE]...

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Convert binary message catalog to Uniforum style .po +file.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Operation mode:

    + + + + + +
    +

    −j, −−java

    + + + + + +
    +

    Java mode: input is a Java ResourceBundle class

    +
    + + + + + +
    +

    −−csharp

    + + + + + +
    +

    C# mode: input is a .NET .dll file

    +
    + + + + + +
    +

    −−csharp−resources

    + + + + + +
    +

    C# resources mode: input is a .NET .resources file

    +
    + + + + + + + + +
    + +

    −−tcl

    +
    + +

    Tcl mode: input is a tcl/msgcat .msg file

    +
    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    FILE ...

    + + + + + +
    +

    input .mo files

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Input file location in Java mode:

    + + + + + +
    +

    −r, +−−resource=RESOURCE

    + + + + + +
    +

    resource name

    +
    + + + + + +
    +

    −l, +−−locale=LOCALE

    + + + + + +
    +

    locale name, either language or language_COUNTRY

    +
    + + + + + +
    +

    The class name is determined by appending the locale name +to the resource name, separated with an underscore. The +class is located using the CLASSPATH.

    +
    + + + + + +
    +

    Input file location in C# mode:

    + + + + + +
    +

    −r, +−−resource=RESOURCE

    + + + + + +
    +

    resource name

    +
    + + + + + +
    +

    −l, +−−locale=LOCALE

    + + + + + +
    +

    locale name, either language or language_COUNTRY

    +
    + + + + + +
    +

    −d DIRECTORY

    + + + + + +
    +

    base directory for locale dependent .dll files

    +
    + + + + + +
    +

    The −l and −d options are +mandatory. The .dll file is located in a subdirectory of the +specified directory whose name depends on the locale.

    +
    + + + + + +
    +

    Input file location in Tcl mode:

    + + + + + +
    +

    −l, +−−locale=LOCALE

    + + + + + +
    +

    locale name, either language or language_COUNTRY

    +
    + + + + + +
    +

    −d DIRECTORY

    + + + + + +
    +

    base directory of .msg message catalogs

    +
    + + + + + +
    +

    The −l and −d options are +mandatory. The .msg file is located in the specified +directory.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    write indented output style

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    write strict uniforum style

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + + + + + +
    +

    −v, −−verbose

    + + + + + +
    +

    increase verbosity level

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Ulrich Drepper.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1998, 2000-2010 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msgunfmt is maintained +as a Texinfo manual. If the info and msgunfmt +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msgunfmt

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/msguniq.1.html b/mingw/share/doc/gettext/msguniq.1.html new file mode 100644 index 00000000..5fcf926f --- /dev/null +++ b/mingw/share/doc/gettext/msguniq.1.html @@ -0,0 +1,683 @@ + + + + + +MSGUNIQ + + + +

    MSGUNIQ

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    msguniq − unify duplicate translations in message +catalog

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    msguniq [OPTION] [INPUTFILE]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Unifies duplicate translations in a translation catalog. +Finds duplicate translations of the same message ID. Such +duplicates are invalid input for other programs like msgfmt, +msgmerge or msgcat. By default, duplicates are merged +together. When using the −−repeated +option, only duplicates are output, and all other messages +are discarded. Comments and extracted comments will be +cumulated, except that if +−−use−first is specified, they will +be taken from the first translation. File positions will be +cumulated. When using the −−unique +option, duplicates are discarded.

    + +

    Mandatory arguments to long options are mandatory for +short options too.

    +
    + + + + + +
    +

    Input file location:

    + + + + + +
    +

    INPUTFILE

    + + + + + +
    +

    input PO file

    +
    + + + + + +
    +

    −D, +−−directory=DIRECTORY

    + + + + + +
    +

    add DIRECTORY to list for input files search

    +
    + + + + + +
    +

    If no input file is given or if it is -, standard input +is read.

    +
    + + + + + +
    +

    Output file location:

    + + + + + +
    +

    −o, +−−output−file=FILE

    + + + + + +
    +

    write output to specified file

    +
    + + + + + +
    +

    The results are written to standard output if no output +file is specified or if it is -.

    +
    + + + + + +
    +

    Message selection:

    + + + + + +
    +

    −d, −−repeated

    + + + + + +
    +

    print only duplicates

    +
    + + + + + +
    +

    −u, −−unique

    + + + + + +
    +

    print only unique messages, discard duplicates

    +
    + + + + + +
    +

    Input file syntax:

    + + + + + +
    +

    −P, +−−properties−input

    + + + + + +
    +

    input file is in Java .properties syntax

    +
    + + + + + +
    +

    −−stringtable−input

    + + + + + +
    +

    input file is in NeXTstep/GNUstep .strings syntax

    +
    + + + + + +
    +

    Output details:

    + + + + + +
    +

    −t, +−−to−code=NAME

    + + + + + +
    +

    encoding for output

    +
    + + + + + +
    +

    −−use−first

    + + + + + +
    +

    use first available translation for each message, +don’t merge several translations

    +
    + + + + + +
    +

    −−color

    + + + + + +
    +

    use colors and other text attributes always

    +
    + + + + + +
    +

    −−color=WHEN

    + + + + + +
    +

    use colors and other text attributes if WHEN. WHEN may be +’always’, ’never’, +’auto’, or ’html’.

    +
    + + + + + +
    +

    −−style=STYLEFILE

    + + + + + +
    +

    specify CSS style rule file for +−−color

    +
    + + + + + +
    +

    −e, +−−no−escape

    + + + + + +
    +

    do not use C escapes in output (default)

    +
    + + + + + +
    +

    −E, −−escape

    + + + + + +
    +

    use C escapes in output, no extended chars

    +
    + + + + + +
    +

    −−force−po

    + + + + + +
    +

    write PO file even if empty

    +
    + + + + + +
    +

    −i, −−indent

    + + + + + +
    +

    write the .po file using indented style

    +
    + + + + + +
    +

    −−no−location

    + + + + + +
    +

    do not write ’#: filename:line’ lines

    +
    + + + + + +
    +

    −n, +−−add−location

    + + + + + +
    +

    generate ’#: filename:line’ lines +(default)

    +
    + + + + + +
    +

    −−strict

    + + + + + +
    +

    write out strict Uniforum conforming .po file

    +
    + + + + + +
    +

    −p, +−−properties−output

    + + + + + +
    +

    write out a Java .properties file

    +
    + + + + + +
    +

    −−stringtable−output

    + + + + + +
    +

    write out a NeXTstep/GNUstep .strings file

    +
    + + + + + +
    +

    −w, +−−width=NUMBER

    + + + + + +
    +

    set output page width

    +
    + + + + + +
    +

    −−no−wrap

    + + + + + +
    +

    do not break long message lines, longer than the output +page width, into several lines

    +
    + + + + + +
    +

    −s, +−−sort−output

    + + + + + +
    +

    generate sorted output

    +
    + + + + + +
    +

    −F, +−−sort−by−file

    + + + + + +
    +

    sort output by file location

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2001-2010 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for msguniq is maintained +as a Texinfo manual. If the info and msguniq +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info msguniq

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/ngettext.1.html b/mingw/share/doc/gettext/ngettext.1.html new file mode 100644 index 00000000..f91152ca --- /dev/null +++ b/mingw/share/doc/gettext/ngettext.1.html @@ -0,0 +1,280 @@ + + + + + +NGETTEXT + + + +

    NGETTEXT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    ngettext − translate message and choose plural +form

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    ngettext [OPTION] [TEXTDOMAIN] +MSGID MSGID-PLURAL COUNT

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    The ngettext program translates a natural language +message into the user’s language, by looking up the +translation in a message catalog, and chooses the +appropriate plural form, which depends on the number +COUNT and the language of the message catalog where +the translation was found.

    + +

    Display native language translation of a textual message +whose grammatical form depends on a number.

    +
    + + + + + +
    +

    −d, +−−domain=TEXTDOMAIN

    + + + + + +
    +

    retrieve translated message from TEXTDOMAIN

    +
    + + + + + + + + + + + + + + +
    + +

    −e

    +
    + +

    enable expansion of some escape sequences

    +
    +
    + +

    −E

    +
    + +

    (ignored for compatibility)

    +
    +
    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    display version information and exit

    +
    + + + + + +
    +

    [TEXTDOMAIN]

    + + + + + +
    +

    retrieve translated message from TEXTDOMAIN

    +
    + + + + + +
    +

    MSGID MSGID-PLURAL

    + + + + + +
    +

    translate MSGID (singular) / MSGID-PLURAL (plural)

    +
    + + + + + + + +
    + +

    COUNT

    +
    + +

    choose singular/plural form based on this value

    +
    + + + + + +
    +

    If the TEXTDOMAIN parameter is not given, the domain is +determined from the environment variable TEXTDOMAIN. If the +message catalog is not found in the regular directory, +another location can be specified with the environment +variable TEXTDOMAINDIR. Standard search directory: +/mingw/share/locale

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Ulrich Drepper.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 1995-1997, 2000-2007 Free Software +Foundation, Inc. License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for ngettext is maintained +as a Texinfo manual. If the info and ngettext +programs are properly installed at your site, the +command

    +
    + + + + + +
    +

    info ngettext

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/ngettext.3.html b/mingw/share/doc/gettext/ngettext.3.html new file mode 100644 index 00000000..1b04c128 --- /dev/null +++ b/mingw/share/doc/gettext/ngettext.3.html @@ -0,0 +1,143 @@ + + + + + +NGETTEXT + + + +

    NGETTEXT

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +RETURN VALUE
    +ERRORS
    +BUGS
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    ngettext, dngettext, dcngettext − translate message +and choose plural form

    +
    + +

    SYNOPSIS

    + + + + + +
    +
    #include <libintl.h>
    +
    +char * ngettext (const char * msgid, const char * msgid_plural,
    +                 unsigned long int n);
    +char * dngettext (const char * domainname,
    +                  const char * msgid, const char * msgid_plural,
    +                  unsigned long int n);
    +char * dcngettext (const char * domainname,
    +                   const char * msgid, const char * msgid_plural,
    +                   unsigned long int n, int category);
    +
    +
    + +

    DESCRIPTION

    + + + + + + +
    +

    The ngettext, dngettext and +dcngettext functions attempt to translate a text +string into the user’s native language, by looking up +the appropriate plural form of the translation in a message +catalog.

    + +

    Plural forms are grammatical variants depending on the a +number. Some languages have two forms, called singular and +plural. Other languages have three forms, called singular, +dual and plural. There are also languages with four +forms.

    + +

    The ngettext, dngettext and +dcngettext functions work like the gettext, +dgettext and dcgettext functions, +respectively. Additionally, they choose the appropriate +plural form, which depends on the number n and the +language of the message catalog where the translation was +found.

    + +

    In the "C" locale, or if none of the used +catalogs contain a translation for msgid, the +ngettext, dngettext and dcngettext +functions return msgid if n == 1, or +msgid_plural if n != 1.

    +
    + +

    RETURN VALUE

    + + + + + +
    +

    If a translation was found in one of the specified +catalogs, the appropriate plural form is converted to the +locale’s codeset and returned. The resulting string is +statically allocated and must not be modified or freed. +Otherwise msgid or msgid_plural is returned, +as described above.

    +
    + +

    ERRORS

    + + + + + +
    +

    errno is not modified.

    +
    + +

    BUGS

    + + + + + +
    +

    The return type ought to be const char *, but is +char * to avoid warnings in C code predating ANSI +C.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    gettext(3), dgettext(3), +dcgettext(3)

    +
    +
    + + diff --git a/mingw/share/doc/gettext/recode-sr-latin.1.html b/mingw/share/doc/gettext/recode-sr-latin.1.html new file mode 100644 index 00000000..100ee331 --- /dev/null +++ b/mingw/share/doc/gettext/recode-sr-latin.1.html @@ -0,0 +1,170 @@ + + + + + +RECODE-SR-LATIN + + + +

    RECODE-SR-LATIN

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +AUTHOR
    +REPORTING BUGS
    +COPYRIGHT
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    recode-sr-latin − convert Serbian text from +Cyrillic to Latin script

    +
    + +

    SYNOPSIS

    + + + + + +
    +

    recode-sr-latin [OPTION]

    +
    + +

    DESCRIPTION

    + + + + + +
    +

    Recode Serbian text from Cyrillic to Latin script. The +input text is read from standard input. The converted text +is output to standard output.

    +
    + + + + + +
    +

    Informative output:

    + + + + + +
    +

    −h, −−help

    + + + + + +
    +

    display this help and exit

    +
    + + + + + +
    +

    −V, −−version

    + + + + + +
    +

    output version information and exit

    +
    + +

    AUTHOR

    + + + + + +
    +

    Written by Danilo Segan and Bruno Haible.

    +
    + +

    REPORTING BUGS

    + + + + + +
    +

    Report bugs to <bug-gnu-gettext@gnu.org>.

    +
    + +

    COPYRIGHT

    + + + + + +
    +

    Copyright © 2006-2007 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html>
    +This is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent +permitted by law.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    The full documentation for recode-sr-latin is +maintained as a Texinfo manual. If the info and +recode-sr-latin programs are properly installed at +your site, the command

    +
    + + + + + +
    +

    info recode-sr-latin

    +
    + + + + + +
    +

    should give you access to the complete manual.

    +
    +
    + + diff --git a/mingw/share/doc/gettext/textdomain.3.html b/mingw/share/doc/gettext/textdomain.3.html new file mode 100644 index 00000000..1ef5e6cb --- /dev/null +++ b/mingw/share/doc/gettext/textdomain.3.html @@ -0,0 +1,150 @@ + + + + + +TEXTDOMAIN + + + +

    TEXTDOMAIN

    +NAME
    +SYNOPSIS
    +DESCRIPTION
    +RETURN VALUE
    +ERRORS
    +BUGS
    +SEE ALSO
    + +
    + +

    NAME

    + + + + + +
    +

    textdomain − set domain for future gettext() +calls

    +
    + +

    SYNOPSIS

    + + + + + +
    +
    #include <libintl.h>
    +
    +char * textdomain (const char * domainname);
    +
    +
    + +

    DESCRIPTION

    + + + + + + +
    +

    The textdomain function sets or retrieves the +current message domain.

    + +

    A message domain is a set of translatable msgid +messages. Usually, every software package has its own +message domain. The domain name is used to determine the +message catalog where a translation is looked up; it must be +a non-empty string.

    + +

    The current message domain is used by the gettext, +ngettext functions, and by the dgettext, +dcgettext, dngettext and dcngettext +functions when called with a NULL domainname argument.

    + +

    If domainname is not NULL, the current message +domain is set to domainname. The string the function +stores internally is a copy of the domainname +argument.

    + +

    If domainname is NULL, the function returns the +current message domain.

    +
    + +

    RETURN VALUE

    + + + + + +
    +

    If successful, the textdomain function returns the +current message domain, after possibly changing it. The +resulting string is valid until the next textdomain +call and must not be modified or freed. If a memory +allocation failure occurs, it sets errno to +ENOMEM and returns NULL.

    +
    + +

    ERRORS

    + + + + + +
    +

    The following error can occur, among others:

    +
    + + + + + + + + +
    + +

    ENOMEM

    +
    + +

    Not enough memory available.

    +
    +
    + +

    BUGS

    + + + + + +
    +

    The return type ought to be const char *, but is +char * to avoid warnings in C code predating ANSI +C.

    +
    + +

    SEE ALSO

    + + + + + +
    +

    gettext(3), ngettext(3), +bindtextdomain(3), +bind_textdomain_codeset(3)

    +
    +
    + + diff --git a/mingw/share/doc/gettext/tutorial.html b/mingw/share/doc/gettext/tutorial.html new file mode 100644 index 00000000..45e80ce5 --- /dev/null +++ b/mingw/share/doc/gettext/tutorial.html @@ -0,0 +1,735 @@ + + + + + +A tutorial on Native Language Support using GNU gettext + + + + + + + + + + + + + + + + + +

    A tutorial on Native Language Support using GNU gettext

    + +

    G. Mohanty

    +

    Revision 0.3: 24 July 2004

    +
    + +

    Abstract:

    +
    + The use of the GNU gettext utilities to implement support for native +languages is described here. Though, the language to be supported is +considered to be Oriya, the method is generally applicable. Likewise, while +Linux was used as the platform here, any system using GNU gettext should work +in a similar fashion. + +

    +We go through a step-by-step description of how to make on-screen messages +from a toy program to appear in Oriya instead of English; starting from the +programming and ending with the user's viewpoint. Some discussion is also made +of how to go about the task of translation. +

    +

    +

    +Introduction +

    +Currently, both commercial and free computer software is typically written and +documented in English. Till recently, little effort was expended towards +allowing them to interact with the user in languages other than English, thus +leaving the non-English speaking world at a disadvantage. However, that +changed with the release of the GNU gettext utilities, and nowadays most GNU +programs are written within a framework that allows easy translation of the +program message to languages other than English. Provided that translations +are available, the language used by the program to interact with the user can +be set at the time of running it. gettext manages to achieve this seemingly +miraculous task in a manner that simplifies the work of both the programmer +and the translator, and, more importantly, allows them to work independently +of each other. + +

    +This article describes how to support native languages under a system using +the GNU gettext utilities. While it should be applicable to other versions of +gettext, the one actually used for the examples here is version +0.12.1. Another system, called catgets, described in the X/Open +Portability Guide, is also in use, but we shall not discuss that here. + +

    + +

    +A simple example +

    +Our first example of using gettext will be the good old Hello World program, +whose sole function is to print the phrase ``Hello, world!'' to the terminal. +The internationalized version of this program might be saved in hello.c as: +
    +1    #include <libintl.h>
    +2    #include <locale.h>
    +3    #include <stdio.h>
    +4    #include <stdlib.h>
    +5    int main(void)
    +6    {
    +7      setlocale( LC_ALL, "" );
    +8      bindtextdomain( "hello", "/usr/share/locale" );
    +9      textdomain( "hello" );
    +10      printf( gettext( "Hello, world!\n" ) );
    +11      exit(0);
    +12    }
    +
    +Of course, a real program would check the return values of the functions and +try to deal with any errors, but we have omitted that part of the code for +clarity. Compile as usual with gcc -o hello hello.c. The program should +be linked to the GNU libintl library, but as this is part of the GNU C +library, this is done automatically for you under Linux, and other systems +using glibc. + +

    +The programmer's viewpoint +

    + As expected, when the hello executable is run under the default locale +(usually the C locale) it prints ``Hello, world!'' in the terminal. Besides +some initial setup work, the only additional burden faced by the programmer is +to replace any string to be printed with gettext(string), i.e., to +instead pass the string as an argument to the gettext function. For lazy +people like myself, the amount of extra typing can be reduced even further by +a CPP macro, e.g., put this at the beginning of the source code file, +
    +  #define _(STRING)    gettext(STRING)
    +
    +and then use _(string) instead of gettext(string). + +

    +Let us dissect the program line-by-line. + +

      +
    1. locale.h defines C data structures used to hold locale + information, and is needed by the setlocale function. libintl.h + prototypes the GNU text utilities functions, and is needed here by + bindtextdomain, gettext, and textdomain. +
    2. +
    3. The call to setlocale () on line 7, with LC_ALL as the first argument + and an empty string as the second one, initializes the entire current locale + of the program as per environment variables set by the user. In other words, + the program locale is initialized to match that of the user. For details see + ``man setlocale.'' +
    4. +
    5. The bindtextdomain function on line 8 sets the base directory for the + message catalogs for a given message domain. A message domain is a set of + translatable messages, with every software package typically having its own + domain. Here, we have used ``hello'' as the name of the message domain for + our toy program. As the second argument, /usr/share/locale, is the default + system location for message catalogs, what we are saying here is that we are + going to place the message catalog in the default system directory. Thus, we + could have dispensed with the call to bindtextdomain here, and this + function is useful only if the message catalogs are installed in a + non-standard place, e.g., a packaged software distribution might have + the catalogs under a po/ directory under its own main directory. See ``man + bindtextdomain'' for details. +
    6. +
    7. The textdomain call on line 9 sets the message domain of the current + program to ``hello,'' i.e., the name that we are using for our example + program. ``man textdomain'' will give usage details for the function. +
    8. +
    9. Finally, on line 10, we have replaced what would normally have been, +
      +  printf( "Hello, world!\n" );
      +
      +with, +
      +  printf( gettext( "Hello, world!\n" ) );
      +
      +(If you are unfamiliar with C, the +\n at the end of the string +produces a newline at the end of the output.) This simple modification to all +translatable strings allows the translator to work independently from the +programmer. gettextize eases the task of the programmer in adapting a +package to use GNU gettext for the first time, or to upgrade to a newer +version of gettext. +
    10. +
    + +

    +Extracting translatable strings +

    + Now, it is time to extract the strings to be translated from the program +source code. This is achieved with xgettext, which can be invoked as follows: +
    
    +  xgettext -d hello -o hello.pot hello.c
    +
    +This processes the source code in hello.c, saving the output in hello.pot (the +argument to the -o option). +The message domain for the program should be specified as the argument +to the -d option, and should match the domain specified in the call to +textdomain (on line 9 of the program source). Other details on how to use +gettext can be found from ``man gettext.'' + +

    +A .pot (portable object template) file is used as the basis for translating +program messages into any language. To start translation, one can simply copy +hello.pot to oriya.po (this preserves the template file for later translation +into a different language). However, the preferred way to do this is by +use of the msginit program, which takes care of correctly setting up some +default values, +

    
    +  msginit -l or_IN -o oriya.po -i hello.pot
    +
    +Here, the -l option defines the locale (an Oriya locale should have been +installed on your system), and the -i and -o options define the input and +output files, respectively. If there is only a single .pot file in the +directory, it will be used as the input file, and the -i option can be +omitted. For me, the oriya.po file produced by msginit would look like: +
    +  # Oriya translations for PACKAGE package.
    +  # Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER
    +  # This file is distributed under the same license as the PACKAGE package.
    +  # Gora Mohanty <gora_mohanty@yahoo.co.in>, 2004.
    +  #
    +  msgid ""
    +  msgstr ""
    +  "Project-Id-Version: PACKAGE VERSION\n"
    +  "Report-Msgid-Bugs-To: \n"
    +  "POT-Creation-Date: 2004-06-22 02:22+0530\n"
    +  "PO-Revision-Date: 2004-06-22 02:38+0530\n"
    +  "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
    +  "Language-Team: Oriya\n"
    +  "MIME-Version: 1.0\n"
    +  "Content-Type: text/plain; charset=UTF-8\n"
    +  "Content-Transfer-Encoding: 8bit\n"
    + 
    +  #: hello.c:10
    +  msgid "Hello, world!\n"
    +  msgstr ""
    +
    +msginit prompted for my email address, and probably obtained my real name +from the system password file. It also filled in values such as the revision +date, language, character set, presumably using information from the or_IN +locale. + +

    +It is important to respect the format of the entries in the .po (portable +object) file. Each entry has the following structure: +

    +  WHITE-SPACE
    +  #  TRANSLATOR-COMMENTS
    +  #. AUTOMATIC-COMMENTS
    +  #: REFERENCE...
    +  #, FLAG...
    +  msgid UNTRANSLATED-STRING
    +  msgstr TRANSLATED-STRING
    +
    +where, the initial white-space (spaces, tabs, newlines,...), and all +comments might or might not exist for a particular entry. Comment lines start +with a '#' as the first character, and there are two kinds: (i) manually +added translator comments, that have some white-space immediately following the +'#,' and (ii) automatic comments added and maintained by the gettext tools, +with a non-white-space character after the '#.' The msgid line contains +the untranslated (English) string, if there is one for that PO file entry, and +the msgstr line is where the translated string is to be entered. More on +this later. For details on the format of PO files see gettext::Basics::PO +Files:: in the Emacs info-browser (see Appdx. A for an +introduction to using the info-browser in Emacs). + +

    +Making translations +

    + The oriya.po file can then be edited to add the translated Oriya +strings. While the editing can be carried out in any editor if one is careful +to follow the PO file format, there are several editors that ease the task of +editing PO files, among them being po-mode in Emacs, kbabel, gtranslator, +poedit, etc. Appdx. B describes features of some of +these editors. + +

    +The first thing to do is fill in the comments at the beginning and the header +entry, parts of which have already been filled in by msginit. The lines in +the header entry are pretty much self-explanatory, and details can be found in +the gettext::Creating::Header Entry:: info node. After that, the remaining +work consists of typing the Oriya text that is to serve as translations for +the corresponding English string. For the msgstr line in each of the +remaining entries, add the translated Oriya text between the double quotes; +the translation corresponding to the English phrase in the msgid string +for the entry. For example, for the phrase ``Hello world! +\n'' in +oriya.po, we could enter ``ନମସ୍କାର +\n''. The final +oriya.po file might look like: +

    +  # Oriya translations for hello example package.
    +  # Copyright (C) 2004 Gora Mohanty
    +  # This file is distributed under the same license as the hello example package.
    +  # Gora Mohanty <gora_mohanty@yahoo.co.in>, 2004.
    +  #
    +  msgid ""
    +  msgstr ""
    +  "Project-Id-Version: oriya\n"
    +  "Report-Msgid-Bugs-To: \n"
    +  "POT-Creation-Date: 2004-06-22 02:22+0530\n"
    +  "PO-Revision-Date: 2004-06-22 10:54+0530\n"
    +  "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
    +  "Language-Team: Oriya\n"
    +  "MIME-Version: 1.0\n"
    +  "Content-Type: text/plain; charset=UTF-8\n"
    +  "Content-Transfer-Encoding: 8bit\n"
    +  "X-Generator: KBabel 1.3\n"
    +
    +  #: hello.c:10
    +  msgid "Hello, world!\n"
    +  msgstr "ନମସ୍କାର\n"
    +
    + +

    +For editing PO files, I have found the kbabel editor suits me the best. The +only problem is that while Oriya text can be entered directly into kbabel +using the xkb Oriya keyboard layouts [1] and the entries +are saved properly, the text is not displayed correctly in the kbabel window +if it includes conjuncts. Emacs po-mode is a little restrictive, but strictly +enforces conformance with the PO file format. The main problem with it is that +it does not seem currently possible to edit Oriya text in Emacs. yudit +is the best at editing Oriya text, but does not ensure that the PO file format +is followed. You can play around a bit with these editors to find one that +suits your personal preferences. One possibility might be to first edit the +header entry with kbabel or Emacs po-mode, and then use yudit to enter +the Oriya text on the msgstr lines. + +

    +Message catalogs +

    + After completing the translations in the oriya.po file, it must be compiled to +a binary format that can be quickly loaded by the gettext tools. To do that, +use: +
    
    +  msgfmt -c -v -o hello.mo oriya.po
    +
    +The -c option does detailed checking of the PO file format, -v makes the +program verbose, and the output filename is given by the argument to the -o +option. Note that the base of the output filename should match the message +domain given in the first arguments to bindtextdomain and textdomain on +lines 8 and 9 of the example program in Sec. 2. The .mo +(machine object) file should be stored in the location whose base directory is +given by the second argument to bindtextdomain. The final location of the +file will be in the sub-directory LL/LC_MESSAGES or LL_CC/LC_MESSAGES under +the base directory, where LL stands for a language, and CC for a country. For +example, as we have chosen the standard location, /usr/share/locale, for our +base directory, and for us the language and country strings are ``or'' and +``IN,'' respectively, we will place hello.mo in /usr/share/locale/or_IN. Note +that you will need super-user privilege to copy hello.mo to this system +directory. Thus, +
    
    +  mkdir -p /usr/share/locale/or_IN/LC_MESSAGES
    +  cp hello.mo /usr/share/locale/or_IN/LC_MESSAGES
    +
    + +

    +The user's viewpoint +

    + Once the message catalogs have been properly installed, any user on the system +can use the Oriya version of the Hello World program, provided an Oriya locale +is available. First, change your locale with, +
    
    +  echo $LANG
    +  export LANG=or_IN
    +
    +The first statement shows you the current setting of your locale (this is +usually en_US, and you will need it to reset the default locale at the end), +while the second one sets it to an Oriya locale. + +

    +A Unicode-capable terminal emulator is needed to view Oriya output +directly. The new versions of both gnome-terminal and konsole (the KDE +terminal emulator) are Unicode-aware. I will focus on gnome-terminal as it +seems to have better support for internationalization. gnome-terminal needs to +be told that the bytes arriving are UTF-8 encoded multibyte sequences. This +can be done by (a) choosing Terminal -> Character Coding -> +Unicode (UTF-8), or (b) typing ``/bin/echo -n -e +' +\033% +\G''' in the terminal, or (c) by running +/bin/unicode_start. Likewise, you can revert to the default locale by (a) +choosing Terminal -> Character Coding -> Current Locale +(ISO-8859-1), or (b) ``/bin/echo -n -e ' +\033% +\@','' or +(c) by running /bin/unicode_stop. Now, running the example program (after +compiling with gcc as described in Sec. 2) with, +

    
    +  ./hello
    +
    +should give you output in Oriya. Please note that conjuncts will most likely +be displayed with a ``halant'' as the terminal probably does not render Indian +language fonts correctly. Also, as most terminal emulators assume fixed-width +fonts, the results are hardly likely to be aesthetically appealing. + +

    +An alternative is to save the program output in a file, and view it with +yudit which will render the glyphs correctly. Thus, +

    
    +  ./hello > junk
    +  yudit junk
    +
    +Do not forget to reset the locale before resuming usual work in the +terminal. Else, your English characters might look funny. + +

    +While all this should give the average user some pleasure in being able to see +Oriya output from a program without a whole lot of work, it should be kept in +mind that we are still far from our desired goal. Hopefully, one day the +situation will be such that rather than deriving special pleasure from it, +users take it for granted that Oriya should be available and are upset +otherwise. + +

    + +

    +Adding complications: program upgrade +

    +The previous section presented a simple example of how Oriya language support +could be added to a C program. Like all programs, we might now wish to further +enhance it. For example, we could include a greeting to the user by adding +another printf statement after the first one. Our new hello.c source +code might look like this: +
    +1    #include <libintl.h>
    +2    #include <locale.h>
    +3    #include <stdio.h>
    +4    #include <stdlib.h>
    +5    int main(void)
    +6    {
    +7      setlocale( LC_ALL, "" );
    +8      bindtextdomain( "hello", "/usr/share/locale" );
    +9      textdomain( "hello" );
    +10      printf( gettext( "Hello, world!\n" ) );
    +11      printf( gettext( "How are you\n" ) );
    +12      exit(0);
    +13    }
    +
    +For such a small change, it would be simple enough to just repeat the above +cycle of extracting the relevant English text, translating it to Oriya, and +preparing a new message catalog. We can even simplify the work by cutting and +pasting most of the old oriya.po file into the new one. However, real programs +will have thousands of such strings, and we would like to be able to translate +only the changed strings, and have the gettext utilities handle the drudgery +of combining the new translations with the old ones. This is indeed possible. + +

    +Merging old and new translations +

    + As before, extract the translatable strings from hello.c to a new portable +object template file, hello-new.pot, using xgettext, +
    
    +  xgettext -d hello -o hello-new.pot hello.c
    +
    +Now, we use a new program, msgmerge, to merge the existing .po file with +translations into the new template file, viz., +
    
    +  msgmerge -U oriya.po hello-new.pot
    +
    +The -U option updates the existing +.po file, oriya.po. We could have chosen to instead create a new .po file by +using ``-o <filename>'' instead of -U. The updated .po file will still +have the old translations embedded in it, and new entries with untranslated +msgid lines. For us, the new lines in oriya.po will look like, +
    +  #: hello.c:11
    +  msgid "How are you?\n"
    +  msgstr ""
    +
    +For the new translation, we could use, ``ଆପଣ +କିପରି ଅଛନ୍ତି?'' in +place of the English phrase ``How are you?'' The updated oriya.po file, +including the translation might look like: +
    +  # Oriya translations for hello example package.
    +  # Copyright (C) 2004 Gora Mohanty
    +  # This file is distributed under the same license as the hello examplepackage.
    +  # Gora Mohanty <gora_mohanty@yahoo.co.in>, 2004.
    +  #
    +  msgid ""
    +  msgstr ""
    +  "Project-Id-Version: oriya\n"
    +  "Report-Msgid-Bugs-To: \n"
    +  "POT-Creation-Date: 2004-06-23 14:30+0530\n"
    +  "PO-Revision-Date: 2004-06-22 10:54+0530\n"
    +  "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
    +  "Language-Team: Oriya\n"
    +  "MIME-Version: 1.0\n"
    +  "Content-Type: text/plain; charset=UTF-8\n"
    +  "Content-Transfer-Encoding: 8bit\n"
    +  "X-Generator: KBabel 1.3\n"
    +  
    +  #: hello.c:10
    +  msgid "Hello, world!\n"
    +  msgstr "ନମସ୍କାର\n"
    +
    +  #: hello.c:11
    +  msgid "How are you?\n"
    +  msgstr "ଆପଣ କିପରି ଅଛନ୍ତି?\n"
    +
    + +

    +Compile oriya.po to a machine object file, and install in the appropriate +place as in Sec. 2.4. Thus, +

    
    +  msgfmt -c -v -o hello.mo oriya.po
    +  mkdir -p /usr/share/locale/or_IN/LC_MESSAGES
    +  cp hello.mo /usr/share/locale/or_IN/LC_MESSAGES
    +
    +You can test the Oriya output as above, after recompiling hello.c and running +it in an Oriya locale. + +

    + +

    +More about gettext +

    +The GNU gettext info pages provide a well-organized and complete description +of the gettext utilities and their usage for enabling Native Language +Support. One should, at the very least, read the introductory material at +gettext::Introduction::, and the suggested references in +gettext::Conclusion::References::. Besides the gettext utilities described in +this document, various other programs to manipulate .po files are discussed in +gettext:Manipulating::. Finally, support for programming languages other than +C/C++ is discussed in gettext::Programming Languages::. + +

    + +

    +The work of translation +

    + Besides the obvious program message strings that have been the sole focus of +our discussion here, there are many other things that require translation, +including GUI messages, command-line option strings, configuration files, +program documentation, etc. Besides these obvious aspects, there are a +significant number of programs and/or scripts that are automatically generated +by other programs. These generated programs might also themselves require +translation. So, in any effort to provide support for a given native language, +carrying out the translation and keeping up with program updates becomes a +major part of the undertaking, requiring a continuing commitment from the +language team. A plan has been outlined for the Oriya localization +project [2]. + +

    + +

    +Acknowledgments +

    +Extensive use has obviously been made of the GNU gettext manual in preparing +this document. I have also been helped by an article in the Linux +Journal [3]. + +

    +This work is part of the project for enabling the use of Oriya under Linux. I +thank my uncle, N. M. Pattnaik, for conceiving of the project. We have all +benefited from the discussions amidst the group of people working on this +project. On the particular issue of translation, the help of H. R. Pansari, +A. Nayak, and M. Chand is much appreciated. + +

    +The Emacs info browser +

    +You can start up Emacs from the command-line by typing ``emacs,'' or ``emacs +<filename>.'' It can be started from the menu in some desktops, e.g., on +my GNOME desktop, it is under Main Menu -> Programming -> +Emacs. If you are unfamiliar with Emacs, a tutorial can be started by typing +``C-h t'' in an Emacs window, or from the Help item in the menubar at the +top. Emacs makes extensive use of the Control (sometimes labelled as ``CTRL'' +or ``CTL'') and Meta (sometimes labelled as ``Edit'' or ``Alt'') keys. In +Emacs parlance, a hyphenated sequence, such as ``C-h'' means to press the +Control and `h' key simultaneously, while ``C-h t'' would mean to press the +Control and `h' key together, release them, and press the `t' key. Similarly, +``M-x'' is used to indicate that the Meta and `x' keys should be pressed at +the same time. + +

    +The info browser can be started by typing ``C-h i'' in Emacs. The first time +you do this, it will briefly list some commands available inside the info +browser, and present you with a menu of major topics. Each menu item, or +cross-reference is hyperlinked to the appropriate node, and you can visit that +node either by moving the cursor to the item and pressing Enter, or by +clicking on it with the middle mouse button. To get to the gettext menu items, +you can either scroll down to the line, +

    +  * gettext: (gettext).                          GNU gettext utilities.
    +
    +and visit that node. Or, as it is several pages down, you can locate it using +``I-search.'' Type ``C-s'' to enter ``I-search'' which will then prompt you +for a string in the mini-buffer at the bottom of the window. This is an +incremental search, so that Emacs will keep moving you forward through the +buffer as you are entering your search string. If you have reached the last +occurrence of the search string in the current buffer, you will get a message +saying ``Failing I-search: ...'' on pressing ``C-s.'' At that point, press +``C-s'' again to resume the search at the beginning of the buffer. Likewise, +``C-r'' incrementally searches backwards from the present location. + +

    +Info nodes are listed in this document with a ``::'' separator, so +that one can go to the gettext::Creating::Header Entry:: by visiting the +``gettext'' node from the main info menu, navigating to the ``Creating'' +node, and following that to the ``Header Entry'' node. + +

    +A stand-alone info browser, independent of Emacs, is also available on many +systems. Thus, the gettext info page can also be accessed by typing +``info gettext'' in a terminal. xinfo is an X application serving as an +info browser, so that if it is installed, typing ``xinfo gettext'' from the +command line will open a new browser window with the gettext info page. + +

    + +

    +PO file editors +

    +While the yudit editor is adequate for our present purposes, and we are +planning on using that as it is platform-independent, and currently the best +at rendering Oriya. This section describes some features of some editors that +are specialized for editing PO files under Linux. This is still work in +progress, as I am in the process of trying out different editors before +settling on one. The ones considered here are: Emacs in po-mode, poedit, +kbabel, and gtranslator. + +

    +Emacs PO mode +

    + Emacs should automatically enter po-mode when you load a .po file, as +indicated by ``PO'' in the modeline at the bottom. The window is made +read-only, so that you can edit the .po file only through special commands. A +description of Emacs po-mode can be found under the gettext::Basics info node, +or type `h' or `?' in a po-mode window for a list of available commands. While +I find Emacs po-mode quite restrictive, this is probably due to unfamiliarity +with it. Its main advantage is that it imposes rigid conformance to the PO +file format, and checks the file format when closing the .po file +buffer. Emacs po-mode is not useful for Oriya translation, as I know of no way +to directly enter Oriya text under Emacs. + +

    +poedit +

    + XXX: in preparation. + +

    +KDE: the kbabel editor +

    + kbabel [4] is a more user-friendly and configurable editor than +either of Emacs po-mode or poedit. It is integrated into KDE, and offers +extensive contextual help. Besides support for various PO file features, it +has a plugin framework for dictionaries, that allows consistency checks and +translation suggestions. + +

    +GNOME: the gtranslator editor +

    + XXX: in preparation. + +

    +Bibliography +

    1 +
    +G. Mohanty, +
    A practical primer for using Oriya under Linux, v0.3, +
    http://oriya.sarovar.org/docs/getting_started/index.html, 2004, +
    Sec. 6.2 describes the xkb layouts for Oriya. + +

    2 +
    +G. Mohanty, +
    A plan for Oriya localization, v0.1, +
    http://oriya.sarovar.org/docs/translation_plan/index.html, + 2004. + +

    3 +
    +Linux Journal article on internationalization, +
    http://www.linuxjournal.com/article.php?sid=3023. + +

    4 +
    +Features of the kbabel editor, +
    http://i18n.kde.org/tools/kbabel/features.html. +
    + +

    +About this document ... +

    + A tutorial on Native Language Support using GNU gettext

    +This document was generated using the +LaTeX2HTML translator Version 2002-2-1 (1.70) +

    +Copyright © 1993, 1994, 1995, 1996, +Nikos Drakos, +Computer Based Learning Unit, University of Leeds. +
    Copyright © 1997, 1998, 1999, +Ross Moore, +Mathematics Department, Macquarie University, Sydney. +

    +The command line arguments were:
    + latex2html -no_math -html_version 4.0,math,unicode,i18n,tables -split 0 memo +

    +The translation was initiated by Gora Mohanty on 2004-07-24 +

  • .*,,' | sed -e 's,.*,,' | sed -n -e 's,^.*HREF="\([^"]*\)">[^<>]*.*$,\1,p'` + case "$address1" in + mailto:*) address1=`echo "$address1" | sed -e 's,^mailto:,<,' -e 's,$,>,'` ;; + esac + address1=`echo "$address1" | sed -e 's,-request@,@,'` + address2=`echo "$html" | tr '\012' '|' | sed -n -e 's,^.*>'"$english"'[^<>]*team<\(.*\)$,\1,p' | sed -e "$sed_addnl" | sed -e 2q -e 1d | sed -n -e 's,^.*web site\(.*\)$,\1,p' | sed -e 's,.*,,' | sed -e 's,.*,,' | sed -n -e 's,^.*HREF="\([^"]*\)">[^<>]*.*$,\1,p'` + if test -n "$address1" && test -n "$address2"; then + address="$address1 $address2" + else + address="$address1$address2" + fi + # address can be empty or contain 1 or more space separated URLs. +else + (echo "A translation team for your "`if test "$catalog" = "$language"; then echo "language ($language)"; else echo "local dialect ($catalog)"; fi` + echo "may not exist yet. Please visit" + echo " $url" + echo " http://i18n.kde.org/" + echo "and decide whether you want to create a new translation team." + ) 1>&2 + address= +fi +exit 0 diff --git a/mingw/share/gettext/projects/KDE/teams.html b/mingw/share/gettext/projects/KDE/teams.html new file mode 100644 index 00000000..95c2d4ea --- /dev/null +++ b/mingw/share/gettext/projects/KDE/teams.html @@ -0,0 +1,2039 @@ + + + + + The KDE Translation Teams + + +
    + + + + +
    +

    The KDE Translation Teams

    +

    Many KDE applications have been translated to more than 50 + languages already and the number of both the translated applications and + the supported languages is still growing. For information on how complete the + translation of the current KDE user interface to the individual languages + really is please see the respective statistics page. (Documentation translation is still in + its first stages for many teams.) The languages distributed with the last + official KDE version are listed on a separate + page.

    +

    Almost all language teams are looking for additional + translators. And, of course, there are still a lot of languages missing in KDE. + So if you have some spare time and a good knowledge of English, please consider + joining one of the teams and help translating KDE to your native language. Just + write to the appropriate team coordinator in the list below. If there's no + coordinator listed for your language, take a look at the + Translation HOWTO for more information on + how new languages are introduced to KDE and subscribe to the + mailinglist + for translators and documenters.

    +

    The team table below is sorted according to the official lists + of ISO 639 language codes. (See + http://lcweb.loc.g + ov/standards/iso639-2/englangn.html). We are + presently switching from the 2-letter codes to the 3-letter codes.) In addition + to the basic team data like the coordinator(s), the + mailing list, and the team's web site, the + list now contains links to:

    +
      +
    • compressed archives of all GUI and documentation + files that were already translated by the respective language team; + these files are usually of the type ".po" (GNU gettext) and ".docbook" + (XML)
    • +
    • text files that contain all message strings of the + translated .po files -- these files are sometimes called + "compendia" and are used for instance by specialized + translation programs like KBabel (the + recommended one for KDE translation).
    • +
    • the "highscore list" for each team: an + overview which .po files were already translated but are in need of an + overhaul.
    • +
    • the doc statistics: an overview of the + current status if there are any doc translations available
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    afAfrikaans team
      +
    araArabic team
      +
    azAzerbaijani team
      +
    bgBulgarian team
      +
    bnBengali team
      +
      +
    • team coordinator(s): + Ahmed, Taneem
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive:--
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    boTibetan team
      +
      +
    • team coordinator(s): Katrin Norbu
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive:--
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    brBreton team
      +
    bsBosnian team
      +
    caCatalan team
      +
    csCzech team
      +
    cyWelsh team
      +
    daDanish team
      +
    deGerman team
      +
    elGreek team
      +
    en_GBBritish English Team
      +
    eoEsperanto team
      +
    esSpanish team
      +
    etEstonian team
      +
    euBasque team
      +
    faFarsi (Persian) team
      +
    fiFinnish team
      +
    foFaroese team
      +
      +
    • coordinator(s): Aki Nielsen
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    frFrench team
      +
    gaIrish Gaelic team
      +
    glGallegan team
      +
    guGujarati team
      +
      +
    • coordinator(s): Apu + Shah
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    heHebrew team
      +
    hiHindi team
      +
      +
    • coordinator(s): Harsh + Kumar
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    hrCroatian team
      +
    huHungarian team
      +
    id/indIndonesian team
      +
    isIcelandic team
      +
    itItalian team
      +
    jaJapanese team
      +
    kmKhmer (Cambodian) team
      +
      +
    • coordinator(s): Neang, + Savun
    • +
    • mailing list: kdelist@khmermp3.com (no subscription info + available yet)
    • +
    • web site: kde.khmermp3.com
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    koKorean team
      +
    kurKurdish team
      +
    ltLithuanian team
      +
    lvLatvian team
      +
    miMaori team
      +
    mkMacedonian team
      +
    mrMarathi team
      +
      +
    • coordinator(s): Rahul + Palkar
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    mtMaltese team
      +
      +
    • coordinator(s): Ramon + Casha
    • +
    • mailing list: --
    • +
    • web site: --
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    nlDutch team
      +
    noNorwegian (Bokmål) team
      +
    no_NYNorwegian (Nynorsk) team
      +
    ocOccitan team
      +
    plPolish team
      +
    ptPortuguese team
      +
    pt_BRBrazilian Portuguese team
      +
    roRomanian team
      +
    ruRussian team
      +
    skSlovak team
      +
    slSlovenian team
      +
    srSerbian team
      +
    svSwedish team
      +
    taTamil team
      +
    tgTajik team
      +
      +
    • coordinator(s): + Roger Kovacs
    • +
    • mailing list: --
    • +
    • web site: www.khujandcomptech.dyn.tj
    • +
    • .po and doc archive:--
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    thThai team
      +
    trTurkish team
      +
    ukUkrainian team
      +
    viVietnamese team
      +
    waWalloon team
      +
    xhXhosa team
      +
      +
    • team coordinator(s): Dwayne Bailey
    • +
    • mailing list: --
    • +
    • web site: translate.org.za
    • +
    • .po and doc archive: --
    • +
    • .po messages translated: --
    • +
    • .po files in need of a revision: --
    • +
    • doc statistics: --
    • +
    zh_CN.GB2312Simplified Chinese team
      +
    zh_TW.Big5Traditional Chinese team
      +
    +

    Page maintained by + Thomas Diehl. Last update 11 Oktober + 2001
    + diff --git a/mingw/share/gettext/projects/KDE/teams.url b/mingw/share/gettext/projects/KDE/teams.url new file mode 100644 index 00000000..0878d10f --- /dev/null +++ b/mingw/share/gettext/projects/KDE/teams.url @@ -0,0 +1 @@ +http://i18n.kde.org/teams/index.shtml diff --git a/mingw/share/gettext/projects/KDE/trigger b/mingw/share/gettext/projects/KDE/trigger new file mode 100644 index 00000000..561a408b --- /dev/null +++ b/mingw/share/gettext/projects/KDE/trigger @@ -0,0 +1,40 @@ +#!/bin/sh +# Test whether the current package is a KDE package. + +# NLS nuisances: Letter ranges are different in the Estonian locale. +LC_ALL=C + +while true; do + configfiles= + if test -f configure.in; then + configfiles="$configfiles configure.in" + fi + if test -f configure.ac; then + configfiles="$configfiles configure.ac" + fi + if test -n "$configfiles"; then + if grep '^KDE_' $configfiles >/dev/null 2>&1 || \ + grep '^AC_PATH_KDE' $configfiles >/dev/null 2>&1 || \ + grep '^AM_KDE_WITH_NLS' $configfiles >/dev/null 2>&1 ; then + exit 0 + fi + exit 1 + fi + dir=`basename \`pwd\`` + case "$dir" in + i18n) + # This directory name, used in GNU make, is not the top level directory. + ;; + *[A-Za-z]*[0-9]*) + # Reached the top level directory. + exit 1 + esac + # Go to parent directory + last=`/bin/pwd` + cd .. + curr=`/bin/pwd` + if test "$last" = "$curr"; then + # Oops, didn't find the top level directory. + exit 1 + fi +done diff --git a/mingw/share/gettext/projects/TP/team-address b/mingw/share/gettext/projects/TP/team-address new file mode 100644 index 00000000..6d4624fa --- /dev/null +++ b/mingw/share/gettext/projects/TP/team-address @@ -0,0 +1,61 @@ +#!/bin/sh +# Print the team's address (to stdout) and output additional instructions +# (to stderr). +projectsdir="$1" +progdir="$2" +catalog="$3" # e.g. "pt_BR" +language="$4" # e.g. "pt" + +url=`cat "$projectsdir/TP/teams.url"` +sed_absolute_dotdot_urls="s,href=\"\\.\\./,href="`echo "$url" | sed -e 's,/[^/]*/[^/]*\$,/,'`",g" +html=`"$progdir/urlget" "$url" "$projectsdir/TP/teams.html" | sed -e "$sed_absolute_dotdot_urls"` +sed_addnl='s,,\ +,g' +address=`echo "$html" | tr '\012' '|' | sed -e "$sed_addnl" | sed -n -e "s,^.*$catalog[^<>]*[^|]*[^<>]*[^<>]*.*\$,\\1,p" | sed 1q` +if test -n "$address"; then + case "$address" in + mailto:*) address=`echo "$address" | sed -e 's,^mailto:,<,' -e 's,$,>,'` ;; + esac + (echo "Please visit your translation team's homepage at" + echo " "`echo "$html" | tr '\012' '|' | sed -e "$sed_addnl" | sed -n -e "s,^.*$catalog[^<>]*[^<>]*.*\$,\\1,p" | sed 1q` + echo " http://www.iro.umontreal.ca/contrib/po/HTML/teams.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/translators.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/index.html" + echo "and consider joining your translation team's mailing list" + echo " $address" + ) 1>&2 + echo "$address" + exit 0 +fi +address=`echo "$html" | tr '\012' '|' | sed -e "$sed_addnl" | sed -n -e "s,^.*$language[^<>]*[^|]*[^<>]*[^<>]*.*\$,\\1,p" | sed 1q` +if test -n "$address"; then + case "$address" in + mailto:*) address=`echo "$address" | sed -e 's,^mailto:,<,' -e 's,$,>,'` ;; + esac + (echo "A translation team exists for your language ($language) but not for" + echo "your local dialect ($catalog). You can either join the existing" + echo "translation team for $language or create a new translation team for $catalog." + echo + echo "Please visit the existing translation team's homepage at" + echo " "`echo "$html" | tr '\012' '|' | sed -e "$sed_addnl" | sed -n -e "s,^.*$language[^<>]*[^<>]*.*\$,\\1,p" | sed 1q` + echo " http://www.iro.umontreal.ca/contrib/po/HTML/teams.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/translators.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/index.html" + echo "and consider joining the translation team's mailing list" + echo " $address" + echo + echo "If you want to create a new translation team for $catalog, please visit" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/teams.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/leaders.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/index.html" + ) 1>&2 + echo "$address" + exit 0 +fi +(echo "A translation team for your language ($language) does not exist yet." + echo "If you want to create a new translation team for $language"`test "$catalog" = "$language" || echo " or $catalog"`", please visit" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/teams.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/leaders.html" + echo " http://www.iro.umontreal.ca/contrib/po/HTML/index.html" +) 1>&2 +exit 0 diff --git a/mingw/share/gettext/projects/TP/teams.html b/mingw/share/gettext/projects/TP/teams.html new file mode 100644 index 00000000..f0cc0d30 --- /dev/null +++ b/mingw/share/gettext/projects/TP/teams.html @@ -0,0 +1,533 @@ + + + + + National translation teams + + + + + + + + + + + + + + + + + + +
    +

    Translation Project

    +
    + + + + + + + + + + + + + + + + + +
    + Welcome
    + Changes
    +
    Overview
    + The Packages
    + The Teams
    + The Disclaimer
    + The Robot
    +
    Info for...
    + Maintainers
    + Coordinators
    + Translators
    +
    Documents
    + Contributors
    + File List
    + Tools
    +
    +
    +

    National translation teams

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CodeLanguageTeam address
    afAfrikaansi18n@af.org.za
    sqAlbaniantranslation-team-sq@lists.sourceforge.net
    amAmhariclocales@geez.org
    arArabicdoc@arabeyes.org
    es_ARArgentiniantranslation-es-AR@lists.sourceforge.net
    hyArmeniantranslation-team-hy@lists.sourceforge.net
    astAsturianxspuente@asturies.org
    azAzerbaijanitranslation-team-az@lists.sourceforge.net
    euBasquetranslation-team-eu@lists.sourceforge.net
    beBelarusiani18n@mova.org
    bsBosnianmtodorov@alu.hr
    pt_BRBrazilian Portugueseldp-br@bazar.conectiva.com.br
    bgBulgariandict@fsa-bg.org
    caCatalanca@dodds.net
    zh_HKChinese (Hong Kong)community@linuxhall.org
    zh_CNChinese (simplified)translation-team-zh-cn@lists.sourceforge.net
    zh_TWChinese (traditional)zh-l10n@linux.org.tw
    hrCroatianlokalizacija@linux.hr
    csCzechtranslation-team-cs@lists.sourceforge.net
    daDanishdansk@dansk-gruppen.dk
    nlDutchvertaling@vrijschrift.org
    dzDzongkhadzongkha-l10n@lists.sourceforge.net
    enEnglishen@translate.freefriends.org
    en_GBEnglish (British)en_gb@li.org
    eoEsperantotranslation-team-eo@lists.sourceforge.net
    etEstonianlinux-ee@lists.eenet.ee
    fiFinnishtranslation-team-fi@lists.sourceforge.net
    frFrenchtraduc@traduc.org
    glGaliciangpul-traduccion@ceu.fi.udc.es
    kaGeorgianka@li.org
    deGermantranslation-team-de@lists.sourceforge.net
    elGreeknls@tux.hellug.gr
    guGujaratiindianoss-gujarati@lists.sourceforge.net
    heHebreweliz@gnu.org
    hiHindifedora-trans-hi@redhat.com
    huHungariantranslation-team-hu@lists.sourceforge.net
    isIcelandickde-isl@mmedia.is
    idIndonesiantranslation-team-id@lists.sourceforge.net
    gaIrishgaeilge-gnulinux@lists.sourceforge.net
    itItaliantp@lists.linux.it
    jaJapanesetranslation-team-ja@lists.sourceforge.net
    rwKinyarwandatranslation-team-rw@lists.sourceforge.net
    kyKirghizi18n-team-ky-kyrgyz@lists.sourceforge.net
    koKoreantranslation-team-ko@lists.sourceforge.net
    kuKurdishku@li.org
    lvLatvianlv@li.org
    ltLithuaniankomp_lt@konferencijos.lt
    art-lojbanLojbantranslation-art-lojban@lists.sourceforge.net
    lgLugandakompyuta@kizito.freeuk.com
    mkMacedonianufo@linux.net.mk
    mgMalagasydikateny@linuxmg.org
    msMalaytranslation-team-ms@lists.sourceforge.net
    mtMaltesel10n@linux.org.mt
    mnMongolianopenmn-translation@lists.sourceforge.net
    neNepalitranslation-team-ne@lists.sourceforge.net
    es_NINicaraguianeichwalk@iro.umontreal.ca
    nsoNorthern Sothosipedi@translate.org.za
    noNorwegiani18n-nb@lister.ping.uio.no
    nbNorwegian Bokmaali18n-nb@lister.ping.uio.no
    nnNorwegian Nynorski18n-nn@lister.ping.uio.no
    no@nynorskNorwegian Nynorski18n-nn@lister.ping.uio.no
    orOriyagora_mohanty@yahoo.co.in
    faPersiantranslation-team-fa@lists.sourceforge.net
    plPolishtranslation-team-pl@lists.sourceforge.net
    ptPortuguesetranslation-team-pt@lists.sourceforge.net
    paPunjabifedora-trans-pa@redhat.com
    rmRhaeto-Romancegnu-rumantsch@guglielmtux.ch
    roRomaniantranslation-team-ro@lists.sourceforge.net
    ruRussianru@li.org
    srSerbiangnu@prevod.org
    siSinhaleseananda.ruhunuhewa@inalco.fr
    skSlovaksk-i18n@lists.linux.sk
    slSloveniantranslation-team-sl@lists.sourceforge.net
    stSothosesotho@translate.org.za
    esSpanishes@li.org
    es_ICSpanish (Canary Islands)es_ic@eListas.net
    swSwahilitranslation-team-sw@lists.sourceforge.net
    ssSwatiswati@translate.org.za
    svSwedishtp-sv@listor.tp-sv.se
    tgTajiktranslations@tajikngo.org
    taTamiltranslation-team-ta@lists.sourceforge.net
    thThaithailang@buraphalinux.org
    trTurkishgnu-tr-u12a@lists.sourceforge.net
    tkTurkmenkakilikgroup@yahoo.com
    ukUkrainiantranslation-team-uk@lists.sourceforge.net
    venVendavenda@translate.org.za
    viVietnamesevi-VN@googlegroups.com
    waWalloonlinux-wa@walon.org
    cyWelshcy@pengwyn.linux.org.uk
    xhXhosaxhosa@translate.org.za
    zuZuluzulu@translate.org.za
    +
    +

    (Last updated on 2007-06-27 11:28 +0200.)

    +

    + Your comments + are welcome.

    +
    + + diff --git a/mingw/share/gettext/projects/TP/teams.url b/mingw/share/gettext/projects/TP/teams.url new file mode 100644 index 00000000..952022e9 --- /dev/null +++ b/mingw/share/gettext/projects/TP/teams.url @@ -0,0 +1 @@ +http://translationproject.org/team/index.html diff --git a/mingw/share/gettext/projects/TP/trigger b/mingw/share/gettext/projects/TP/trigger new file mode 100644 index 00000000..4486daf9 --- /dev/null +++ b/mingw/share/gettext/projects/TP/trigger @@ -0,0 +1,3 @@ +#!/bin/sh +# All translations not belonging to other projects are welcome in the TP. +true diff --git a/mingw/share/gettext/projects/index b/mingw/share/gettext/projects/index new file mode 100644 index 00000000..9b56e130 --- /dev/null +++ b/mingw/share/gettext/projects/index @@ -0,0 +1,3 @@ +KDE +GNOME +TP diff --git a/mingw/share/gettext/projects/team-address b/mingw/share/gettext/projects/team-address new file mode 100644 index 00000000..d42236cb --- /dev/null +++ b/mingw/share/gettext/projects/team-address @@ -0,0 +1,16 @@ +#!/bin/sh +# Print the team's address (to stdout) and output additional instructions +# (to stderr). +projectsdir="$1" +progdir="$2" +catalog="$3" # e.g. "pt_BR" +language="$4" # e.g. "pt" + +for project in `cat "$projectsdir/index"`; do + if /bin/sh "$projectsdir/$project/trigger"; then + /bin/sh "$projectsdir/$project/team-address" "$projectsdir" "$progdir" "$catalog" "$language" + exit $? + fi +done + +exit 0 diff --git a/mingw/share/gettext/styles/po-default.css b/mingw/share/gettext/styles/po-default.css new file mode 100644 index 00000000..a87c110d --- /dev/null +++ b/mingw/share/gettext/styles/po-default.css @@ -0,0 +1,26 @@ +/* Default styling rules for PO files when doing terminal output. + Copyright (C) 2006-2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +.translator-comment { color : green; } +.obsolete { color : green; } +.extracted-comment { color : green; font-weight: bold; } +.flag { text-decoration : underline; } +.fuzzy-flag { text-decoration : none; } +.text { color : magenta; } +.msgstr .text { color : blue; } +.fuzzy .msgstr .text { color : red; } +.format-directive { font-weight: bold; } +.invalid-format-directive { background-color : red; color : white; font-weight: bold; } diff --git a/mingw/share/gettext/styles/po-emacs-x.css b/mingw/share/gettext/styles/po-emacs-x.css new file mode 100644 index 00000000..331e73cf --- /dev/null +++ b/mingw/share/gettext/styles/po-emacs-x.css @@ -0,0 +1,24 @@ +/* Styling rules for PO files, imitating emacs 21 and 22 in an X window. + Copyright (C) 2006 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +.comment { color : rgb(178,34,34); } +.reference { color : rgb(95,158,160); } +.flag { color : rgb(0,0,0); } +.keyword { color : rgb(160,32,240); } +.string { color : rgb(160,32,240); } +.text { color : rgb(0,0,0); } +.escape-sequence { color : rgb(184,134,11); } +.format-directive { color : rgb(184,134,11); } diff --git a/mingw/share/gettext/styles/po-emacs-xterm.css b/mingw/share/gettext/styles/po-emacs-xterm.css new file mode 100644 index 00000000..fd704254 --- /dev/null +++ b/mingw/share/gettext/styles/po-emacs-xterm.css @@ -0,0 +1,22 @@ +/* Styling rules for PO files, imitating emacs 22 in an xterm terminal. + Copyright (C) 2006 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +.reference { color : rgb(205,0,205); } +.keyword { color : rgb(0,255,255); font-weight : bold; } +.string { color : rgb(0,255,255); font-weight : bold; } +.text { color : rgb(0,0,0); font-weight : normal; } +.escape-sequence { color : rgb(205,205,0); } +.format-directive { color : rgb(205,205,0); } diff --git a/mingw/share/gettext/styles/po-emacs-xterm16.css b/mingw/share/gettext/styles/po-emacs-xterm16.css new file mode 100644 index 00000000..c0f8a47e --- /dev/null +++ b/mingw/share/gettext/styles/po-emacs-xterm16.css @@ -0,0 +1,24 @@ +/* Styling rules for PO files, imitating emacs 22 in an xterm-16color terminal. + Copyright (C) 2006 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +.comment { color : rgb(205,0,0); } +.reference { color : rgb(0,205,205); } +.flag { color : rgb(0,0,0); } +.keyword { color : rgb(205,0,205); } +.string { color : rgb(205,0,205); } +.text { color : rgb(0,0,0); } +.escape-sequence { color : rgb(205,205,0); } +.format-directive { color : rgb(205,205,0); } diff --git a/mingw/share/gettext/styles/po-emacs-xterm256.css b/mingw/share/gettext/styles/po-emacs-xterm256.css new file mode 100644 index 00000000..00fd555c --- /dev/null +++ b/mingw/share/gettext/styles/po-emacs-xterm256.css @@ -0,0 +1,24 @@ +/* Styling rules for PO files, imitating emacs 22 in an xterm-256color terminal. + Copyright (C) 2006 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +.comment { color : rgb(175,0,0); } +.reference { color : rgb(95,175,175); } +.flag { color : rgb(0,0,0); } +.keyword { color : rgb(175,0,255); } +.string { color : rgb(175,0,255); } +.text { color : rgb(0,0,0); } +.escape-sequence { color : rgb(175,135,0); } +.format-directive { color : rgb(175,135,0); } diff --git a/mingw/share/gettext/styles/po-vim.css b/mingw/share/gettext/styles/po-vim.css new file mode 100644 index 00000000..591c4fe1 --- /dev/null +++ b/mingw/share/gettext/styles/po-vim.css @@ -0,0 +1,24 @@ +/* Styling rules for PO files, imitating vim 7. + Copyright (C) 2006 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +.comment { color : rgb(0,0,205); } +.reference-comment { color : rgb(205,0,205); } +.flag-comment { color : rgb(205,0,205); } +.fuzzy-flag { color : rgb(0,0,0); background-color : rgb(205,205,0); } +.keyword { color : rgb(205,205,0); } +.string { color : rgb(205,0,0); } +.escape-sequence { color : rgb(205,0,205); } +.format-directive { color : rgb(205,0,205); } diff --git a/mingw/share/info/autosprintf.info b/mingw/share/info/autosprintf.info new file mode 100644 index 00000000..37af0bdd --- /dev/null +++ b/mingw/share/info/autosprintf.info @@ -0,0 +1,134 @@ +This is autosprintf.info, produced by makeinfo version 4.13 from +autosprintf.texi. + +INFO-DIR-SECTION C++ libraries +START-INFO-DIR-ENTRY +* autosprintf: (autosprintf). Support for printf format strings in C++. +END-INFO-DIR-ENTRY + + This file provides documentation for GNU `autosprintf' library. + + Copyright (C) 2002-2003, 2006-2007 Free Software Foundation, Inc. + + This manual is free documentation. It is dually licensed under the +GNU FDL and the GNU GPL. This means that you can redistribute this +manual under either of these two licenses, at your choice. + + This manual is covered by the GNU FDL. Permission is granted to +copy, distribute and/or modify this document under the terms of the GNU +Free Documentation License (FDL), either version 1.2 of the License, or +(at your option) any later version published by the Free Software +Foundation (FSF); with no Invariant Sections, with no Front-Cover Text, +and with no Back-Cover Texts. A copy of the license is at +`http://www.gnu.org/licenses/fdl.html'. + + This manual is covered by the GNU GPL. You can redistribute it +and/or modify it under the terms of the GNU General Public License +(GPL), either version 2 of the License, or (at your option) any later +version published by the Free Software Foundation (FSF). A copy of the +license is at `http://www.gnu.org/licenses/gpl.html'. + + +File: autosprintf.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +GNU autosprintf +*************** + +This manual documents the GNU autosprintf class, version 1.0. + +* Menu: + +* Introduction:: Introduction +* Class autosprintf:: The `autosprintf' class +* Using autosprintf:: Using `autosprintf' in own programs + + +File: autosprintf.info, Node: Introduction, Next: Class autosprintf, Prev: Top, Up: Top + +1 Introduction +************** + +This package makes the C formatted output routines (`fprintf' et al.) +usable in C++ programs, for use with the `' strings and the +`' streams. + + It allows to write code like + + cerr << autosprintf ("syntax error in %s:%d: %s", filename, line, errstring); + +instead of + + cerr << "syntax error in " << filename << ":" << line << ": " << errstring; + + The benefits of the autosprintf syntax are: + + * It reuses the standard POSIX printf facility. Easy migration from + C to C++. + + * English sentences are kept together. + + * It makes internationalization possible. Internationalization + requires format strings, because in some cases the translator + needs to change the order of a sentence, and more generally it is + easier for the translator to work with a single string for a + sentence than with multiple string pieces. + + * It reduces the risk of programming errors due to forgotten state + in the output stream (e.g. `cout << hex;' not followed by `cout << + dec;'). + + +File: autosprintf.info, Node: Class autosprintf, Next: Using autosprintf, Prev: Introduction, Up: Top + +2 The `autosprintf' class +************************* + +An instance of class `autosprintf' just contains a string with the +formatted output result. Such an instance is usually allocated as an +automatic storage variable, i.e. on the stack, not with `new' on the +heap. + + The constructor `autosprintf (const char *format, ...)' takes a +format string and additional arguments, like the C function `printf'. + + Conversions to `char *' and `std::string' are defined that return +the encapsulated string. The conversion to `char *' returns a freshly +allocated copy of the encapsulated string; it needs to be freed using +`delete[]'. The conversion to `std::string' returns a copy of the +encapsulated string, with automatic memory management. + + The destructor `~autosprintf ()' destroys the encapsulated string. + + An `operator <<' is provided that outputs the encapsulated string to +the given `ostream'. + + +File: autosprintf.info, Node: Using autosprintf, Prev: Class autosprintf, Up: Top + +3 Using `autosprintf' in own programs +************************************* + +To use the `autosprintf' class in your programs, you need to add + + #include "autosprintf.h" + using gnu::autosprintf; + +to your source code. The include file defines the class `autosprintf', +in a namespace called `gnu'. The `using' statement makes it possible to +use the class without the (otherwise natural) `gnu::' prefix. + + When linking your program, you need to link with `libasprintf', +because that's where the class is defined. In projects using GNU +`autoconf', this means adding `AC_LIB_LINKFLAGS([asprintf])' to +`configure.in' or `configure.ac', and using the @LIBASPRINTF@ Makefile +variable that it provides. + + + +Tag Table: +Node: Top1348 +Node: Introduction1708 +Node: Class autosprintf2859 +Node: Using autosprintf3869 + +End Tag Table diff --git a/mingw/share/info/dir b/mingw/share/info/dir index f3ac065b..c978da75 100644 --- a/mingw/share/info/dir +++ b/mingw/share/info/dir @@ -14,6 +14,54 @@ File: dir, Node: Top This is the top of the INFO tree * Menu: + +C++ libraries +* autosprintf: (autosprintf). Support for printf format strings in C++. + +GNU Gettext Utilities +* autopoint: (gettext)autopoint Invocation. + Copy gettext infrastructure. +* envsubst: (gettext)envsubst Invocation. + Expand environment variables. +* gettextize: (gettext)gettextize Invocation. + Prepare a package for gettext. +* gettext: (gettext). GNU gettext utilities. +* ISO3166: (gettext)Country Codes. + ISO 3166 country codes. +* ISO639: (gettext)Language Codes. + ISO 639 language codes. +* msgattrib: (gettext)msgattrib Invocation. + Select part of a PO file. +* msgcat: (gettext)msgcat Invocation. + Combine several PO files. +* msgcmp: (gettext)msgcmp Invocation. + Compare a PO file and template. +* msgcomm: (gettext)msgcomm Invocation. + Match two PO files. +* msgconv: (gettext)msgconv Invocation. + Convert PO file to encoding. +* msgen: (gettext)msgen Invocation. + Create an English PO file. +* msgexec: (gettext)msgexec Invocation. + Process a PO file. +* msgfilter: (gettext)msgfilter Invocation. + Pipe a PO file through a filter. +* msgfmt: (gettext)msgfmt Invocation. + Make MO files out of PO files. +* msggrep: (gettext)msggrep Invocation. + Select part of a PO file. +* msginit: (gettext)msginit Invocation. + Create a fresh PO file. +* msgmerge: (gettext)msgmerge Invocation. + Update a PO file from template. +* msgunfmt: (gettext)msgunfmt Invocation. + Uncompile MO file into PO file. +* msguniq: (gettext)msguniq Invocation. + Unify duplicates for PO file. +* ngettext: (gettext)ngettext Invocation. + Translate a message with plural. +* xgettext: (gettext)xgettext Invocation. + Extract strings into a PO file. GNU Packages * Make: (make). Remake files automatically. diff --git a/mingw/share/info/gettext.info b/mingw/share/info/gettext.info new file mode 100644 index 00000000..abd1869d --- /dev/null +++ b/mingw/share/info/gettext.info @@ -0,0 +1,18374 @@ +This is gettext.info, produced by makeinfo version 4.13 from +gettext.texi. + +INFO-DIR-SECTION GNU Gettext Utilities +START-INFO-DIR-ENTRY +* gettext: (gettext). GNU gettext utilities. +* autopoint: (gettext)autopoint Invocation. Copy gettext infrastructure. +* envsubst: (gettext)envsubst Invocation. Expand environment variables. +* gettextize: (gettext)gettextize Invocation. Prepare a package for gettext. +* msgattrib: (gettext)msgattrib Invocation. Select part of a PO file. +* msgcat: (gettext)msgcat Invocation. Combine several PO files. +* msgcmp: (gettext)msgcmp Invocation. Compare a PO file and template. +* msgcomm: (gettext)msgcomm Invocation. Match two PO files. +* msgconv: (gettext)msgconv Invocation. Convert PO file to encoding. +* msgen: (gettext)msgen Invocation. Create an English PO file. +* msgexec: (gettext)msgexec Invocation. Process a PO file. +* msgfilter: (gettext)msgfilter Invocation. Pipe a PO file through a filter. +* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files. +* msggrep: (gettext)msggrep Invocation. Select part of a PO file. +* msginit: (gettext)msginit Invocation. Create a fresh PO file. +* msgmerge: (gettext)msgmerge Invocation. Update a PO file from template. +* msgunfmt: (gettext)msgunfmt Invocation. Uncompile MO file into PO file. +* msguniq: (gettext)msguniq Invocation. Unify duplicates for PO file. +* ngettext: (gettext)ngettext Invocation. Translate a message with plural. +* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file. +* ISO639: (gettext)Language Codes. ISO 639 language codes. +* ISO3166: (gettext)Country Codes. ISO 3166 country codes. +END-INFO-DIR-ENTRY + + This file provides documentation for GNU `gettext' utilities. It +also serves as a reference for the free Translation Project. + + Copyright (C) 1995-1998, 2001-2007 Free Software Foundation, Inc. + + This manual is free documentation. It is dually licensed under the +GNU FDL and the GNU GPL. This means that you can redistribute this +manual under either of these two licenses, at your choice. + + This manual is covered by the GNU FDL. Permission is granted to +copy, distribute and/or modify this document under the terms of the GNU +Free Documentation License (FDL), either version 1.2 of the License, or +(at your option) any later version published by the Free Software +Foundation (FSF); with no Invariant Sections, with no Front-Cover Text, +and with no Back-Cover Texts. A copy of the license is included in +*note GNU FDL::. + + This manual is covered by the GNU GPL. You can redistribute it +and/or modify it under the terms of the GNU General Public License +(GPL), either version 2 of the License, or (at your option) any later +version published by the Free Software Foundation (FSF). A copy of the +license is included in *note GNU GPL::. + + +File: gettext.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +GNU `gettext' utilities +*********************** + + This manual documents the GNU gettext tools and the GNU libintl +library, version 0.18.1. + +* Menu: + +* Introduction:: Introduction +* Users:: The User's View +* PO Files:: The Format of PO Files +* Sources:: Preparing Program Sources +* Template:: Making the PO Template File +* Creating:: Creating a New PO File +* Updating:: Updating Existing PO Files +* Editing:: Editing PO Files +* Manipulating:: Manipulating PO Files +* Binaries:: Producing Binary MO Files +* Programmers:: The Programmer's View +* Translators:: The Translator's View +* Maintainers:: The Maintainer's View +* Installers:: The Installer's and Distributor's View +* Programming Languages:: Other Programming Languages +* Conclusion:: Concluding Remarks + +* Language Codes:: ISO 639 language codes +* Country Codes:: ISO 3166 country codes +* Licenses:: Licenses + +* Program Index:: Index of Programs +* Option Index:: Index of Command-Line Options +* Variable Index:: Index of Environment Variables +* PO Mode Index:: Index of Emacs PO Mode Commands +* Autoconf Macro Index:: Index of Autoconf Macros +* Index:: General Index + + --- The Detailed Node Listing --- + +Introduction + +* Why:: The Purpose of GNU `gettext' +* Concepts:: I18n, L10n, and Such +* Aspects:: Aspects in Native Language Support +* Files:: Files Conveying Translations +* Overview:: Overview of GNU `gettext' + +The User's View + +* System Installation:: Questions During Operating System Installation +* Setting the GUI Locale:: How to Specify the Locale Used by GUI Programs +* Setting the POSIX Locale:: How to Specify the Locale According to POSIX +* Installing Localizations:: How to Install Additional Translations + +Setting the POSIX Locale + +* Locale Names:: How a Locale Specification Looks Like +* Locale Environment Variables:: Which Environment Variable Specfies What +* The LANGUAGE variable:: How to Specify a Priority List of Languages + +Preparing Program Sources + +* Importing:: Importing the `gettext' declaration +* Triggering:: Triggering `gettext' Operations +* Preparing Strings:: Preparing Translatable Strings +* Mark Keywords:: How Marks Appear in Sources +* Marking:: Marking Translatable Strings +* c-format Flag:: Telling something about the following string +* Special cases:: Special Cases of Translatable Strings +* Bug Report Address:: Letting Users Report Translation Bugs +* Names:: Marking Proper Names for Translation +* Libraries:: Preparing Library Sources + +Making the PO Template File + +* xgettext Invocation:: Invoking the `xgettext' Program + +Creating a New PO File + +* msginit Invocation:: Invoking the `msginit' Program +* Header Entry:: Filling in the Header Entry + +Updating Existing PO Files + +* msgmerge Invocation:: Invoking the `msgmerge' Program + +Editing PO Files + +* KBabel:: KDE's PO File Editor +* Gtranslator:: GNOME's PO File Editor +* PO Mode:: Emacs's PO File Editor +* Compendium:: Using Translation Compendia + +Emacs's PO File Editor + +* Installation:: Completing GNU `gettext' Installation +* Main PO Commands:: Main Commands +* Entry Positioning:: Entry Positioning +* Normalizing:: Normalizing Strings in Entries +* Translated Entries:: Translated Entries +* Fuzzy Entries:: Fuzzy Entries +* Untranslated Entries:: Untranslated Entries +* Obsolete Entries:: Obsolete Entries +* Modifying Translations:: Modifying Translations +* Modifying Comments:: Modifying Comments +* Subedit:: Mode for Editing Translations +* C Sources Context:: C Sources Context +* Auxiliary:: Consulting Auxiliary PO Files + +Using Translation Compendia + +* Creating Compendia:: Merging translations for later use +* Using Compendia:: Using older translations if they fit + +Manipulating PO Files + +* msgcat Invocation:: Invoking the `msgcat' Program +* msgconv Invocation:: Invoking the `msgconv' Program +* msggrep Invocation:: Invoking the `msggrep' Program +* msgfilter Invocation:: Invoking the `msgfilter' Program +* msguniq Invocation:: Invoking the `msguniq' Program +* msgcomm Invocation:: Invoking the `msgcomm' Program +* msgcmp Invocation:: Invoking the `msgcmp' Program +* msgattrib Invocation:: Invoking the `msgattrib' Program +* msgen Invocation:: Invoking the `msgen' Program +* msgexec Invocation:: Invoking the `msgexec' Program +* Colorizing:: Highlighting parts of PO files +* libgettextpo:: Writing your own programs that process PO files + +Highlighting parts of PO files + +* The --color option:: Triggering colorized output +* The TERM variable:: The environment variable `TERM' +* The --style option:: The `--style' option +* Style rules:: Style rules for PO files +* Customizing less:: Customizing `less' for viewing PO files + +Producing Binary MO Files + +* msgfmt Invocation:: Invoking the `msgfmt' Program +* msgunfmt Invocation:: Invoking the `msgunfmt' Program +* MO Files:: The Format of GNU MO Files + +The Programmer's View + +* catgets:: About `catgets' +* gettext:: About `gettext' +* Comparison:: Comparing the two interfaces +* Using libintl.a:: Using libintl.a in own programs +* gettext grok:: Being a `gettext' grok +* Temp Programmers:: Temporary Notes for the Programmers Chapter + +About `catgets' + +* Interface to catgets:: The interface +* Problems with catgets:: Problems with the `catgets' interface?! + +About `gettext' + +* Interface to gettext:: The interface +* Ambiguities:: Solving ambiguities +* Locating Catalogs:: Locating message catalog files +* Charset conversion:: How to request conversion to Unicode +* Contexts:: Solving ambiguities in GUI programs +* Plural forms:: Additional functions for handling plurals +* Optimized gettext:: Optimization of the *gettext functions + +Temporary Notes for the Programmers Chapter + +* Temp Implementations:: Temporary - Two Possible Implementations +* Temp catgets:: Temporary - About `catgets' +* Temp WSI:: Temporary - Why a single implementation +* Temp Notes:: Temporary - Notes + +The Translator's View + +* Trans Intro 0:: Introduction 0 +* Trans Intro 1:: Introduction 1 +* Discussions:: Discussions +* Organization:: Organization +* Information Flow:: Information Flow +* Translating plural forms:: How to fill in `msgstr[0]', `msgstr[1]' +* Prioritizing messages:: How to find which messages to translate first + +Organization + +* Central Coordination:: Central Coordination +* National Teams:: National Teams +* Mailing Lists:: Mailing Lists + +National Teams + +* Sub-Cultures:: Sub-Cultures +* Organizational Ideas:: Organizational Ideas + +The Maintainer's View + +* Flat and Non-Flat:: Flat or Non-Flat Directory Structures +* Prerequisites:: Prerequisite Works +* gettextize Invocation:: Invoking the `gettextize' Program +* Adjusting Files:: Files You Must Create or Alter +* autoconf macros:: Autoconf macros for use in `configure.ac' +* CVS Issues:: Integrating with CVS +* Release Management:: Creating a Distribution Tarball + +Files You Must Create or Alter + +* po/POTFILES.in:: `POTFILES.in' in `po/' +* po/LINGUAS:: `LINGUAS' in `po/' +* po/Makevars:: `Makevars' in `po/' +* po/Rules-*:: Extending `Makefile' in `po/' +* configure.ac:: `configure.ac' at top level +* config.guess:: `config.guess', `config.sub' at top level +* mkinstalldirs:: `mkinstalldirs' at top level +* aclocal:: `aclocal.m4' at top level +* acconfig:: `acconfig.h' at top level +* config.h.in:: `config.h.in' at top level +* Makefile:: `Makefile.in' at top level +* src/Makefile:: `Makefile.in' in `src/' +* lib/gettext.h:: `gettext.h' in `lib/' + +Autoconf macros for use in `configure.ac' + +* AM_GNU_GETTEXT:: AM_GNU_GETTEXT in `gettext.m4' +* AM_GNU_GETTEXT_VERSION:: AM_GNU_GETTEXT_VERSION in `gettext.m4' +* AM_GNU_GETTEXT_NEED:: AM_GNU_GETTEXT_NEED in `gettext.m4' +* AM_GNU_GETTEXT_INTL_SUBDIR:: AM_GNU_GETTEXT_INTL_SUBDIR in `intldir.m4' +* AM_PO_SUBDIRS:: AM_PO_SUBDIRS in `po.m4' +* AM_ICONV:: AM_ICONV in `iconv.m4' + +Integrating with CVS + +* Distributed CVS:: Avoiding version mismatch in distributed development +* Files under CVS:: Files to put under CVS version control +* autopoint Invocation:: Invoking the `autopoint' Program + +Other Programming Languages + +* Language Implementors:: The Language Implementor's View +* Programmers for other Languages:: The Programmer's View +* Translators for other Languages:: The Translator's View +* Maintainers for other Languages:: The Maintainer's View +* List of Programming Languages:: Individual Programming Languages +* List of Data Formats:: Internationalizable Data + +The Translator's View + +* c-format:: C Format Strings +* objc-format:: Objective C Format Strings +* sh-format:: Shell Format Strings +* python-format:: Python Format Strings +* lisp-format:: Lisp Format Strings +* elisp-format:: Emacs Lisp Format Strings +* librep-format:: librep Format Strings +* scheme-format:: Scheme Format Strings +* smalltalk-format:: Smalltalk Format Strings +* java-format:: Java Format Strings +* csharp-format:: C# Format Strings +* awk-format:: awk Format Strings +* object-pascal-format:: Object Pascal Format Strings +* ycp-format:: YCP Format Strings +* tcl-format:: Tcl Format Strings +* perl-format:: Perl Format Strings +* php-format:: PHP Format Strings +* gcc-internal-format:: GCC internal Format Strings +* gfc-internal-format:: GFC internal Format Strings +* qt-format:: Qt Format Strings +* qt-plural-format:: Qt Plural Format Strings +* kde-format:: KDE Format Strings +* boost-format:: Boost Format Strings + +Individual Programming Languages + +* C:: C, C++, Objective C +* sh:: sh - Shell Script +* bash:: bash - Bourne-Again Shell Script +* Python:: Python +* Common Lisp:: GNU clisp - Common Lisp +* clisp C:: GNU clisp C sources +* Emacs Lisp:: Emacs Lisp +* librep:: librep +* Scheme:: GNU guile - Scheme +* Smalltalk:: GNU Smalltalk +* Java:: Java +* C#:: C# +* gawk:: GNU awk +* Pascal:: Pascal - Free Pascal Compiler +* wxWidgets:: wxWidgets library +* YCP:: YCP - YaST2 scripting language +* Tcl:: Tcl - Tk's scripting language +* Perl:: Perl +* PHP:: PHP Hypertext Preprocessor +* Pike:: Pike +* GCC-source:: GNU Compiler Collection sources + +sh - Shell Script + +* Preparing Shell Scripts:: Preparing Shell Scripts for Internationalization +* gettext.sh:: Contents of `gettext.sh' +* gettext Invocation:: Invoking the `gettext' program +* ngettext Invocation:: Invoking the `ngettext' program +* envsubst Invocation:: Invoking the `envsubst' program +* eval_gettext Invocation:: Invoking the `eval_gettext' function +* eval_ngettext Invocation:: Invoking the `eval_ngettext' function + +Perl + +* General Problems:: General Problems Parsing Perl Code +* Default Keywords:: Which Keywords Will xgettext Look For? +* Special Keywords:: How to Extract Hash Keys +* Quote-like Expressions:: What are Strings And Quote-like Expressions? +* Interpolation I:: Invalid String Interpolation +* Interpolation II:: Valid String Interpolation +* Parentheses:: When To Use Parentheses +* Long Lines:: How To Grok with Long Lines +* Perl Pitfalls:: Bugs, Pitfalls, and Things That Do Not Work + +Internationalizable Data + +* POT:: POT - Portable Object Template +* RST:: Resource String Table +* Glade:: Glade - GNOME user interface description + +Concluding Remarks + +* History:: History of GNU `gettext' +* References:: Related Readings + +Language Codes + +* Usual Language Codes:: Two-letter ISO 639 language codes +* Rare Language Codes:: Three-letter ISO 639 language codes + +Licenses + +* GNU GPL:: GNU General Public License +* GNU LGPL:: GNU Lesser General Public License +* GNU FDL:: GNU Free Documentation License + + +File: gettext.info, Node: Introduction, Next: Users, Prev: Top, Up: Top + +1 Introduction +************** + + This chapter explains the goals sought in the creation of GNU +`gettext' and the free Translation Project. Then, it explains a few +broad concepts around Native Language Support, and positions message +translation with regard to other aspects of national and cultural +variance, as they apply to programs. It also surveys those files used +to convey the translations. It explains how the various tools interact +in the initial generation of these files, and later, how the maintenance +cycle should usually operate. + + In this manual, we use _he_ when speaking of the programmer or +maintainer, _she_ when speaking of the translator, and _they_ when +speaking of the installers or end users of the translated program. +This is only a convenience for clarifying the documentation. It is +_absolutely_ not meant to imply that some roles are more appropriate to +males or females. Besides, as you might guess, GNU `gettext' is meant +to be useful for people using computers, whatever their sex, race, +religion or nationality! + + Please send suggestions and corrections to: + + Internet address: + bug-gnu-gettext@gnu.org + +Please include the manual's edition number and update date in your +messages. + +* Menu: + +* Why:: The Purpose of GNU `gettext' +* Concepts:: I18n, L10n, and Such +* Aspects:: Aspects in Native Language Support +* Files:: Files Conveying Translations +* Overview:: Overview of GNU `gettext' + + +File: gettext.info, Node: Why, Next: Concepts, Prev: Introduction, Up: Introduction + +1.1 The Purpose of GNU `gettext' +================================ + + Usually, programs are written and documented in English, and use +English at execution time to interact with users. This is true not +only of GNU software, but also of a great deal of proprietary and free +software. Using a common language is quite handy for communication +between developers, maintainers and users from all countries. On the +other hand, most people are less comfortable with English than with +their own native language, and would prefer to use their mother tongue +for day to day's work, as far as possible. Many would simply _love_ to +see their computer screen showing a lot less of English, and far more +of their own language. + + However, to many people, this dream might appear so far fetched that +they may believe it is not even worth spending time thinking about it. +They have no confidence at all that the dream might ever become true. +Yet some have not lost hope, and have organized themselves. The +Translation Project is a formalization of this hope into a workable +structure, which has a good chance to get all of us nearer the +achievement of a truly multi-lingual set of programs. + + GNU `gettext' is an important step for the Translation Project, as +it is an asset on which we may build many other steps. This package +offers to programmers, translators and even users, a well integrated +set of tools and documentation. Specifically, the GNU `gettext' +utilities are a set of tools that provides a framework within which +other free packages may produce multi-lingual messages. These tools +include + + * A set of conventions about how programs should be written to + support message catalogs. + + * A directory and file naming organization for the message catalogs + themselves. + + * A runtime library supporting the retrieval of translated messages. + + * A few stand-alone programs to massage in various ways the sets of + translatable strings, or already translated strings. + + * A library supporting the parsing and creation of files containing + translated messages. + + * A special mode for Emacs(1) which helps preparing these sets and + bringing them up to date. + + GNU `gettext' is designed to minimize the impact of +internationalization on program sources, keeping this impact as small +and hardly noticeable as possible. Internationalization has better +chances of succeeding if it is very light weighted, or at least, appear +to be so, when looking at program sources. + + The Translation Project also uses the GNU `gettext' distribution as +a vehicle for documenting its structure and methods. This goes beyond +the strict technicalities of documenting the GNU `gettext' proper. By +so doing, translators will find in a single place, as far as possible, +all they need to know for properly doing their translating work. Also, +this supplemental documentation might also help programmers, and even +curious users, in understanding how GNU `gettext' is related to the +remainder of the Translation Project, and consequently, have a glimpse +at the _big picture_. + + ---------- Footnotes ---------- + + (1) In this manual, all mentions of Emacs refers to either GNU Emacs +or to XEmacs, which people sometimes call FSF Emacs and Lucid Emacs, +respectively. + + +File: gettext.info, Node: Concepts, Next: Aspects, Prev: Why, Up: Introduction + +1.2 I18n, L10n, and Such +======================== + + Two long words appear all the time when we discuss support of native +language in programs, and these words have a precise meaning, worth +being explained here, once and for all in this document. The words are +_internationalization_ and _localization_. Many people, tired of +writing these long words over and over again, took the habit of writing +"i18n" and "l10n" instead, quoting the first and last letter of each +word, and replacing the run of intermediate letters by a number merely +telling how many such letters there are. But in this manual, in the +sake of clarity, we will patiently write the names in full, each time... + + By "internationalization", one refers to the operation by which a +program, or a set of programs turned into a package, is made aware of +and able to support multiple languages. This is a generalization +process, by which the programs are untied from calling only English +strings or other English specific habits, and connected to generic ways +of doing the same, instead. Program developers may use various +techniques to internationalize their programs. Some of these have been +standardized. GNU `gettext' offers one of these standards. *Note +Programmers::. + + By "localization", one means the operation by which, in a set of +programs already internationalized, one gives the program all needed +information so that it can adapt itself to handle its input and output +in a fashion which is correct for some native language and cultural +habits. This is a particularisation process, by which generic methods +already implemented in an internationalized program are used in +specific ways. The programming environment puts several functions to +the programmers disposal which allow this runtime configuration. The +formal description of specific set of cultural habits for some country, +together with all associated translations targeted to the same native +language, is called the "locale" for this language or country. Users +achieve localization of programs by setting proper values to special +environment variables, prior to executing those programs, identifying +which locale should be used. + + In fact, locale message support is only one component of the cultural +data that makes up a particular locale. There are a whole host of +routines and functions provided to aid programmers in developing +internationalized software and which allow them to access the data +stored in a particular locale. When someone presently refers to a +particular locale, they are obviously referring to the data stored +within that particular locale. Similarly, if a programmer is referring +to "accessing the locale routines", they are referring to the complete +suite of routines that access all of the locale's information. + + One uses the expression "Native Language Support", or merely NLS, +for speaking of the overall activity or feature encompassing both +internationalization and localization, allowing for multi-lingual +interactions in a program. In a nutshell, one could say that +internationalization is the operation by which further localizations +are made possible. + + Also, very roughly said, when it comes to multi-lingual messages, +internationalization is usually taken care of by programmers, and +localization is usually taken care of by translators. + + +File: gettext.info, Node: Aspects, Next: Files, Prev: Concepts, Up: Introduction + +1.3 Aspects in Native Language Support +====================================== + + For a totally multi-lingual distribution, there are many things to +translate beyond output messages. + + * As of today, GNU `gettext' offers a complete toolset for + translating messages output by C programs. Perl scripts and shell + scripts will also need to be translated. Even if there are today + some hooks by which this can be done, these hooks are not + integrated as well as they should be. + + * Some programs, like `autoconf' or `bison', are able to produce + other programs (or scripts). Even if the generating programs + themselves are internationalized, the generated programs they + produce may need internationalization on their own, and this + indirect internationalization could be automated right from the + generating program. In fact, quite usually, generating and + generated programs could be internationalized independently, as + the effort needed is fairly orthogonal. + + * A few programs include textual tables which might need translation + themselves, independently of the strings contained in the program + itself. For example, RFC 1345 gives an English description for + each character which the `recode' program is able to reconstruct + at execution. Since these descriptions are extracted from the RFC + by mechanical means, translating them properly would require a + prior translation of the RFC itself. + + * Almost all programs accept options, which are often worded out so + to be descriptive for the English readers; one might want to + consider offering translated versions for program options as well. + + * Many programs read, interpret, compile, or are somewhat driven by + input files which are texts containing keywords, identifiers, or + replies which are inherently translatable. For example, one may + want `gcc' to allow diacriticized characters in identifiers or use + translated keywords; `rm -i' might accept something else than `y' + or `n' for replies, etc. Even if the program will eventually make + most of its output in the foreign languages, one has to decide + whether the input syntax, option values, etc., are to be localized + or not. + + * The manual accompanying a package, as well as all documentation + files in the distribution, could surely be translated, too. + Translating a manual, with the intent of later keeping up with + updates, is a major undertaking in itself, generally. + + + As we already stressed, translation is only one aspect of locales. +Other internationalization aspects are system services and are handled +in GNU `libc'. There are many attributes that are needed to define a +country's cultural conventions. These attributes include beside the +country's native language, the formatting of the date and time, the +representation of numbers, the symbols for currency, etc. These local +"rules" are termed the country's locale. The locale represents the +knowledge needed to support the country's native attributes. + + There are a few major areas which may vary between countries and +hence, define what a locale must describe. The following list helps +putting multi-lingual messages into the proper context of other tasks +related to locales. See the GNU `libc' manual for details. + +_Characters and Codesets_ + The codeset most commonly used through out the USA and most English + speaking parts of the world is the ASCII codeset. However, there + are many characters needed by various locales that are not found + within this codeset. The 8-bit ISO 8859-1 code set has most of + the special characters needed to handle the major European + languages. However, in many cases, choosing ISO 8859-1 is + nevertheless not adequate: it doesn't even handle the major + European currency. Hence each locale will need to specify which + codeset they need to use and will need to have the appropriate + character handling routines to cope with the codeset. + +_Currency_ + The symbols used vary from country to country as does the position + used by the symbol. Software needs to be able to transparently + display currency figures in the native mode for each locale. + +_Dates_ + The format of date varies between locales. For example, Christmas + day in 1994 is written as 12/25/94 in the USA and as 25/12/94 in + Australia. Other countries might use ISO 8601 dates, etc. + + Time of the day may be noted as HH:MM, HH.MM, or otherwise. Some + locales require time to be specified in 24-hour mode rather than + as AM or PM. Further, the nature and yearly extent of the + Daylight Saving correction vary widely between countries. + +_Numbers_ + Numbers can be represented differently in different locales. For + example, the following numbers are all written correctly for their + respective locales: + + 12,345.67 English + 12.345,67 German + 12345,67 French + 1,2345.67 Asia + + Some programs could go further and use different unit systems, like + English units or Metric units, or even take into account variants + about how numbers are spelled in full. + +_Messages_ + The most obvious area is the language support within a locale. + This is where GNU `gettext' provides the means for developers and + users to easily change the language that the software uses to + communicate to the user. + + + These areas of cultural conventions are called _locale categories_. +It is an unfortunate term; _locale aspects_ or _locale feature +categories_ would be a better term, because each "locale category" +describes an area or task that requires localization. The concrete data +that describes the cultural conventions for such an area and for a +particular culture is also called a _locale category_. In this sense, +a locale is composed of several locale categories: the locale category +describing the codeset, the locale category describing the formatting +of numbers, the locale category containing the translated messages, and +so on. + + Components of locale outside of message handling are standardized in +the ISO C standard and the POSIX:2001 standard (also known as the SUSV3 +specification). GNU `libc' fully implements this, and most other +modern systems provide a more or less reasonable support for at least +some of the missing components. + + +File: gettext.info, Node: Files, Next: Overview, Prev: Aspects, Up: Introduction + +1.4 Files Conveying Translations +================================ + + The letters PO in `.po' files means Portable Object, to distinguish +it from `.mo' files, where MO stands for Machine Object. This +paradigm, as well as the PO file format, is inspired by the NLS +standard developed by Uniforum, and first implemented by Sun in their +Solaris system. + + PO files are meant to be read and edited by humans, and associate +each original, translatable string of a given package with its +translation in a particular target language. A single PO file is +dedicated to a single target language. If a package supports many +languages, there is one such PO file per language supported, and each +package has its own set of PO files. These PO files are best created by +the `xgettext' program, and later updated or refreshed through the +`msgmerge' program. Program `xgettext' extracts all marked messages +from a set of C files and initializes a PO file with empty +translations. Program `msgmerge' takes care of adjusting PO files +between releases of the corresponding sources, commenting obsolete +entries, initializing new ones, and updating all source line +references. Files ending with `.pot' are kind of base translation +files found in distributions, in PO file format. + + MO files are meant to be read by programs, and are binary in nature. +A few systems already offer tools for creating and handling MO files as +part of the Native Language Support coming with the system, but the +format of these MO files is often different from system to system, and +non-portable. The tools already provided with these systems don't +support all the features of GNU `gettext'. Therefore GNU `gettext' +uses its own format for MO files. Files ending with `.gmo' are really +MO files, when it is known that these files use the GNU format. + + +File: gettext.info, Node: Overview, Prev: Files, Up: Introduction + +1.5 Overview of GNU `gettext' +============================= + + The following diagram summarizes the relation between the files +handled by GNU `gettext' and the tools acting on these files. It is +followed by somewhat detailed explanations, which you should read while +keeping an eye on the diagram. Having a clear understanding of these +interrelations will surely help programmers, translators and +maintainers. + + Original C Sources ---> Preparation ---> Marked C Sources ---. + | + .---------<--- GNU gettext Library | + .--- make <---+ | + | `---------<--------------------+---------------' + | | + | .-----<--- PACKAGE.pot <--- xgettext <---' .---<--- PO Compendium + | | | ^ + | | `---. | + | `---. +---> PO editor ---. + | +----> msgmerge ------> LANG.po ---->--------' | + | .---' | + | | | + | `-------------<---------------. | + | +--- New LANG.po <--------------------' + | .--- LANG.gmo <--- msgfmt <---' + | | + | `---> install ---> /.../LANG/PACKAGE.mo ---. + | +---> "Hello world!" + `-------> install ---> /.../bin/PROGRAM -------' + + As a programmer, the first step to bringing GNU `gettext' into your +package is identifying, right in the C sources, those strings which are +meant to be translatable, and those which are untranslatable. This +tedious job can be done a little more comfortably using emacs PO mode, +but you can use any means familiar to you for modifying your C sources. +Beside this some other simple, standard changes are needed to properly +initialize the translation library. *Note Sources::, for more +information about all this. + + For newly written software the strings of course can and should be +marked while writing it. The `gettext' approach makes this very easy. +Simply put the following lines at the beginning of each file or in a +central header file: + + #define _(String) (String) + #define N_(String) String + #define textdomain(Domain) + #define bindtextdomain(Package, Directory) + +Doing this allows you to prepare the sources for internationalization. +Later when you feel ready for the step to use the `gettext' library +simply replace these definitions by the following: + + #include + #define _(String) gettext (String) + #define gettext_noop(String) String + #define N_(String) gettext_noop (String) + +and link against `libintl.a' or `libintl.so'. Note that on GNU +systems, you don't need to link with `libintl' because the `gettext' +library functions are already contained in GNU libc. That is all you +have to change. + + Once the C sources have been modified, the `xgettext' program is +used to find and extract all translatable strings, and create a PO +template file out of all these. This `PACKAGE.pot' file contains all +original program strings. It has sets of pointers to exactly where in +C sources each string is used. All translations are set to empty. The +letter `t' in `.pot' marks this as a Template PO file, not yet oriented +towards any particular language. *Note xgettext Invocation::, for more +details about how one calls the `xgettext' program. If you are +_really_ lazy, you might be interested at working a lot more right +away, and preparing the whole distribution setup (*note Maintainers::). +By doing so, you spare yourself typing the `xgettext' command, as `make' +should now generate the proper things automatically for you! + + The first time through, there is no `LANG.po' yet, so the `msgmerge' +step may be skipped and replaced by a mere copy of `PACKAGE.pot' to +`LANG.po', where LANG represents the target language. See *note +Creating:: for details. + + Then comes the initial translation of messages. Translation in +itself is a whole matter, still exclusively meant for humans, and whose +complexity far overwhelms the level of this manual. Nevertheless, a +few hints are given in some other chapter of this manual (*note +Translators::). You will also find there indications about how to +contact translating teams, or becoming part of them, for sharing your +translating concerns with others who target the same native language. + + While adding the translated messages into the `LANG.po' PO file, if +you are not using one of the dedicated PO file editors (*note +Editing::), you are on your own for ensuring that your efforts fully +respect the PO file format, and quoting conventions (*note PO Files::). +This is surely not an impossible task, as this is the way many people +have handled PO files around 1995. On the other hand, by using a PO +file editor, most details of PO file format are taken care of for you, +but you have to acquire some familiarity with PO file editor itself. + + If some common translations have already been saved into a compendium +PO file, translators may use PO mode for initializing untranslated +entries from the compendium, and also save selected translations into +the compendium, updating it (*note Compendium::). Compendium files are +meant to be exchanged between members of a given translation team. + + Programs, or packages of programs, are dynamic in nature: users write +bug reports and suggestion for improvements, maintainers react by +modifying programs in various ways. The fact that a package has +already been internationalized should not make maintainers shy of +adding new strings, or modifying strings already translated. They just +do their job the best they can. For the Translation Project to work +smoothly, it is important that maintainers do not carry translation +concerns on their already loaded shoulders, and that translators be +kept as free as possible of programming concerns. + + The only concern maintainers should have is carefully marking new +strings as translatable, when they should be, and do not otherwise +worry about them being translated, as this will come in proper time. +Consequently, when programs and their strings are adjusted in various +ways by maintainers, and for matters usually unrelated to translation, +`xgettext' would construct `PACKAGE.pot' files which are evolving over +time, so the translations carried by `LANG.po' are slowly fading out of +date. + + It is important for translators (and even maintainers) to understand +that package translation is a continuous process in the lifetime of a +package, and not something which is done once and for all at the start. +After an initial burst of translation activity for a given package, +interventions are needed once in a while, because here and there, +translated entries become obsolete, and new untranslated entries +appear, needing translation. + + The `msgmerge' program has the purpose of refreshing an already +existing `LANG.po' file, by comparing it with a newer `PACKAGE.pot' +template file, extracted by `xgettext' out of recent C sources. The +refreshing operation adjusts all references to C source locations for +strings, since these strings move as programs are modified. Also, +`msgmerge' comments out as obsolete, in `LANG.po', those already +translated entries which are no longer used in the program sources +(*note Obsolete Entries::). It finally discovers new strings and +inserts them in the resulting PO file as untranslated entries (*note +Untranslated Entries::). *Note msgmerge Invocation::, for more +information about what `msgmerge' really does. + + Whatever route or means taken, the goal is to obtain an updated +`LANG.po' file offering translations for all strings. + + The temporal mobility, or fluidity of PO files, is an integral part +of the translation game, and should be well understood, and accepted. +People resisting it will have a hard time participating in the +Translation Project, or will give a hard time to other participants! In +particular, maintainers should relax and include all available official +PO files in their distributions, even if these have not recently been +updated, without exerting pressure on the translator teams to get the +job done. The pressure should rather come from the community of users +speaking a particular language, and maintainers should consider +themselves fairly relieved of any concern about the adequacy of +translation files. On the other hand, translators should reasonably +try updating the PO files they are responsible for, while the package +is undergoing pretest, prior to an official distribution. + + Once the PO file is complete and dependable, the `msgfmt' program is +used for turning the PO file into a machine-oriented format, which may +yield efficient retrieval of translations by the programs of the +package, whenever needed at runtime (*note MO Files::). *Note msgfmt +Invocation::, for more information about all modes of execution for the +`msgfmt' program. + + Finally, the modified and marked C sources are compiled and linked +with the GNU `gettext' library, usually through the operation of +`make', given a suitable `Makefile' exists for the project, and the +resulting executable is installed somewhere users will find it. The MO +files themselves should also be properly installed. Given the +appropriate environment variables are set (*note Setting the POSIX +Locale::), the program should localize itself automatically, whenever +it executes. + + The remainder of this manual has the purpose of explaining in depth +the various steps outlined above. + + +File: gettext.info, Node: Users, Next: PO Files, Prev: Introduction, Up: Top + +2 The User's View +***************** + + Nowadays, when users log into a computer, they usually find that all +their programs show messages in their native language - at least for +users of languages with an active free software community, like French +or German; to a lesser extent for languages with a smaller +participation in free software and the GNU project, like Hindi and +Filipino. + + How does this work? How can the user influence the language that is +used by the programs? This chapter will answer it. + +* Menu: + +* System Installation:: Questions During Operating System Installation +* Setting the GUI Locale:: How to Specify the Locale Used by GUI Programs +* Setting the POSIX Locale:: How to Specify the Locale According to POSIX +* Installing Localizations:: How to Install Additional Translations + + +File: gettext.info, Node: System Installation, Next: Setting the GUI Locale, Prev: Users, Up: Users + +2.1 Operating System Installation +================================= + + The default language is often already specified during operating +system installation. When the operating system is installed, the +installer typically asks for the language used for the installation +process and, separately, for the language to use in the installed +system. Some OS installers only ask for the language once. + + This determines the system-wide default language for all users. But +the installers often give the possibility to install extra +localizations for additional languages. For example, the localizations +of KDE (the K Desktop Environment) and OpenOffice.org are often bundled +separately, as one installable package per language. + + At this point it is good to consider the intended use of the +machine: If it is a machine designated for personal use, additional +localizations are probably not necessary. If, however, the machine is +in use in an organization or company that has international +relationships, one can consider the needs of guest users. If you have +a guest from abroad, for a week, what could be his preferred locales? +It may be worth installing these additional localizations ahead of +time, since they cost only a bit of disk space at this point. + + The system-wide default language is the locale configuration that is +used when a new user account is created. But the user can have his own +locale configuration that is different from the one of the other users +of the same machine. He can specify it, typically after the first +login, as described in the next section. + + +File: gettext.info, Node: Setting the GUI Locale, Next: Setting the POSIX Locale, Prev: System Installation, Up: Users + +2.2 Setting the Locale Used by GUI Programs +=========================================== + + The immediately available programs in a user's desktop come from a +group of programs called a "desktop environment"; it usually includes +the window manager, a web browser, a text editor, and more. The most +common free desktop environments are KDE, GNOME, and Xfce. + + The locale used by GUI programs of the desktop environment can be +specified in a configuration screen called "control center", "language +settings" or "country settings". + + Individual GUI programs that are not part of the desktop environment +can have their locale specified either in a settings panel, or through +environment variables. + + For some programs, it is possible to specify the locale through +environment variables, possibly even to a different locale than the +desktop's locale. This means, instead of starting a program through a +menu or from the file system, you can start it from the command-line, +after having set some environment variables. The environment variables +can be those specified in the next section (*note Setting the POSIX +Locale::); for some versions of KDE, however, the locale is specified +through a variable `KDE_LANG', rather than `LANG' or `LC_ALL'. + + +File: gettext.info, Node: Setting the POSIX Locale, Next: Installing Localizations, Prev: Setting the GUI Locale, Up: Users + +2.3 Setting the Locale through Environment Variables +==================================================== + + As a user, if your language has been installed for this package, in +the simplest case, you only have to set the `LANG' environment variable +to the appropriate `LL_CC' combination. For example, let's suppose +that you speak German and live in Germany. At the shell prompt, merely +execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in +`sh') or `export LANG=de_DE' (in `bash'). This can be done from your +`.login' or `.profile' file, once and for all. + +* Menu: + +* Locale Names:: How a Locale Specification Looks Like +* Locale Environment Variables:: Which Environment Variable Specfies What +* The LANGUAGE variable:: How to Specify a Priority List of Languages + + +File: gettext.info, Node: Locale Names, Next: Locale Environment Variables, Prev: Setting the POSIX Locale, Up: Setting the POSIX Locale + +2.3.1 Locale Names +------------------ + + A locale name usually has the form `LL_CC'. Here `LL' is an ISO 639 +two-letter language code, and `CC' is an ISO 3166 two-letter country +code. For example, for German in Germany, LL is `de', and CC is `DE'. +You find a list of the language codes in appendix *note Language +Codes:: and a list of the country codes in appendix *note Country +Codes::. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + Many locale names have an extended syntax `LL_CC.ENCODING' that also +specifies the character encoding. These are in use because between +2000 and 2005, most users have switched to locales in UTF-8 encoding. +For example, the German locale on glibc systems is nowadays +`de_DE.UTF-8'. The older name `de_DE' still refers to the German +locale as of 2000 that stores characters in ISO-8859-1 encoding - a +text encoding that cannot even accomodate the Euro currency sign. + + Some locale names use `LL_CC.@VARIANT' instead of `LL_CC'. The +`@VARIANT' can denote any kind of characteristics that is not already +implied by the language LL and the country CC. It can denote a +particular monetary unit. For example, on glibc systems, `de_DE@euro' +denotes the locale that uses the Euro currency, in contrast to the +older locale `de_DE' which implies the use of the currency before 2002. +It can also denote a dialect of the language, or the script used to +write text (for example, `sr_RS@latin' uses the Latin script, whereas +`sr_RS' uses the Cyrillic script to write Serbian), or the orthography +rules, or similar. + + On other systems, some variations of this scheme are used, such as +`LL'. You can get the list of locales supported by your system for +your language by running the command `locale -a | grep '^LL''. + + There is also a special locale, called `C'. When it is used, it +disables all localization: in this locale, all programs standardized by +POSIX use English messages and an unspecified character encoding (often +US-ASCII, but sometimes also ISO-8859-1 or UTF-8, depending on the +operating system). + + +File: gettext.info, Node: Locale Environment Variables, Next: The LANGUAGE variable, Prev: Locale Names, Up: Setting the POSIX Locale + +2.3.2 Locale Environment Variables +---------------------------------- + + A locale is composed of several _locale categories_, see *note +Aspects::. When a program looks up locale dependent values, it does +this according to the following environment variables, in priority +order: + + 1. `LANGUAGE' + + 2. `LC_ALL' + + 3. `LC_xxx', according to selected locale category: `LC_CTYPE', + `LC_NUMERIC', `LC_TIME', `LC_COLLATE', `LC_MONETARY', + `LC_MESSAGES', ... + + 4. `LANG' + + Variables whose value is set but is empty are ignored in this lookup. + + `LANG' is the normal environment variable for specifying a locale. +As a user, you normally set this variable (unless some of the other +variables have already been set by the system, in `/etc/profile' or +similar initialization files). + + `LC_CTYPE', `LC_NUMERIC', `LC_TIME', `LC_COLLATE', `LC_MONETARY', +`LC_MESSAGES', and so on, are the environment variables meant to +override `LANG' and affecting a single locale category only. For +example, assume you are a Swedish user in Spain, and you want your +programs to handle numbers and dates according to Spanish conventions, +and only the messages should be in Swedish. Then you could create a +locale named `sv_ES' or `sv_ES.UTF-8' by use of the `localedef' +program. But it is simpler, and achieves the same effect, to set the +`LANG' variable to `es_ES.UTF-8' and the `LC_MESSAGES' variable to +`sv_SE.UTF-8'; these two locales come already preinstalled with the +operating system. + + `LC_ALL' is an environment variable that overrides all of these. It +is typically used in scripts that run particular programs. For example, +`configure' scripts generated by GNU autoconf use `LC_ALL' to make sure +that the configuration tests don't operate in locale dependent ways. + + Some systems, unfortunately, set `LC_ALL' in `/etc/profile' or in +similar initialization files. As a user, you therefore have to unset +this variable if you want to set `LANG' and optionally some of the other +`LC_xxx' variables. + + The `LANGUAGE' variable is described in the next subsection. + + +File: gettext.info, Node: The LANGUAGE variable, Prev: Locale Environment Variables, Up: Setting the POSIX Locale + +2.3.3 Specifying a Priority List of Languages +--------------------------------------------- + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LC_ALL' +and `LANG' for the purpose of message handling, but you still need to +have `LANG' (or `LC_ALL') set to the primary language; this is required +by other parts of the system libraries. For example, some Swedish +users who would rather read translations in German than English for +when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving +`LANG' to `sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from `no' to `nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under `nb' and some older ones under `no', it is recommended +for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and +older translations are used. + + In the `LANGUAGE' environment variable, but not in the other +environment variables, `LL_CC' combinations can be abbreviated as `LL' +to denote the language's main dialect. For example, `de' is equivalent +to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' +(Portuguese as spoken in Portugal) in this context. + + Note: The variable `LANGUAGE' is ignored if the locale is set to +`C'. In other words, you have to first enable localization, by setting +`LANG' (or `LC_ALL') to a value other than `C', before you can use a +language priority list through the `LANGUAGE' variable. + + +File: gettext.info, Node: Installing Localizations, Prev: Setting the POSIX Locale, Up: Users + +2.4 Installing Translations for Particular Programs +=================================================== + + Languages are not equally well supported in all packages using GNU +`gettext', and more translations are added over time. Usually, you use +the translations that are shipped with the operating system or with +particular packages that you install afterwards. But you can also +install newer localizations directly. For doing this, you will need an +understanding where each localization file is stored on the file system. + + For programs that participate in the Translation Project, you can +start looking for translations here: +`http://translationproject.org/team/index.html'. A snapshot of this +information is also found in the `ABOUT-NLS' file that is shipped with +GNU gettext. + + For programs that are part of the KDE project, the starting point is: +`http://i18n.kde.org/'. + + For programs that are part of the GNOME project, the starting point +is: `http://www.gnome.org/i18n/'. + + For other programs, you may check whether the program's source code +package contains some `LL.po' files; often they are kept together in a +directory called `po/'. Each `LL.po' file contains the message +translations for the language whose abbreviation of LL. + + +File: gettext.info, Node: PO Files, Next: Sources, Prev: Users, Up: Top + +3 The Format of PO Files +************************ + + The GNU `gettext' toolset helps programmers and translators at +producing, updating and using translation files, mainly those PO files +which are textual, editable files. This chapter explains the format of +PO files. + + A PO file is made up of many entries, each entry holding the relation +between an original untranslated string and its corresponding +translation. All entries in a given PO file usually pertain to a +single project, and all translations are expressed in a single target +language. One PO file "entry" has the following schematic structure: + + WHITE-SPACE + # TRANSLATOR-COMMENTS + #. EXTRACTED-COMMENTS + #: REFERENCE... + #, FLAG... + #| msgid PREVIOUS-UNTRANSLATED-STRING + msgid UNTRANSLATED-STRING + msgstr TRANSLATED-STRING + + The general structure of a PO file should be well understood by the +translator. When using PO mode, very little has to be known about the +format details, as PO mode takes care of them for her. + + A simple entry can look like this: + + #: lib/error.c:116 + msgid "Unknown system error" + msgstr "Error desconegut del sistema" + + Entries begin with some optional white space. Usually, when +generated through GNU `gettext' tools, there is exactly one blank line +between entries. Then comments follow, on lines all starting with the +character `#'. There are two kinds of comments: those which have some +white space immediately following the `#' - the TRANSLATOR COMMENTS -, +which comments are created and maintained exclusively by the +translator, and those which have some non-white character just after the +`#' - the AUTOMATIC COMMENTS -, which comments are created and +maintained automatically by GNU `gettext' tools. Comment lines +starting with `#.' contain comments given by the programmer, directed +at the translator; these comments are called EXTRACTED COMMENTS because +the `xgettext' program extracts them from the program's source code. +Comment lines starting with `#:' contain references to the program's +source code. Comment lines starting with `#,' contain flags; more +about these below. Comment lines starting with `#|' contain the +previous untranslated string for which the translator gave a +translation. + + All comments, of either kind, are optional. + + After white space and comments, entries show two strings, namely +first the untranslated string as it appears in the original program +sources, and then, the translation of this string. The original string +is introduced by the keyword `msgid', and the translation, by `msgstr'. +The two strings, untranslated and translated, are quoted in various +ways in the PO file, using `"' delimiters and `\' escapes, but the +translator does not really have to pay attention to the precise quoting +format, as PO mode fully takes care of quoting for her. + + The `msgid' strings, as well as automatic comments, are produced and +managed by other GNU `gettext' tools, and PO mode does not provide +means for the translator to alter these. The most she can do is merely +deleting them, and only by deleting the whole entry. On the other +hand, the `msgstr' string, as well as translator comments, are really +meant for the translator, and PO mode gives her the full control she +needs. + + The comment lines beginning with `#,' are special because they are +not completely ignored by the programs as comments generally are. The +comma separated list of FLAGs is used by the `msgfmt' program to give +the user some better diagnostic messages. Currently there are two +forms of flags defined: + +`fuzzy' + This flag can be generated by the `msgmerge' program or it can be + inserted by the translator herself. It shows that the `msgstr' + string might not be a correct translation (anymore). Only the + translator can judge if the translation requires further + modification, or is acceptable as is. Once satisfied with the + translation, she then removes this `fuzzy' attribute. The + `msgmerge' program inserts this when it combined the `msgid' and + `msgstr' entries after fuzzy search only. *Note Fuzzy Entries::. + +`c-format' +`no-c-format' + These flags should not be added by a human. Instead only the + `xgettext' program adds them. In an automated PO file processing + system as proposed here, the user's changes would be thrown away + again as soon as the `xgettext' program generates a new template + file. + + The `c-format' flag indicates that the untranslated string and the + translation are supposed to be C format strings. The `no-c-format' + flag indicates that they are not C format strings, even though the + untranslated string happens to look like a C format string (with + `%' directives). + + When the `c-format' flag is given for a string the `msgfmt' + program does some more tests to check the validity of the + translation. *Note msgfmt Invocation::, *note c-format Flag:: and + *note c-format::. + +`objc-format' +`no-objc-format' + Likewise for Objective C, see *note objc-format::. + +`sh-format' +`no-sh-format' + Likewise for Shell, see *note sh-format::. + +`python-format' +`no-python-format' + Likewise for Python, see *note python-format::. + +`lisp-format' +`no-lisp-format' + Likewise for Lisp, see *note lisp-format::. + +`elisp-format' +`no-elisp-format' + Likewise for Emacs Lisp, see *note elisp-format::. + +`librep-format' +`no-librep-format' + Likewise for librep, see *note librep-format::. + +`scheme-format' +`no-scheme-format' + Likewise for Scheme, see *note scheme-format::. + +`smalltalk-format' +`no-smalltalk-format' + Likewise for Smalltalk, see *note smalltalk-format::. + +`java-format' +`no-java-format' + Likewise for Java, see *note java-format::. + +`csharp-format' +`no-csharp-format' + Likewise for C#, see *note csharp-format::. + +`awk-format' +`no-awk-format' + Likewise for awk, see *note awk-format::. + +`object-pascal-format' +`no-object-pascal-format' + Likewise for Object Pascal, see *note object-pascal-format::. + +`ycp-format' +`no-ycp-format' + Likewise for YCP, see *note ycp-format::. + +`tcl-format' +`no-tcl-format' + Likewise for Tcl, see *note tcl-format::. + +`perl-format' +`no-perl-format' + Likewise for Perl, see *note perl-format::. + +`perl-brace-format' +`no-perl-brace-format' + Likewise for Perl brace, see *note perl-format::. + +`php-format' +`no-php-format' + Likewise for PHP, see *note php-format::. + +`gcc-internal-format' +`no-gcc-internal-format' + Likewise for the GCC sources, see *note gcc-internal-format::. + +`gfc-internal-format' +`no-gfc-internal-format' + Likewise for the GNU Fortran Compiler sources, see *note + gfc-internal-format::. + +`qt-format' +`no-qt-format' + Likewise for Qt, see *note qt-format::. + +`qt-plural-format' +`no-qt-plural-format' + Likewise for Qt plural forms, see *note qt-plural-format::. + +`kde-format' +`no-kde-format' + Likewise for KDE, see *note kde-format::. + +`boost-format' +`no-boost-format' + Likewise for Boost, see *note boost-format::. + + + It is also possible to have entries with a context specifier. They +look like this: + + WHITE-SPACE + # TRANSLATOR-COMMENTS + #. EXTRACTED-COMMENTS + #: REFERENCE... + #, FLAG... + #| msgctxt PREVIOUS-CONTEXT + #| msgid PREVIOUS-UNTRANSLATED-STRING + msgctxt CONTEXT + msgid UNTRANSLATED-STRING + msgstr TRANSLATED-STRING + + The context serves to disambiguate messages with the same +UNTRANSLATED-STRING. It is possible to have several entries with the +same UNTRANSLATED-STRING in a PO file, provided that they each have a +different CONTEXT. Note that an empty CONTEXT string and an absent +`msgctxt' line do not mean the same thing. + + A different kind of entries is used for translations which involve +plural forms. + + WHITE-SPACE + # TRANSLATOR-COMMENTS + #. EXTRACTED-COMMENTS + #: REFERENCE... + #, FLAG... + #| msgid PREVIOUS-UNTRANSLATED-STRING-SINGULAR + #| msgid_plural PREVIOUS-UNTRANSLATED-STRING-PLURAL + msgid UNTRANSLATED-STRING-SINGULAR + msgid_plural UNTRANSLATED-STRING-PLURAL + msgstr[0] TRANSLATED-STRING-CASE-0 + ... + msgstr[N] TRANSLATED-STRING-CASE-N + + Such an entry can look like this: + + #: src/msgcmp.c:338 src/po-lex.c:699 + #, c-format + msgid "found %d fatal error" + msgid_plural "found %d fatal errors" + msgstr[0] "s'ha trobat %d error fatal" + msgstr[1] "s'han trobat %d errors fatals" + + Here also, a `msgctxt' context can be specified before `msgid', like +above. + + Here, additional kinds of flags can be used: + +`range:' + This flag is followed by a range of non-negative numbers, using + the syntax `range: MINIMUM-VALUE..MAXIMUM-VALUE'. It designates + the possible values that the numeric parameter of the message can + take. In some languages, translators may produce slightly better + translations if they know that the value can only take on values + between 0 and 10, for example. + + The PREVIOUS-UNTRANSLATED-STRING is optionally inserted by the +`msgmerge' program, at the same time when it marks a message fuzzy. It +helps the translator to see which changes were done by the developers +on the UNTRANSLATED-STRING. + + It happens that some lines, usually whitespace or comments, follow +the very last entry of a PO file. Such lines are not part of any entry, +and will be dropped when the PO file is processed by the tools, or may +disturb some PO file editors. + + The remainder of this section may be safely skipped by those using a +PO file editor, yet it may be interesting for everybody to have a better +idea of the precise format of a PO file. On the other hand, those +wishing to modify PO files by hand should carefully continue reading on. + + Each of UNTRANSLATED-STRING and TRANSLATED-STRING respects the C +syntax for a character string, including the surrounding quotes and +embedded backslashed escape sequences. When the time comes to write +multi-line strings, one should not use escaped newlines. Instead, a +closing quote should follow the last character on the line to be +continued, and an opening quote should resume the string at the +beginning of the following PO file line. For example: + + msgid "" + "Here is an example of how one might continue a very long string\n" + "for the common case the string represents multi-line output.\n" + +In this example, the empty string is used on the first line, to allow +better alignment of the `H' from the word `Here' over the `f' from the +word `for'. In this example, the `msgid' keyword is followed by three +strings, which are meant to be concatenated. Concatenating the empty +string does not change the resulting overall string, but it is a way +for us to comply with the necessity of `msgid' to be followed by a +string on the same line, while keeping the multi-line presentation +left-justified, as we find this to be a cleaner disposition. The empty +string could have been omitted, but only if the string starting with +`Here' was promoted on the first line, right after `msgid'.(1) It was +not really necessary either to switch between the two last quoted +strings immediately after the newline `\n', the switch could have +occurred after _any_ other character, we just did it this way because +it is neater. + + One should carefully distinguish between end of lines marked as `\n' +_inside_ quotes, which are part of the represented string, and end of +lines in the PO file itself, outside string quotes, which have no +incidence on the represented string. + + Outside strings, white lines and comments may be used freely. +Comments start at the beginning of a line with `#' and extend until the +end of the PO file line. Comments written by translators should have +the initial `#' immediately followed by some white space. If the `#' +is not immediately followed by white space, this comment is most likely +generated and managed by specialized GNU tools, and might disappear or +be replaced unexpectedly when the PO file is given to `msgmerge'. + + ---------- Footnotes ---------- + + (1) This limitation is not imposed by GNU `gettext', but is for +compatibility with the `msgfmt' implementation on Solaris. + + +File: gettext.info, Node: Sources, Next: Template, Prev: PO Files, Up: Top + +4 Preparing Program Sources +*************************** + + For the programmer, changes to the C source code fall into three +categories. First, you have to make the localization functions known +to all modules needing message translation. Second, you should +properly trigger the operation of GNU `gettext' when the program +initializes, usually from the `main' function. Last, you should +identify, adjust and mark all constant strings in your program needing +translation. + +* Menu: + +* Importing:: Importing the `gettext' declaration +* Triggering:: Triggering `gettext' Operations +* Preparing Strings:: Preparing Translatable Strings +* Mark Keywords:: How Marks Appear in Sources +* Marking:: Marking Translatable Strings +* c-format Flag:: Telling something about the following string +* Special cases:: Special Cases of Translatable Strings +* Bug Report Address:: Letting Users Report Translation Bugs +* Names:: Marking Proper Names for Translation +* Libraries:: Preparing Library Sources + + +File: gettext.info, Node: Importing, Next: Triggering, Prev: Sources, Up: Sources + +4.1 Importing the `gettext' declaration +======================================= + + Presuming that your set of programs, or package, has been adjusted +so all needed GNU `gettext' files are available, and your `Makefile' +files are adjusted (*note Maintainers::), each C module having +translated C strings should contain the line: + + #include + + Similarly, each C module containing `printf()'/`fprintf()'/... +calls with a format string that could be a translated C string (even if +the C string comes from a different C module) should contain the line: + + #include + + +File: gettext.info, Node: Triggering, Next: Preparing Strings, Prev: Importing, Up: Sources + +4.2 Triggering `gettext' Operations +=================================== + + The initialization of locale data should be done with more or less +the same code in every program, as demonstrated below: + + int + main (int argc, char *argv[]) + { + ... + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + ... + } + + PACKAGE and LOCALEDIR should be provided either by `config.h' or by +the Makefile. For now consult the `gettext' or `hello' sources for +more information. + + The use of `LC_ALL' might not be appropriate for you. `LC_ALL' +includes all locale categories and especially `LC_CTYPE'. This latter +category is responsible for determining character classes with the +`isalnum' etc. functions from `ctype.h' which could especially for +programs, which process some kind of input language, be wrong. For +example this would mean that a source code using the ç (c-cedilla +character) is runnable in France but not in the U.S. + + Some systems also have problems with parsing numbers using the +`scanf' functions if an other but the `LC_ALL' locale category is used. +The standards say that additional formats but the one known in the +`"C"' locale might be recognized. But some systems seem to reject +numbers in the `"C"' locale format. In some situation, it might also +be a problem with the notation itself which makes it impossible to +recognize whether the number is in the `"C"' locale or the local +format. This can happen if thousands separator characters are used. +Some locales define this character according to the national +conventions to `'.'' which is the same character used in the `"C"' +locale to denote the decimal point. + + So it is sometimes necessary to replace the `LC_ALL' line in the +code above by a sequence of `setlocale' lines + + { + ... + setlocale (LC_CTYPE, ""); + setlocale (LC_MESSAGES, ""); + ... + } + +On all POSIX conformant systems the locale categories `LC_CTYPE', +`LC_MESSAGES', `LC_COLLATE', `LC_MONETARY', `LC_NUMERIC', and `LC_TIME' +are available. On some systems which are only ISO C compliant, +`LC_MESSAGES' is missing, but a substitute for it is defined in GNU +gettext's `' and in GNU gnulib's `'. + + Note that changing the `LC_CTYPE' also affects the functions +declared in the `' standard header and some functions declared +in the `' and `' standard headers. If this is not +desirable in your application (for example in a compiler's parser), you +can use a set of substitute functions which hardwire the C locale, such +as found in the modules `c-ctype', `c-strcase', `c-strcasestr', +`c-strtod', `c-strtold' in the GNU gnulib source distribution. + + It is also possible to switch the locale forth and back between the +environment dependent locale and the C locale, but this approach is +normally avoided because a `setlocale' call is expensive, because it is +tedious to determine the places where a locale switch is needed in a +large program's source, and because switching a locale is not +multithread-safe. + + +File: gettext.info, Node: Preparing Strings, Next: Mark Keywords, Prev: Triggering, Up: Sources + +4.3 Preparing Translatable Strings +================================== + + Before strings can be marked for translations, they sometimes need to +be adjusted. Usually preparing a string for translation is done right +before marking it, during the marking phase which is described in the +next sections. What you have to keep in mind while doing that is the +following. + + * Decent English style. + + * Entire sentences. + + * Split at paragraphs. + + * Use format strings instead of string concatenation. + + * Avoid unusual markup and unusual control characters. + +Let's look at some examples of these guidelines. + + Translatable strings should be in good English style. If slang +language with abbreviations and shortcuts is used, often translators +will not understand the message and will produce very inappropriate +translations. + + "%s: is parameter\n" + +This is nearly untranslatable: Is the displayed item _a_ parameter or +_the_ parameter? + + "No match" + +The ambiguity in this message makes it unintelligible: Is the program +attempting to set something on fire? Does it mean "The given object does +not match the template"? Does it mean "The template does not fit for any +of the objects"? + + In both cases, adding more words to the message will help both the +translator and the English speaking user. + + Translatable strings should be entire sentences. It is often not +possible to translate single verbs or adjectives in a substitutable way. + + printf ("File %s is %s protected", filename, rw ? "write" : "read"); + +Most translators will not look at the source and will thus only see the +string `"File %s is %s protected"', which is unintelligible. Change +this to + + printf (rw ? "File %s is write protected" : "File %s is read protected", + filename); + +This way the translator will not only understand the message, she will +also be able to find the appropriate grammatical construction. A French +translator for example translates "write protected" like "protected +against writing". + + Entire sentences are also important because in many languages, the +declination of some word in a sentence depends on the gender or the +number (singular/plural) of another part of the sentence. There are +usually more interdependencies between words than in English. The +consequence is that asking a translator to translate two half-sentences +and then combining these two half-sentences through dumb string +concatenation will not work, for many languages, even though it would +work for English. That's why translators need to handle entire +sentences. + + Often sentences don't fit into a single line. If a sentence is +output using two subsequent `printf' statements, like this + + printf ("Locale charset \"%s\" is different from\n", lcharset); + printf ("input file charset \"%s\".\n", fcharset); + +the translator would have to translate two half sentences, but nothing +in the POT file would tell her that the two half sentences belong +together. It is necessary to merge the two `printf' statements so that +the translator can handle the entire sentence at once and decide at +which place to insert a line break in the translation (if at all): + + printf ("Locale charset \"%s\" is different from\n\ + input file charset \"%s\".\n", lcharset, fcharset); + + You may now ask: how about two or more adjacent sentences? Like in +this case: + + puts ("Apollo 13 scenario: Stack overflow handling failed."); + puts ("On the next stack overflow we will crash!!!"); + +Should these two statements merged into a single one? I would recommend +to merge them if the two sentences are related to each other, because +then it makes it easier for the translator to understand and translate +both. On the other hand, if one of the two messages is a stereotypic +one, occurring in other places as well, you will do a favour to the +translator by not merging the two. (Identical messages occurring in +several places are combined by xgettext, so the translator has to +handle them once only.) + + Translatable strings should be limited to one paragraph; don't let a +single message be longer than ten lines. The reason is that when the +translatable string changes, the translator is faced with the task of +updating the entire translated string. Maybe only a single word will +have changed in the English string, but the translator doesn't see that +(with the current translation tools), therefore she has to proofread +the entire message. + + Many GNU programs have a `--help' output that extends over several +screen pages. It is a courtesy towards the translators to split such a +message into several ones of five to ten lines each. While doing that, +you can also attempt to split the documented options into groups, such +as the input options, the output options, and the informative output +options. This will help every user to find the option he is looking +for. + + Hardcoded string concatenation is sometimes used to construct English +strings: + + strcpy (s, "Replace "); + strcat (s, object1); + strcat (s, " with "); + strcat (s, object2); + strcat (s, "?"); + +In order to present to the translator only entire sentences, and also +because in some languages the translator might want to swap the order +of `object1' and `object2', it is necessary to change this to use a +format string: + + sprintf (s, "Replace %s with %s?", object1, object2); + + A similar case is compile time concatenation of strings. The ISO C +99 include file `' contains a macro `PRId64' that can be +used as a formatting directive for outputting an `int64_t' integer +through `printf'. It expands to a constant string, usually "d" or "ld" +or "lld" or something like this, depending on the platform. Assume you +have code like + + printf ("The amount is %0" PRId64 "\n", number); + +The `gettext' tools and library have special support for these +`' macros. You can therefore simply write + + printf (gettext ("The amount is %0" PRId64 "\n"), number); + +The PO file will contain the string "The amount is %0\n". The +translators will provide a translation containing "%0" as well, +and at runtime the `gettext' function's result will contain the +appropriate constant string, "d" or "ld" or "lld". + + This works only for the predefined `' macros. If you +have defined your own similar macros, let's say `MYPRId64', that are +not known to `xgettext', the solution for this problem is to change the +code like this: + + char buf1[100]; + sprintf (buf1, "%0" MYPRId64, number); + printf (gettext ("The amount is %s\n"), buf1); + + This means, you put the platform dependent code in one statement, +and the internationalization code in a different statement. Note that +a buffer length of 100 is safe, because all available hardware integer +types are limited to 128 bits, and to print a 128 bit integer one needs +at most 54 characters, regardless whether in decimal, octal or +hexadecimal. + + All this applies to other programming languages as well. For +example, in Java and C#, string concatenation is very frequently used, +because it is a compiler built-in operator. Like in C, in Java, you +would change + + System.out.println("Replace "+object1+" with "+object2+"?"); + +into a statement involving a format string: + + System.out.println( + MessageFormat.format("Replace {0} with {1}?", + new Object[] { object1, object2 })); + +Similarly, in C#, you would change + + Console.WriteLine("Replace "+object1+" with "+object2+"?"); + +into a statement involving a format string: + + Console.WriteLine( + String.Format("Replace {0} with {1}?", object1, object2)); + + Unusual markup or control characters should not be used in +translatable strings. Translators will likely not understand the +particular meaning of the markup or control characters. + + For example, if you have a convention that `|' delimits the +left-hand and right-hand part of some GUI elements, translators will +often not understand it without specific comments. It might be better +to have the translator translate the left-hand and right-hand part +separately. + + Another example is the `argp' convention to use a single `\v' +(vertical tab) control character to delimit two sections inside a +string. This is flawed. Some translators may convert it to a simple +newline, some to blank lines. With some PO file editors it may not be +easy to even enter a vertical tab control character. So, you cannot be +sure that the translation will contain a `\v' character, at the +corresponding position. The solution is, again, to let the translator +translate two separate strings and combine at run-time the two +translated strings with the `\v' required by the convention. + + HTML markup, however, is common enough that it's probably ok to use +in translatable strings. But please bear in mind that the GNU gettext +tools don't verify that the translations are well-formed HTML. + + +File: gettext.info, Node: Mark Keywords, Next: Marking, Prev: Preparing Strings, Up: Sources + +4.4 How Marks Appear in Sources +=============================== + + All strings requiring translation should be marked in the C sources. +Marking is done in such a way that each translatable string appears to +be the sole argument of some function or preprocessor macro. There are +only a few such possible functions or macros meant for translation, and +their names are said to be marking keywords. The marking is attached +to strings themselves, rather than to what we do with them. This +approach has more uses. A blatant example is an error message produced +by formatting. The format string needs translation, as well as some +strings inserted through some `%s' specification in the format, while +the result from `sprintf' may have so many different instances that it +is impractical to list them all in some `error_string_out()' routine, +say. + + This marking operation has two goals. The first goal of marking is +for triggering the retrieval of the translation, at run time. The +keyword is possibly resolved into a routine able to dynamically return +the proper translation, as far as possible or wanted, for the argument +string. Most localizable strings are found in executable positions, +that is, attached to variables or given as parameters to functions. +But this is not universal usage, and some translatable strings appear +in structured initializations. *Note Special cases::. + + The second goal of the marking operation is to help `xgettext' at +properly extracting all translatable strings when it scans a set of +program sources and produces PO file templates. + + The canonical keyword for marking translatable strings is `gettext', +it gave its name to the whole GNU `gettext' package. For packages +making only light use of the `gettext' keyword, macro or function, it +is easily used _as is_. However, for packages using the `gettext' +interface more heavily, it is usually more convenient to give the main +keyword a shorter, less obtrusive name. Indeed, the keyword might +appear on a lot of strings all over the package, and programmers +usually do not want nor need their program sources to remind them +forcefully, all the time, that they are internationalized. Further, a +long keyword has the disadvantage of using more horizontal space, +forcing more indentation work on sources for those trying to keep them +within 79 or 80 columns. + + Many packages use `_' (a simple underline) as a keyword, and write +`_("Translatable string")' instead of `gettext ("Translatable +string")'. Further, the coding rule, from GNU standards, wanting that +there is a space between the keyword and the opening parenthesis is +relaxed, in practice, for this particular usage. So, the textual +overhead per translatable string is reduced to only three characters: +the underline and the two parentheses. However, even if GNU `gettext' +uses this convention internally, it does not offer it officially. The +real, genuine keyword is truly `gettext' indeed. It is fairly easy for +those wanting to use `_' instead of `gettext' to declare: + + #include + #define _(String) gettext (String) + +instead of merely using `#include '. + + The marking keywords `gettext' and `_' take the translatable string +as sole argument. It is also possible to define marking functions that +take it at another argument position. It is even possible to make the +marked argument position depend on the total number of arguments of the +function call; this is useful in C++. All this is achieved using +`xgettext''s `--keyword' option. How to pass such an option to +`xgettext', assuming that `gettextize' is used, is described in *note +po/Makevars:: and *note AM_XGETTEXT_OPTION::. + + Note also that long strings can be split across lines, into multiple +adjacent string tokens. Automatic string concatenation is performed at +compile time according to ISO C and ISO C++; `xgettext' also supports +this syntax. + + Later on, the maintenance is relatively easy. If, as a programmer, +you add or modify a string, you will have to ask yourself if the new or +altered string requires translation, and include it within `_()' if you +think it should be translated. For example, `"%s"' is an example of +string _not_ requiring translation. But `"%s: %d"' _does_ require +translation, because in French, unlike in English, it's customary to +put a space before a colon. + + +File: gettext.info, Node: Marking, Next: c-format Flag, Prev: Mark Keywords, Up: Sources + +4.5 Marking Translatable Strings +================================ + + In PO mode, one set of features is meant more for the programmer than +for the translator, and allows him to interactively mark which strings, +in a set of program sources, are translatable, and which are not. Even +if it is a fairly easy job for a programmer to find and mark such +strings by other means, using any editor of his choice, PO mode makes +this work more comfortable. Further, this gives translators who feel a +little like programmers, or programmers who feel a little like +translators, a tool letting them work at marking translatable strings +in the program sources, while simultaneously producing a set of +translation in some language, for the package being internationalized. + + The set of program sources, targeted by the PO mode commands describe +here, should have an Emacs tags table constructed for your project, +prior to using these PO file commands. This is easy to do. In any +shell window, change the directory to the root of your project, then +execute a command resembling: + + etags src/*.[hc] lib/*.[hc] + +presuming here you want to process all `.h' and `.c' files from the +`src/' and `lib/' directories. This command will explore all said +files and create a `TAGS' file in your root directory, somewhat +summarizing the contents using a special file format Emacs can +understand. + + For packages following the GNU coding standards, there is a make +goal `tags' or `TAGS' which constructs the tag files in all directories +and for all files containing source code. + + Once your `TAGS' file is ready, the following commands assist the +programmer at marking translatable strings in his set of sources. But +these commands are necessarily driven from within a PO file window, and +it is likely that you do not even have such a PO file yet. This is not +a problem at all, as you may safely open a new, empty PO file, mainly +for using these commands. This empty PO file will slowly fill in while +you mark strings as translatable in your program sources. + +`,' + Search through program sources for a string which looks like a + candidate for translation (`po-tags-search'). + +`M-,' + Mark the last string found with `_()' (`po-mark-translatable'). + +`M-.' + Mark the last string found with a keyword taken from a set of + possible keywords. This command with a prefix allows some + management of these keywords (`po-select-mark-and-mark'). + + + The `,' (`po-tags-search') command searches for the next occurrence +of a string which looks like a possible candidate for translation, and +displays the program source in another Emacs window, positioned in such +a way that the string is near the top of this other window. If the +string is too big to fit whole in this window, it is positioned so only +its end is shown. In any case, the cursor is left in the PO file +window. If the shown string would be better presented differently in +different native languages, you may mark it using `M-,' or `M-.'. +Otherwise, you might rather ignore it and skip to the next string by +merely repeating the `,' command. + + A string is a good candidate for translation if it contains a +sequence of three or more letters. A string containing at most two +letters in a row will be considered as a candidate if it has more +letters than non-letters. The command disregards strings containing no +letters, or isolated letters only. It also disregards strings within +comments, or strings already marked with some keyword PO mode knows +(see below). + + If you have never told Emacs about some `TAGS' file to use, the +command will request that you specify one from the minibuffer, the +first time you use the command. You may later change your `TAGS' file +by using the regular Emacs command `M-x visit-tags-table', which will +ask you to name the precise `TAGS' file you want to use. *Note Tag +Tables: (emacs)Tags. + + Each time you use the `,' command, the search resumes from where it +was left by the previous search, and goes through all program sources, +obeying the `TAGS' file, until all sources have been processed. +However, by giving a prefix argument to the command (`C-u ,'), you may +request that the search be restarted all over again from the first +program source; but in this case, strings that you recently marked as +translatable will be automatically skipped. + + Using this `,' command does not prevent using of other regular Emacs +tags commands. For example, regular `tags-search' or +`tags-query-replace' commands may be used without disrupting the +independent `,' search sequence. However, as implemented, the +_initial_ `,' command (or the `,' command is used with a prefix) might +also reinitialize the regular Emacs tags searching to the first tags +file, this reinitialization might be considered spurious. + + The `M-,' (`po-mark-translatable') command will mark the recently +found string with the `_' keyword. The `M-.' +(`po-select-mark-and-mark') command will request that you type one +keyword from the minibuffer and use that keyword for marking the +string. Both commands will automatically create a new PO file +untranslated entry for the string being marked, and make it the current +entry (making it easy for you to immediately proceed to its +translation, if you feel like doing it right away). It is possible +that the modifications made to the program source by `M-,' or `M-.' +render some source line longer than 80 columns, forcing you to break +and re-indent this line differently. You may use the `O' command from +PO mode, or any other window changing command from Emacs, to break out +into the program source window, and do any needed adjustments. You +will have to use some regular Emacs command to return the cursor to the +PO file window, if you want command `,' for the next string, say. + + The `M-.' command has a few built-in speedups, so you do not have to +explicitly type all keywords all the time. The first such speedup is +that you are presented with a _preferred_ keyword, which you may accept +by merely typing `' at the prompt. The second speedup is that you +may type any non-ambiguous prefix of the keyword you really mean, and +the command will complete it automatically for you. This also means +that PO mode has to _know_ all your possible keywords, and that it will +not accept mistyped keywords. + + If you reply `?' to the keyword request, the command gives a list of +all known keywords, from which you may choose. When the command is +prefixed by an argument (`C-u M-.'), it inhibits updating any program +source or PO file buffer, and does some simple keyword management +instead. In this case, the command asks for a keyword, written in +full, which becomes a new allowed keyword for later `M-.' commands. +Moreover, this new keyword automatically becomes the _preferred_ +keyword for later commands. By typing an already known keyword in +response to `C-u M-.', one merely changes the _preferred_ keyword and +does nothing more. + + All keywords known for `M-.' are recognized by the `,' command when +scanning for strings, and strings already marked by any of those known +keywords are automatically skipped. If many PO files are opened +simultaneously, each one has its own independent set of known keywords. +There is no provision in PO mode, currently, for deleting a known +keyword, you have to quit the file (maybe using `q') and reopen it +afresh. When a PO file is newly brought up in an Emacs window, only +`gettext' and `_' are known as keywords, and `gettext' is preferred for +the `M-.' command. In fact, this is not useful to prefer `_', as this +one is already built in the `M-,' command. + + +File: gettext.info, Node: c-format Flag, Next: Special cases, Prev: Marking, Up: Sources + +4.6 Special Comments preceding Keywords +======================================= + + In C programs strings are often used within calls of functions from +the `printf' family. The special thing about these format strings is +that they can contain format specifiers introduced with `%'. Assume we +have the code + + printf (gettext ("String `%s' has %d characters\n"), s, strlen (s)); + +A possible German translation for the above string might be: + + "%d Zeichen lang ist die Zeichenkette `%s'" + + A C programmer, even if he cannot speak German, will recognize that +there is something wrong here. The order of the two format specifiers +is changed but of course the arguments in the `printf' don't have. +This will most probably lead to problems because now the length of the +string is regarded as the address. + + To prevent errors at runtime caused by translations the `msgfmt' +tool can check statically whether the arguments in the original and the +translation string match in type and number. If this is not the case +and the `-c' option has been passed to `msgfmt', `msgfmt' will give an +error and refuse to produce a MO file. Thus consequent use of `msgfmt +-c' will catch the error, so that it cannot cause cause problems at +runtime. + +If the word order in the above German translation would be correct one +would have to write + + "%2$d Zeichen lang ist die Zeichenkette `%1$s'" + +The routines in `msgfmt' know about this special notation. + + Because not all strings in a program must be format strings it is not +useful for `msgfmt' to test all the strings in the `.po' file. This +might cause problems because the string might contain what looks like a +format specifier, but the string is not used in `printf'. + + Therefore the `xgettext' adds a special tag to those messages it +thinks might be a format string. There is no absolute rule for this, +only a heuristic. In the `.po' file the entry is marked using the +`c-format' flag in the `#,' comment line (*note PO Files::). + + The careful reader now might say that this again can cause problems. +The heuristic might guess it wrong. This is true and therefore +`xgettext' knows about a special kind of comment which lets the +programmer take over the decision. If in the same line as or the +immediately preceding line to the `gettext' keyword the `xgettext' +program finds a comment containing the words `xgettext:c-format', it +will mark the string in any case with the `c-format' flag. This kind +of comment should be used when `xgettext' does not recognize the string +as a format string but it really is one and it should be tested. +Please note that when the comment is in the same line as the `gettext' +keyword, it must be before the string to be translated. + + This situation happens quite often. The `printf' function is often +called with strings which do not contain a format specifier. Of course +one would normally use `fputs' but it does happen. In this case +`xgettext' does not recognize this as a format string but what happens +if the translation introduces a valid format specifier? The `printf' +function will try to access one of the parameters but none exists +because the original code does not pass any parameters. + + `xgettext' of course could make a wrong decision the other way +round, i.e. a string marked as a format string actually is not a format +string. In this case the `msgfmt' might give too many warnings and +would prevent translating the `.po' file. The method to prevent this +wrong decision is similar to the one used above, only the comment to +use must contain the string `xgettext:no-c-format'. + + If a string is marked with `c-format' and this is not correct the +user can find out who is responsible for the decision. See *note +xgettext Invocation:: to see how the `--debug' option can be used for +solving this problem. + + +File: gettext.info, Node: Special cases, Next: Bug Report Address, Prev: c-format Flag, Up: Sources + +4.7 Special Cases of Translatable Strings +========================================= + + The attentive reader might now point out that it is not always +possible to mark translatable string with `gettext' or something like +this. Consider the following case: + + { + static const char *messages[] = { + "some very meaningful message", + "and another one" + }; + const char *string; + ... + string + = index > 1 ? "a default message" : messages[index]; + + fputs (string); + ... + } + + While it is no problem to mark the string `"a default message"' it +is not possible to mark the string initializers for `messages'. What +is to be done? We have to fulfill two tasks. First we have to mark the +strings so that the `xgettext' program (*note xgettext Invocation::) +can find them, and second we have to translate the string at runtime +before printing them. + + The first task can be fulfilled by creating a new keyword, which +names a no-op. For the second we have to mark all access points to a +string from the array. So one solution can look like this: + + #define gettext_noop(String) String + + { + static const char *messages[] = { + gettext_noop ("some very meaningful message"), + gettext_noop ("and another one") + }; + const char *string; + ... + string + = index > 1 ? gettext ("a default message") : gettext (messages[index]); + + fputs (string); + ... + } + + Please convince yourself that the string which is written by `fputs' +is translated in any case. How to get `xgettext' know the additional +keyword `gettext_noop' is explained in *note xgettext Invocation::. + + The above is of course not the only solution. You could also come +along with the following one: + + #define gettext_noop(String) String + + { + static const char *messages[] = { + gettext_noop ("some very meaningful message", + gettext_noop ("and another one") + }; + const char *string; + ... + string + = index > 1 ? gettext_noop ("a default message") : messages[index]; + + fputs (gettext (string)); + ... + } + + But this has a drawback. The programmer has to take care that he +uses `gettext_noop' for the string `"a default message"'. A use of +`gettext' could have in rare cases unpredictable results. + + One advantage is that you need not make control flow analysis to make +sure the output is really translated in any case. But this analysis is +generally not very difficult. If it should be in any situation you can +use this second method in this situation. + + +File: gettext.info, Node: Bug Report Address, Next: Names, Prev: Special cases, Up: Sources + +4.8 Letting Users Report Translation Bugs +========================================= + + Code sometimes has bugs, but translations sometimes have bugs too. +The users need to be able to report them. Reporting translation bugs +to the programmer or maintainer of a package is not very useful, since +the maintainer must never change a translation, except on behalf of the +translator. Hence the translation bugs must be reported to the +translators. + + Here is a way to organize this so that the maintainer does not need +to forward translation bug reports, nor even keep a list of the +addresses of the translators or their translation teams. + + Every program has a place where is shows the bug report address. For +GNU programs, it is the code which handles the "-help" option, +typically in a function called "usage". In this place, instruct the +translator to add her own bug reporting address. For example, if that +code has a statement + + printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT); + + you can add some translator instructions like this: + + /* TRANSLATORS: The placeholder indicates the bug-reporting address + for this package. Please add _another line_ saying + "Report translation bugs to <...>\n" with the address for translation + bugs (typically your translation team's web or email address). */ + printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT); + + These will be extracted by `xgettext', leading to a .pot file that +contains this: + + #. TRANSLATORS: The placeholder indicates the bug-reporting address + #. for this package. Please add _another line_ saying + #. "Report translation bugs to <...>\n" with the address for translation + #. bugs (typically your translation team's web or email address). + #: src/hello.c:178 + #, c-format + msgid "Report bugs to <%s>.\n" + msgstr "" + + +File: gettext.info, Node: Names, Next: Libraries, Prev: Bug Report Address, Up: Sources + +4.9 Marking Proper Names for Translation +======================================== + + Should names of persons, cities, locations etc. be marked for +translation or not? People who only know languages that can be written +with Latin letters (English, Spanish, French, German, etc.) are tempted +to say "no", because names usually do not change when transported +between these languages. However, in general when translating from one +script to another, names are translated too, usually phonetically or by +transliteration. For example, Russian or Greek names are converted to +the Latin alphabet when being translated to English, and English or +French names are converted to the Katakana script when being translated +to Japanese. This is necessary because the speakers of the target +language in general cannot read the script the name is originally +written in. + + As a programmer, you should therefore make sure that names are marked +for translation, with a special comment telling the translators that it +is a proper name and how to pronounce it. In its simple form, it looks +like this: + + printf (_("Written by %s.\n"), + /* TRANSLATORS: This is a proper name. See the gettext + manual, section Names. Note this is actually a non-ASCII + name: The first name is (with Unicode escapes) + "Fran\u00e7ois" or (with HTML entities) "François". + Pronunciation is like "fraa-swa pee-nar". */ + _("Francois Pinard")); + +The GNU gnulib library offers a module `propername' +(`http://www.gnu.org/software/gnulib/MODULES.html#module=propername') +which takes care to automatically append the original name, in +parentheses, to the translated name. For names that cannot be written +in ASCII, it also frees the translator from the task of entering the +appropriate non-ASCII characters if no script change is needed. In +this more comfortable form, it looks like this: + + printf (_("Written by %s and %s.\n"), + proper_name ("Ulrich Drepper"), + /* TRANSLATORS: This is a proper name. See the gettext + manual, section Names. Note this is actually a non-ASCII + name: The first name is (with Unicode escapes) + "Fran\u00e7ois" or (with HTML entities) "François". + Pronunciation is like "fraa-swa pee-nar". */ + proper_name_utf8 ("Francois Pinard", "Fran\303\247ois Pinard")); + +You can also write the original name directly in Unicode (rather than +with Unicode escapes or HTML entities) and denote the pronunciation +using the International Phonetic Alphabet (see +`http://www.wikipedia.org/wiki/International_Phonetic_Alphabet'). + + As a translator, you should use some care when translating names, +because it is frustrating if people see their names mutilated or +distorted. + + If your language uses the Latin script, all you need to do is to +reproduce the name as perfectly as you can within the usual character +set of your language. In this particular case, this means to provide a +translation containing the c-cedilla character. If your language uses +a different script and the people speaking it don't usually read Latin +words, it means transliteration. If the programmer used the simple +case, you should still give, in parentheses, the original writing of +the name - for the sake of the people that do read the Latin script. +If the programmer used the `propername' module mentioned above, you +don't need to give the original writing of the name in parentheses, +because the program will already do so. Here is an example, using +Greek as the target script: + + #. This is a proper name. See the gettext + #. manual, section Names. Note this is actually a non-ASCII + #. name: The first name is (with Unicode escapes) + #. "Fran\u00e7ois" or (with HTML entities) "François". + #. Pronunciation is like "fraa-swa pee-nar". + msgid "Francois Pinard" + msgstr "\phi\rho\alpha\sigma\omicron\alpha \pi\iota\nu\alpha\rho" + " (Francois Pinard)" + + Because translation of names is such a sensitive domain, it is a good +idea to test your translation before submitting it. + + +File: gettext.info, Node: Libraries, Prev: Names, Up: Sources + +4.10 Preparing Library Sources +============================== + + When you are preparing a library, not a program, for the use of +`gettext', only a few details are different. Here we assume that the +library has a translation domain and a POT file of its own. (If it +uses the translation domain and POT file of the main program, then the +previous sections apply without changes.) + + 1. The library code doesn't call `setlocale (LC_ALL, "")'. It's the + responsibility of the main program to set the locale. The + library's documentation should mention this fact, so that + developers of programs using the library are aware of it. + + 2. The library code doesn't call `textdomain (PACKAGE)', because it + would interfere with the text domain set by the main program. + + 3. The initialization code for a program was + + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + + For a library it is reduced to + + bindtextdomain (PACKAGE, LOCALEDIR); + + If your library's API doesn't already have an initialization + function, you need to create one, containing at least the + `bindtextdomain' invocation. However, you usually don't need to + export and document this initialization function: It is sufficient + that all entry points of the library call the initialization + function if it hasn't been called before. The typical idiom used + to achieve this is a static boolean variable that indicates + whether the initialization function has been called. Like this: + + static bool libfoo_initialized; + + static void + libfoo_initialize (void) + { + bindtextdomain (PACKAGE, LOCALEDIR); + libfoo_initialized = true; + } + + /* This function is part of the exported API. */ + struct foo * + create_foo (...) + { + /* Must ensure the initialization is performed. */ + if (!libfoo_initialized) + libfoo_initialize (); + ... + } + + /* This function is part of the exported API. The argument must be + non-NULL and have been created through create_foo(). */ + int + foo_refcount (struct foo *argument) + { + /* No need to invoke the initialization function here, because + create_foo() must already have been called before. */ + ... + } + + 4. The usual declaration of the `_' macro in each source file was + + #include + #define _(String) gettext (String) + + for a program. For a library, which has its own translation + domain, it reads like this: + + #include + #define _(String) dgettext (PACKAGE, String) + + In other words, `dgettext' is used instead of `gettext'. + Similarly, the `dngettext' function should be used in place of the + `ngettext' function. + + +File: gettext.info, Node: Template, Next: Creating, Prev: Sources, Up: Top + +5 Making the PO Template File +***************************** + + After preparing the sources, the programmer creates a PO template +file. This section explains how to use `xgettext' for this purpose. + + `xgettext' creates a file named `DOMAINNAME.po'. You should then +rename it to `DOMAINNAME.pot'. (Why doesn't `xgettext' create it under +the name `DOMAINNAME.pot' right away? The answer is: for historical +reasons. When `xgettext' was specified, the distinction between a PO +file and PO file template was fuzzy, and the suffix `.pot' wasn't in +use at that time.) + +* Menu: + +* xgettext Invocation:: Invoking the `xgettext' Program + + +File: gettext.info, Node: xgettext Invocation, Prev: Template, Up: Template + +5.1 Invoking the `xgettext' Program +=================================== + + xgettext [OPTION] [INPUTFILE] ... + + The `xgettext' program extracts translatable strings from given +input files. + +5.1.1 Input file location +------------------------- + +`INPUTFILE ...' + Input files. + +`-f FILE' +`--files-from=FILE' + Read the names of the input files from FILE instead of getting + them from the command line. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If INPUTFILE is `-', standard input is read. + +5.1.2 Output file location +-------------------------- + +`-d NAME' +`--default-domain=NAME' + Use `NAME.po' for output (instead of `messages.po'). + +`-o FILE' +`--output=FILE' + Write output to specified file (instead of `NAME.po' or + `messages.po'). + +`-p DIR' +`--output-dir=DIR' + Output files will be placed in directory DIR. + + + If the output FILE is `-' or `/dev/stdout', the output is written to +standard output. + +5.1.3 Choice of input file language +----------------------------------- + +`-L NAME' +`--language=NAME' + Specifies the language of the input files. The supported languages + are `C', `C++', `ObjectiveC', `PO', `Python', `Lisp', `EmacsLisp', + `librep', `Scheme', `Smalltalk', `Java', `JavaProperties', `C#', + `awk', `YCP', `Tcl', `Perl', `PHP', `GCC-source', `NXStringTable', + `RST', `Glade'. + +`-C' +`--c++' + This is a shorthand for `--language=C++'. + + + By default the language is guessed depending on the input file name +extension. + +5.1.4 Input file interpretation +------------------------------- + +`--from-code=NAME' + Specifies the encoding of the input files. This option is needed + only if some untranslated message strings or their corresponding + comments contain non-ASCII characters. Note that Tcl and Glade + input files are always assumed to be in UTF-8, regardless of this + option. + + + By default the input files are assumed to be in ASCII. + +5.1.5 Operation mode +-------------------- + +`-j' +`--join-existing' + Join messages with existing file. + +`-x FILE' +`--exclude-file=FILE' + Entries from FILE are not extracted. FILE should be a PO or POT + file. + +`-c[TAG]' +`--add-comments[=TAG]' + Place comment blocks starting with TAG and preceding keyword lines + in the output file. Without a TAG, the option means to put _all_ + comment blocks preceding keyword lines in the output file. + + +5.1.6 Language specific options +------------------------------- + +`-a' +`--extract-all' + Extract all strings. + + This option has an effect with most languages, namely C, C++, + ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, + Tcl, Perl, PHP, GCC-source, Glade. + +`-k[KEYWORDSPEC]' +`--keyword[=KEYWORDSPEC]' + Specify KEYWORDSPEC as an additional keyword to be looked for. + Without a KEYWORDSPEC, the option means to not use default + keywords. + + If KEYWORDSPEC is a C identifier ID, `xgettext' looks for strings + in the first argument of each call to the function or macro ID. + If KEYWORDSPEC is of the form `ID:ARGNUM', `xgettext' looks for + strings in the ARGNUMth argument of the call. If KEYWORDSPEC is + of the form `ID:ARGNUM1,ARGNUM2', `xgettext' looks for strings in + the ARGNUM1st argument and in the ARGNUM2nd argument of the call, + and treats them as singular/plural variants for a message with + plural handling. Also, if KEYWORDSPEC is of the form + `ID:CONTEXTARGNUMc,ARGNUM' or `ID:ARGNUM,CONTEXTARGNUMc', + `xgettext' treats strings in the CONTEXTARGNUMth argument as a + context specifier. And, as a special-purpose support for GNOME, + if KEYWORDSPEC is of the form `ID:ARGNUMg', `xgettext' recognizes + the ARGNUMth argument as a string with context, using the GNOME + `glib' syntax `"msgctxt|msgid"'. + Furthermore, if KEYWORDSPEC is of the form `ID:...,TOTALNUMARGSt', + `xgettext' recognizes this argument specification only if the + number of actual arguments is equal to TOTALNUMARGS. This is + useful for disambiguating overloaded function calls in C++. + Finally, if KEYWORDSPEC is of the form `ID:ARGNUM...,"XCOMMENT"', + `xgettext', when extracting a message from the specified argument + strings, adds an extracted comment XCOMMENT to the message. Note + that when used through a normal shell command line, the + double-quotes around the XCOMMENT need to be escaped. + + This option has an effect with most languages, namely C, C++, + ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, + Tcl, Perl, PHP, GCC-source, Glade. + + The default keyword specifications, which are always looked for if + not explicitly disabled, are language dependent. They are: + + * For C, C++, and GCC-source: `gettext', `dgettext:2', + `dcgettext:2', `ngettext:1,2', `dngettext:2,3', + `dcngettext:2,3', `gettext_noop', and `pgettext:1c,2', + `dpgettext:2c,3', `dcpgettext:2c,3', `npgettext:1c,2,3', + `dnpgettext:2c,3,4', `dcnpgettext:2c,3,4'. + + * For Objective C: Like for C, and also `NSLocalizedString', + `_', `NSLocalizedStaticString', `__'. + + * For Shell scripts: `gettext', `ngettext:1,2', `eval_gettext', + `eval_ngettext:1,2'. + + * For Python: `gettext', `ugettext', `dgettext:2', + `ngettext:1,2', `ungettext:1,2', `dngettext:2,3', `_'. + + * For Lisp: `gettext', `ngettext:1,2', `gettext-noop'. + + * For EmacsLisp: `_'. + + * For librep: `_'. + + * For Scheme: `gettext', `ngettext:1,2', `gettext-noop'. + + * For Java: `GettextResource.gettext:2', + `GettextResource.ngettext:2,3', + `GettextResource.pgettext:2c,3', + `GettextResource.npgettext:2c,3,4', `gettext', `ngettext:1,2', + `pgettext:1c,2', `npgettext:1c,2,3', `getString'. + + * For C#: `GetString', `GetPluralString:1,2', + `GetParticularString:1c,2', + `GetParticularPluralString:1c,2,3'. + + * For awk: `dcgettext', `dcngettext:1,2'. + + * For Tcl: `::msgcat::mc'. + + * For Perl: `gettext', `%gettext', `$gettext', `dgettext:2', + `dcgettext:2', `ngettext:1,2', `dngettext:2,3', + `dcngettext:2,3', `gettext_noop'. + + * For PHP: `_', `gettext', `dgettext:2', `dcgettext:2', + `ngettext:1,2', `dngettext:2,3', `dcngettext:2,3'. + + * For Glade 1: `label', `title', `text', `format', `copyright', + `comments', `preview_text', `tooltip'. + + To disable the default keyword specifications, the option `-k' or + `--keyword' or `--keyword=', without a KEYWORDSPEC, can be used. + +`--flag=WORD:ARG:FLAG' + Specifies additional flags for strings occurring as part of the + ARGth argument of the function WORD. The possible flags are the + possible format string indicators, such as `c-format', and their + negations, such as `no-c-format', possibly prefixed with `pass-'. + The meaning of `--flag=FUNCTION:ARG:LANG-format' is that in + language LANG, the specified FUNCTION expects as ARGth argument a + format string. (For those of you familiar with GCC function + attributes, `--flag=FUNCTION:ARG:c-format' is roughly equivalent + to the declaration `__attribute__ ((__format__ (__printf__, ARG, + ...)))' attached to FUNCTION in a C source file.) For example, if + you use the `error' function from GNU libc, you can specify its + behaviour through `--flag=error:3:c-format'. The effect of this + specification is that `xgettext' will mark as format strings all + `gettext' invocations that occur as ARGth argument of FUNCTION. + This is useful when such strings contain no format string + directives: together with the checks done by `msgfmt -c' it will + ensure that translators cannot accidentally use format string + directives that would lead to a crash at runtime. + The meaning of `--flag=FUNCTION:ARG:pass-LANG-format' is that in + language LANG, if the FUNCTION call occurs in a position that must + yield a format string, then its ARGth argument must yield a format + string of the same type as well. (If you know GCC function + attributes, the `--flag=FUNCTION:ARG:pass-c-format' option is + roughly equivalent to the declaration `__attribute__ + ((__format_arg__ (ARG)))' attached to FUNCTION in a C source file.) + For example, if you use the `_' shortcut for the `gettext' + function, you should use `--flag=_:1:pass-c-format'. The effect + of this specification is that `xgettext' will propagate a format + string requirement for a `_("string")' call to its first argument, + the literal `"string"', and thus mark it as a format string. This + is useful when such strings contain no format string directives: + together with the checks done by `msgfmt -c' it will ensure that + translators cannot accidentally use format string directives that + would lead to a crash at runtime. + This option has an effect with most languages, namely C, C++, + ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, + C#, awk, YCP, Tcl, Perl, PHP, GCC-source. + +`-T' +`--trigraphs' + Understand ANSI C trigraphs for input. + This option has an effect only with the languages C, C++, + ObjectiveC. + +`--qt' + Recognize Qt format strings. + This option has an effect only with the language C++. + +`--kde' + Recognize KDE 4 format strings. + This option has an effect only with the language C++. + +`--boost' + Recognize Boost format strings. + This option has an effect only with the language C++. + +`--debug' + Use the flags `c-format' and `possible-c-format' to show who was + responsible for marking a message as a format string. The latter + form is used if the `xgettext' program decided, the format form is + used if the programmer prescribed it. + + By default only the `c-format' form is used. The translator should + not have to care about these details. + + + This implementation of `xgettext' is able to process a few awkward +cases, like strings in preprocessor macros, ANSI concatenation of +adjacent strings, and escaped end of lines for continued strings. + +5.1.7 Output details +-------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if no message is defined. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. Note that using this + option makes it harder for technically skilled translators to + understand each message's context. + +`-n' +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + +`--omit-header' + Don't write header with `msgid ""' entry. + + This is useful for testing purposes because it eliminates a source + of variance for generated `.gmo' files. With `--omit-header', two + invocations of `xgettext' on the same files with the same options + at different times are guaranteed to produce the same results. + + Note that using this option will lead to an error if the resulting + file would not entirely be in ASCII. + +`--copyright-holder=STRING' + Set the copyright holder in the output. STRING should be the + copyright holder of the surrounding package. (Note that the msgstr + strings, extracted from the package's sources, belong to the + copyright holder of the package.) Translators are expected to + transfer or disclaim the copyright for their translations, so that + package maintainers can distribute them without legal risk. If + STRING is empty, the output files are marked as being in the + public domain; in this case, the translators are expected to + disclaim their copyright, again so that package maintainers can + distribute them without legal risk. + + The default value for STRING is the Free Software Foundation, Inc., + simply because `xgettext' was first used in the GNU project. + +`--foreign-user' + Omit FSF copyright in output. This option is equivalent to + `--copyright-holder='''. It can be useful for packages outside + the GNU project that want their translations to be in the public + domain. + +`--package-name=PACKAGE' + Set the package name in the header of the output. + +`--package-version=VERSION' + Set the package version in the header of the output. This option + has an effect only if the `--package-name' option is also used. + +`--msgid-bugs-address=EMAIL@ADDRESS' + Set the reporting address for msgid bugs. This is the email + address or URL to which the translators shall report bugs in the + untranslated strings: + + - Strings which are not entire sentences, see the maintainer + guidelines in *note Preparing Strings::. + + - Strings which use unclear terms or require additional context + to be understood. + + - Strings which make invalid assumptions about notation of + date, time or money. + + - Pluralisation problems. + + - Incorrect English spelling. + + - Incorrect formatting. + + It can be your email address, or a mailing list address where + translators can write to without being subscribed, or the URL of a + web page through which the translators can contact you. + + The default value is empty, which means that translators will be + clueless! Don't forget to specify this option. + +`-m[STRING]' +`--msgstr-prefix[=STRING]' + Use STRING (or "" if not specified) as prefix for msgstr values. + +`-M[STRING]' +`--msgstr-suffix[=STRING]' + Use STRING (or "" if not specified) as suffix for msgstr values. + + +5.1.8 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: Creating, Next: Updating, Prev: Template, Up: Top + +6 Creating a New PO File +************************ + + When starting a new translation, the translator creates a file called +`LANG.po', as a copy of the `PACKAGE.pot' template file with +modifications in the initial comments (at the beginning of the file) +and in the header entry (the first entry, near the beginning of the +file). + + The easiest way to do so is by use of the `msginit' program. For +example: + + $ cd PACKAGE-VERSION + $ cd po + $ msginit + + The alternative way is to do the copy and modifications by hand. To +do so, the translator copies `PACKAGE.pot' to `LANG.po'. Then she +modifies the initial comments and the header entry of this file. + +* Menu: + +* msginit Invocation:: Invoking the `msginit' Program +* Header Entry:: Filling in the Header Entry + + +File: gettext.info, Node: msginit Invocation, Next: Header Entry, Prev: Creating, Up: Creating + +6.1 Invoking the `msginit' Program +================================== + + msginit [OPTION] + + The `msginit' program creates a new PO file, initializing the meta +information with values from the user's environment. + +6.1.1 Input file location +------------------------- + +`-i INPUTFILE' +`--input=INPUTFILE' + Input POT file. + + + If no INPUTFILE is given, the current directory is searched for the +POT file. If it is `-', standard input is read. + +6.1.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified PO file. + + + If no output file is given, it depends on the `--locale' option or +the user's locale setting. If it is `-', the results are written to +standard output. + +6.1.3 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +6.1.4 Output details +-------------------- + +`-l LL_CC' +`--locale=LL_CC' + Set target locale. LL should be a language code, and CC should be + a country code. The command `locale -a' can be used to output a + list of all installed locales. The default is the user's locale + setting. + +`--no-translator' + Declares that the PO file will not have a human translator and is + instead automatically generated. + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + + +6.1.5 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: Header Entry, Prev: msginit Invocation, Up: Creating + +6.2 Filling in the Header Entry +=============================== + + The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST +AUTHOR , YEAR" ought to be replaced by sensible +information. This can be done in any text editor; if Emacs is used and +it switched to PO mode automatically (because it has recognized the +file's suffix), you can disable it by typing `M-x fundamental-mode'. + + Modifying the header entry can already be done using PO mode: in +Emacs, type `M-x po-mode RET' and then `RET' again to start editing the +entry. You should fill in the following fields. + +Project-Id-Version + This is the name and version of the package. Fill it in if it has + not already been filled in by `xgettext'. + +Report-Msgid-Bugs-To + This has already been filled in by `xgettext'. It contains an + email address or URL where you can report bugs in the untranslated + strings: + + - Strings which are not entire sentences, see the maintainer + guidelines in *note Preparing Strings::. + + - Strings which use unclear terms or require additional context + to be understood. + + - Strings which make invalid assumptions about notation of + date, time or money. + + - Pluralisation problems. + + - Incorrect English spelling. + + - Incorrect formatting. + +POT-Creation-Date + This has already been filled in by `xgettext'. + +PO-Revision-Date + You don't need to fill this in. It will be filled by the PO file + editor when you save the file. + +Last-Translator + Fill in your name and email address (without double quotes). + +Language-Team + Fill in the English name of the language, and the email address or + homepage URL of the language team you are part of. + + Before starting a translation, it is a good idea to get in touch + with your translation team, not only to make sure you don't do + duplicated work, but also to coordinate difficult linguistic + issues. + + In the Free Translation Project, each translation team has its own + mailing list. The up-to-date list of teams can be found at the + Free Translation Project's homepage, + `http://translationproject.org/', in the "Teams" area. + +Language + Fill in the language code of the language. This can be in one of + three forms: + + - `LL', an ISO 639 two-letter language code (lowercase). See + *note Language Codes:: for the list of codes. + + - `LL_CC', where `LL' is an ISO 639 two-letter language code + (lowercase) and `CC' is an ISO 3166 two-letter country code + (uppercase). The country code specification is not redundant: + Some languages have dialects in different countries. For + example, `de_AT' is used for Austria, and `pt_BR' for Brazil. + The country code serves to distinguish the dialects. See + *note Language Codes:: and *note Country Codes:: for the + lists of codes. + + - `LL_CC@VARIANT', where `LL' is an ISO 639 two-letter language + code (lowercase), `CC' is an ISO 3166 two-letter country code + (uppercase), and `VARIANT' is a variant designator. The + variant designator (lowercase) can be a script designator, + such as `latin' or `cyrillic'. + + The naming convention `LL_CC' is also the way locales are named on + systems based on GNU libc. But there are three important + differences: + + * In this PO file field, but not in locale names, `LL_CC' + combinations denoting a language's main dialect are + abbreviated as `LL'. For example, `de' is equivalent to + `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' + (Portuguese as spoken in Portugal) in this context. + + * In this PO file field, suffixes like `.ENCODING' are not used. + + * In this PO file field, variant designators that are not + relevant to message translation, such as `@euro', are not + used. + + So, if your locale name is `de_DE.UTF-8', the language + specification in PO files is just `de'. + +Content-Type + Replace `CHARSET' with the character encoding used for your + language, in your locale, or UTF-8. This field is needed for + correct operation of the `msgmerge' and `msgfmt' programs, as well + as for users whose locale's character encoding differs from yours + (see *note Charset conversion::). + + You get the character encoding of your locale by running the shell + command `locale charmap'. If the result is `C' or + `ANSI_X3.4-1968', which is equivalent to `ASCII' (= `US-ASCII'), + it means that your locale is not correctly configured. In this + case, ask your translation team which charset to use. `ASCII' is + not usable for any language except Latin. + + Because the PO files must be portable to operating systems with + less advanced internationalization facilities, the character + encodings that can be used are limited to those supported by both + GNU `libc' and GNU `libiconv'. These are: `ASCII', `ISO-8859-1', + `ISO-8859-2', `ISO-8859-3', `ISO-8859-4', `ISO-8859-5', + `ISO-8859-6', `ISO-8859-7', `ISO-8859-8', `ISO-8859-9', + `ISO-8859-13', `ISO-8859-14', `ISO-8859-15', `KOI8-R', `KOI8-U', + `KOI8-T', `CP850', `CP866', `CP874', `CP932', `CP949', `CP950', + `CP1250', `CP1251', `CP1252', `CP1253', `CP1254', `CP1255', + `CP1256', `CP1257', `GB2312', `EUC-JP', `EUC-KR', `EUC-TW', + `BIG5', `BIG5-HKSCS', `GBK', `GB18030', `SHIFT_JIS', `JOHAB', + `TIS-620', `VISCII', `GEORGIAN-PS', `UTF-8'. + + In the GNU system, the following encodings are frequently used for + the corresponding languages. + + * `ISO-8859-1' for Afrikaans, Albanian, Basque, Breton, + Catalan, Cornish, Danish, Dutch, English, Estonian, Faroese, + Finnish, French, Galician, German, Greenlandic, Icelandic, + Indonesian, Irish, Italian, Malay, Manx, Norwegian, Occitan, + Portuguese, Spanish, Swedish, Tagalog, Uzbek, Walloon, + + * `ISO-8859-2' for Bosnian, Croatian, Czech, Hungarian, Polish, + Romanian, Serbian, Slovak, Slovenian, + + * `ISO-8859-3' for Maltese, + + * `ISO-8859-5' for Macedonian, Serbian, + + * `ISO-8859-6' for Arabic, + + * `ISO-8859-7' for Greek, + + * `ISO-8859-8' for Hebrew, + + * `ISO-8859-9' for Turkish, + + * `ISO-8859-13' for Latvian, Lithuanian, Maori, + + * `ISO-8859-14' for Welsh, + + * `ISO-8859-15' for Basque, Catalan, Dutch, English, Finnish, + French, Galician, German, Irish, Italian, Portuguese, + Spanish, Swedish, Walloon, + + * `KOI8-R' for Russian, + + * `KOI8-U' for Ukrainian, + + * `KOI8-T' for Tajik, + + * `CP1251' for Bulgarian, Belarusian, + + * `GB2312', `GBK', `GB18030' for simplified writing of Chinese, + + * `BIG5', `BIG5-HKSCS' for traditional writing of Chinese, + + * `EUC-JP' for Japanese, + + * `EUC-KR' for Korean, + + * `TIS-620' for Thai, + + * `GEORGIAN-PS' for Georgian, + + * `UTF-8' for any language, including those listed above. + + When single quote characters or double quote characters are used in + translations for your language, and your locale's encoding is one + of the ISO-8859-* charsets, it is best if you create your PO files + in UTF-8 encoding, instead of your locale's encoding. This is + because in UTF-8 the real quote characters can be represented + (single quote characters: U+2018, U+2019, double quote characters: + U+201C, U+201D), whereas none of ISO-8859-* charsets has them all. + Users in UTF-8 locales will see the real quote characters, whereas + users in ISO-8859-* locales will see the vertical apostrophe and + the vertical double quote instead (because that's what the + character set conversion will transliterate them to). + + To enter such quote characters under X11, you can change your + keyboard mapping using the `xmodmap' program. The X11 names of + the quote characters are "leftsinglequotemark", + "rightsinglequotemark", "leftdoublequotemark", + "rightdoublequotemark", "singlelowquotemark", "doublelowquotemark". + + Note that only recent versions of GNU Emacs support the UTF-8 + encoding: Emacs 20 with Mule-UCS, and Emacs 21. As of January + 2001, XEmacs doesn't support the UTF-8 encoding. + + The character encoding name can be written in either upper or + lower case. Usually upper case is preferred. + +Content-Transfer-Encoding + Set this to `8bit'. + +Plural-Forms + This field is optional. It is only needed if the PO file has + plural forms. You can find them by searching for the + `msgid_plural' keyword. The format of the plural forms field is + described in *note Plural forms:: and *note Translating plural + forms::. + + +File: gettext.info, Node: Updating, Next: Editing, Prev: Creating, Up: Top + +7 Updating Existing PO Files +**************************** + +* Menu: + +* msgmerge Invocation:: Invoking the `msgmerge' Program + + +File: gettext.info, Node: msgmerge Invocation, Prev: Updating, Up: Updating + +7.1 Invoking the `msgmerge' Program +=================================== + + msgmerge [OPTION] DEF.po REF.pot + + The `msgmerge' program merges two Uniforum style .po files together. +The DEF.po file is an existing PO file with translations which will be +taken over to the newly created file as long as they still match; +comments will be preserved, but extracted comments and file positions +will be discarded. The REF.pot file is the last created PO file with +up-to-date source references but old translations, or a PO Template file +(generally created by `xgettext'); any translations or comments in the +file will be discarded, however dot comments and file positions will be +preserved. Where an exact match cannot be found, fuzzy matching is +used to produce better results. + +7.1.1 Input file location +------------------------- + +`DEF.po' + Translations referring to old sources. + +`REF.pot' + References to the new sources. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + +`-C FILE' +`--compendium=FILE' + Specify an additional library of message translations. *Note + Compendium::. This option may be specified more than once. + + +7.1.2 Operation mode +-------------------- + +`-U' +`--update' + Update DEF.po. Do nothing if DEF.po is already up to date. + + +7.1.3 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +7.1.4 Output file location in update mode +----------------------------------------- + + The result is written back to DEF.po. + +`--backup=CONTROL' + Make a backup of DEF.po + +`--suffix=SUFFIX' + Override the usual backup suffix. + + + The version control method may be selected via the `--backup' option +or through the `VERSION_CONTROL' environment variable. Here are the +values: + +`none' +`off' + Never make backups (even if `--backup' is given). + +`numbered' +`t' + Make numbered backups. + +`existing' +`nil' + Make numbered backups if numbered backups for this file already + exist, otherwise make simple backups. + +`simple' +`never' + Always make simple backups. + + + The backup suffix is `~', unless set with `--suffix' or the +`SIMPLE_BACKUP_SUFFIX' environment variable. + +7.1.5 Operation modifiers +------------------------- + +`-m' +`--multi-domain' + Apply REF.pot to each of the domains in DEF.po. + +`-N' +`--no-fuzzy-matching' + Do not use fuzzy matching when an exact match is not found. This + may speed up the operation considerably. + +`--previous' + Keep the previous msgids of translated messages, marked with `#|', + when adding the fuzzy marker to such messages. + +7.1.6 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input files are Java ResourceBundles in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input files are NeXTstep/GNUstep localized resource + files in `.strings' syntax, not in PO file syntax. + + +7.1.7 Output details +-------------------- + +`--lang=CATALOGNAME' + Specify the `Language' field to be used in the header entry. See + *note Header Entry:: for the meaning of this field. Note: The + `Language-Team' and `Plural-Forms' fields are left unchanged. If + this option is not specified, the `Language' field is inferred, as + best as possible, from the `Language-Team' field. + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +7.1.8 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + +`-v' +`--verbose' + Increase verbosity level. + +`-q' +`--quiet' +`--silent' + Suppress progress indicators. + + + +File: gettext.info, Node: Editing, Next: Manipulating, Prev: Updating, Up: Top + +8 Editing PO Files +****************** + +* Menu: + +* KBabel:: KDE's PO File Editor +* Gtranslator:: GNOME's PO File Editor +* PO Mode:: Emacs's PO File Editor +* Compendium:: Using Translation Compendia + + +File: gettext.info, Node: KBabel, Next: Gtranslator, Prev: Editing, Up: Editing + +8.1 KDE's PO File Editor +======================== + + +File: gettext.info, Node: Gtranslator, Next: PO Mode, Prev: KBabel, Up: Editing + +8.2 GNOME's PO File Editor +========================== + + +File: gettext.info, Node: PO Mode, Next: Compendium, Prev: Gtranslator, Up: Editing + +8.3 Emacs's PO File Editor +========================== + + For those of you being the lucky users of Emacs, PO mode has been +specifically created for providing a cozy environment for editing or +modifying PO files. While editing a PO file, PO mode allows for the +easy browsing of auxiliary and compendium PO files, as well as for +following references into the set of C program sources from which PO +files have been derived. It has a few special features, among which +are the interactive marking of program strings as translatable, and the +validation of PO files with easy repositioning to PO file lines showing +errors. + + For the beginning, besides main PO mode commands (*note Main PO +Commands::), you should know how to move between entries (*note Entry +Positioning::), and how to handle untranslated entries (*note +Untranslated Entries::). + +* Menu: + +* Installation:: Completing GNU `gettext' Installation +* Main PO Commands:: Main Commands +* Entry Positioning:: Entry Positioning +* Normalizing:: Normalizing Strings in Entries +* Translated Entries:: Translated Entries +* Fuzzy Entries:: Fuzzy Entries +* Untranslated Entries:: Untranslated Entries +* Obsolete Entries:: Obsolete Entries +* Modifying Translations:: Modifying Translations +* Modifying Comments:: Modifying Comments +* Subedit:: Mode for Editing Translations +* C Sources Context:: C Sources Context +* Auxiliary:: Consulting Auxiliary PO Files + + +File: gettext.info, Node: Installation, Next: Main PO Commands, Prev: PO Mode, Up: PO Mode + +8.3.1 Completing GNU `gettext' Installation +------------------------------------------- + + Once you have received, unpacked, configured and compiled the GNU +`gettext' distribution, the `make install' command puts in place the +programs `xgettext', `msgfmt', `gettext', and `msgmerge', as well as +their available message catalogs. To top off a comfortable +installation, you might also want to make the PO mode available to your +Emacs users. + + During the installation of the PO mode, you might want to modify your +file `.emacs', once and for all, so it contains a few lines looking +like: + + (setq auto-mode-alist + (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist)) + (autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t) + + Later, whenever you edit some `.po' file, or any file having the +string `.po.' within its name, Emacs loads `po-mode.elc' (or +`po-mode.el') as needed, and automatically activates PO mode commands +for the associated buffer. The string _PO_ appears in the mode line +for any buffer for which PO mode is active. Many PO files may be +active at once in a single Emacs session. + + If you are using Emacs version 20 or newer, and have already +installed the appropriate international fonts on your system, you may +also tell Emacs how to determine automatically the coding system of +every PO file. This will often (but not always) cause the necessary +fonts to be loaded and used for displaying the translations on your +Emacs screen. For this to happen, add the lines: + + (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\." + 'po-find-file-coding-system) + (autoload 'po-find-file-coding-system "po-mode") + +to your `.emacs' file. If, with this, you still see boxes instead of +international characters, try a different font set (via Shift Mouse +button 1). + + +File: gettext.info, Node: Main PO Commands, Next: Entry Positioning, Prev: Installation, Up: PO Mode + +8.3.2 Main PO mode Commands +--------------------------- + + After setting up Emacs with something similar to the lines in *note +Installation::, PO mode is activated for a window when Emacs finds a PO +file in that window. This puts the window read-only and establishes a +po-mode-map, which is a genuine Emacs mode, in a way that is not derived +from text mode in any way. Functions found on `po-mode-hook', if any, +will be executed. + + When PO mode is active in a window, the letters `PO' appear in the +mode line for that window. The mode line also displays how many +entries of each kind are held in the PO file. For example, the string +`132t+3f+10u+2o' would tell the translator that the PO mode contains +132 translated entries (*note Translated Entries::, 3 fuzzy entries +(*note Fuzzy Entries::), 10 untranslated entries (*note Untranslated +Entries::) and 2 obsolete entries (*note Obsolete Entries::). +Zero-coefficients items are not shown. So, in this example, if the +fuzzy entries were unfuzzied, the untranslated entries were translated +and the obsolete entries were deleted, the mode line would merely +display `145t' for the counters. + + The main PO commands are those which do not fit into the other +categories of subsequent sections. These allow for quitting PO mode or +for managing windows in special ways. + +`_' + Undo last modification to the PO file (`po-undo'). + +`Q' + Quit processing and save the PO file (`po-quit'). + +`q' + Quit processing, possibly after confirmation + (`po-confirm-and-quit'). + +`0' + Temporary leave the PO file window (`po-other-window'). + +`?' +`h' + Show help about PO mode (`po-help'). + +`=' + Give some PO file statistics (`po-statistics'). + +`V' + Batch validate the format of the whole PO file (`po-validate'). + + + The command `_' (`po-undo') interfaces to the Emacs _undo_ facility. +*Note Undoing Changes: (emacs)Undo. Each time `_' is typed, +modifications which the translator did to the PO file are undone a +little more. For the purpose of undoing, each PO mode command is +atomic. This is especially true for the `' command: the whole +edition made by using a single use of this command is undone at once, +even if the edition itself implied several actions. However, while in +the editing window, one can undo the edition work quite parsimoniously. + + The commands `Q' (`po-quit') and `q' (`po-confirm-and-quit') are +used when the translator is done with the PO file. The former is a bit +less verbose than the latter. If the file has been modified, it is +saved to disk first. In both cases, and prior to all this, the +commands check if any untranslated messages remain in the PO file and, +if so, the translator is asked if she really wants to leave off working +with this PO file. This is the preferred way of getting rid of an +Emacs PO file buffer. Merely killing it through the usual command +`C-x k' (`kill-buffer') is not the tidiest way to proceed. + + The command `0' (`po-other-window') is another, softer way, to leave +PO mode, temporarily. It just moves the cursor to some other Emacs +window, and pops one if necessary. For example, if the translator just +got PO mode to show some source context in some other, she might +discover some apparent bug in the program source that needs correction. +This command allows the translator to change sex, become a programmer, +and have the cursor right into the window containing the program she +(or rather _he_) wants to modify. By later getting the cursor back in +the PO file window, or by asking Emacs to edit this file once again, PO +mode is then recovered. + + The command `h' (`po-help') displays a summary of all available PO +mode commands. The translator should then type any character to resume +normal PO mode operations. The command `?' has the same effect as `h'. + + The command `=' (`po-statistics') computes the total number of +entries in the PO file, the ordinal of the current entry (counted from +1), the number of untranslated entries, the number of obsolete entries, +and displays all these numbers. + + The command `V' (`po-validate') launches `msgfmt' in checking and +verbose mode over the current PO file. This command first offers to +save the current PO file on disk. The `msgfmt' tool, from GNU +`gettext', has the purpose of creating a MO file out of a PO file, and +PO mode uses the features of this program for checking the overall +format of a PO file, as well as all individual entries. + + The program `msgfmt' runs asynchronously with Emacs, so the +translator regains control immediately while her PO file is being +studied. Error output is collected in the Emacs `*compilation*' buffer, +displayed in another window. The regular Emacs command `C-x`' +(`next-error'), as well as other usual compile commands, allow the +translator to reposition quickly to the offending parts of the PO file. +Once the cursor is on the line in error, the translator may decide on +any PO mode action which would help correcting the error. + + +File: gettext.info, Node: Entry Positioning, Next: Normalizing, Prev: Main PO Commands, Up: PO Mode + +8.3.3 Entry Positioning +----------------------- + + The cursor in a PO file window is almost always part of an entry. +The only exceptions are the special case when the cursor is after the +last entry in the file, or when the PO file is empty. The entry where +the cursor is found to be is said to be the current entry. Many PO +mode commands operate on the current entry, so moving the cursor does +more than allowing the translator to browse the PO file, this also +selects on which entry commands operate. + + Some PO mode commands alter the position of the cursor in a +specialized way. A few of those special purpose positioning are +described here, the others are described in following sections (for a +complete list try `C-h m'): + +`.' + Redisplay the current entry (`po-current-entry'). + +`n' + Select the entry after the current one (`po-next-entry'). + +`p' + Select the entry before the current one (`po-previous-entry'). + +`<' + Select the first entry in the PO file (`po-first-entry'). + +`>' + Select the last entry in the PO file (`po-last-entry'). + +`m' + Record the location of the current entry for later use + (`po-push-location'). + +`r' + Return to a previously saved entry location (`po-pop-location'). + +`x' + Exchange the current entry location with the previously saved one + (`po-exchange-location'). + + + Any Emacs command able to reposition the cursor may be used to +select the current entry in PO mode, including commands which move by +characters, lines, paragraphs, screens or pages, and search commands. +However, there is a kind of standard way to display the current entry +in PO mode, which usual Emacs commands moving the cursor do not +especially try to enforce. The command `.' (`po-current-entry') has +the sole purpose of redisplaying the current entry properly, after the +current entry has been changed by means external to PO mode, or the +Emacs screen otherwise altered. + + It is yet to be decided if PO mode helps the translator, or otherwise +irritates her, by forcing a rigid window disposition while she is doing +her work. We originally had quite precise ideas about how windows +should behave, but on the other hand, anyone used to Emacs is often +happy to keep full control. Maybe a fixed window disposition might be +offered as a PO mode option that the translator might activate or +deactivate at will, so it could be offered on an experimental basis. +If nobody feels a real need for using it, or a compulsion for writing +it, we should drop this whole idea. The incentive for doing it should +come from translators rather than programmers, as opinions from an +experienced translator are surely more worth to me than opinions from +programmers _thinking_ about how _others_ should do translation. + + The commands `n' (`po-next-entry') and `p' (`po-previous-entry') +move the cursor the entry following, or preceding, the current one. If +`n' is given while the cursor is on the last entry of the PO file, or +if `p' is given while the cursor is on the first entry, no move is done. + + The commands `<' (`po-first-entry') and `>' (`po-last-entry') move +the cursor to the first entry, or last entry, of the PO file. When the +cursor is located past the last entry in a PO file, most PO mode +commands will return an error saying `After last entry'. Moreover, the +commands `<' and `>' have the special property of being able to work +even when the cursor is not into some PO file entry, and one may use +them for nicely correcting this situation. But even these commands +will fail on a truly empty PO file. There are development plans for +the PO mode for it to interactively fill an empty PO file from sources. +*Note Marking::. + + The translator may decide, before working at the translation of a +particular entry, that she needs to browse the remainder of the PO +file, maybe for finding the terminology or phraseology used in related +entries. She can of course use the standard Emacs idioms for saving +the current cursor location in some register, and use that register for +getting back, or else, use the location ring. + + PO mode offers another approach, by which cursor locations may be +saved onto a special stack. The command `m' (`po-push-location') +merely adds the location of current entry to the stack, pushing the +already saved locations under the new one. The command `r' +(`po-pop-location') consumes the top stack element and repositions the +cursor to the entry associated with that top element. This position is +then lost, for the next `r' will move the cursor to the previously +saved location, and so on until no locations remain on the stack. + + If the translator wants the position to be kept on the location +stack, maybe for taking a look at the entry associated with the top +element, then go elsewhere with the intent of getting back later, she +ought to use `m' immediately after `r'. + + The command `x' (`po-exchange-location') simultaneously repositions +the cursor to the entry associated with the top element of the stack of +saved locations, and replaces that top element with the location of the +current entry before the move. Consequently, repeating the `x' command +toggles alternatively between two entries. For achieving this, the +translator will position the cursor on the first entry, use `m', then +position to the second entry, and merely use `x' for making the switch. + + +File: gettext.info, Node: Normalizing, Next: Translated Entries, Prev: Entry Positioning, Up: PO Mode + +8.3.4 Normalizing Strings in Entries +------------------------------------ + + There are many different ways for encoding a particular string into a +PO file entry, because there are so many different ways to split and +quote multi-line strings, and even, to represent special characters by +backslashed escaped sequences. Some features of PO mode rely on the +ability for PO mode to scan an already existing PO file for a +particular string encoded into the `msgid' field of some entry. Even +if PO mode has internally all the built-in machinery for implementing +this recognition easily, doing it fast is technically difficult. To +facilitate a solution to this efficiency problem, we decided on a +canonical representation for strings. + + A conventional representation of strings in a PO file is currently +under discussion, and PO mode experiments with a canonical +representation. Having both `xgettext' and PO mode converging towards +a uniform way of representing equivalent strings would be useful, as +the internal normalization needed by PO mode could be automatically +satisfied when using `xgettext' from GNU `gettext'. An explicit PO +mode normalization should then be only necessary for PO files imported +from elsewhere, or for when the convention itself evolves. + + So, for achieving normalization of at least the strings of a given +PO file needing a canonical representation, the following PO mode +command is available: + +`M-x po-normalize' + Tidy the whole PO file by making entries more uniform. + + + The special command `M-x po-normalize', which has no associated +keys, revises all entries, ensuring that strings of both original and +translated entries use uniform internal quoting in the PO file. It +also removes any crumb after the last entry. This command may be +useful for PO files freshly imported from elsewhere, or if we ever +improve on the canonical quoting format we use. This canonical format +is not only meant for getting cleaner PO files, but also for greatly +speeding up `msgid' string lookup for some other PO mode commands. + + `M-x po-normalize' presently makes three passes over the entries. +The first implements heuristics for converting PO files for GNU +`gettext' 0.6 and earlier, in which `msgid' and `msgstr' fields were +using K&R style C string syntax for multi-line strings. These +heuristics may fail for comments not related to obsolete entries and +ending with a backslash; they also depend on subsequent passes for +finalizing the proper commenting of continued lines for obsolete +entries. This first pass might disappear once all oldish PO files +would have been adjusted. The second and third pass normalize all +`msgid' and `msgstr' strings respectively. They also clean out those +trailing backslashes used by XView's `msgfmt' for continued lines. + + Having such an explicit normalizing command allows for importing PO +files from other sources, but also eases the evolution of the current +convention, evolution driven mostly by aesthetic concerns, as of now. +It is easy to make suggested adjustments at a later time, as the +normalizing command and eventually, other GNU `gettext' tools should +greatly automate conformance. A description of the canonical string +format is given below, for the particular benefit of those not having +Emacs handy, and who would nevertheless want to handcraft their PO +files in nice ways. + + Right now, in PO mode, strings are single line or multi-line. A +string goes multi-line if and only if it has _embedded_ newlines, that +is, if it matches `[^\n]\n+[^\n]'. So, we would have: + + msgstr "\n\nHello, world!\n\n\n" + + but, replacing the space by a newline, this becomes: + + msgstr "" + "\n" + "\n" + "Hello,\n" + "world!\n" + "\n" + "\n" + + We are deliberately using a caricatural example, here, to make the +point clearer. Usually, multi-lines are not that bad looking. It is +probable that we will implement the following suggestion. We might +lump together all initial newlines into the empty string, and also all +newlines introducing empty lines (that is, for N > 1, the N-1'th last +newlines would go together on a separate string), so making the +previous example appear: + + msgstr "\n\n" + "Hello,\n" + "world!\n" + "\n\n" + + There are a few yet undecided little points about string +normalization, to be documented in this manual, once these questions +settle. + + +File: gettext.info, Node: Translated Entries, Next: Fuzzy Entries, Prev: Normalizing, Up: PO Mode + +8.3.5 Translated Entries +------------------------ + + Each PO file entry for which the `msgstr' field has been filled with +a translation, and which is not marked as fuzzy (*note Fuzzy Entries::), +is said to be a "translated" entry. Only translated entries will later +be compiled by GNU `msgfmt' and become usable in programs. Other entry +types will be excluded; translation will not occur for them. + + Some commands are more specifically related to translated entry +processing. + +`t' + Find the next translated entry (`po-next-translated-entry'). + +`T' + Find the previous translated entry + (`po-previous-translated-entry'). + + + The commands `t' (`po-next-translated-entry') and `T' +(`po-previous-translated-entry') move forwards or backwards, chasing +for an translated entry. If none is found, the search is extended and +wraps around in the PO file buffer. + + Translated entries usually result from the translator having edited +in a translation for them, *note Modifying Translations::. However, if +the variable `po-auto-fuzzy-on-edit' is not `nil', the entry having +received a new translation first becomes a fuzzy entry, which ought to +be later unfuzzied before becoming an official, genuine translated +entry. *Note Fuzzy Entries::. + + +File: gettext.info, Node: Fuzzy Entries, Next: Untranslated Entries, Prev: Translated Entries, Up: PO Mode + +8.3.6 Fuzzy Entries +------------------- + + Each PO file entry may have a set of "attributes", which are +qualities given a name and explicitly associated with the translation, +using a special system comment. One of these attributes has the name +`fuzzy', and entries having this attribute are said to have a fuzzy +translation. They are called fuzzy entries, for short. + + Fuzzy entries, even if they account for translated entries for most +other purposes, usually call for revision by the translator. Those may +be produced by applying the program `msgmerge' to update an older +translated PO files according to a new PO template file, when this tool +hypothesises that some new `msgid' has been modified only slightly out +of an older one, and chooses to pair what it thinks to be the old +translation for the new modified entry. The slight alteration in the +original string (the `msgid' string) should often be reflected in the +translated string, and this requires the intervention of the +translator. For this reason, `msgmerge' might mark some entries as +being fuzzy. + + Also, the translator may decide herself to mark an entry as fuzzy +for her own convenience, when she wants to remember that the entry has +to be later revisited. So, some commands are more specifically related +to fuzzy entry processing. + +`f' + Find the next fuzzy entry (`po-next-fuzzy-entry'). + +`F' + Find the previous fuzzy entry (`po-previous-fuzzy-entry'). + +`' + Remove the fuzzy attribute of the current entry (`po-unfuzzy'). + + + The commands `f' (`po-next-fuzzy-entry') and `F' +(`po-previous-fuzzy-entry') move forwards or backwards, chasing for a +fuzzy entry. If none is found, the search is extended and wraps around +in the PO file buffer. + + The command `' (`po-unfuzzy') removes the fuzzy attribute +associated with an entry, usually leaving it translated. Further, if +the variable `po-auto-select-on-unfuzzy' has not the `nil' value, the +`' command will automatically chase for another interesting entry +to work on. The initial value of `po-auto-select-on-unfuzzy' is `nil'. + + The initial value of `po-auto-fuzzy-on-edit' is `nil'. However, if +the variable `po-auto-fuzzy-on-edit' is set to `t', any entry edited +through the `' command is marked fuzzy, as a way to ensure some +kind of double check, later. In this case, the usual paradigm is that +an entry becomes fuzzy (if not already) whenever the translator +modifies it. If she is satisfied with the translation, she then uses +`' to pick another entry to work on, clearing the fuzzy attribute +on the same blow. If she is not satisfied yet, she merely uses `' +to chase another entry, leaving the entry fuzzy. + + The translator may also use the `' command +(`po-fade-out-entry') over any translated entry to mark it as being +fuzzy, when she wants to easily leave a trace she wants to later return +working at this entry. + + Also, when time comes to quit working on a PO file buffer with the +`q' command, the translator is asked for confirmation, if fuzzy string +still exists. + + +File: gettext.info, Node: Untranslated Entries, Next: Obsolete Entries, Prev: Fuzzy Entries, Up: PO Mode + +8.3.7 Untranslated Entries +-------------------------- + + When `xgettext' originally creates a PO file, unless told otherwise, +it initializes the `msgid' field with the untranslated string, and +leaves the `msgstr' string to be empty. Such entries, having an empty +translation, are said to be "untranslated" entries. Later, when the +programmer slightly modifies some string right in the program, this +change is later reflected in the PO file by the appearance of a new +untranslated entry for the modified string. + + The usual commands moving from entry to entry consider untranslated +entries on the same level as active entries. Untranslated entries are +easily recognizable by the fact they end with `msgstr ""'. + + The work of the translator might be (quite naively) seen as the +process of seeking for an untranslated entry, editing a translation for +it, and repeating these actions until no untranslated entries remain. +Some commands are more specifically related to untranslated entry +processing. + +`u' + Find the next untranslated entry (`po-next-untranslated-entry'). + +`U' + Find the previous untranslated entry + (`po-previous-untransted-entry'). + +`k' + Turn the current entry into an untranslated one (`po-kill-msgstr'). + + + The commands `u' (`po-next-untranslated-entry') and `U' +(`po-previous-untransted-entry') move forwards or backwards, chasing +for an untranslated entry. If none is found, the search is extended +and wraps around in the PO file buffer. + + An entry can be turned back into an untranslated entry by merely +emptying its translation, using the command `k' (`po-kill-msgstr'). +*Note Modifying Translations::. + + Also, when time comes to quit working on a PO file buffer with the +`q' command, the translator is asked for confirmation, if some +untranslated string still exists. + + +File: gettext.info, Node: Obsolete Entries, Next: Modifying Translations, Prev: Untranslated Entries, Up: PO Mode + +8.3.8 Obsolete Entries +---------------------- + + By "obsolete" PO file entries, we mean those entries which are +commented out, usually by `msgmerge' when it found that the translation +is not needed anymore by the package being localized. + + The usual commands moving from entry to entry consider obsolete +entries on the same level as active entries. Obsolete entries are +easily recognizable by the fact that all their lines start with `#', +even those lines containing `msgid' or `msgstr'. + + Commands exist for emptying the translation or reinitializing it to +the original untranslated string. Commands interfacing with the kill +ring may force some previously saved text into the translation. The +user may interactively edit the translation. All these commands may +apply to obsolete entries, carefully leaving the entry obsolete after +the fact. + + Moreover, some commands are more specifically related to obsolete +entry processing. + +`o' + Find the next obsolete entry (`po-next-obsolete-entry'). + +`O' + Find the previous obsolete entry (`po-previous-obsolete-entry'). + +`' + Make an active entry obsolete, or zap out an obsolete entry + (`po-fade-out-entry'). + + + The commands `o' (`po-next-obsolete-entry') and `O' +(`po-previous-obsolete-entry') move forwards or backwards, chasing for +an obsolete entry. If none is found, the search is extended and wraps +around in the PO file buffer. + + PO mode does not provide ways for un-commenting an obsolete entry +and making it active, because this would reintroduce an original +untranslated string which does not correspond to any marked string in +the program sources. This goes with the philosophy of never +introducing useless `msgid' values. + + However, it is possible to comment out an active entry, so making it +obsolete. GNU `gettext' utilities will later react to the +disappearance of a translation by using the untranslated string. The +command `' (`po-fade-out-entry') pushes the current entry a little +further towards annihilation. If the entry is active (it is a +translated entry), then it is first made fuzzy. If it is already fuzzy, +then the entry is merely commented out, with confirmation. If the entry +is already obsolete, then it is completely deleted from the PO file. +It is easy to recycle the translation so deleted into some other PO file +entry, usually one which is untranslated. *Note Modifying +Translations::. + + Here is a quite interesting problem to solve for later development of +PO mode, for those nights you are not sleepy. The idea would be that +PO mode might become bright enough, one of these days, to make good +guesses at retrieving the most probable candidate, among all obsolete +entries, for initializing the translation of a newly appeared string. +I think it might be a quite hard problem to do this algorithmically, as +we have to develop good and efficient measures of string similarity. +Right now, PO mode completely lets the decision to the translator, when +the time comes to find the adequate obsolete translation, it merely +tries to provide handy tools for helping her to do so. + + +File: gettext.info, Node: Modifying Translations, Next: Modifying Comments, Prev: Obsolete Entries, Up: PO Mode + +8.3.9 Modifying Translations +---------------------------- + + PO mode prevents direct modification of the PO file, by the usual +means Emacs gives for altering a buffer's contents. By doing so, it +pretends helping the translator to avoid little clerical errors about +the overall file format, or the proper quoting of strings, as those +errors would be easily made. Other kinds of errors are still possible, +but some may be caught and diagnosed by the batch validation process, +which the translator may always trigger by the `V' command. For all +other errors, the translator has to rely on her own judgment, and also +on the linguistic reports submitted to her by the users of the +translated package, having the same mother tongue. + + When the time comes to create a translation, correct an error +diagnosed mechanically or reported by a user, the translators have to +resort to using the following commands for modifying the translations. + +`' + Interactively edit the translation (`po-edit-msgstr'). + +`' +`C-j' + Reinitialize the translation with the original, untranslated string + (`po-msgid-to-msgstr'). + +`k' + Save the translation on the kill ring, and delete it + (`po-kill-msgstr'). + +`w' + Save the translation on the kill ring, without deleting it + (`po-kill-ring-save-msgstr'). + +`y' + Replace the translation, taking the new from the kill ring + (`po-yank-msgstr'). + + + The command `' (`po-edit-msgstr') opens a new Emacs window +meant to edit in a new translation, or to modify an already existing +translation. The new window contains a copy of the translation taken +from the current PO file entry, all ready for edition, expunged of all +quoting marks, fully modifiable and with the complete extent of Emacs +modifying commands. When the translator is done with her +modifications, she may use `C-c C-c' to close the subedit window with +the automatically requoted results, or `C-c C-k' to abort her +modifications. *Note Subedit::, for more information. + + The command `' (`po-msgid-to-msgstr') initializes, or +reinitializes the translation with the original string. This command is +normally used when the translator wants to redo a fresh translation of +the original string, disregarding any previous work. + + It is possible to arrange so, whenever editing an untranslated +entry, the `' command be automatically executed. If you set +`po-auto-edit-with-msgid' to `t', the translation gets initialised with +the original string, in case none exists already. The default value +for `po-auto-edit-with-msgid' is `nil'. + + In fact, whether it is best to start a translation with an empty +string, or rather with a copy of the original string, is a matter of +taste or habit. Sometimes, the source language and the target language +are so different that is simply best to start writing on an empty page. +At other times, the source and target languages are so close that it +would be a waste to retype a number of words already being written in +the original string. A translator may also like having the original +string right under her eyes, as she will progressively overwrite the +original text with the translation, even if this requires some extra +editing work to get rid of the original. + + The command `k' (`po-kill-msgstr') merely empties the translation +string, so turning the entry into an untranslated one. But while doing +so, its previous contents is put apart in a special place, known as the +kill ring. The command `w' (`po-kill-ring-save-msgstr') has also the +effect of taking a copy of the translation onto the kill ring, but it +otherwise leaves the entry alone, and does _not_ remove the translation +from the entry. Both commands use exactly the Emacs kill ring, which +is shared between buffers, and which is well known already to Emacs +lovers. + + The translator may use `k' or `w' many times in the course of her +work, as the kill ring may hold several saved translations. From the +kill ring, strings may later be reinserted in various Emacs buffers. +In particular, the kill ring may be used for moving translation strings +between different entries of a single PO file buffer, or if the +translator is handling many such buffers at once, even between PO files. + + To facilitate exchanges with buffers which are not in PO mode, the +translation string put on the kill ring by the `k' command is fully +unquoted before being saved: external quotes are removed, multi-line +strings are concatenated, and backslash escaped sequences are turned +into their corresponding characters. In the special case of obsolete +entries, the translation is also uncommented prior to saving. + + The command `y' (`po-yank-msgstr') completely replaces the +translation of the current entry by a string taken from the kill ring. +Following Emacs terminology, we then say that the replacement string is +"yanked" into the PO file buffer. *Note Yanking: (emacs)Yanking. The +first time `y' is used, the translation receives the value of the most +recent addition to the kill ring. If `y' is typed once again, +immediately, without intervening keystrokes, the translation just +inserted is taken away and replaced by the second most recent addition +to the kill ring. By repeating `y' many times in a row, the translator +may travel along the kill ring for saved strings, until she finds the +string she really wanted. + + When a string is yanked into a PO file entry, it is fully and +automatically requoted for complying with the format PO files should +have. Further, if the entry is obsolete, PO mode then appropriately +push the inserted string inside comments. Once again, translators +should not burden themselves with quoting considerations besides, of +course, the necessity of the translated string itself respective to the +program using it. + + Note that `k' or `w' are not the only commands pushing strings on +the kill ring, as almost any PO mode command replacing translation +strings (or the translator comments) automatically saves the old string +on the kill ring. The main exceptions to this general rule are the +yanking commands themselves. + + To better illustrate the operation of killing and yanking, let's use +an actual example, taken from a common situation. When the programmer +slightly modifies some string right in the program, his change is later +reflected in the PO file by the appearance of a new untranslated entry +for the modified string, and the fact that the entry translating the +original or unmodified string becomes obsolete. In many cases, the +translator might spare herself some work by retrieving the unmodified +translation from the obsolete entry, then initializing the untranslated +entry `msgstr' field with this retrieved translation. Once this done, +the obsolete entry is not wanted anymore, and may be safely deleted. + + When the translator finds an untranslated entry and suspects that a +slight variant of the translation exists, she immediately uses `m' to +mark the current entry location, then starts chasing obsolete entries +with `o', hoping to find some translation corresponding to the +unmodified string. Once found, she uses the `' command for +deleting the obsolete entry, knowing that `' also _kills_ the +translation, that is, pushes the translation on the kill ring. Then, +`r' returns to the initial untranslated entry, and `y' then _yanks_ the +saved translation right into the `msgstr' field. The translator is +then free to use `' for fine tuning the translation contents, and +maybe to later use `u', then `m' again, for going on with the next +untranslated string. + + When some sequence of keys has to be typed over and over again, the +translator may find it useful to become better acquainted with the Emacs +capability of learning these sequences and playing them back under +request. *Note Keyboard Macros: (emacs)Keyboard Macros. + + +File: gettext.info, Node: Modifying Comments, Next: Subedit, Prev: Modifying Translations, Up: PO Mode + +8.3.10 Modifying Comments +------------------------- + + Any translation work done seriously will raise many linguistic +difficulties, for which decisions have to be made, and the choices +further documented. These documents may be saved within the PO file in +form of translator comments, which the translator is free to create, +delete, or modify at will. These comments may be useful to herself +when she returns to this PO file after a while. + + Comments not having whitespace after the initial `#', for example, +those beginning with `#.' or `#:', are _not_ translator comments, they +are exclusively created by other `gettext' tools. So, the commands +below will never alter such system added comments, they are not meant +for the translator to modify. *Note PO Files::. + + The following commands are somewhat similar to those modifying +translations, so the general indications given for those apply here. +*Note Modifying Translations::. + +`#' + Interactively edit the translator comments (`po-edit-comment'). + +`K' + Save the translator comments on the kill ring, and delete it + (`po-kill-comment'). + +`W' + Save the translator comments on the kill ring, without deleting it + (`po-kill-ring-save-comment'). + +`Y' + Replace the translator comments, taking the new from the kill ring + (`po-yank-comment'). + + + These commands parallel PO mode commands for modifying the +translation strings, and behave much the same way as they do, except +that they handle this part of PO file comments meant for translator +usage, rather than the translation strings. So, if the descriptions +given below are slightly succinct, it is because the full details have +already been given. *Note Modifying Translations::. + + The command `#' (`po-edit-comment') opens a new Emacs window +containing a copy of the translator comments on the current PO file +entry. If there are no such comments, PO mode understands that the +translator wants to add a comment to the entry, and she is presented +with an empty screen. Comment marks (`#') and the space following them +are automatically removed before edition, and reinstated after. For +translator comments pertaining to obsolete entries, the uncommenting +and recommenting operations are done twice. Once in the editing +window, the keys `C-c C-c' allow the translator to tell she is finished +with editing the comment. *Note Subedit::, for further details. + + Functions found on `po-subedit-mode-hook', if any, are executed after +the string has been inserted in the edit buffer. + + The command `K' (`po-kill-comment') gets rid of all translator +comments, while saving those comments on the kill ring. The command +`W' (`po-kill-ring-save-comment') takes a copy of the translator +comments on the kill ring, but leaves them undisturbed in the current +entry. The command `Y' (`po-yank-comment') completely replaces the +translator comments by a string taken at the front of the kill ring. +When this command is immediately repeated, the comments just inserted +are withdrawn, and replaced by other strings taken along the kill ring. + + On the kill ring, all strings have the same nature. There is no +distinction between _translation_ strings and _translator comments_ +strings. So, for example, let's presume the translator has just +finished editing a translation, and wants to create a new translator +comment to document why the previous translation was not good, just to +remember what was the problem. Foreseeing that she will do that in her +documentation, the translator may want to quote the previous +translation in her translator comments. To do so, she may initialize +the translator comments with the previous translation, still at the +head of the kill ring. Because editing already pushed the previous +translation on the kill ring, she merely has to type `M-w' prior to +`#', and the previous translation will be right there, all ready for +being introduced by some explanatory text. + + On the other hand, presume there are some translator comments already +and that the translator wants to add to those comments, instead of +wholly replacing them. Then, she should edit the comment right away +with `#'. Once inside the editing window, she can use the regular +Emacs commands `C-y' (`yank') and `M-y' (`yank-pop') to get the +previous translation where she likes. + + +File: gettext.info, Node: Subedit, Next: C Sources Context, Prev: Modifying Comments, Up: PO Mode + +8.3.11 Details of Sub Edition +----------------------------- + + The PO subedit minor mode has a few peculiarities worth being +described in fuller detail. It installs a few commands over the usual +editing set of Emacs, which are described below. + +`C-c C-c' + Complete edition (`po-subedit-exit'). + +`C-c C-k' + Abort edition (`po-subedit-abort'). + +`C-c C-a' + Consult auxiliary PO files (`po-subedit-cycle-auxiliary'). + + + The window's contents represents a translation for a given message, +or a translator comment. The translator may modify this window to her +heart's content. Once this is done, the command `C-c C-c' +(`po-subedit-exit') may be used to return the edited translation into +the PO file, replacing the original translation, even if it moved out of +sight or if buffers were switched. + + If the translator becomes unsatisfied with her translation or +comment, to the extent she prefers keeping what was existent prior to +the `' or `#' command, she may use the command `C-c C-k' +(`po-subedit-abort') to merely get rid of edition, while preserving the +original translation or comment. Another way would be for her to exit +normally with `C-c C-c', then type `U' once for undoing the whole +effect of last edition. + + The command `C-c C-a' (`po-subedit-cycle-auxiliary') allows for +glancing through translations already achieved in other languages, +directly while editing the current translation. This may be quite +convenient when the translator is fluent at many languages, but of +course, only makes sense when such completed auxiliary PO files are +already available to her (*note Auxiliary::). + + Functions found on `po-subedit-mode-hook', if any, are executed after +the string has been inserted in the edit buffer. + + While editing her translation, the translator should pay attention +to not inserting unwanted `' (newline) characters at the end of +the translated string if those are not meant to be there, or to removing +such characters when they are required. Since these characters are not +visible in the editing buffer, they are easily introduced by mistake. +To help her, `' automatically puts the character `<' at the end of +the string being edited, but this `<' is not really part of the string. +On exiting the editing window with `C-c C-c', PO mode automatically +removes such `<' and all whitespace added after it. If the translator +adds characters after the terminating `<', it looses its delimiting +property and integrally becomes part of the string. If she removes the +delimiting `<', then the edited string is taken _as is_, with all +trailing newlines, even if invisible. Also, if the translated string +ought to end itself with a genuine `<', then the delimiting `<' may not +be removed; so the string should appear, in the editing window, as +ending with two `<' in a row. + + When a translation (or a comment) is being edited, the translator +may move the cursor back into the PO file buffer and freely move to +other entries, browsing at will. If, with an edition pending, the +translator wanders in the PO file buffer, she may decide to start +modifying another entry. Each entry being edited has its own subedit +buffer. It is possible to simultaneously edit the translation _and_ +the comment of a single entry, or to edit entries in different PO +files, all at once. Typing `' on a field already being edited +merely resumes that particular edit. Yet, the translator should better +be comfortable at handling many Emacs windows! + + Pending subedits may be completed or aborted in any order, regardless +of how or when they were started. When many subedits are pending and +the translator asks for quitting the PO file (with the `q' command), +subedits are automatically resumed one at a time, so she may decide for +each of them. + + +File: gettext.info, Node: C Sources Context, Next: Auxiliary, Prev: Subedit, Up: PO Mode + +8.3.12 C Sources Context +------------------------ + + PO mode is particularly powerful when used with PO files created +through GNU `gettext' utilities, as those utilities insert special +comments in the PO files they generate. Some of these special comments +relate the PO file entry to exactly where the untranslated string +appears in the program sources. + + When the translator gets to an untranslated entry, she is fairly +often faced with an original string which is not as informative as it +normally should be, being succinct, cryptic, or otherwise ambiguous. +Before choosing how to translate the string, she needs to understand +better what the string really means and how tight the translation has +to be. Most of the time, when problems arise, the only way left to make +her judgment is looking at the true program sources from where this +string originated, searching for surrounding comments the programmer +might have put in there, and looking around for helping clues of _any_ +kind. + + Surely, when looking at program sources, the translator will receive +more help if she is a fluent programmer. However, even if she is not +versed in programming and feels a little lost in C code, the translator +should not be shy at taking a look, once in a while. It is most +probable that she will still be able to find some of the hints she +needs. She will learn quickly to not feel uncomfortable in program +code, paying more attention to programmer's comments, variable and +function names (if he dared choosing them well), and overall +organization, than to the program code itself. + + The following commands are meant to help the translator at getting +program source context for a PO file entry. + +`s' + Resume the display of a program source context, or cycle through + them (`po-cycle-source-reference'). + +`M-s' + Display of a program source context selected by menu + (`po-select-source-reference'). + +`S' + Add a directory to the search path for source files + (`po-consider-source-path'). + +`M-S' + Delete a directory from the search path for source files + (`po-ignore-source-path'). + + + The commands `s' (`po-cycle-source-reference') and `M-s' +(`po-select-source-reference') both open another window displaying some +source program file, and already positioned in such a way that it shows +an actual use of the string to be translated. By doing so, the command +gives source program context for the string. But if the entry has no +source context references, or if all references are unresolved along +the search path for program sources, then the command diagnoses this as +an error. + + Even if `s' (or `M-s') opens a new window, the cursor stays in the +PO file window. If the translator really wants to get into the program +source window, she ought to do it explicitly, maybe by using command +`O'. + + When `s' is typed for the first time, or for a PO file entry which +is different of the last one used for getting source context, then the +command reacts by giving the first context available for this entry, if +any. If some context has already been recently displayed for the +current PO file entry, and the translator wandered off to do other +things, typing `s' again will merely resume, in another window, the +context last displayed. In particular, if the translator moved the +cursor away from the context in the source file, the command will bring +the cursor back to the context. By using `s' many times in a row, with +no other commands intervening, PO mode will cycle to the next available +contexts for this particular entry, getting back to the first context +once the last has been shown. + + The command `M-s' behaves differently. Instead of cycling through +references, it lets the translator choose a particular reference among +many, and displays that reference. It is best used with completion, if +the translator types `' immediately after `M-s', in response to +the question, she will be offered a menu of all possible references, as +a reminder of which are the acceptable answers. This command is useful +only where there are really many contexts available for a single string +to translate. + + Program source files are usually found relative to where the PO file +stands. As a special provision, when this fails, the file is also +looked for, but relative to the directory immediately above it. Those +two cases take proper care of most PO files. However, it might happen +that a PO file has been moved, or is edited in a different place than +its normal location. When this happens, the translator should tell PO +mode in which directory normally sits the genuine PO file. Many such +directories may be specified, and all together, they constitute what is +called the "search path" for program sources. The command `S' +(`po-consider-source-path') is used to interactively enter a new +directory at the front of the search path, and the command `M-S' +(`po-ignore-source-path') is used to select, with completion, one of +the directories she does not want anymore on the search path. + + +File: gettext.info, Node: Auxiliary, Prev: C Sources Context, Up: PO Mode + +8.3.13 Consulting Auxiliary PO Files +------------------------------------ + + PO mode is able to help the knowledgeable translator, being fluent in +many languages, at taking advantage of translations already achieved in +other languages she just happens to know. It provides these other +language translations as additional context for her own work. Moreover, +it has features to ease the production of translations for many +languages at once, for translators preferring to work in this way. + + An "auxiliary" PO file is an existing PO file meant for the same +package the translator is working on, but targeted to a different mother +tongue language. Commands exist for declaring and handling auxiliary +PO files, and also for showing contexts for the entry under work. + + Here are the auxiliary file commands available in PO mode. + +`a' + Seek auxiliary files for another translation for the same entry + (`po-cycle-auxiliary'). + +`C-c C-a' + Switch to a particular auxiliary file (`po-select-auxiliary'). + +`A' + Declare this PO file as an auxiliary file + (`po-consider-as-auxiliary'). + +`M-A' + Remove this PO file from the list of auxiliary files + (`po-ignore-as-auxiliary'). + + + Command `A' (`po-consider-as-auxiliary') adds the current PO file to +the list of auxiliary files, while command `M-A' +(`po-ignore-as-auxiliary' just removes it. + + The command `a' (`po-cycle-auxiliary') seeks all auxiliary PO files, +round-robin, searching for a translated entry in some other language +having an `msgid' field identical as the one for the current entry. +The found PO file, if any, takes the place of the current PO file in +the display (its window gets on top). Before doing so, the current PO +file is also made into an auxiliary file, if not already. So, `a' in +this newly displayed PO file will seek another PO file, and so on, so +repeating `a' will eventually yield back the original PO file. + + The command `C-c C-a' (`po-select-auxiliary') asks the translator +for her choice of a particular auxiliary file, with completion, and +then switches to that selected PO file. The command also checks if the +selected file has an `msgid' field identical as the one for the current +entry, and if yes, this entry becomes current. Otherwise, the cursor +of the selected file is left undisturbed. + + For all this to work fully, auxiliary PO files will have to be +normalized, in that way that `msgid' fields should be written _exactly_ +the same way. It is possible to write `msgid' fields in various ways +for representing the same string, different writing would break the +proper behaviour of the auxiliary file commands of PO mode. This is not +expected to be much a problem in practice, as most existing PO files +have their `msgid' entries written by the same GNU `gettext' tools. + + However, PO files initially created by PO mode itself, while marking +strings in source files, are normalised differently. So are PO files +resulting of the `M-x normalize' command. Until these discrepancies +between PO mode and other GNU `gettext' tools get fully resolved, the +translator should stay aware of normalisation issues. + + +File: gettext.info, Node: Compendium, Prev: PO Mode, Up: Editing + +8.4 Using Translation Compendia +=============================== + + A "compendium" is a special PO file containing a set of translations +recurring in many different packages. The translator can use gettext +tools to build a new compendium, to add entries to her compendium, and +to initialize untranslated entries, or to update already translated +entries, from translations kept in the compendium. + +* Menu: + +* Creating Compendia:: Merging translations for later use +* Using Compendia:: Using older translations if they fit + + +File: gettext.info, Node: Creating Compendia, Next: Using Compendia, Prev: Compendium, Up: Compendium + +8.4.1 Creating Compendia +------------------------ + + Basically every PO file consisting of translated entries only can be +declared as a valid compendium. Often the translator wants to have +special compendia; let's consider two cases: `concatenating PO files' +and `extracting a message subset from a PO file'. + +8.4.1.1 Concatenate PO Files +............................ + + To concatenate several valid PO files into one compendium file you +can use `msgcomm' or `msgcat' (the latter preferred): + + msgcat -o compendium.po file1.po file2.po + + By default, `msgcat' will accumulate divergent translations for the +same string. Those occurrences will be marked as `fuzzy' and highly +visible decorated; calling `msgcat' on `file1.po': + + #: src/hello.c:200 + #, c-format + msgid "Report bugs to <%s>.\n" + msgstr "Comunicar `bugs' a <%s>.\n" + +and `file2.po': + + #: src/bye.c:100 + #, c-format + msgid "Report bugs to <%s>.\n" + msgstr "Comunicar \"bugs\" a <%s>.\n" + +will result in: + + #: src/hello.c:200 src/bye.c:100 + #, fuzzy, c-format + msgid "Report bugs to <%s>.\n" + msgstr "" + "#-#-#-#-# file1.po #-#-#-#-#\n" + "Comunicar `bugs' a <%s>.\n" + "#-#-#-#-# file2.po #-#-#-#-#\n" + "Comunicar \"bugs\" a <%s>.\n" + +The translator will have to resolve this "conflict" manually; she has +to decide whether the first or the second version is appropriate (or +provide a new translation), to delete the "marker lines", and finally +to remove the `fuzzy' mark. + + If the translator knows in advance the first found translation of a +message is always the best translation she can make use to the +`--use-first' switch: + + msgcat --use-first -o compendium.po file1.po file2.po + + A good compendium file must not contain `fuzzy' or untranslated +entries. If input files are "dirty" you must preprocess the input +files or postprocess the result using `msgattrib --translated +--no-fuzzy'. + +8.4.1.2 Extract a Message Subset from a PO File +............................................... + + Nobody wants to translate the same messages again and again; thus you +may wish to have a compendium file containing `getopt.c' messages. + + To extract a message subset (e.g., all `getopt.c' messages) from an +existing PO file into one compendium file you can use `msggrep': + + msggrep --location src/getopt.c -o compendium.po file.po + + +File: gettext.info, Node: Using Compendia, Prev: Creating Compendia, Up: Compendium + +8.4.2 Using Compendia +--------------------- + + You can use a compendium file to initialize a translation from +scratch or to update an already existing translation. + +8.4.2.1 Initialize a New Translation File +......................................... + + Since a PO file with translations does not exist the translator can +merely use `/dev/null' to fake the "old" translation file. + + msgmerge --compendium compendium.po -o file.po /dev/null file.pot + +8.4.2.2 Update an Existing Translation File +........................................... + + Concatenate the compendium file(s) and the existing PO, merge the +result with the POT file and remove the obsolete entries (optional, +here done using `sed'): + + msgcat --use-first -o update.po compendium1.po compendium2.po file.po + msgmerge update.po file.pot | msgattrib --no-obsolete > file.po + + +File: gettext.info, Node: Manipulating, Next: Binaries, Prev: Editing, Up: Top + +9 Manipulating PO Files +*********************** + + Sometimes it is necessary to manipulate PO files in a way that is +better performed automatically than by hand. GNU `gettext' includes a +complete set of tools for this purpose. + + When merging two packages into a single package, the resulting POT +file will be the concatenation of the two packages' POT files. Thus the +maintainer must concatenate the two existing package translations into +a single translation catalog, for each language. This is best performed +using `msgcat'. It is then the translators' duty to deal with any +possible conflicts that arose during the merge. + + When a translator takes over the translation job from another +translator, but she uses a different character encoding in her locale, +she will convert the catalog to her character encoding. This is best +done through the `msgconv' program. + + When a maintainer takes a source file with tagged messages from +another package, he should also take the existing translations for this +source file (and not let the translators do the same job twice). One +way to do this is through `msggrep', another is to create a POT file for +that source file and use `msgmerge'. + + When a translator wants to adjust some translation catalog for a +special dialect or orthography -- for example, German as written in +Switzerland versus German as written in Germany -- she needs to apply +some text processing to every message in the catalog. The tool for +doing this is `msgfilter'. + + Another use of `msgfilter' is to produce approximately the POT file +for which a given PO file was made. This can be done through a filter +command like `msgfilter sed -e d | sed -e '/^# /d''. Note that the +original POT file may have had different comments and different plural +message counts, that's why it's better to use the original POT file if +available. + + When a translator wants to check her translations, for example +according to orthography rules or using a non-interactive spell +checker, she can do so using the `msgexec' program. + + When third party tools create PO or POT files, sometimes duplicates +cannot be avoided. But the GNU `gettext' tools give an error when they +encounter duplicate msgids in the same file and in the same domain. To +merge duplicates, the `msguniq' program can be used. + + `msgcomm' is a more general tool for keeping or throwing away +duplicates, occurring in different files. + + `msgcmp' can be used to check whether a translation catalog is +completely translated. + + `msgattrib' can be used to select and extract only the fuzzy or +untranslated messages of a translation catalog. + + `msgen' is useful as a first step for preparing English translation +catalogs. It copies each message's msgid to its msgstr. + + Finally, for those applications where all these various programs are +not sufficient, a library `libgettextpo' is provided that can be used to +write other specialized programs that process PO files. + +* Menu: + +* msgcat Invocation:: Invoking the `msgcat' Program +* msgconv Invocation:: Invoking the `msgconv' Program +* msggrep Invocation:: Invoking the `msggrep' Program +* msgfilter Invocation:: Invoking the `msgfilter' Program +* msguniq Invocation:: Invoking the `msguniq' Program +* msgcomm Invocation:: Invoking the `msgcomm' Program +* msgcmp Invocation:: Invoking the `msgcmp' Program +* msgattrib Invocation:: Invoking the `msgattrib' Program +* msgen Invocation:: Invoking the `msgen' Program +* msgexec Invocation:: Invoking the `msgexec' Program +* Colorizing:: Highlighting parts of PO files +* libgettextpo:: Writing your own programs that process PO files + + +File: gettext.info, Node: msgcat Invocation, Next: msgconv Invocation, Prev: Manipulating, Up: Manipulating + +9.1 Invoking the `msgcat' Program +================================= + + msgcat [OPTION] [INPUTFILE]... + + The `msgcat' program concatenates and merges the specified PO files. +It finds messages which are common to two or more of the specified PO +files. By using the `--more-than' option, greater commonality may be +requested before messages are printed. Conversely, the `--less-than' +option may be used to specify less commonality before messages are +printed (i.e. `--less-than=2' will only print the unique messages). +Translations, comments and extract comments will be cumulated, except +that if `--use-first' is specified, they will be taken from the first +PO file to define them. File positions from all PO files will be +cumulated. + +9.1.1 Input file location +------------------------- + +`INPUTFILE ...' + Input files. + +`-f FILE' +`--files-from=FILE' + Read the names of the input files from FILE instead of getting + them from the command line. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If INPUTFILE is `-', standard input is read. + +9.1.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.1.3 Message selection +----------------------- + +`-< NUMBER' +`--less-than=NUMBER' + Print messages with less than NUMBER definitions, defaults to + infinite if not set. + +`-> NUMBER' +`--more-than=NUMBER' + Print messages with more than NUMBER definitions, defaults to 0 if + not set. + +`-u' +`--unique' + Shorthand for `--less-than=2'. Requests that only unique messages + be printed. + + +9.1.4 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input files are Java ResourceBundles in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input files are NeXTstep/GNUstep localized resource + files in `.strings' syntax, not in PO file syntax. + + +9.1.5 Output details +-------------------- + +`-t' +`--to-code=NAME' + Specify encoding for output. + +`--use-first' + Use first available translation for each message. Don't merge + several translations into one. + +`--lang=CATALOGNAME' + Specify the `Language' field to be used in the header entry. See + *note Header Entry:: for the meaning of this field. Note: The + `Language-Team' and `Plural-Forms' fields are left unchanged. + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`-n' +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +9.1.6 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msgconv Invocation, Next: msggrep Invocation, Prev: msgcat Invocation, Up: Manipulating + +9.2 Invoking the `msgconv' Program +================================== + + msgconv [OPTION] [INPUTFILE] + + The `msgconv' program converts a translation catalog to a different +character encoding. + +9.2.1 Input file location +------------------------- + +`INPUTFILE' + Input PO file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If no INPUTFILE is given or if it is `-', standard input is read. + +9.2.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.2.3 Conversion target +----------------------- + +`-t' +`--to-code=NAME' + Specify encoding for output. + + + The default encoding is the current locale's encoding. + +9.2.4 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.2.5 Output details +-------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +9.2.6 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msggrep Invocation, Next: msgfilter Invocation, Prev: msgconv Invocation, Up: Manipulating + +9.3 Invoking the `msggrep' Program +================================== + + msggrep [OPTION] [INPUTFILE] + + The `msggrep' program extracts all messages of a translation catalog +that match a given pattern or belong to some given source files. + +9.3.1 Input file location +------------------------- + +`INPUTFILE' + Input PO file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If no INPUTFILE is given or if it is `-', standard input is read. + +9.3.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.3.3 Message selection +----------------------- + + [-N SOURCEFILE]... [-M DOMAINNAME]... + [-J MSGCTXT-PATTERN] [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] + [-C COMMENT-PATTERN] + + A message is selected if + * it comes from one of the specified source files, + + * or if it comes from one of the specified domains, + + * or if `-J' is given and its context (msgctxt) matches + MSGCTXT-PATTERN, + + * or if `-K' is given and its key (msgid or msgid_plural) matches + MSGID-PATTERN, + + * or if `-T' is given and its translation (msgstr) matches + MSGSTR-PATTERN, + + * or if `-C' is given and the translator's comment matches + COMMENT-PATTERN. + + When more than one selection criterion is specified, the set of +selected messages is the union of the selected messages of each +criterion. + + MSGCTXT-PATTERN or MSGID-PATTERN or MSGSTR-PATTERN syntax: + [-E | -F] [-e PATTERN | -f FILE]... + PATTERNs are basic regular expressions by default, or extended +regular expressions if -E is given, or fixed strings if -F is given. + +`-N SOURCEFILE' +`--location=SOURCEFILE' + Select messages extracted from SOURCEFILE. SOURCEFILE can be + either a literal file name or a wildcard pattern. + +`-M DOMAINNAME' +`--domain=DOMAINNAME' + Select messages belonging to domain DOMAINNAME. + +`-J' +`--msgctxt' + Start of patterns for the msgctxt. + +`-K' +`--msgid' + Start of patterns for the msgid. + +`-T' +`--msgstr' + Start of patterns for the msgstr. + +`-C' +`--comment' + Start of patterns for the translator's comment. + +`-X' +`--extracted-comment' + Start of patterns for the extracted comments. + +`-E' +`--extended-regexp' + Specify that PATTERN is an extended regular expression. + +`-F' +`--fixed-strings' + Specify that PATTERN is a set of newline-separated strings. + +`-e PATTERN' +`--regexp=PATTERN' + Use PATTERN as a regular expression. + +`-f FILE' +`--file=FILE' + Obtain PATTERN from FILE. + +`-i' +`--ignore-case' + Ignore case distinctions. + +`-v' +`--invert-match' + Output only the messages that do not match any selection + criterion, instead of the messages that match a selection + criterion. + + +9.3.4 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.3.5 Output details +-------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`--sort-by-file' + Sort output by file location. + + +9.3.6 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + +9.3.7 Examples +-------------- + + To extract the messages that come from the source files +`gnulib-lib/error.c' and `gnulib-lib/getopt.c': + + msggrep -N gnulib-lib/error.c -N gnulib-lib/getopt.c input.po + + To extract the messages that contain the string "Please specify" in +the original string: + + msggrep --msgid -F -e 'Please specify' input.po + + To extract the messages that have a context specifier of either +"Menu>File" or "Menu>Edit" or a submenu of them: + + msggrep --msgctxt -E -e '^Menu>(File|Edit)' input.po + + To extract the messages whose translation contains one of the +strings in the file `wordlist.txt': + + msggrep --msgstr -F -f wordlist.txt input.po + + +File: gettext.info, Node: msgfilter Invocation, Next: msguniq Invocation, Prev: msggrep Invocation, Up: Manipulating + +9.4 Invoking the `msgfilter' Program +==================================== + + msgfilter [OPTION] FILTER [FILTER-OPTION] + + The `msgfilter' program applies a filter to all translations of a +translation catalog. + + During each FILTER invocation, the environment variable +`MSGFILTER_MSGID' is bound to the message's msgid, and the environment +variable `MSGFILTER_LOCATION' is bound to the location in the PO file +of the message. If the message has a context, the environment variable +`MSGFILTER_MSGCTXT' is bound to the message's msgctxt, otherwise it is +unbound. + +9.4.1 Input file location +------------------------- + +`-i INPUTFILE' +`--input=INPUTFILE' + Input PO file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If no INPUTFILE is given or if it is `-', standard input is read. + +9.4.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.4.3 The filter +---------------- + + The FILTER can be any program that reads a translation from standard +input and writes a modified translation to standard output. A +frequently used filter is `sed'. A few particular built-in filters are +also recognized. + + Note: If the filter is not a built-in filter, you have to care about +encodings: It is your responsibility to ensure that the FILTER can cope +with input encoded in the translation catalog's encoding. If the +FILTER wants input in a particular encoding, you can in a first step +convert the translation catalog to that encoding using the `msgconv' +program, before invoking `msgfilter'. If the FILTER wants input in the +locale's encoding, but you want to avoid the locale's encoding, then +you can first convert the translation catalog to UTF-8 using the +`msgconv' program and then make `msgfilter' work in an UTF-8 locale, by +using the `LC_ALL' environment variable. + + Note: Most translations in a translation catalog don't end with a +newline character. For this reason, it is important that the FILTER +recognizes its last input line even if it ends without a newline, and +that it doesn't add an undesired trailing newline at the end. The `sed' +program on some platforms is known to ignore the last line of input if +it is not terminated with a newline. You can use GNU `sed' instead; it +does not have this limitation. + +9.4.4 Useful FILTER-OPTIONs when the FILTER is `sed' +---------------------------------------------------- + +`-e SCRIPT' +`--expression=SCRIPT' + Add SCRIPT to the commands to be executed. + +`-f SCRIPTFILE' +`--file=SCRIPTFILE' + Add the contents of SCRIPTFILE to the commands to be executed. + +`-n' +`--quiet' +`--silent' + Suppress automatic printing of pattern space. + + +9.4.5 Built-in FILTERs +---------------------- + + The filter `recode-sr-latin' is recognized as a built-in filter. +The command `recode-sr-latin' converts Serbian text, written in the +Cyrillic script, to the Latin script. The command `msgfilter +recode-sr-latin' applies this conversion to the translations of a PO +file. Thus, it can be used to convert an `sr.po' file to an +`sr@latin.po' file. + + The use of built-in filters is not sensitive to the current locale's +encoding. Moreover, when used with a built-in filter, `msgfilter' can +automatically convert the message catalog to the UTF-8 encoding when +needed. + +9.4.6 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.4.7 Output details +-------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`--indent' + Write the .po file using indented style. + +`--keep-header' + Keep the header entry, i.e. the message with `msgid ""', + unmodified, instead of filtering it. By default, the header entry + is subject to filtering like any other message. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +9.4.8 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + +9.4.9 Examples +-------------- + + To convert German translations to Swiss orthography (in an UTF-8 +locale): + + msgconv -t UTF-8 de.po | msgfilter sed -e 's/ß/ss/g' + + To convert Serbian translations in Cyrillic script to Latin script: + + msgfilter recode-sr-latin < sr.po + + +File: gettext.info, Node: msguniq Invocation, Next: msgcomm Invocation, Prev: msgfilter Invocation, Up: Manipulating + +9.5 Invoking the `msguniq' Program +================================== + + msguniq [OPTION] [INPUTFILE] + + The `msguniq' program unifies duplicate translations in a translation +catalog. It finds duplicate translations of the same message ID. Such +duplicates are invalid input for other programs like `msgfmt', +`msgmerge' or `msgcat'. By default, duplicates are merged together. +When using the `--repeated' option, only duplicates are output, and all +other messages are discarded. Comments and extracted comments will be +cumulated, except that if `--use-first' is specified, they will be +taken from the first translation. File positions will be cumulated. +When using the `--unique' option, duplicates are discarded. + +9.5.1 Input file location +------------------------- + +`INPUTFILE' + Input PO file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If no INPUTFILE is given or if it is `-', standard input is read. + +9.5.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.5.3 Message selection +----------------------- + +`-d' +`--repeated' + Print only duplicates. + +`-u' +`--unique' + Print only unique messages, discard duplicates. + + +9.5.4 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.5.5 Output details +-------------------- + +`-t' +`--to-code=NAME' + Specify encoding for output. + +`--use-first' + Use first available translation for each message. Don't merge + several translations into one. + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`-n' +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +9.5.6 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msgcomm Invocation, Next: msgcmp Invocation, Prev: msguniq Invocation, Up: Manipulating + +9.6 Invoking the `msgcomm' Program +================================== + + msgcomm [OPTION] [INPUTFILE]... + + The `msgcomm' program finds messages which are common to two or more +of the specified PO files. By using the `--more-than' option, greater +commonality may be requested before messages are printed. Conversely, +the `--less-than' option may be used to specify less commonality before +messages are printed (i.e. `--less-than=2' will only print the unique +messages). Translations, comments and extract comments will be +preserved, but only from the first PO file to define them. File +positions from all PO files will be cumulated. + +9.6.1 Input file location +------------------------- + +`INPUTFILE ...' + Input files. + +`-f FILE' +`--files-from=FILE' + Read the names of the input files from FILE instead of getting + them from the command line. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If INPUTFILE is `-', standard input is read. + +9.6.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.6.3 Message selection +----------------------- + +`-< NUMBER' +`--less-than=NUMBER' + Print messages with less than NUMBER definitions, defaults to + infinite if not set. + +`-> NUMBER' +`--more-than=NUMBER' + Print messages with more than NUMBER definitions, defaults to 1 if + not set. + +`-u' +`--unique' + Shorthand for `--less-than=2'. Requests that only unique messages + be printed. + + +9.6.4 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input files are Java ResourceBundles in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input files are NeXTstep/GNUstep localized resource + files in `.strings' syntax, not in PO file syntax. + + +9.6.5 Output details +-------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`-n' +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + +`--omit-header' + Don't write header with `msgid ""' entry. + + +9.6.6 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msgcmp Invocation, Next: msgattrib Invocation, Prev: msgcomm Invocation, Up: Manipulating + +9.7 Invoking the `msgcmp' Program +================================= + + msgcmp [OPTION] DEF.po REF.pot + + The `msgcmp' program compares two Uniforum style .po files to check +that both contain the same set of msgid strings. The DEF.po file is an +existing PO file with the translations. The REF.pot file is the last +created PO file, or a PO Template file (generally created by +`xgettext'). This is useful for checking that you have translated each +and every message in your program. Where an exact match cannot be +found, fuzzy matching is used to produce better diagnostics. + +9.7.1 Input file location +------------------------- + +`DEF.po' + Translations. + +`REF.pot' + References to the sources. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. + + +9.7.2 Operation modifiers +------------------------- + +`-m' +`--multi-domain' + Apply REF.pot to each of the domains in DEF.po. + +`-N' +`--no-fuzzy-matching' + Do not use fuzzy matching when an exact match is not found. This + may speed up the operation considerably. + +`--use-fuzzy' + Consider fuzzy messages in the DEF.po file like translated + messages. Note that using this option is usually wrong, because + fuzzy messages are exactly those which have not been validated by + a human translator. + +`--use-untranslated' + Consider untranslated messages in the DEF.po file like translated + messages. Note that using this option is usually wrong. + + +9.7.3 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input files are Java ResourceBundles in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input files are NeXTstep/GNUstep localized resource + files in `.strings' syntax, not in PO file syntax. + + +9.7.4 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msgattrib Invocation, Next: msgen Invocation, Prev: msgcmp Invocation, Up: Manipulating + +9.8 Invoking the `msgattrib' Program +==================================== + + msgattrib [OPTION] [INPUTFILE] + + The `msgattrib' program filters the messages of a translation catalog +according to their attributes, and manipulates the attributes. + +9.8.1 Input file location +------------------------- + +`INPUTFILE' + Input PO file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If no INPUTFILE is given or if it is `-', standard input is read. + +9.8.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.8.3 Message selection +----------------------- + +`--translated' + Keep translated messages, remove untranslated messages. + +`--untranslated' + Keep untranslated messages, remove translated messages. + +`--no-fuzzy' + Remove `fuzzy' marked messages. + +`--only-fuzzy' + Keep `fuzzy' marked messages, remove all other messages. + +`--no-obsolete' + Remove obsolete #~ messages. + +`--only-obsolete' + Keep obsolete #~ messages, remove all other messages. + + +9.8.4 Attribute manipulation +---------------------------- + + Attributes are modified after the message selection/removal has been +performed. If the `--only-file' or `--ignore-file' option is +specified, the attribute modification is applied only to those messages +that are listed in the ONLY-FILE and not listed in the IGNORE-FILE. + +`--set-fuzzy' + Set all messages `fuzzy'. + +`--clear-fuzzy' + Set all messages non-`fuzzy'. + +`--set-obsolete' + Set all messages obsolete. + +`--clear-obsolete' + Set all messages non-obsolete. + +`--clear-previous' + Remove the "previous msgid" (`#|') comments from all messages. + +`--only-file=FILE' + Limit the attribute changes to entries that are listed in FILE. + FILE should be a PO or POT file. + +`--ignore-file=FILE' + Limit the attribute changes to entries that are not listed in FILE. + FILE should be a PO or POT file. + +`--fuzzy' + Synonym for `--only-fuzzy --clear-fuzzy': It keeps only the fuzzy + messages and removes their `fuzzy' mark. + +`--obsolete' + Synonym for `--only-obsolete --clear-obsolete': It keeps only the + obsolete messages and makes them non-obsolete. + + +9.8.5 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.8.6 Output details +-------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`-n' +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +9.8.7 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msgen Invocation, Next: msgexec Invocation, Prev: msgattrib Invocation, Up: Manipulating + +9.9 Invoking the `msgen' Program +================================ + + msgen [OPTION] INPUTFILE + + The `msgen' program creates an English translation catalog. The +input file is the last created English PO file, or a PO Template file +(generally created by xgettext). Untranslated entries are assigned a +translation that is identical to the msgid. + + Note: `msginit --no-translator --locale=en' performs a very similar +task. The main difference is that `msginit' cares specially about the +header entry, whereas `msgen' doesn't. + +9.9.1 Input file location +------------------------- + +`INPUTFILE' + Input PO or POT file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If INPUTFILE is `-', standard input is read. + +9.9.2 Output file location +-------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +9.9.3 Input file syntax +----------------------- + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.9.4 Output details +-------------------- + +`--lang=CATALOGNAME' + Specify the `Language' field to be used in the header entry. See + *note Header Entry:: for the meaning of this field. Note: The + `Language-Team' and `Plural-Forms' fields are not set by this + option. + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--no-location' + Do not write `#: FILENAME:LINE' lines. + +`--add-location' + Generate `#: FILENAME:LINE' lines (default). + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + +`-F' +`--sort-by-file' + Sort output by file location. + + +9.9.5 Informative output +------------------------ + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: msgexec Invocation, Next: Colorizing, Prev: msgen Invocation, Up: Manipulating + +9.10 Invoking the `msgexec' Program +=================================== + + msgexec [OPTION] COMMAND [COMMAND-OPTION] + + The `msgexec' program applies a command to all translations of a +translation catalog. The COMMAND can be any program that reads a +translation from standard input. It is invoked once for each +translation. Its output becomes msgexec's output. `msgexec''s return +code is the maximum return code across all invocations. + + A special builtin command called `0' outputs the translation, +followed by a null byte. The output of `msgexec 0' is suitable as +input for `xargs -0'. + + During each COMMAND invocation, the environment variable +`MSGEXEC_MSGID' is bound to the message's msgid, and the environment +variable `MSGEXEC_LOCATION' is bound to the location in the PO file of +the message. If the message has a context, the environment variable +`MSGEXEC_MSGCTXT' is bound to the message's msgctxt, otherwise it is +unbound. + + Note: It is your responsibility to ensure that the COMMAND can cope +with input encoded in the translation catalog's encoding. If the +COMMAND wants input in a particular encoding, you can in a first step +convert the translation catalog to that encoding using the `msgconv' +program, before invoking `msgexec'. If the COMMAND wants input in the +locale's encoding, but you want to avoid the locale's encoding, then +you can first convert the translation catalog to UTF-8 using the +`msgconv' program and then make `msgexec' work in an UTF-8 locale, by +using the `LC_ALL' environment variable. + +9.10.1 Input file location +-------------------------- + +`-i INPUTFILE' +`--input=INPUTFILE' + Input PO file. + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If no INPUTFILE is given or if it is `-', standard input is read. + +9.10.2 Input file syntax +------------------------ + +`-P' +`--properties-input' + Assume the input file is a Java ResourceBundle in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input file is a NeXTstep/GNUstep localized resource + file in `.strings' syntax, not in PO file syntax. + + +9.10.3 Informative output +------------------------- + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + +File: gettext.info, Node: Colorizing, Next: libgettextpo, Prev: msgexec Invocation, Up: Manipulating + +9.11 Highlighting parts of PO files +=================================== + + Translators are usually only interested in seeing the untranslated +and fuzzy messages of a PO file. Also, when a message is set fuzzy +because the msgid changed, they want to see the differences between the +previous msgid and the current one (especially if the msgid is long and +only few words in it have changed). Finally, it's always welcome to +highlight the different sections of a message in a PO file (comments, +msgid, msgstr, etc.). + + Such highlighting is possible through the `msgcat' options `--color' +and `--style'. + +* Menu: + +* The --color option:: Triggering colorized output +* The TERM variable:: The environment variable `TERM' +* The --style option:: The `--style' option +* Style rules:: Style rules for PO files +* Customizing less:: Customizing `less' for viewing PO files + + +File: gettext.info, Node: The --color option, Next: The TERM variable, Up: Colorizing + +9.11.1 The `--color' option +--------------------------- + + The `--color=WHEN' option specifies under which conditions colorized +output should be generated. The WHEN part can be one of the following: + +`always' +`yes' + The output will be colorized. + +`never' +`no' + The output will not be colorized. + +`auto' +`tty' + The output will be colorized if the output device is a tty, i.e. + when the output goes directly to a text screen or terminal + emulator window. + +`html' + The output will be colorized and be in HTML format. + +`--color' is equivalent to `--color=yes'. The default is +`--color=auto'. + + Thus, a command like `msgcat vi.po' will produce colorized output +when called by itself in a command window. Whereas in a pipe, such as +`msgcat vi.po | less -R', it will not produce colorized output. To get +colorized output in this situation nevertheless, use the command +`msgcat --color vi.po | less -R'. + + The `--color=html' option will produce output that can be viewed in +a browser. This can be useful, for example, for Indic languages, +because the renderic of Indic scripts in browser is usually better than +in terminal emulators. + + Note that the output produced with the `--color' option is _not_ a +valid PO file in itself. It contains additional terminal-specific +escape sequences or HTML tags. A PO file reader will give a syntax +error when confronted with such content. Except for the `--color=html' +case, you therefore normally don't need to save output produced with the +`--color' option in a file. + + +File: gettext.info, Node: The TERM variable, Next: The --style option, Prev: The --color option, Up: Colorizing + +9.11.2 The environment variable `TERM' +-------------------------------------- + + The environment variable `TERM' contains a identifier for the text +window's capabilities. You can get a detailed list of these +cababilities by using the `infocmp' command, using `man 5 terminfo' as a +reference. + + When producing text with embedded color directives, `msgcat' looks +at the `TERM' variable. Text windows today typically support at least +8 colors. Often, however, the text window supports 16 or more colors, +even though the `TERM' variable is set to a identifier denoting only 8 +supported colors. It can be worth setting the `TERM' variable to a +different value in these cases: + +`xterm' + `xterm' is in most cases built with support for 16 colors. It can + also be built with support for 88 or 256 colors (but not both). + You can try to set `TERM' to either `xterm-16color', + `xterm-88color', or `xterm-256color'. + +`rxvt' + `rxvt' is often built with support for 16 colors. You can try to + set `TERM' to `rxvt-16color'. + +`konsole' + `konsole' too is often built with support for 16 colors. You can + try to set `TERM' to `konsole-16color' or `xterm-16color'. + + After setting `TERM', you can verify it by invoking `msgcat +--color=test' and seeing whether the output looks like a reasonable +color map. + + +File: gettext.info, Node: The --style option, Next: Style rules, Prev: The TERM variable, Up: Colorizing + +9.11.3 The `--style' option +--------------------------- + + The `--style=STYLE_FILE' option specifies the style file to use when +colorizing. It has an effect only when the `--color' option is +effective. + + If the `--style' option is not specified, the environment variable +`PO_STYLE' is considered. It is meant to point to the user's preferred +style for PO files. + + The default style file is +`$prefix/share/gettext/styles/po-default.css', where `$prefix' is the +installation location. + + A few style files are predefined: +`po-vim.css' + This style imitates the look used by vim 7. + +`po-emacs-x.css' + This style imitates the look used by GNU Emacs 21 and 22 in an X11 + window. + +`po-emacs-xterm.css' +`po-emacs-xterm16.css' +`po-emacs-xterm256.css' + This style imitates the look used by GNU Emacs 22 in a terminal of + type `xterm' (8 colors) or `xterm-16color' (16 colors) or + `xterm-256color' (256 colors), respectively. + +You can use these styles without specifying a directory. They are +actually located in `$prefix/share/gettext/styles/', where `$prefix' is +the installation location. + + You can also design your own styles. This is described in the next +section. + + +File: gettext.info, Node: Style rules, Next: Customizing less, Prev: The --style option, Up: Colorizing + +9.11.4 Style rules for PO files +------------------------------- + + The same style file can be used for styling of a PO file, for +terminal output and for HTML output. It is written in CSS (Cascading +Style Sheet) syntax. See `http://www.w3.org/TR/css2/cover.html' for a +formal definition of CSS. Many HTML authoring tutorials also contain +explanations of CSS. + + In the case of HTML output, the style file is embedded in the HTML +output. In the case of text output, the style file is interpreted by +the `msgcat' program. This means, in particular, that when `@import' +is used with relative file names, the file names are + + - relative to the resulting HTML file, in the case of HTML output, + + - relative to the style sheet containing the `@import', in the case + of text output. (Actually, `@import's are not yet supported in + this case, due to a limitation in `libcroco'.) + + CSS rules are built up from selectors and declarations. The +declarations specify graphical properties; the selectors specify +specify when they apply. + + In PO files, the following simple selectors (based on "CSS classes", +see the CSS2 spec, section 5.8.3) are supported. + + * Selectors that apply to entire messages: + + `.header' + This matches the header entry of a PO file. + + `.translated' + This matches a translated message. + + `.untranslated' + This matches an untranslated message (i.e. a message with + empty translation). + + `.fuzzy' + This matches a fuzzy message (i.e. a message which has a + translation that needs review by the translator). + + `.obsolete' + This matches an obsolete message (i.e. a message that was + translated but is not needed by the current POT file any + more). + + * Selectors that apply to parts of a message in PO syntax. Recall + the general structure of a message in PO syntax: + + WHITE-SPACE + # TRANSLATOR-COMMENTS + #. EXTRACTED-COMMENTS + #: REFERENCE... + #, FLAG... + #| msgid PREVIOUS-UNTRANSLATED-STRING + msgid UNTRANSLATED-STRING + msgstr TRANSLATED-STRING + + `.comment' + This matches all comments (translator comments, extracted + comments, source file reference comments, flag comments, + previous message comments, as well as the entire obsolete + messages). + + `.translator-comment' + This matches the translator comments. + + `.extracted-comment' + This matches the extracted comments, i.e. the comments placed + by the programmer at the attention of the translator. + + `.reference-comment' + This matches the source file reference comments (entire + lines). + + `.reference' + This matches the individual source file references inside the + source file reference comment lines. + + `.flag-comment' + This matches the flag comment lines (entire lines). + + `.flag' + This matches the individual flags inside flag comment lines. + + `.fuzzy-flag' + This matches the `fuzzy' flag inside flag comment lines. + + `.previous-comment' + This matches the comments containing the previous + untranslated string (entire lines). + + `.previous' + This matches the previous untranslated string including the + string delimiters, the associated keywords (`msgid' etc.) and + the spaces between them. + + `.msgid' + This matches the untranslated string including the string + delimiters, the associated keywords (`msgid' etc.) and the + spaces between them. + + `.msgstr' + This matches the translated string including the string + delimiters, the associated keywords (`msgstr' etc.) and the + spaces between them. + + `.keyword' + This matches the keywords (`msgid', `msgstr', etc.). + + `.string' + This matches strings, including the string delimiters (double + quotes). + + * Selectors that apply to parts of strings: + + `.text' + This matches the entire contents of a string (excluding the + string delimiters, i.e. the double quotes). + + `.escape-sequence' + This matches an escape sequence (starting with a backslash). + + `.format-directive' + This matches a format string directive (starting with a `%' + sign in the case of most programming languages, with a `{' in + the case of `java-format' and `csharp-format', with a `~' in + the case of `lisp-format' and `scheme-format', or with `$' in + the case of `sh-format'). + + `.invalid-format-directive' + This matches an invalid format string directive. + + `.added' + In an untranslated string, this matches a part of the string + that was not present in the previous untranslated string. + (Not yet implemented in this release.) + + `.changed' + In an untranslated string or in a previous untranslated + string, this matches a part of the string that is changed or + replaced. (Not yet implemented in this release.) + + `.removed' + In a previous untranslated string, this matches a part of the + string that is not present in the current untranslated + string. (Not yet implemented in this release.) + + These selectors can be combined to hierarchical selectors. For +example, + + .msgstr .invalid-format-directive { color: red; } + +will highlight the invalid format directives in the translated strings. + + In text mode, pseudo-classes (CSS2 spec, section 5.11) and +pseudo-elements (CSS2 spec, section 5.12) are not supported. + + The declarations in HTML mode are not limited; any graphical +attribute supported by the browsers can be used. + + The declarations in text mode are limited to the following +properties. Other properties will be silently ignored. + +`color' (CSS2 spec, section 14.1) +`background-color' (CSS2 spec, section 14.2.1) + These properties is supported. Colors will be adjusted to match + the terminal's capabilities. Note that many terminals support + only 8 colors. + +`font-weight' (CSS2 spec, section 15.2.3) + This property is supported, but most terminals can only render two + different weights: `normal' and `bold'. Values >= 600 are + rendered as `bold'. + +`font-style' (CSS2 spec, section 15.2.3) + This property is supported. The values `italic' and `oblique' are + rendered the same way. + +`text-decoration' (CSS2 spec, section 16.3.1) + This property is supported, limited to the values `none' and + `underline'. + + +File: gettext.info, Node: Customizing less, Prev: Style rules, Up: Colorizing + +9.11.5 Customizing `less' for viewing PO files +---------------------------------------------- + + The `less' program is a popular text file browser for use in a text +screen or terminal emulator. It also supports text with embedded escape +sequences for colors and text decorations. + + You can use `less' to view a PO file like this (assuming an UTF-8 +environment): + + msgcat --to-code=UTF-8 --color xyz.po | less -R + + You can simplify this to this simple command: + + less xyz.po + +after these three preparations: + + 1. Add the options `-R' and `-f' to the `LESS' environment variable. + In sh shells: + $ LESS="$LESS -R -f" + $ export LESS + + 2. If your system does not already have the `lessopen.sh' and + `lessclose.sh' scripts, create them and set the `LESSOPEN' and + `LESSCLOSE' environment variables, as indicated in the manual page + (`man less'). + + 3. Add to `lessopen.sh' a piece of script that recognizes PO files + through their file extension and invokes `msgcat' on them, + producing a temporary file. Like this: + + case "$1" in + *.po) + tmpfile=`mktemp "${TMPDIR-/tmp}/less.XXXXXX"` + msgcat --to-code=UTF-8 --color "$1" > "$tmpfile" + echo "$tmpfile" + exit 0 + ;; + esac + + +File: gettext.info, Node: libgettextpo, Prev: Colorizing, Up: Manipulating + +9.12 Writing your own programs that process PO files +==================================================== + + For the tasks for which a combination of `msgattrib', `msgcat' etc. +is not sufficient, a set of C functions is provided in a library, to +make it possible to process PO files in your own programs. When you +use this library, you don't need to write routines to parse the PO +file; instead, you retrieve a pointer in memory to each of messages +contained in the PO file. Functions for writing PO files are not +provided at this time. + + The functions are declared in the header file `', and +are defined in a library called `libgettextpo'. + + -- Data Type: po_file_t + This is a pointer type that refers to the contents of a PO file, + after it has been read into memory. + + -- Data Type: po_message_iterator_t + This is a pointer type that refers to an iterator that produces a + sequence of messages. + + -- Data Type: po_message_t + This is a pointer type that refers to a message of a PO file, + including its translation. + + -- Function: po_file_t po_file_read (const char *FILENAME) + The `po_file_read' function reads a PO file into memory. The file + name is given as argument. The return value is a handle to the PO + file's contents, valid until `po_file_free' is called on it. In + case of error, the return value is `NULL', and `errno' is set. + + -- Function: void po_file_free (po_file_t FILE) + The `po_file_free' function frees a PO file's contents from memory, + including all messages that are only implicitly accessible through + iterators. + + -- Function: const char * const * po_file_domains (po_file_t FILE) + The `po_file_domains' function returns the domains for which the + given PO file has messages. The return value is a `NULL' + terminated array which is valid as long as the FILE handle is + valid. For PO files which contain no `domain' directive, the + return value contains only one domain, namely the default domain + `"messages"'. + + -- Function: po_message_iterator_t po_message_iterator (po_file_t + FILE, const char *DOMAIN) + The `po_message_iterator' returns an iterator that will produce the + messages of FILE that belong to the given DOMAIN. If DOMAIN is + `NULL', the default domain is used instead. To list the messages, + use the function `po_next_message' repeatedly. + + -- Function: void po_message_iterator_free (po_message_iterator_t + ITERATOR) + The `po_message_iterator_free' function frees an iterator + previously allocated through the `po_message_iterator' function. + + -- Function: po_message_t po_next_message (po_message_iterator_t + ITERATOR) + The `po_next_message' function returns the next message from + ITERATOR and advances the iterator. It returns `NULL' when the + iterator has reached the end of its message list. + + The following functions returns details of a `po_message_t'. Recall +that the results are valid as long as the FILE handle is valid. + + -- Function: const char * po_message_msgid (po_message_t MESSAGE) + The `po_message_msgid' function returns the `msgid' (untranslated + English string) of a message. This is guaranteed to be non-`NULL'. + + -- Function: const char * po_message_msgid_plural (po_message_t + MESSAGE) + The `po_message_msgid_plural' function returns the `msgid_plural' + (untranslated English plural string) of a message with plurals, or + `NULL' for a message without plural. + + -- Function: const char * po_message_msgstr (po_message_t MESSAGE) + The `po_message_msgstr' function returns the `msgstr' (translation) + of a message. For an untranslated message, the return value is an + empty string. + + -- Function: const char * po_message_msgstr_plural (po_message_t + MESSAGE, int INDEX) + The `po_message_msgstr_plural' function returns the + `msgstr[INDEX]' of a message with plurals, or `NULL' when the + INDEX is out of range or for a message without plural. + + Here is an example code how these functions can be used. + + const char *filename = ...; + po_file_t file = po_file_read (filename); + + if (file == NULL) + error (EXIT_FAILURE, errno, "couldn't open the PO file %s", filename); + { + const char * const *domains = po_file_domains (file); + const char * const *domainp; + + for (domainp = domains; *domainp; domainp++) + { + const char *domain = *domainp; + po_message_iterator_t iterator = po_message_iterator (file, domain); + + for (;;) + { + po_message_t *message = po_next_message (iterator); + + if (message == NULL) + break; + { + const char *msgid = po_message_msgid (message); + const char *msgstr = po_message_msgstr (message); + + ... + } + } + po_message_iterator_free (iterator); + } + } + po_file_free (file); + + +File: gettext.info, Node: Binaries, Next: Programmers, Prev: Manipulating, Up: Top + +10 Producing Binary MO Files +**************************** + +* Menu: + +* msgfmt Invocation:: Invoking the `msgfmt' Program +* msgunfmt Invocation:: Invoking the `msgunfmt' Program +* MO Files:: The Format of GNU MO Files + + +File: gettext.info, Node: msgfmt Invocation, Next: msgunfmt Invocation, Prev: Binaries, Up: Binaries + +10.1 Invoking the `msgfmt' Program +================================== + + msgfmt [OPTION] FILENAME.po ... + + The `msgfmt' programs generates a binary message catalog from a +textual translation description. + +10.1.1 Input file location +-------------------------- + +`FILENAME.po ...' + +`-D DIRECTORY' +`--directory=DIRECTORY' + Add DIRECTORY to the list of directories. Source files are + searched relative to this list of directories. The resulting `.po' + file will be written relative to the current directory, though. + + + If an input file is `-', standard input is read. + +10.1.2 Operation mode +--------------------- + +`-j' +`--java' + Java mode: generate a Java `ResourceBundle' class. + +`--java2' + Like -java, and assume Java2 (JDK 1.2 or higher). + +`--csharp' + C# mode: generate a .NET .dll file containing a subclass of + `GettextResourceSet'. + +`--csharp-resources' + C# resources mode: generate a .NET `.resources' file. + +`--tcl' + Tcl mode: generate a tcl/msgcat `.msg' file. + +`--qt' + Qt mode: generate a Qt `.qm' file. + + +10.1.3 Output file location +--------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + +`--strict' + Direct the program to work strictly following the Uniforum/Sun + implementation. Currently this only affects the naming of the + output file. If this option is not given the name of the output + file is the same as the domain name. If the strict Uniforum mode + is enabled the suffix `.mo' is added to the file name if it is not + already present. + + We find this behaviour of Sun's implementation rather silly and so + by default this mode is _not_ selected. + + + If the output FILE is `-', output is written to standard output. + +10.1.4 Output file location in Java mode +---------------------------------------- + +`-r RESOURCE' +`--resource=RESOURCE' + Specify the resource name. + +`-l LOCALE' +`--locale=LOCALE' + Specify the locale name, either a language specification of the + form LL or a combined language and country specification of the + form LL_CC. + +`-d DIRECTORY' + Specify the base directory of classes directory hierarchy. + + + The class name is determined by appending the locale name to the +resource name, separated with an underscore. The `-d' option is +mandatory. The class is written under the specified directory. + +10.1.5 Output file location in C# mode +-------------------------------------- + +`-r RESOURCE' +`--resource=RESOURCE' + Specify the resource name. + +`-l LOCALE' +`--locale=LOCALE' + Specify the locale name, either a language specification of the + form LL or a combined language and country specification of the + form LL_CC. + +`-d DIRECTORY' + Specify the base directory for locale dependent `.dll' files. + + + The `-l' and `-d' options are mandatory. The `.dll' file is written +in a subdirectory of the specified directory whose name depends on the +locale. + +10.1.6 Output file location in Tcl mode +--------------------------------------- + +`-l LOCALE' +`--locale=LOCALE' + Specify the locale name, either a language specification of the + form LL or a combined language and country specification of the + form LL_CC. + +`-d DIRECTORY' + Specify the base directory of `.msg' message catalogs. + + + The `-l' and `-d' options are mandatory. The `.msg' file is written +in the specified directory. + +10.1.7 Input file syntax +------------------------ + +`-P' +`--properties-input' + Assume the input files are Java ResourceBundles in Java + `.properties' syntax, not in PO file syntax. + +`--stringtable-input' + Assume the input files are NeXTstep/GNUstep localized resource + files in `.strings' syntax, not in PO file syntax. + + +10.1.8 Input file interpretation +-------------------------------- + +`-c' +`--check' + Perform all the checks implied by `--check-format', + `--check-header', `--check-domain'. + +`--check-format' + Check language dependent format strings. + + If the string represents a format string used in a `printf'-like + function both strings should have the same number of `%' format + specifiers, with matching types. If the flag `c-format' or + `possible-c-format' appears in the special comment <#,> for this + entry a check is performed. For example, the check will diagnose + using `%.*s' against `%s', or `%d' against `%s', or `%d' against + `%x'. It can even handle positional parameters. + + Normally the `xgettext' program automatically decides whether a + string is a format string or not. This algorithm is not perfect, + though. It might regard a string as a format string though it is + not used in a `printf'-like function and so `msgfmt' might report + errors where there are none. + + To solve this problem the programmer can dictate the decision to + the `xgettext' program (*note c-format::). The translator should + not consider removing the flag from the <#,> line. This "fix" + would be reversed again as soon as `msgmerge' is called the next + time. + +`--check-header' + Verify presence and contents of the header entry. *Note Header + Entry::, for a description of the various fields in the header + entry. + +`--check-domain' + Check for conflicts between domain directives and the + `--output-file' option + +`-C' +`--check-compatibility' + Check that GNU msgfmt behaves like X/Open msgfmt. This will give + an error when attempting to use the GNU extensions. + +`--check-accelerators[=CHAR]' + Check presence of keyboard accelerators for menu items. This is + based on the convention used in some GUIs that a keyboard + accelerator in a menu item string is designated by an immediately + preceding `&' character. Sometimes a keyboard accelerator is also + called "keyboard mnemonic". This check verifies that if the + untranslated string has exactly one `&' character, the translated + string has exactly one `&' as well. If this option is given with + a CHAR argument, this CHAR should be a non-alphanumeric character + and is used as keyboard accelerator mark instead of `&'. + +`-f' +`--use-fuzzy' + Use fuzzy entries in output. Note that using this option is + usually wrong, because fuzzy messages are exactly those which have + not been validated by a human translator. + + +10.1.9 Output details +--------------------- + +`-a NUMBER' +`--alignment=NUMBER' + Align strings to NUMBER bytes (default: 1). + +`--no-hash' + Don't include a hash table in the binary file. Lookup will be + more expensive at run time (binary search instead of hash table + lookup). + + +10.1.10 Informative output +-------------------------- + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + +`--statistics' + Print statistics about translations. When the option `--verbose' + is used in combination with `--statistics', the input file name is + printed in front of the statistics line. + +`-v' +`--verbose' + Increase verbosity level. + + + +File: gettext.info, Node: msgunfmt Invocation, Next: MO Files, Prev: msgfmt Invocation, Up: Binaries + +10.2 Invoking the `msgunfmt' Program +==================================== + + msgunfmt [OPTION] [FILE]... + + The `msgunfmt' program converts a binary message catalog to a +Uniforum style .po file. + +10.2.1 Operation mode +--------------------- + +`-j' +`--java' + Java mode: input is a Java `ResourceBundle' class. + +`--csharp' + C# mode: input is a .NET .dll file containing a subclass of + `GettextResourceSet'. + +`--csharp-resources' + C# resources mode: input is a .NET `.resources' file. + +`--tcl' + Tcl mode: input is a tcl/msgcat `.msg' file. + + +10.2.2 Input file location +-------------------------- + +`FILE ...' + Input .mo files. + + + If no input FILE is given or if it is `-', standard input is read. + +10.2.3 Input file location in Java mode +--------------------------------------- + +`-r RESOURCE' +`--resource=RESOURCE' + Specify the resource name. + +`-l LOCALE' +`--locale=LOCALE' + Specify the locale name, either a language specification of the + form LL or a combined language and country specification of the + form LL_CC. + + + The class name is determined by appending the locale name to the +resource name, separated with an underscore. The class is located +using the `CLASSPATH'. + +10.2.4 Input file location in C# mode +------------------------------------- + +`-r RESOURCE' +`--resource=RESOURCE' + Specify the resource name. + +`-l LOCALE' +`--locale=LOCALE' + Specify the locale name, either a language specification of the + form LL or a combined language and country specification of the + form LL_CC. + +`-d DIRECTORY' + Specify the base directory for locale dependent `.dll' files. + + + The `-l' and `-d' options are mandatory. The `.msg' file is located +in a subdirectory of the specified directory whose name depends on the +locale. + +10.2.5 Input file location in Tcl mode +-------------------------------------- + +`-l LOCALE' +`--locale=LOCALE' + Specify the locale name, either a language specification of the + form LL or a combined language and country specification of the + form LL_CC. + +`-d DIRECTORY' + Specify the base directory of `.msg' message catalogs. + + + The `-l' and `-d' options are mandatory. The `.msg' file is located +in the specified directory. + +10.2.6 Output file location +--------------------------- + +`-o FILE' +`--output-file=FILE' + Write output to specified file. + + + The results are written to standard output if no output file is +specified or if it is `-'. + +10.2.7 Output details +--------------------- + +`--color' +`--color=WHEN' + Specify whether or when to use colors and other text attributes. + See *note The --color option:: for details. + +`--style=STYLE_FILE' + Specify the CSS style rule file to use for `--color'. See *note + The --style option:: for details. + +`--force-po' + Always write an output file even if it contains no message. + +`-i' +`--indent' + Write the .po file using indented style. + +`--strict' + Write out a strict Uniforum conforming PO file. Note that this + Uniforum format should be avoided because it doesn't support the + GNU extensions. + +`-p' +`--properties-output' + Write out a Java ResourceBundle in Java `.properties' syntax. Note + that this file format doesn't support plural forms and silently + drops obsolete messages. + +`--stringtable-output' + Write out a NeXTstep/GNUstep localized resource file in `.strings' + syntax. Note that this file format doesn't support plural forms. + +`-w NUMBER' +`--width=NUMBER' + Set the output page width. Long strings in the output files will + be split across multiple lines in order to ensure that each line's + width (= number of screen columns) is less or equal to the given + NUMBER. + +`--no-wrap' + Do not break long message lines. Message lines whose width + exceeds the output page width will not be split into several + lines. Only file reference lines which are wider than the output + page width will be split. + +`-s' +`--sort-output' + Generate sorted output. Note that using this option makes it much + harder for the translator to understand each message's context. + + +10.2.8 Informative output +------------------------- + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + +`-v' +`--verbose' + Increase verbosity level. + + + +File: gettext.info, Node: MO Files, Prev: msgunfmt Invocation, Up: Binaries + +10.3 The Format of GNU MO Files +=============================== + + The format of the generated MO files is best described by a picture, +which appears below. + + The first two words serve the identification of the file. The magic +number will always signal GNU MO files. The number is stored in the +byte order of the generating machine, so the magic number really is two +numbers: `0x950412de' and `0xde120495'. + + The second word describes the current revision of the file format, +composed of a major and a minor revision number. The revision numbers +ensure that the readers of MO files can distinguish new formats from +old ones and handle their contents, as far as possible. For now the +major revision is 0 or 1, and the minor revision is also 0 or 1. More +revisions might be added in the future. A program seeing an unexpected +major revision number should stop reading the MO file entirely; whereas +an unexpected minor revision number means that the file can be read but +will not reveal its full contents, when parsed by a program that +supports only smaller minor revision numbers. + + The version is kept separate from the magic number, instead of using +different magic numbers for different formats, mainly because +`/etc/magic' is not updated often. + + Follow a number of pointers to later tables in the file, allowing +for the extension of the prefix part of MO files without having to +recompile programs reading them. This might become useful for later +inserting a few flag bits, indication about the charset used, new +tables, or other things. + + Then, at offset O and offset T in the picture, two tables of string +descriptors can be found. In both tables, each string descriptor uses +two 32 bits integers, one for the string length, another for the offset +of the string in the MO file, counting in bytes from the start of the +file. The first table contains descriptors for the original strings, +and is sorted so the original strings are in increasing lexicographical +order. The second table contains descriptors for the translated +strings, and is parallel to the first table: to find the corresponding +translation one has to access the array slot in the second array with +the same index. + + Having the original strings sorted enables the use of simple binary +search, for when the MO file does not contain an hashing table, or for +when it is not practical to use the hashing table provided in the MO +file. This also has another advantage, as the empty string in a PO +file GNU `gettext' is usually _translated_ into some system information +attached to that particular MO file, and the empty string necessarily +becomes the first in both the original and translated tables, making +the system information very easy to find. + + The size S of the hash table can be zero. In this case, the hash +table itself is not contained in the MO file. Some people might prefer +this because a precomputed hashing table takes disk space, and does not +win _that_ much speed. The hash table contains indices to the sorted +array of strings in the MO file. Conflict resolution is done by double +hashing. The precise hashing algorithm used is fairly dependent on GNU +`gettext' code, and is not documented here. + + As for the strings themselves, they follow the hash file, and each +is terminated with a , and this is not counted in the length +which appears in the string descriptor. The `msgfmt' program has an +option selecting the alignment for MO file strings. With this option, +each string is separately aligned so it starts at an offset which is a +multiple of the alignment value. On some RISC machines, a correct +alignment will speed things up. + + Contexts are stored by storing the concatenation of the context, a + byte, and the original string, instead of the original string. + + Plural forms are stored by letting the plural of the original string +follow the singular of the original string, separated through a +byte. The length which appears in the string descriptor includes both. +However, only the singular of the original string takes part in the +hash table lookup. The plural variants of the translation are all +stored consecutively, separated through a byte. Here also, the +length in the string descriptor includes all of them. + + Nothing prevents a MO file from having embedded s in strings. +However, the program interface currently used already presumes that +strings are terminated, so embedded s are somewhat useless. +But the MO file format is general enough so other interfaces would be +later possible, if for example, we ever want to implement wide +characters right in MO files, where bytes may accidentally +appear. (No, we don't want to have wide characters in MO files. They +would make the file unnecessarily large, and the `wchar_t' type being +platform dependent, MO files would be platform dependent as well.) + + This particular issue has been strongly debated in the GNU `gettext' +development forum, and it is expectable that MO file format will evolve +or change over time. It is even possible that many formats may later +be supported concurrently. But surely, we have to start somewhere, and +the MO file format described here is a good start. Nothing is cast in +concrete, and the format may later evolve fairly easily, so we should +feel comfortable with the current approach. + + byte + +------------------------------------------+ + 0 | magic number = 0x950412de | + | | + 4 | file format revision = 0 | + | | + 8 | number of strings | == N + | | + 12 | offset of table with original strings | == O + | | + 16 | offset of table with translation strings | == T + | | + 20 | size of hashing table | == S + | | + 24 | offset of hashing table | == H + | | + . . + . (possibly more entries later) . + . . + | | + O | length & offset 0th string ----------------. + O + 8 | length & offset 1st string ------------------. + ... ... | | + O + ((N-1)*8)| length & offset (N-1)th string | | | + | | | | + T | length & offset 0th translation ---------------. + T + 8 | length & offset 1st translation -----------------. + ... ... | | | | + T + ((N-1)*8)| length & offset (N-1)th translation | | | | | + | | | | | | + H | start hash table | | | | | + ... ... | | | | + H + S * 4 | end hash table | | | | | + | | | | | | + | NUL terminated 0th string <----------------' | | | + | | | | | + | NUL terminated 1st string <------------------' | | + | | | | + ... ... | | + | | | | + | NUL terminated 0th translation <---------------' | + | | | + | NUL terminated 1st translation <-----------------' + | | + ... ... + | | + +------------------------------------------+ + + +File: gettext.info, Node: Programmers, Next: Translators, Prev: Binaries, Up: Top + +11 The Programmer's View +************************ + + One aim of the current message catalog implementation provided by +GNU `gettext' was to use the system's message catalog handling, if the +installer wishes to do so. So we perhaps should first take a look at +the solutions we know about. The people in the POSIX committee did not +manage to agree on one of the semi-official standards which we'll +describe below. In fact they couldn't agree on anything, so they +decided only to include an example of an interface. The major Unix +vendors are split in the usage of the two most important +specifications: X/Open's catgets vs. Uniforum's gettext interface. +We'll describe them both and later explain our solution of this dilemma. + +* Menu: + +* catgets:: About `catgets' +* gettext:: About `gettext' +* Comparison:: Comparing the two interfaces +* Using libintl.a:: Using libintl.a in own programs +* gettext grok:: Being a `gettext' grok +* Temp Programmers:: Temporary Notes for the Programmers Chapter + + +File: gettext.info, Node: catgets, Next: gettext, Prev: Programmers, Up: Programmers + +11.1 About `catgets' +==================== + + The `catgets' implementation is defined in the X/Open Portability +Guide, Volume 3, XSI Supplementary Definitions, Chapter 5. But the +process of creating this standard seemed to be too slow for some of the +Unix vendors so they created their implementations on preliminary +versions of the standard. Of course this leads again to problems while +writing platform independent programs: even the usage of `catgets' does +not guarantee a unique interface. + + Another, personal comment on this that only a bunch of committee +members could have made this interface. They never really tried to +program using this interface. It is a fast, memory-saving +implementation, an user can happily live with it. But programmers hate +it (at least I and some others do...) + + But we must not forget one point: after all the trouble with +transferring the rights on Unix(tm) they at last came to X/Open, the +very same who published this specification. This leads me to making +the prediction that this interface will be in future Unix standards +(e.g. Spec1170) and therefore part of all Unix implementation +(implementations, which are _allowed_ to wear this name). + +* Menu: + +* Interface to catgets:: The interface +* Problems with catgets:: Problems with the `catgets' interface?! + + +File: gettext.info, Node: Interface to catgets, Next: Problems with catgets, Prev: catgets, Up: catgets + +11.1.1 The Interface +-------------------- + + The interface to the `catgets' implementation consists of three +functions which correspond to those used in file access: `catopen' to +open the catalog for using, `catgets' for accessing the message tables, +and `catclose' for closing after work is done. Prototypes for the +functions and the needed definitions are in the `' header +file. + + `catopen' is used like in this: + + nl_catd catd = catopen ("catalog_name", 0); + + The function takes as the argument the name of the catalog. This +usual refers to the name of the program or the package. The second +parameter is not further specified in the standard. I don't even know +whether it is implemented consistently among various systems. So the +common advice is to use `0' as the value. The return value is a handle +to the message catalog, equivalent to handles to file returned by +`open'. + + This handle is of course used in the `catgets' function which can be +used like this: + + char *translation = catgets (catd, set_no, msg_id, "original string"); + + The first parameter is this catalog descriptor. The second parameter +specifies the set of messages in this catalog, in which the message +described by `msg_id' is obtained. `catgets' therefore uses a +three-stage addressing: + + catalog name => set number => message ID => translation + + The fourth argument is not used to address the translation. It is +given as a default value in case when one of the addressing stages +fail. One important thing to remember is that although the return type +of catgets is `char *' the resulting string _must not_ be changed. It +should better be `const char *', but the standard is published in 1988, +one year before ANSI C. + +The last of these functions is used and behaves as expected: + + catclose (catd); + + After this no `catgets' call using the descriptor is legal anymore. + + +File: gettext.info, Node: Problems with catgets, Prev: Interface to catgets, Up: catgets + +11.1.2 Problems with the `catgets' Interface?! +---------------------------------------------- + + Now that this description seemed to be really easy -- where are the +problems we speak of? In fact the interface could be used in a +reasonable way, but constructing the message catalogs is a pain. The +reason for this lies in the third argument of `catgets': the unique +message ID. This has to be a numeric value for all messages in a single +set. Perhaps you could imagine the problems keeping such a list while +changing the source code. Add a new message here, remove one there. Of +course there have been developed a lot of tools helping to organize this +chaos but one as the other fails in one aspect or the other. We don't +want to say that the other approach has no problems but they are far +more easy to manage. + + +File: gettext.info, Node: gettext, Next: Comparison, Prev: catgets, Up: Programmers + +11.2 About `gettext' +==================== + + The definition of the `gettext' interface comes from a Uniforum +proposal. It was submitted there by Sun, who had implemented the +`gettext' function in SunOS 4, around 1990. Nowadays, the `gettext' +interface is specified by the OpenI18N standard. + + The main point about this solution is that it does not follow the +method of normal file handling (open-use-close) and that it does not +burden the programmer with so many tasks, especially the unique key +handling. Of course here also a unique key is needed, but this key is +the message itself (how long or short it is). See *note Comparison:: +for a more detailed comparison of the two methods. + + The following section contains a rather detailed description of the +interface. We make it that detailed because this is the interface we +chose for the GNU `gettext' Library. Programmers interested in using +this library will be interested in this description. + +* Menu: + +* Interface to gettext:: The interface +* Ambiguities:: Solving ambiguities +* Locating Catalogs:: Locating message catalog files +* Charset conversion:: How to request conversion to Unicode +* Contexts:: Solving ambiguities in GUI programs +* Plural forms:: Additional functions for handling plurals +* Optimized gettext:: Optimization of the *gettext functions + + +File: gettext.info, Node: Interface to gettext, Next: Ambiguities, Prev: gettext, Up: gettext + +11.2.1 The Interface +-------------------- + + The minimal functionality an interface must have is a) to select a +domain the strings are coming from (a single domain for all programs is +not reasonable because its construction and maintenance is difficult, +perhaps impossible) and b) to access a string in a selected domain. + + This is principally the description of the `gettext' interface. It +has a global domain which unqualified usages reference. Of course this +domain is selectable by the user. + + char *textdomain (const char *domain_name); + + This provides the possibility to change or query the current status +of the current global domain of the `LC_MESSAGE' category. The +argument is a null-terminated string, whose characters must be legal in +the use in filenames. If the DOMAIN_NAME argument is `NULL', the +function returns the current value. If no value has been set before, +the name of the default domain is returned: _messages_. Please note +that although the return value of `textdomain' is of type `char *' no +changing is allowed. It is also important to know that no checks of +the availability are made. If the name is not available you will see +this by the fact that no translations are provided. + +To use a domain set by `textdomain' the function + + char *gettext (const char *msgid); + +is to be used. This is the simplest reasonable form one can imagine. +The translation of the string MSGID is returned if it is available in +the current domain. If it is not available, the argument itself is +returned. If the argument is `NULL' the result is undefined. + + One thing which should come into mind is that no explicit dependency +to the used domain is given. The current value of the domain is used. +If this changes between two executions of the same `gettext' call in +the program, both calls reference a different message catalog. + + For the easiest case, which is normally used in internationalized +packages, once at the beginning of execution a call to `textdomain' is +issued, setting the domain to a unique name, normally the package name. +In the following code all strings which have to be translated are +filtered through the gettext function. That's all, the package speaks +your language. + + +File: gettext.info, Node: Ambiguities, Next: Locating Catalogs, Prev: Interface to gettext, Up: gettext + +11.2.2 Solving Ambiguities +-------------------------- + + While this single name domain works well for most applications there +might be the need to get translations from more than one domain. Of +course one could switch between different domains with calls to +`textdomain', but this is really not convenient nor is it fast. A +possible situation could be one case subject to discussion during this +writing: all error messages of functions in the set of common used +functions should go into a separate domain `error'. By this mean we +would only need to translate them once. Another case are messages from +a library, as these _have_ to be independent of the current domain set +by the application. + +For this reasons there are two more functions to retrieve strings: + + char *dgettext (const char *domain_name, const char *msgid); + char *dcgettext (const char *domain_name, const char *msgid, + int category); + + Both take an additional argument at the first place, which +corresponds to the argument of `textdomain'. The third argument of +`dcgettext' allows to use another locale category but `LC_MESSAGES'. +But I really don't know where this can be useful. If the DOMAIN_NAME +is `NULL' or CATEGORY has an value beside the known ones, the result is +undefined. It should also be noted that this function is not part of +the second known implementation of this function family, the one found +in Solaris. + + A second ambiguity can arise by the fact, that perhaps more than one +domain has the same name. This can be solved by specifying where the +needed message catalog files can be found. + + char *bindtextdomain (const char *domain_name, + const char *dir_name); + + Calling this function binds the given domain to a file in the +specified directory (how this file is determined follows below). +Especially a file in the systems default place is not favored against +the specified file anymore (as it would be by solely using +`textdomain'). A `NULL' pointer for the DIR_NAME parameter returns the +binding associated with DOMAIN_NAME. If DOMAIN_NAME itself is `NULL' +nothing happens and a `NULL' pointer is returned. Here again as for +all the other functions is true that none of the return value must be +changed! + + It is important to remember that relative path names for the +DIR_NAME parameter can be trouble. Since the path is always computed +relative to the current directory different results will be achieved +when the program executes a `chdir' command. Relative paths should +always be avoided to avoid dependencies and unreliabilities. + + +File: gettext.info, Node: Locating Catalogs, Next: Charset conversion, Prev: Ambiguities, Up: gettext + +11.2.3 Locating Message Catalog Files +------------------------------------- + + Because many different languages for many different packages have to +be stored we need some way to add these information to file message +catalog files. The way usually used in Unix environments is have this +encoding in the file name. This is also done here. The directory name +given in `bindtextdomain's second argument (or the default directory), +followed by the name of the locale, the locale category, and the domain +name are concatenated: + + DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo + + The default value for DIR_NAME is system specific. For the GNU +library, and for packages adhering to its conventions, it's: + /usr/local/share/locale + +LOCALE is the name of the locale category which is designated by +`LC_CATEGORY'. For `gettext' and `dgettext' this `LC_CATEGORY' is +always `LC_MESSAGES'.(1) The name of the locale category is determined +through `setlocale (LC_CATEGORY, NULL)'. (2) When using the function +`dcgettext', you can specify the locale category through the third +argument. + + ---------- Footnotes ---------- + + (1) Some system, e.g. mingw, don't have `LC_MESSAGES'. Here we use +a more or less arbitrary value for it, namely 1729, the smallest +positive integer which can be represented in two different ways as the +sum of two cubes. + + (2) When the system does not support `setlocale' its behavior in +setting the locale values is simulated by looking at the environment +variables. + + +File: gettext.info, Node: Charset conversion, Next: Contexts, Prev: Locating Catalogs, Up: gettext + +11.2.4 How to specify the output character set `gettext' uses +------------------------------------------------------------- + + `gettext' not only looks up a translation in a message catalog. It +also converts the translation on the fly to the desired output character +set. This is useful if the user is working in a different character set +than the translator who created the message catalog, because it avoids +distributing variants of message catalogs which differ only in the +character set. + + The output character set is, by default, the value of `nl_langinfo +(CODESET)', which depends on the `LC_CTYPE' part of the current locale. +But programs which store strings in a locale independent way (e.g. +UTF-8) can request that `gettext' and related functions return the +translations in that encoding, by use of the `bind_textdomain_codeset' +function. + + Note that the MSGID argument to `gettext' is not subject to +character set conversion. Also, when `gettext' does not find a +translation for MSGID, it returns MSGID unchanged - independently of +the current output character set. It is therefore recommended that all +MSGIDs be US-ASCII strings. + + -- Function: char * bind_textdomain_codeset (const char *DOMAINNAME, + const char *CODESET) + The `bind_textdomain_codeset' function can be used to specify the + output character set for message catalogs for domain DOMAINNAME. + The CODESET argument must be a valid codeset name which can be used + for the `iconv_open' function, or a null pointer. + + If the CODESET parameter is the null pointer, + `bind_textdomain_codeset' returns the currently selected codeset + for the domain with the name DOMAINNAME. It returns `NULL' if no + codeset has yet been selected. + + The `bind_textdomain_codeset' function can be used several times. + If used multiple times with the same DOMAINNAME argument, the + later call overrides the settings made by the earlier one. + + The `bind_textdomain_codeset' function returns a pointer to a + string containing the name of the selected codeset. The string is + allocated internally in the function and must not be changed by the + user. If the system went out of core during the execution of + `bind_textdomain_codeset', the return value is `NULL' and the + global variable ERRNO is set accordingly. + + +File: gettext.info, Node: Contexts, Next: Plural forms, Prev: Charset conversion, Up: gettext + +11.2.5 Using contexts for solving ambiguities +--------------------------------------------- + + One place where the `gettext' functions, if used normally, have big +problems is within programs with graphical user interfaces (GUIs). The +problem is that many of the strings which have to be translated are very +short. They have to appear in pull-down menus which restricts the +length. But strings which are not containing entire sentences or at +least large fragments of a sentence may appear in more than one +situation in the program but might have different translations. This is +especially true for the one-word strings which are frequently used in +GUI programs. + + As a consequence many people say that the `gettext' approach is +wrong and instead `catgets' should be used which indeed does not have +this problem. But there is a very simple and powerful method to handle +this kind of problems with the `gettext' functions. + + Contexts can be added to strings to be translated. A context +dependent translation lookup is when a translation for a given string +is searched, that is limited to a given context. The translation for +the same string in a different context can be different. The different +translations of the same string in different contexts can be stored in +the in the same MO file, and can be edited by the translator in the +same PO file. + + The `gettext.h' include file contains the lookup macros for strings +with contexts. They are implemented as thin macros and inline functions +over the functions from `'. + + const char *pgettext (const char *msgctxt, const char *msgid); + + In a call of this macro, MSGCTXT and MSGID must be string literals. +The macro returns the translation of MSGID, restricted to the context +given by MSGCTXT. + + The MSGCTXT string is visible in the PO file to the translator. You +should try to make it somehow canonical and never changing. Because +every time you change an MSGCTXT, the translator will have to review +the translation of MSGID. + + Finding a canonical MSGCTXT string that doesn't change over time can +be hard. But you shouldn't use the file name or class name containing +the `pgettext' call - because it is a common development task to rename +a file or a class, and it shouldn't cause translator work. Also you +shouldn't use a comment in the form of a complete English sentence as +MSGCTXT - because orthography or grammar changes are often applied to +such sentences, and again, it shouldn't force the translator to do a +review. + + The `p' in `pgettext' stands for "particular": `pgettext' fetches a +particular translation of the MSGID. + + const char *dpgettext (const char *domain_name, + const char *msgctxt, const char *msgid); + const char *dcpgettext (const char *domain_name, + const char *msgctxt, const char *msgid, + int category); + + These are generalizations of `pgettext'. They behave similarly to +`dgettext' and `dcgettext', respectively. The DOMAIN_NAME argument +defines the translation domain. The CATEGORY argument allows to use +another locale category than `LC_MESSAGES'. + + As as example consider the following fictional situation. A GUI +program has a menu bar with the following entries: + + +------------+------------+--------------------------------------+ + | File | Printer | | + +------------+------------+--------------------------------------+ + | Open | | Select | + | New | | Open | + +----------+ | Connect | + +----------+ + + To have the strings `File', `Printer', `Open', `New', `Select', and +`Connect' translated there has to be at some point in the code a call +to a function of the `gettext' family. But in two places the string +passed into the function would be `Open'. The translations might not +be the same and therefore we are in the dilemma described above. + + What distinguishes the two places is the menu path from the menu +root to the particular menu entries: + + Menu|File + Menu|Printer + Menu|File|Open + Menu|File|New + Menu|Printer|Select + Menu|Printer|Open + Menu|Printer|Connect + + The context is thus the menu path without its last part. So, the +calls look like this: + + pgettext ("Menu|", "File") + pgettext ("Menu|", "Printer") + pgettext ("Menu|File|", "Open") + pgettext ("Menu|File|", "New") + pgettext ("Menu|Printer|", "Select") + pgettext ("Menu|Printer|", "Open") + pgettext ("Menu|Printer|", "Connect") + + Whether or not to use the `|' character at the end of the context is +a matter of style. + + For more complex cases, where the MSGCTXT or MSGID are not string +literals, more general macros are available: + + const char *pgettext_expr (const char *msgctxt, const char *msgid); + const char *dpgettext_expr (const char *domain_name, + const char *msgctxt, const char *msgid); + const char *dcpgettext_expr (const char *domain_name, + const char *msgctxt, const char *msgid, + int category); + + Here MSGCTXT and MSGID can be arbitrary string-valued expressions. +These macros are more general. But in the case that both argument +expressions are string literals, the macros without the `_expr' suffix +are more efficient. + + +File: gettext.info, Node: Plural forms, Next: Optimized gettext, Prev: Contexts, Up: gettext + +11.2.6 Additional functions for plural forms +-------------------------------------------- + + The functions of the `gettext' family described so far (and all the +`catgets' functions as well) have one problem in the real world which +have been neglected completely in all existing approaches. What is +meant here is the handling of plural forms. + + Looking through Unix source code before the time anybody thought +about internationalization (and, sadly, even afterwards) one can often +find code similar to the following: + + printf ("%d file%s deleted", n, n == 1 ? "" : "s"); + +After the first complaints from people internationalizing the code +people either completely avoided formulations like this or used strings +like `"file(s)"'. Both look unnatural and should be avoided. First +tries to solve the problem correctly looked like this: + + if (n == 1) + printf ("%d file deleted", n); + else + printf ("%d files deleted", n); + + But this does not solve the problem. It helps languages where the +plural form of a noun is not simply constructed by adding an `s' but +that is all. Once again people fell into the trap of believing the +rules their language is using are universal. But the handling of plural +forms differs widely between the language families. For example, Rafal +Maszkowski `' reports: + + In Polish we use e.g. plik (file) this way: + 1 plik + 2,3,4 pliki + 5-21 pliko'w + 22-24 pliki + 25-31 pliko'w + and so on (o' means 8859-2 oacute which should be rather okreska, + similar to aogonek). + + There are two things which can differ between languages (and even +inside language families); + + * The form how plural forms are built differs. This is a problem + with languages which have many irregularities. German, for + instance, is a drastic case. Though English and German are part + of the same language family (Germanic), the almost regular forming + of plural noun forms (appending an `s') is hardly found in German. + + * The number of plural forms differ. This is somewhat surprising for + those who only have experiences with Romanic and Germanic languages + since here the number is the same (there are two). + + But other language families have only one form or many forms. More + information on this in an extra section. + + The consequence of this is that application writers should not try to +solve the problem in their code. This would be localization since it is +only usable for certain, hardcoded language environments. Instead the +extended `gettext' interface should be used. + + These extra functions are taking instead of the one key string two +strings and a numerical argument. The idea behind this is that using +the numerical argument and the first string as a key, the implementation +can select using rules specified by the translator the right plural +form. The two string arguments then will be used to provide a return +value in case no message catalog is found (similar to the normal +`gettext' behavior). In this case the rules for Germanic language is +used and it is assumed that the first string argument is the singular +form, the second the plural form. + + This has the consequence that programs without language catalogs can +display the correct strings only if the program itself is written using +a Germanic language. This is a limitation but since the GNU C library +(as well as the GNU `gettext' package) are written as part of the GNU +package and the coding standards for the GNU project require program +being written in English, this solution nevertheless fulfills its +purpose. + + -- Function: char * ngettext (const char *MSGID1, const char *MSGID2, + unsigned long int N) + The `ngettext' function is similar to the `gettext' function as it + finds the message catalogs in the same way. But it takes two + extra arguments. The MSGID1 parameter must contain the singular + form of the string to be converted. It is also used as the key + for the search in the catalog. The MSGID2 parameter is the plural + form. The parameter N is used to determine the plural form. If no + message catalog is found MSGID1 is returned if `n == 1', otherwise + `msgid2'. + + An example for the use of this function is: + + printf (ngettext ("%d file removed", "%d files removed", n), n); + + Please note that the numeric value N has to be passed to the + `printf' function as well. It is not sufficient to pass it only to + `ngettext'. + + In the English singular case, the number - always 1 - can be + replaced with "one": + + printf (ngettext ("One file removed", "%d files removed", n), n); + + This works because the `printf' function discards excess arguments + that are not consumed by the format string. + + If this function is meant to yield a format string that takes two + or more arguments, you can not use it like this: + + printf (ngettext ("%d file removed from directory %s", + "%d files removed from directory %s", + n, dir), + n); + + because in many languages the translators want to replace the `%d' + with an explicit word in the singular case, just like "one" in + English, and C format strings cannot consume the second argument + but skip the first argument. Instead, you have to reorder the + arguments so that `n' comes last: + + printf (ngettext ("%$2d file removed from directory %$1s", + "%$2d files removed from directory %$1s", + dir, n), + n); + + See *note c-format:: for details about this argument reordering + syntax. + + When you know that the value of `n' is within a given range, you + can specify it as a comment directed to the `xgettext' tool. This + information may help translators to use more adequate + translations. Like this: + + if (days > 7 && days < 14) + /* xgettext: range: 1..6 */ + printf (ngettext ("one week and one day", "one week and %d days", + days - 7), + days - 7); + + It is also possible to use this function when the strings don't + contain a cardinal number: + + puts (ngettext ("Delete the selected file?", + "Delete the selected files?", + n)); + + In this case the number N is only used to choose the plural form. + + -- Function: char * dngettext (const char *DOMAIN, const char *MSGID1, + const char *MSGID2, unsigned long int N) + The `dngettext' is similar to the `dgettext' function in the way + the message catalog is selected. The difference is that it takes + two extra parameter to provide the correct plural form. These two + parameters are handled in the same way `ngettext' handles them. + + -- Function: char * dcngettext (const char *DOMAIN, const char + *MSGID1, const char *MSGID2, unsigned long int N, int + CATEGORY) + The `dcngettext' is similar to the `dcgettext' function in the way + the message catalog is selected. The difference is that it takes + two extra parameter to provide the correct plural form. These two + parameters are handled in the same way `ngettext' handles them. + + Now, how do these functions solve the problem of the plural forms? +Without the input of linguists (which was not available) it was not +possible to determine whether there are only a few different forms in +which plural forms are formed or whether the number can increase with +every new supported language. + + Therefore the solution implemented is to allow the translator to +specify the rules of how to select the plural form. Since the formula +varies with every language this is the only viable solution except for +hardcoding the information in the code (which still would require the +possibility of extensions to not prevent the use of new languages). + + The information about the plural form selection has to be stored in +the header entry of the PO file (the one with the empty `msgid' string). +The plural form information looks like this: + + Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; + + The `nplurals' value must be a decimal number which specifies how +many different plural forms exist for this language. The string +following `plural' is an expression which is using the C language +syntax. Exceptions are that no negative numbers are allowed, numbers +must be decimal, and the only variable allowed is `n'. Spaces are +allowed in the expression, but backslash-newlines are not; in the +examples below the backslash-newlines are present for formatting +purposes only. This expression will be evaluated whenever one of the +functions `ngettext', `dngettext', or `dcngettext' is called. The +numeric value passed to these functions is then substituted for all uses +of the variable `n' in the expression. The resulting value then must +be greater or equal to zero and smaller than the value given as the +value of `nplurals'. + +The following rules are known at this point. The language with families +are listed. But this does not necessarily mean the information can be +generalized for the whole family (as can be easily seen in the table +below).(1) + +Only one form: + Some languages only require one single form. There is no + distinction between the singular and plural form. An appropriate + header entry would look like this: + + Plural-Forms: nplurals=1; plural=0; + + Languages with this property include: + + Asian family + Japanese, Vietnamese, Korean + +Two forms, singular used for one only + This is the form used in most existing programs since it is what + English is using. A header entry would look like this: + + Plural-Forms: nplurals=2; plural=n != 1; + + (Note: this uses the feature of C expressions that boolean + expressions have to value zero or one.) + + Languages with this property include: + + Germanic family + English, German, Dutch, Swedish, Danish, Norwegian, Faroese + + Romanic family + Spanish, Portuguese, Italian, Bulgarian + + Latin/Greek family + Greek + + Finno-Ugric family + Finnish, Estonian + + Semitic family + Hebrew + + Artificial + Esperanto + + Other languages using the same header entry are: + + Finno-Ugric family + Hungarian + + Turkic/Altaic family + Turkish + + Hungarian does not appear to have a plural if you look at + sentences involving cardinal numbers. For example, "1 apple" is + "1 alma", and "123 apples" is "123 alma". But when the number is + not explicit, the distinction between singular and plural exists: + "the apple" is "az alma", and "the apples" is "az almák". Since + `ngettext' has to support both types of sentences, it is + classified here, under "two forms". + + The same holds for Turkish: "1 apple" is "1 elma", and "123 + apples" is "123 elma". But when the number is omitted, the + distinction between singular and plural exists: "the apple" is + "elma", and "the apples" is "elmalar". + +Two forms, singular used for zero and one + Exceptional case in the language family. The header entry would + be: + + Plural-Forms: nplurals=2; plural=n>1; + + Languages with this property include: + + Romanic family + Brazilian Portuguese, French + +Three forms, special case for zero + The header entry would be: + + Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2; + + Languages with this property include: + + Baltic family + Latvian + +Three forms, special cases for one and two + The header entry would be: + + Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2; + + Languages with this property include: + + Celtic + Gaeilge (Irish) + +Three forms, special case for numbers ending in 00 or [2-9][0-9] + The header entry would be: + + Plural-Forms: nplurals=3; \ + plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2; + + Languages with this property include: + + Romanic family + Romanian + +Three forms, special case for numbers ending in 1[2-9] + The header entry would look like this: + + Plural-Forms: nplurals=3; \ + plural=n%10==1 && n%100!=11 ? 0 : \ + n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2; + + Languages with this property include: + + Baltic family + Lithuanian + +Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4] + The header entry would look like this: + + Plural-Forms: nplurals=3; \ + plural=n%10==1 && n%100!=11 ? 0 : \ + n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; + + Languages with this property include: + + Slavic family + Russian, Ukrainian, Serbian, Croatian + +Three forms, special cases for 1 and 2, 3, 4 + The header entry would look like this: + + Plural-Forms: nplurals=3; \ + plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; + + Languages with this property include: + + Slavic family + Czech, Slovak + +Three forms, special case for one and some numbers ending in 2, 3, or 4 + The header entry would look like this: + + Plural-Forms: nplurals=3; \ + plural=n==1 ? 0 : \ + n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; + + Languages with this property include: + + Slavic family + Polish + +Four forms, special case for one and all numbers ending in 02, 03, or 04 + The header entry would look like this: + + Plural-Forms: nplurals=4; \ + plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3; + + Languages with this property include: + + Slavic family + Slovenian + + You might now ask, `ngettext' handles only numbers N of type +`unsigned long'. What about larger integer types? What about negative +numbers? What about floating-point numbers? + + About larger integer types, such as `uintmax_t' or `unsigned long +long': they can be handled by reducing the value to a range that fits +in an `unsigned long'. Simply casting the value to `unsigned long' +would not do the right thing, since it would treat `ULONG_MAX + 1' like +zero, `ULONG_MAX + 2' like singular, and the like. Here you can +exploit the fact that all mentioned plural form formulas eventually +become periodic, with a period that is a divisor of 100 (or 1000 or +1000000). So, when you reduce a large value to another one in the +range [1000000, 1999999] that ends in the same 6 decimal digits, you +can assume that it will lead to the same plural form selection. This +code does this: + + #include + uintmax_t nbytes = ...; + printf (ngettext ("The file has %"PRIuMAX" byte.", + "The file has %"PRIuMAX" bytes.", + (nbytes > ULONG_MAX + ? (nbytes % 1000000) + 1000000 + : nbytes)), + nbytes); + + Negative and floating-point values usually represent physical +entities for which singular and plural don't clearly apply. In such +cases, there is no need to use `ngettext'; a simple `gettext' call with +a form suitable for all values will do. For example: + + printf (gettext ("Time elapsed: %.3f seconds"), + num_milliseconds * 0.001); + +Even if NUM_MILLISECONDS happens to be a multiple of 1000, the output + Time elapsed: 1.000 seconds + is acceptable in English, and similarly for other languages. + + The translators' perspective regarding plural forms is explained in +*note Translating plural forms::. + + ---------- Footnotes ---------- + + (1) Additions are welcome. Send appropriate information to + and . + + +File: gettext.info, Node: Optimized gettext, Prev: Plural forms, Up: gettext + +11.2.7 Optimization of the *gettext functions +--------------------------------------------- + + At this point of the discussion we should talk about an advantage of +the GNU `gettext' implementation. Some readers might have pointed out +that an internationalized program might have a poor performance if some +string has to be translated in an inner loop. While this is unavoidable +when the string varies from one run of the loop to the other it is +simply a waste of time when the string is always the same. Take the +following example: + + { + while (...) + { + puts (gettext ("Hello world")); + } + } + +When the locale selection does not change between two runs the resulting +string is always the same. One way to use this is: + + { + str = gettext ("Hello world"); + while (...) + { + puts (str); + } + } + +But this solution is not usable in all situation (e.g. when the locale +selection changes) nor does it lead to legible code. + + For this reason, GNU `gettext' caches previous translation results. +When the same translation is requested twice, with no new message +catalogs being loaded in between, `gettext' will, the second time, find +the result through a single cache lookup. + + +File: gettext.info, Node: Comparison, Next: Using libintl.a, Prev: gettext, Up: Programmers + +11.3 Comparing the Two Interfaces +================================= + + The following discussion is perhaps a little bit colored. As said +above we implemented GNU `gettext' following the Uniforum proposal and +this surely has its reasons. But it should show how we came to this +decision. + + First we take a look at the developing process. When we write an +application using NLS provided by `gettext' we proceed as always. Only +when we come to a string which might be seen by the users and thus has +to be translated we use `gettext("...")' instead of `"..."'. At the +beginning of each source file (or in a central header file) we define + + #define gettext(String) (String) + + Even this definition can be avoided when the system supports the +`gettext' function in its C library. When we compile this code the +result is the same as if no NLS code is used. When you take a look at +the GNU `gettext' code you will see that we use `_("...")' instead of +`gettext("...")'. This reduces the number of additional characters per +translatable string to _3_ (in words: three). + + When now a production version of the program is needed we simply +replace the definition + + #define _(String) (String) + +by + + #include + #define _(String) gettext (String) + +Additionally we run the program `xgettext' on all source code file +which contain translatable strings and that's it: we have a running +program which does not depend on translations to be available, but which +can use any that becomes available. + + The same procedure can be done for the `gettext_noop' invocations +(*note Special cases::). One usually defines `gettext_noop' as a no-op +macro. So you should consider the following code for your project: + + #define gettext_noop(String) String + #define N_(String) gettext_noop (String) + + `N_' is a short form similar to `_'. The `Makefile' in the `po/' +directory of GNU `gettext' knows by default both of the mentioned short +forms so you are invited to follow this proposal for your own ease. + + Now to `catgets'. The main problem is the work for the programmer. +Every time he comes to a translatable string he has to define a number +(or a symbolic constant) which has also be defined in the message +catalog file. He also has to take care for duplicate entries, +duplicate message IDs etc. If he wants to have the same quality in the +message catalog as the GNU `gettext' program provides he also has to +put the descriptive comments for the strings and the location in all +source code files in the message catalog. This is nearly a Mission: +Impossible. + + But there are also some points people might call advantages speaking +for `catgets'. If you have a single word in a string and this string +is used in different contexts it is likely that in one or the other +language the word has different translations. Example: + + printf ("%s: %d", gettext ("number"), number_of_errors) + + printf ("you should see %d %s", number_count, + number_count == 1 ? gettext ("number") : gettext ("numbers")) + + Here we have to translate two times the string `"number"'. Even if +you do not speak a language beside English it might be possible to +recognize that the two words have a different meaning. In German the +first appearance has to be translated to `"Anzahl"' and the second to +`"Zahl"'. + + Now you can say that this example is really esoteric. And you are +right! This is exactly how we felt about this problem and decide that +it does not weight that much. The solution for the above problem could +be very easy: + + printf ("%s %d", gettext ("number:"), number_of_errors) + + printf (number_count == 1 ? gettext ("you should see %d number") + : gettext ("you should see %d numbers"), + number_count) + + We believe that we can solve all conflicts with this method. If it +is difficult one can also consider changing one of the conflicting +string a little bit. But it is not impossible to overcome. + + `catgets' allows same original entry to have different translations, +but `gettext' has another, scalable approach for solving ambiguities of +this kind: *Note Ambiguities::. + + +File: gettext.info, Node: Using libintl.a, Next: gettext grok, Prev: Comparison, Up: Programmers + +11.4 Using libintl.a in own programs +==================================== + + Starting with version 0.9.4 the library `libintl.h' should be +self-contained. I.e., you can use it in your own programs without +providing additional functions. The `Makefile' will put the header and +the library in directories selected using the `$(prefix)'. + + +File: gettext.info, Node: gettext grok, Next: Temp Programmers, Prev: Using libintl.a, Up: Programmers + +11.5 Being a `gettext' grok +=========================== + + * NOTE: * This documentation section is outdated and needs to be +revised. + + To fully exploit the functionality of the GNU `gettext' library it +is surely helpful to read the source code. But for those who don't want +to spend that much time in reading the (sometimes complicated) code here +is a list comments: + + * Changing the language at runtime + + For interactive programs it might be useful to offer a selection + of the used language at runtime. To understand how to do this one + need to know how the used language is determined while executing + the `gettext' function. The method which is presented here only + works correctly with the GNU implementation of the `gettext' + functions. + + In the function `dcgettext' at every call the current setting of + the highest priority environment variable is determined and used. + Highest priority means here the following list with decreasing + priority: + + 1. `LANGUAGE' + + 2. `LC_ALL' + + 3. `LC_xxx', according to selected locale category + + 4. `LANG' + + Afterwards the path is constructed using the found value and the + translation file is loaded if available. + + What happens now when the value for, say, `LANGUAGE' changes? + According to the process explained above the new value of this + variable is found as soon as the `dcgettext' function is called. + But this also means the (perhaps) different message catalog file + is loaded. In other words: the used language is changed. + + But there is one little hook. The code for gcc-2.7.0 and up + provides some optimization. This optimization normally prevents + the calling of the `dcgettext' function as long as no new catalog + is loaded. But if `dcgettext' is not called the program also + cannot find the `LANGUAGE' variable be changed (*note Optimized + gettext::). A solution for this is very easy. Include the + following code in the language switching function. + + /* Change language. */ + setenv ("LANGUAGE", "fr", 1); + + /* Make change known. */ + { + extern int _nl_msg_cat_cntr; + ++_nl_msg_cat_cntr; + } + + The variable `_nl_msg_cat_cntr' is defined in `loadmsgcat.c'. You + don't need to know what this is for. But it can be used to detect + whether a `gettext' implementation is GNU gettext and not non-GNU + system's native gettext implementation. + + + +File: gettext.info, Node: Temp Programmers, Prev: gettext grok, Up: Programmers + +11.6 Temporary Notes for the Programmers Chapter +================================================ + + * NOTE: * This documentation section is outdated and needs to be +revised. + +* Menu: + +* Temp Implementations:: Temporary - Two Possible Implementations +* Temp catgets:: Temporary - About `catgets' +* Temp WSI:: Temporary - Why a single implementation +* Temp Notes:: Temporary - Notes + + +File: gettext.info, Node: Temp Implementations, Next: Temp catgets, Prev: Temp Programmers, Up: Temp Programmers + +11.6.1 Temporary - Two Possible Implementations +----------------------------------------------- + + There are two competing methods for language independent messages: +the X/Open `catgets' method, and the Uniforum `gettext' method. The +`catgets' method indexes messages by integers; the `gettext' method +indexes them by their English translations. The `catgets' method has +been around longer and is supported by more vendors. The `gettext' +method is supported by Sun, and it has been heard that the COSE +multi-vendor initiative is supporting it. Neither method is a POSIX +standard; the POSIX.1 committee had a lot of disagreement in this area. + + Neither one is in the POSIX standard. There was much disagreement +in the POSIX.1 committee about using the `gettext' routines vs. +`catgets' (XPG). In the end the committee couldn't agree on anything, +so no messaging system was included as part of the standard. I believe +the informative annex of the standard includes the XPG3 messaging +interfaces, "...as an example of a messaging system that has been +implemented..." + + They were very careful not to say anywhere that you should use one +set of interfaces over the other. For more on this topic please see +the Programming for Internationalization FAQ. + + +File: gettext.info, Node: Temp catgets, Next: Temp WSI, Prev: Temp Implementations, Up: Temp Programmers + +11.6.2 Temporary - About `catgets' +---------------------------------- + + There have been a few discussions of late on the use of `catgets' as +a base. I think it important to present both sides of the argument and +hence am opting to play devil's advocate for a little bit. + + I'll not deny the fact that `catgets' could have been designed a lot +better. It currently has quite a number of limitations and these have +already been pointed out. + + However there is a great deal to be said for consistency and +standardization. A common recurring problem when writing Unix software +is the myriad portability problems across Unix platforms. It seems as +if every Unix vendor had a look at the operating system and found parts +they could improve upon. Undoubtedly, these modifications are probably +innovative and solve real problems. However, software developers have +a hard time keeping up with all these changes across so many platforms. + + And this has prompted the Unix vendors to begin to standardize their +systems. Hence the impetus for Spec1170. Every major Unix vendor has +committed to supporting this standard and every Unix software developer +waits with glee the day they can write software to this standard and +simply recompile (without having to use autoconf) across different +platforms. + + As I understand it, Spec1170 is roughly based upon version 4 of the +X/Open Portability Guidelines (XPG4). Because `catgets' and friends +are defined in XPG4, I'm led to believe that `catgets' is a part of +Spec1170 and hence will become a standardized component of all Unix +systems. + + +File: gettext.info, Node: Temp WSI, Next: Temp Notes, Prev: Temp catgets, Up: Temp Programmers + +11.6.3 Temporary - Why a single implementation +---------------------------------------------- + + Now it seems kind of wasteful to me to have two different systems +installed for accessing message catalogs. If we do want to remedy +`catgets' deficiencies why don't we try to expand `catgets' (in a +compatible manner) rather than implement an entirely new system. +Otherwise, we'll end up with two message catalog access systems +installed with an operating system - one set of routines for packages +using GNU `gettext' for their internationalization, and another set of +routines (catgets) for all other software. Bloated? + + Supposing another catalog access system is implemented. Which do we +recommend? At least for Linux, we need to attract as many software +developers as possible. Hence we need to make it as easy for them to +port their software as possible. Which means supporting `catgets'. We +will be implementing the `libintl' code within our `libc', but does +this mean we also have to incorporate another message catalog access +scheme within our `libc' as well? And what about people who are going +to be using the `libintl' + non-`catgets' routines. When they port +their software to other platforms, they're now going to have to include +the front-end (`libintl') code plus the back-end code (the non-`catgets' +access routines) with their software instead of just including the +`libintl' code with their software. + + Message catalog support is however only the tip of the iceberg. +What about the data for the other locale categories? They also have a +number of deficiencies. Are we going to abandon them as well and +develop another duplicate set of routines (should `libintl' expand +beyond message catalog support)? + + Like many parts of Unix that can be improved upon, we're stuck with +balancing compatibility with the past with useful improvements and +innovations for the future. + + +File: gettext.info, Node: Temp Notes, Prev: Temp WSI, Up: Temp Programmers + +11.6.4 Temporary - Notes +------------------------ + + X/Open agreed very late on the standard form so that many +implementations differ from the final form. Both of my system (old +Linux catgets and Ultrix-4) have a strange variation. + + OK. After incorporating the last changes I have to spend some time +on making the GNU/Linux `libc' `gettext' functions. So in future +Solaris is not the only system having `gettext'. + + +File: gettext.info, Node: Translators, Next: Maintainers, Prev: Programmers, Up: Top + +12 The Translator's View +************************ + +* Menu: + +* Trans Intro 0:: Introduction 0 +* Trans Intro 1:: Introduction 1 +* Discussions:: Discussions +* Organization:: Organization +* Information Flow:: Information Flow +* Translating plural forms:: How to fill in `msgstr[0]', `msgstr[1]' +* Prioritizing messages:: How to find which messages to translate first + + +File: gettext.info, Node: Trans Intro 0, Next: Trans Intro 1, Prev: Translators, Up: Translators + +12.1 Introduction 0 +=================== + + * NOTE: * This documentation section is outdated and needs to be +revised. + + Free software is going international! The Translation Project is a +way to get maintainers, translators and users all together, so free +software will gradually become able to speak many native languages. + + The GNU `gettext' tool set contains _everything_ maintainers need +for internationalizing their packages for messages. It also contains +quite useful tools for helping translators at localizing messages to +their native language, once a package has already been +internationalized. + + To achieve the Translation Project, we need many interested people +who like their own language and write it well, and who are also able to +synergize with other translators speaking the same language. If you'd +like to volunteer to _work_ at translating messages, please send mail +to your translating team. + + Each team has its own mailing list, courtesy of Linux International. +You may reach your translating team at the address `LL@li.org', +replacing LL by the two-letter ISO 639 code for your language. +Language codes are _not_ the same as country codes given in ISO 3166. +The following translating teams exist: + + Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Esperanto `eo', + Finnish `fi', French `fr', Irish `ga', German `de', Greek `el', + Italian `it', Japanese `ja', Indonesian `in', Norwegian `no', + Polish `pl', Portuguese `pt', Russian `ru', Spanish `es', Swedish + `sv' and Turkish `tr'. + +For example, you may reach the Chinese translating team by writing to +`zh@li.org'. When you become a member of the translating team for your +own language, you may subscribe to its list. For example, Swedish +people can send a message to `sv-request@li.org', having this message +body: + + subscribe + + Keep in mind that team members should be interested in _working_ at +translations, or at solving translational difficulties, rather than +merely lurking around. If your team does not exist yet and you want to +start one, please write to `coordinator@translationproject.org'; you +will then reach the coordinator for all translator teams. + + A handful of GNU packages have already been adapted and provided +with message translations for several languages. Translation teams +have begun to organize, using these packages as a starting point. But +there are many more packages and many languages for which we have no +volunteer translators. If you would like to volunteer to work at +translating messages, please send mail to +`coordinator@translationproject.org' indicating what language(s) you +can work on. + + +File: gettext.info, Node: Trans Intro 1, Next: Discussions, Prev: Trans Intro 0, Up: Translators + +12.2 Introduction 1 +=================== + + * NOTE: * This documentation section is outdated and needs to be +revised. + + This is now official, GNU is going international! Here is the +announcement submitted for the January 1995 GNU Bulletin: + + A handful of GNU packages have already been adapted and provided + with message translations for several languages. Translation + teams have begun to organize, using these packages as a starting + point. But there are many more packages and many languages for + which we have no volunteer translators. If you'd like to + volunteer to work at translating messages, please send mail to + `coordinator@translationproject.org' indicating what language(s) + you can work on. + + This document should answer many questions for those who are curious +about the process or would like to contribute. Please at least skim +over it, hoping to cut down a little of the high volume of e-mail +generated by this collective effort towards internationalization of +free software. + + Most free programming which is widely shared is done in English, and +currently, English is used as the main communicating language between +national communities collaborating to free software. This very document +is written in English. This will not change in the foreseeable future. + + However, there is a strong appetite from national communities for +having more software able to write using national language and habits, +and there is an on-going effort to modify free software in such a way +that it becomes able to do so. The experiments driven so far raised an +enthusiastic response from pretesters, so we believe that +internationalization of free software is dedicated to succeed. + + For suggestion clarifications, additions or corrections to this +document, please e-mail to `coordinator@translationproject.org'. + + +File: gettext.info, Node: Discussions, Next: Organization, Prev: Trans Intro 1, Up: Translators + +12.3 Discussions +================ + + * NOTE: * This documentation section is outdated and needs to be +revised. + + Facing this internationalization effort, a few users expressed their +concerns. Some of these doubts are presented and discussed, here. + + * Smaller groups + + Some languages are not spoken by a very large number of people, so + people speaking them sometimes consider that there may not be all + that much demand such versions of free software packages. + Moreover, many people being _into computers_, in some countries, + generally seem to prefer English versions of their software. + + On the other end, people might enjoy their own language a lot, and + be very motivated at providing to themselves the pleasure of + having their beloved free software speaking their mother tongue. + They do themselves a personal favor, and do not pay that much + attention to the number of people benefiting of their work. + + * Misinterpretation + + Other users are shy to push forward their own language, seeing in + this some kind of misplaced propaganda. Someone thought there + must be some users of the language over the networks pestering + other people with it. + + But any spoken language is worth localization, because there are + people behind the language for whom the language is important and + dear to their hearts. + + * Odd translations + + The biggest problem is to find the right translations so that + everybody can understand the messages. Translations are usually a + little odd. Some people get used to English, to the extent they + may find translations into their own language "rather pushy, + obnoxious and sometimes even hilarious." As a French speaking + man, I have the experience of those instruction manuals for goods, + so poorly translated in French in Korea or Taiwan... + + The fact is that we sometimes have to create a kind of national + computer culture, and this is not easy without the collaboration of + many people liking their mother tongue. This is why translations + are better achieved by people knowing and loving their own + language, and ready to work together at improving the results they + obtain. + + * Dependencies over the GPL or LGPL + + Some people wonder if using GNU `gettext' necessarily brings their + package under the protective wing of the GNU General Public + License or the GNU Library General Public License, when they do + not want to make their program free, or want other kinds of + freedom. The simplest answer is "normally not". + + The `gettext-runtime' part of GNU `gettext', i.e. the contents of + `libintl', is covered by the GNU Library General Public License. + The `gettext-tools' part of GNU `gettext', i.e. the rest of the + GNU `gettext' package, is covered by the GNU General Public + License. + + The mere marking of localizable strings in a package, or + conditional inclusion of a few lines for initialization, is not + really including GPL'ed or LGPL'ed code. However, since the + localization routines in `libintl' are under the LGPL, the LGPL + needs to be considered. It gives the right to distribute the + complete unmodified source of `libintl' even with non-free + programs. It also gives the right to use `libintl' as a shared + library, even for non-free programs. But it gives the right to + use `libintl' as a static library or to incorporate `libintl' into + another library only to free software. + + + +File: gettext.info, Node: Organization, Next: Information Flow, Prev: Discussions, Up: Translators + +12.4 Organization +================= + + * NOTE: * This documentation section is outdated and needs to be +revised. + + On a larger scale, the true solution would be to organize some kind +of fairly precise set up in which volunteers could participate. I gave +some thought to this idea lately, and realize there will be some touchy +points. I thought of writing to Richard Stallman to launch such a +project, but feel it might be good to shake out the ideas between +ourselves first. Most probably that Linux International has some +experience in the field already, or would like to orchestrate the +volunteer work, maybe. Food for thought, in any case! + + I guess we have to setup something early, somehow, that will help +many possible contributors of the same language to interlock and avoid +work duplication, and further be put in contact for solving together +problems particular to their tongue (in most languages, there are many +difficulties peculiar to translating technical English). My Swedish +contributor acknowledged these difficulties, and I'm well aware of them +for French. + + This is surely not a technical issue, but we should manage so the +effort of locale contributors be maximally useful, despite the national +team layer interface between contributors and maintainers. + + The Translation Project needs some setup for coordinating language +coordinators. Localizing evolving programs will surely become a +permanent and continuous activity in the free software community, once +well started. The setup should be minimally completed and tested +before GNU `gettext' becomes an official reality. The e-mail address +`coordinator@translationproject.org' has been set up for receiving +offers from volunteers and general e-mail on these topics. This address +reaches the Translation Project coordinator. + +* Menu: + +* Central Coordination:: Central Coordination +* National Teams:: National Teams +* Mailing Lists:: Mailing Lists + + +File: gettext.info, Node: Central Coordination, Next: National Teams, Prev: Organization, Up: Organization + +12.4.1 Central Coordination +--------------------------- + + I also think GNU will need sooner than it thinks, that someone set up +a way to organize and coordinate these groups. Some kind of group of +groups. My opinion is that it would be good that GNU delegates this +task to a small group of collaborating volunteers, shortly. Perhaps in +`gnu.announce' a list of this national committee's can be published. + + My role as coordinator would simply be to refer to Ulrich any German +speaking volunteer interested to localization of free software +packages, and maybe helping national groups to initially organize, +while maintaining national registries for until national groups are +ready to take over. In fact, the coordinator should ease volunteers to +get in contact with one another for creating national teams, which +should then select one coordinator per language, or country +(regionalized language). If well done, the coordination should be +useful without being an overwhelming task, the time to put delegations +in place. + + +File: gettext.info, Node: National Teams, Next: Mailing Lists, Prev: Central Coordination, Up: Organization + +12.4.2 National Teams +--------------------- + + I suggest we look for volunteer coordinators/editors for individual +languages. These people will scan contributions of translation files +for various programs, for their own languages, and will ensure high and +uniform standards of diction. + + From my current experience with other people in these days, those who +provide localizations are very enthusiastic about the process, and are +more interested in the localization process than in the program they +localize, and want to do many programs, not just one. This seems to +confirm that having a coordinator/editor for each language is a good +idea. + + We need to choose someone who is good at writing clear and concise +prose in the language in question. That is hard--we can't check it +ourselves. So we need to ask a few people to judge each others' +writing and select the one who is best. + + I announce my prerelease to a few dozen people, and you would not +believe all the discussions it generated already. I shudder to think +what will happen when this will be launched, for true, officially, +world wide. Who am I to arbitrate between two Czekolsovak users +contradicting each other, for example? + + I assume that your German is not much better than my French so that +I would not be able to judge about these formulations. What I would +suggest is that for each language there is a group for people who +maintain the PO files and judge about changes. I suspect there will be +cultural differences between how such groups of people will behave. +Some will have relaxed ways, reach consensus easily, and have anyone of +the group relate to the maintainers, while others will fight to death, +organize heavy administrations up to national standards, and use strict +channels. + + The German team is putting out a good example. Right now, they are +maybe half a dozen people revising translations of each other and +discussing the linguistic issues. I do not even have all the names. +Ulrich Drepper is taking care of coordinating the German team. He +subscribed to all my pretest lists, so I do not even have to warn him +specifically of incoming releases. + + I'm sure, that is a good idea to get teams for each language working +on translations. That will make the translations better and more +consistent. + +* Menu: + +* Sub-Cultures:: Sub-Cultures +* Organizational Ideas:: Organizational Ideas + + +File: gettext.info, Node: Sub-Cultures, Next: Organizational Ideas, Prev: National Teams, Up: National Teams + +12.4.2.1 Sub-Cultures +..................... + + Taking French for example, there are a few sub-cultures around +computers which developed diverging vocabularies. Picking volunteers +here and there without addressing this problem in an organized way, +soon in the project, might produce a distasteful mix of +internationalized programs, and possibly trigger endless quarrels among +those who really care. + + Keeping some kind of unity in the way French localization of +internationalized programs is achieved is a difficult (and delicate) +job. Knowing the latin character of French people (:-), if we take this +the wrong way, we could end up nowhere, or spoil a lot of energies. +Maybe we should begin to address this problem seriously _before_ GNU +`gettext' become officially published. And I suspect that this means +soon! + + +File: gettext.info, Node: Organizational Ideas, Prev: Sub-Cultures, Up: National Teams + +12.4.2.2 Organizational Ideas +............................. + + I expect the next big changes after the official release. Please +note that I use the German translation of the short GPL message. We +need to set a few good examples before the localization goes out for +true in the free software community. Here are a few points to discuss: + + * Each group should have one FTP server (at least one master). + + * The files on the server should reflect the latest version (of + course!) and it should also contain a RCS directory with the + corresponding archives (I don't have this now). + + * There should also be a ChangeLog file (this is more useful than the + RCS archive but can be generated automatically from the later by + Emacs). + + * A "core group" should judge about questionable changes (for now + this group consists solely by me but I ask some others + occasionally; this also seems to work). + + + +File: gettext.info, Node: Mailing Lists, Prev: National Teams, Up: Organization + +12.4.3 Mailing Lists +-------------------- + + If we get any inquiries about GNU `gettext', send them on to: + + `coordinator@translationproject.org' + + The `*-pretest' lists are quite useful to me, maybe the idea could +be generalized to many GNU, and non-GNU packages. But each maintainer +his/her way! + + François, we have a mechanism in place here at `gnu.ai.mit.edu' to +track teams, support mailing lists for them and log members. We have a +slight preference that you use it. If this is OK with you, I can get +you clued in. + + Things are changing! A few years ago, when Daniel Fekete and I +asked for a mailing list for GNU localization, nested at the FSF, we +were politely invited to organize it anywhere else, and so did we. For +communicating with my pretesters, I later made a handful of mailing +lists located at iro.umontreal.ca and administrated by `majordomo'. +These lists have been _very_ dependable so far... + + I suspect that the German team will organize itself a mailing list +located in Germany, and so forth for other countries. But before they +organize for true, it could surely be useful to offer mailing lists +located at the FSF to each national team. So yes, please explain me +how I should proceed to create and handle them. + + We should create temporary mailing lists, one per country, to help +people organize. Temporary, because once regrouped and structured, it +would be fair the volunteers from country bring back _their_ list in +there and manage it as they want. My feeling is that, in the long run, +each team should run its own list, from within their country. There +also should be some central list to which all teams could subscribe as +they see fit, as long as each team is represented in it. + + +File: gettext.info, Node: Information Flow, Next: Translating plural forms, Prev: Organization, Up: Translators + +12.5 Information Flow +===================== + + * NOTE: * This documentation section is outdated and needs to be +revised. + + There will surely be some discussion about this messages after the +packages are finally released. If people now send you some proposals +for better messages, how do you proceed? Jim, please note that right +now, as I put forward nearly a dozen of localizable programs, I receive +both the translations and the coordination concerns about them. + + If I put one of my things to pretest, Ulrich receives the +announcement and passes it on to the German team, who make last minute +revisions. Then he submits the translation files to me _as the +maintainer_. For free packages I do not maintain, I would not even +hear about it. This scheme could be made to work for the whole +Translation Project, I think. For security reasons, maybe Ulrich +(national coordinators, in fact) should update central registry kept at +the Translation Project (Jim, me, or Len's recruits) once in a while. + + In December/January, I was aggressively ready to internationalize +all of GNU, giving myself the duty of one small GNU package per week or +so, taking many weeks or months for bigger packages. But it does not +work this way. I first did all the things I'm responsible for. I've +nothing against some missionary work on other maintainers, but I'm also +loosing a lot of energy over it--same debates over again. + + And when the first localized packages are released we'll get a lot of +responses about ugly translations :-). Surely, and we need to have +beforehand a fairly good idea about how to handle the information flow +between the national teams and the package maintainers. + + Please start saving somewhere a quick history of each PO file. I +know for sure that the file format will change, allowing for comments. +It would be nice that each file has a kind of log, and references for +those who want to submit comments or gripes, or otherwise contribute. +I sent a proposal for a fast and flexible format, but it is not +receiving acceptance yet by the GNU deciders. I'll tell you when I +have more information about this. + + +File: gettext.info, Node: Translating plural forms, Next: Prioritizing messages, Prev: Information Flow, Up: Translators + +12.6 Translating plural forms +============================= + + Suppose you are translating a PO file, and it contains an entry like +this: + + #, c-format + msgid "One file removed" + msgid_plural "%d files removed" + msgstr[0] "" + msgstr[1] "" + +What does this mean? How do you fill it in? + + Such an entry denotes a message with plural forms, that is, a +message where the text depends on a cardinal number. The general form +of the message, in English, is the `msgid_plural' line. The `msgid' +line is the English singular form, that is, the form for when the +number is equal to 1. More details about plural forms are explained in +*note Plural forms::. + + The first thing you need to look at is the `Plural-Forms' line in the +header entry of the PO file. It contains the number of plural forms +and a formula. If the PO file does not yet have such a line, you have +to add it. It only depends on the language into which you are +translating. You can get this info by using the `msginit' command (see +*note Creating::) - it contains a database of known plural formulas - +or by asking other members of your translation team. + + Suppose the line looks as follows: + + "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" + "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + + It's logically one line; recall that the PO file formatting is +allowed to break long lines so that each physical line fits in 80 +monospaced columns. + + The value of `nplurals' here tells you that there are three plural +forms. The first thing you need to do is to ensure that the entry +contains an `msgstr' line for each of the forms: + + #, c-format + msgid "One file removed" + msgid_plural "%d files removed" + msgstr[0] "" + msgstr[1] "" + msgstr[2] "" + + Then translate the `msgid_plural' line and fill it in into each +`msgstr' line: + + #, c-format + msgid "One file removed" + msgid_plural "%d files removed" + msgstr[0] "%d slika uklonjenih" + msgstr[1] "%d slika uklonjenih" + msgstr[2] "%d slika uklonjenih" + + Now you can refine the translation so that it matches the plural +form. According to the formula above, `msgstr[0]' is used when the +number ends in 1 but does not end in 11; `msgstr[1]' is used when the +number ends in 2, 3, 4, but not in 12, 13, 14; and `msgstr[2]' is used +in all other cases. With this knowledge, you can refine the +translations: + + #, c-format + msgid "One file removed" + msgid_plural "%d files removed" + msgstr[0] "%d slika je uklonjena" + msgstr[1] "%d datoteke uklonjenih" + msgstr[2] "%d slika uklonjenih" + + You noticed that in the English singular form (`msgid') the number +placeholder could be omitted and replaced by the numeral word "one". +Can you do this in your translation as well? + + msgstr[0] "jednom datotekom je uklonjen" + +Well, it depends on whether `msgstr[0]' applies only to the number 1, +or to other numbers as well. If, according to the plural formula, +`msgstr[0]' applies only to `n == 1', then you can use the specialized +translation without the number placeholder. In our case, however, +`msgstr[0]' also applies to the numbers 21, 31, 41, etc., and therefore +you cannot omit the placeholder. + + +File: gettext.info, Node: Prioritizing messages, Prev: Translating plural forms, Up: Translators + +12.7 Prioritizing messages: How to determine which messages to translate first +============================================================================== + + A translator sometimes has only a limited amount of time per week to +spend on a package, and some packages have quite large message catalogs +(over 1000 messages). Therefore she wishes to translate the messages +first that are the most visible to the user, or that occur most +frequently. This section describes how to determine these "most +urgent" messages. It also applies to determine the "next most urgent" +messages after the message catalog has already been partially +translated. + + In a first step, she uses the programs like a user would do. While +she does this, the GNU `gettext' library logs into a file the not yet +translated messages for which a translation was requested from the +program. + + In a second step, she uses the PO mode to translate precisely this +set of messages. + + Here a more details. The GNU `libintl' library (but not the +corresponding functions in GNU `libc') supports an environment variable +`GETTEXT_LOG_UNTRANSLATED'. The GNU `libintl' library will log into +this file the messages for which `gettext()' and related functions +couldn't find the translation. If the file doesn't exist, it will be +created as needed. On systems with GNU `libc' a shared library +`preloadable_libintl.so' is provided that can be used with the ELF +`LD_PRELOAD' mechanism. + + So, in the first step, the translator uses these commands on systems +with GNU `libc': + + $ LD_PRELOAD=/usr/local/lib/preloadable_libintl.so + $ export LD_PRELOAD + $ GETTEXT_LOG_UNTRANSLATED=$HOME/gettextlogused + $ export GETTEXT_LOG_UNTRANSLATED + +and these commands on other systems: + + $ GETTEXT_LOG_UNTRANSLATED=$HOME/gettextlogused + $ export GETTEXT_LOG_UNTRANSLATED + + Then she uses and peruses the programs. (It is a good and +recommended practice to use the programs for which you provide +translations: it gives you the needed context.) When done, she removes +the environment variables: + + $ unset LD_PRELOAD + $ unset GETTEXT_LOG_UNTRANSLATED + + The second step starts with removing duplicates: + + $ msguniq $HOME/gettextlogused > missing.po + + The result is a PO file, but needs some preprocessing before a PO +file editor can be used with it. First, it is a multi-domain PO file, +containing messages from many translation domains. Second, it lacks +all translator comments and source references. Here is how to get a +list of the affected translation domains: + + $ sed -n -e 's,^domain "\(.*\)"$,\1,p' < missing.po | sort | uniq + + Then the translator can handle the domains one by one. For +simplicity, let's use environment variables to denote the language, +domain and source package. + + $ lang=nl # your language + $ domain=coreutils # the name of the domain to be handled + $ package=/usr/src/gnu/coreutils-4.5.4 # the package where it comes from + + She takes the latest copy of `$lang.po' from the Translation Project, +or from the package (in most cases, `$package/po/$lang.po'), or creates +a fresh one if she's the first translator (see *note Creating::). She +then uses the following commands to mark the not urgent messages as +"obsolete". (This doesn't mean that these messages - translated and +untranslated ones - will go away. It simply means that the PO file +editor will ignore them in the following editing session.) + + $ msggrep --domain=$domain missing.po | grep -v '^domain' \ + > $domain-missing.po + $ msgattrib --set-obsolete --ignore-file $domain-missing.po $domain.$lang.po \ + > $domain.$lang-urgent.po + + The she translates `$domain.$lang-urgent.po' by use of a PO file +editor (*note Editing::). (FIXME: I don't know whether `KBabel' and +`gtranslator' also preserve obsolete messages, as they should.) +Finally she restores the not urgent messages (with their earlier +translations, for those which were already translated) through this +command: + + $ msgmerge --no-fuzzy-matching $domain.$lang-urgent.po $package/po/$domain.pot \ + > $domain.$lang.po + + Then she can submit `$domain.$lang.po' and proceed to the next +domain. + + +File: gettext.info, Node: Maintainers, Next: Installers, Prev: Translators, Up: Top + +13 The Maintainer's View +************************ + + The maintainer of a package has many responsibilities. One of them +is ensuring that the package will install easily on many platforms, and +that the magic we described earlier (*note Users::) will work for +installers and end users. + + Of course, there are many possible ways by which GNU `gettext' might +be integrated in a distribution, and this chapter does not cover them +in all generality. Instead, it details one possible approach which is +especially adequate for many free software distributions following GNU +standards, or even better, Gnits standards, because GNU `gettext' is +purposely for helping the internationalization of the whole GNU +project, and as many other good free packages as possible. So, the +maintainer's view presented here presumes that the package already has +a `configure.ac' file and uses GNU Autoconf. + + Nevertheless, GNU `gettext' may surely be useful for free packages +not following GNU standards and conventions, but the maintainers of such +packages might have to show imagination and initiative in organizing +their distributions so `gettext' work for them in all situations. +There are surely many, out there. + + Even if `gettext' methods are now stabilizing, slight adjustments +might be needed between successive `gettext' versions, so you should +ideally revise this chapter in subsequent releases, looking for changes. + +* Menu: + +* Flat and Non-Flat:: Flat or Non-Flat Directory Structures +* Prerequisites:: Prerequisite Works +* gettextize Invocation:: Invoking the `gettextize' Program +* Adjusting Files:: Files You Must Create or Alter +* autoconf macros:: Autoconf macros for use in `configure.ac' +* CVS Issues:: Integrating with CVS +* Release Management:: Creating a Distribution Tarball + + +File: gettext.info, Node: Flat and Non-Flat, Next: Prerequisites, Prev: Maintainers, Up: Maintainers + +13.1 Flat or Non-Flat Directory Structures +========================================== + + Some free software packages are distributed as `tar' files which +unpack in a single directory, these are said to be "flat" distributions. +Other free software packages have a one level hierarchy of +subdirectories, using for example a subdirectory named `doc/' for the +Texinfo manual and man pages, another called `lib/' for holding +functions meant to replace or complement C libraries, and a +subdirectory `src/' for holding the proper sources for the package. +These other distributions are said to be "non-flat". + + We cannot say much about flat distributions. A flat directory +structure has the disadvantage of increasing the difficulty of updating +to a new version of GNU `gettext'. Also, if you have many PO files, +this could somewhat pollute your single directory. Also, GNU +`gettext''s libintl sources consist of C sources, shell scripts, `sed' +scripts and complicated Makefile rules, which don't fit well into an +existing flat structure. For these reasons, we recommend to use +non-flat approach in this case as well. + + Maybe because GNU `gettext' itself has a non-flat structure, we have +more experience with this approach, and this is what will be described +in the remaining of this chapter. Some maintainers might use this as +an opportunity to unflatten their package structure. + + +File: gettext.info, Node: Prerequisites, Next: gettextize Invocation, Prev: Flat and Non-Flat, Up: Maintainers + +13.2 Prerequisite Works +======================= + + There are some works which are required for using GNU `gettext' in +one of your package. These works have some kind of generality that +escape the point by point descriptions used in the remainder of this +chapter. So, we describe them here. + + * Before attempting to use `gettextize' you should install some + other packages first. Ensure that recent versions of GNU `m4', + GNU Autoconf and GNU `gettext' are already installed at your site, + and if not, proceed to do this first. If you get to install these + things, beware that GNU `m4' must be fully installed before GNU + Autoconf is even _configured_. + + To further ease the task of a package maintainer the `automake' + package was designed and implemented. GNU `gettext' now uses this + tool and the `Makefile's in the `intl/' and `po/' therefore know + about all the goals necessary for using `automake' and `libintl' + in one project. + + Those four packages are only needed by you, as a maintainer; the + installers of your own package and end users do not really need + any of GNU `m4', GNU Autoconf, GNU `gettext', or GNU `automake' + for successfully installing and running your package, with messages + properly translated. But this is not completely true if you + provide internationalized shell scripts within your own package: + GNU `gettext' shall then be installed at the user site if the end + users want to see the translation of shell script messages. + + * Your package should use Autoconf and have a `configure.ac' or + `configure.in' file. If it does not, you have to learn how. The + Autoconf documentation is quite well written, it is a good idea + that you print it and get familiar with it. + + * Your C sources should have already been modified according to + instructions given earlier in this manual. *Note Sources::. + + * Your `po/' directory should receive all PO files submitted to you + by the translator teams, each having `LL.po' as a name. This is + not usually easy to get translation work done before your package + gets internationalized and available! Since the cycle has to + start somewhere, the easiest for the maintainer is to start with + absolutely no PO files, and wait until various translator teams + get interested in your package, and submit PO files. + + + It is worth adding here a few words about how the maintainer should +ideally behave with PO files submissions. As a maintainer, your role is +to authenticate the origin of the submission as being the representative +of the appropriate translating teams of the Translation Project (forward +the submission to `coordinator@translationproject.org' in case of +doubt), to ensure that the PO file format is not severely broken and +does not prevent successful installation, and for the rest, to merely +put these PO files in `po/' for distribution. + + As a maintainer, you do not have to take on your shoulders the +responsibility of checking if the translations are adequate or +complete, and should avoid diving into linguistic matters. Translation +teams drive themselves and are fully responsible of their linguistic +choices for the Translation Project. Keep in mind that translator +teams are _not_ driven by maintainers. You can help by carefully +redirecting all communications and reports from users about linguistic +matters to the appropriate translation team, or explain users how to +reach or join their team. The simplest might be to send them the +`ABOUT-NLS' file. + + Maintainers should _never ever_ apply PO file bug reports +themselves, short-cutting translation teams. If some translator has +difficulty to get some of her points through her team, it should not be +an option for her to directly negotiate translations with maintainers. +Teams ought to settle their problems themselves, if any. If you, as a +maintainer, ever think there is a real problem with a team, please +never try to _solve_ a team's problem on your own. + + +File: gettext.info, Node: gettextize Invocation, Next: Adjusting Files, Prev: Prerequisites, Up: Maintainers + +13.3 Invoking the `gettextize' Program +====================================== + + The `gettextize' program is an interactive tool that helps the +maintainer of a package internationalized through GNU `gettext'. It is +used for two purposes: + + * As a wizard, when a package is modified to use GNU `gettext' for + the first time. + + * As a migration tool, for upgrading the GNU `gettext' support in a + package from a previous to a newer version of GNU `gettext'. + + This program performs the following tasks: + + * It copies into the package some files that are consistently and + identically needed in every package internationalized through GNU + `gettext'. + + * It performs as many of the tasks mentioned in the next section + *note Adjusting Files:: as can be performed automatically. + + * It removes obsolete files and idioms used for previous GNU + `gettext' versions to the form recommended for the current GNU + `gettext' version. + + * It prints a summary of the tasks that ought to be done manually + and could not be done automatically by `gettextize'. + + It can be invoked as follows: + + gettextize [ OPTION... ] [ DIRECTORY ] + +and accepts the following options: + +`-f' +`--force' + Force replacement of files which already exist. + +`--intl' + Install the libintl sources in a subdirectory named `intl/'. This + libintl will be used to provide internationalization on systems + that don't have GNU libintl installed. If this option is omitted, + the call to `AM_GNU_GETTEXT' in `configure.ac' should read: + `AM_GNU_GETTEXT([external])', and internationalization will not be + enabled on systems lacking GNU gettext. + +`--po-dir=DIR' + Specify a directory containing PO files. Such a directory + contains the translations into various languages of a particular + POT file. This option can be specified multiple times, once for + each translation domain. If it is not specified, the directory + named `po/' is updated. + +`--no-changelog' + Don't update or create ChangeLog files. By default, `gettextize' + logs all changes (file additions, modifications and removals) in a + file called `ChangeLog' in each affected directory. + +`--symlink' + Make symbolic links instead of copying the needed files. This can + be useful to save a few kilobytes of disk space, but it requires + extra effort to create self-contained tarballs, it may disturb + some mechanism the maintainer applies to the sources, and it is + likely to introduce bugs when a newer version of `gettext' is + installed on the system. + +`-n' +`--dry-run' + Print modifications but don't perform them. All actions that + `gettextize' would normally execute are inhibited and instead only + listed on standard output. + +`--help' + Display this help and exit. + +`--version' + Output version information and exit. + + + If DIRECTORY is given, this is the top level directory of a package +to prepare for using GNU `gettext'. If not given, it is assumed that +the current directory is the top level directory of such a package. + + The program `gettextize' provides the following files. However, no +existing file will be replaced unless the option `--force' (`-f') is +specified. + + 1. The `ABOUT-NLS' file is copied in the main directory of your + package, the one being at the top level. This file gives the main + indications about how to install and use the Native Language + Support features of your program. You might elect to use a more + recent copy of this `ABOUT-NLS' file than the one provided through + `gettextize', if you have one handy. You may also fetch a more + recent copy of file `ABOUT-NLS' from Translation Project sites, + and from most GNU archive sites. + + 2. A `po/' directory is created for eventually holding all + translation files, but initially only containing the file + `po/Makefile.in.in' from the GNU `gettext' distribution (beware + the double `.in' in the file name) and a few auxiliary files. If + the `po/' directory already exists, it will be preserved along + with the files it contains, and only `Makefile.in.in' and the + auxiliary files will be overwritten. + + If `--po-dir' has been specified, this holds for every directory + specified through `--po-dir', instead of `po/'. + + 3. Only if `--intl' has been specified: A `intl/' directory is + created and filled with most of the files originally in the + `intl/' directory of the GNU `gettext' distribution. Also, if + option `--force' (`-f') is given, the `intl/' directory is emptied + first. + + 4. The file `config.rpath' is copied into the directory containing + configuration support files. It is needed by the `AM_GNU_GETTEXT' + autoconf macro. + + 5. Only if the project is using GNU `automake': A set of `autoconf' + macro files is copied into the package's `autoconf' macro + repository, usually in a directory called `m4/'. + + If your site support symbolic links, `gettextize' will not actually +copy the files into your package, but establish symbolic links instead. +This avoids duplicating the disk space needed in all packages. Merely +using the `-h' option while creating the `tar' archive of your +distribution will resolve each link by an actual copy in the +distribution archive. So, to insist, you really should use `-h' option +with `tar' within your `dist' goal of your main `Makefile.in'. + + Furthermore, `gettextize' will update all `Makefile.am' files in +each affected directory, as well as the top level `configure.ac' or +`configure.in' file. + + It is interesting to understand that most new files for supporting +GNU `gettext' facilities in one package go in `intl/', `po/' and `m4/' +subdirectories. One distinction between `intl/' and the two other +directories is that `intl/' is meant to be completely identical in all +packages using GNU `gettext', while the other directories will mostly +contain package dependent files. + + The `gettextize' program makes backup files for all files it +replaces or changes, and also write ChangeLog entries about these +changes. This way, the careful maintainer can check after running +`gettextize' whether its changes are acceptable to him, and possibly +adjust them. An exception to this rule is the `intl/' directory, which +is added or replaced or removed as a whole. + + It is important to understand that `gettextize' can not do the +entire job of adapting a package for using GNU `gettext'. The amount +of remaining work depends on whether the package uses GNU `automake' or +not. But in any case, the maintainer should still read the section +*note Adjusting Files:: after invoking `gettextize'. + + In particular, if after using `gettexize', you get an error +`AC_COMPILE_IFELSE was called before AC_GNU_SOURCE' or `AC_RUN_IFELSE +was called before AC_GNU_SOURCE', you can fix it by modifying +`configure.ac', as described in *note configure.ac::. + + It is also important to understand that `gettextize' is not part of +the GNU build system, in the sense that it should not be invoked +automatically, and not be invoked by someone who doesn't assume the +responsibilities of a package maintainer. For the latter purpose, a +separate tool is provided, see *note autopoint Invocation::. + + +File: gettext.info, Node: Adjusting Files, Next: autoconf macros, Prev: gettextize Invocation, Up: Maintainers + +13.4 Files You Must Create or Alter +=================================== + + Besides files which are automatically added through `gettextize', +there are many files needing revision for properly interacting with GNU +`gettext'. If you are closely following GNU standards for Makefile +engineering and auto-configuration, the adaptations should be easier to +achieve. Here is a point by point description of the changes needed in +each. + + So, here comes a list of files, each one followed by a description of +all alterations it needs. Many examples are taken out from the GNU +`gettext' 0.18.1 distribution itself, or from the GNU `hello' +distribution (`http://www.franken.de/users/gnu/ke/hello' or +`http://www.gnu.franken.de/ke/hello/') You may indeed refer to the +source code of the GNU `gettext' and GNU `hello' packages, as they are +intended to be good examples for using GNU gettext functionality. + +* Menu: + +* po/POTFILES.in:: `POTFILES.in' in `po/' +* po/LINGUAS:: `LINGUAS' in `po/' +* po/Makevars:: `Makevars' in `po/' +* po/Rules-*:: Extending `Makefile' in `po/' +* configure.ac:: `configure.ac' at top level +* config.guess:: `config.guess', `config.sub' at top level +* mkinstalldirs:: `mkinstalldirs' at top level +* aclocal:: `aclocal.m4' at top level +* acconfig:: `acconfig.h' at top level +* config.h.in:: `config.h.in' at top level +* Makefile:: `Makefile.in' at top level +* src/Makefile:: `Makefile.in' in `src/' +* lib/gettext.h:: `gettext.h' in `lib/' + + +File: gettext.info, Node: po/POTFILES.in, Next: po/LINGUAS, Prev: Adjusting Files, Up: Adjusting Files + +13.4.1 `POTFILES.in' in `po/' +----------------------------- + + The `po/' directory should receive a file named `POTFILES.in'. This +file tells which files, among all program sources, have marked strings +needing translation. Here is an example of such a file: + + # List of source files containing translatable strings. + # Copyright (C) 1995 Free Software Foundation, Inc. + + # Common library files + lib/error.c + lib/getopt.c + lib/xmalloc.c + + # Package source files + src/gettext.c + src/msgfmt.c + src/xgettext.c + +Hash-marked comments and white lines are ignored. All other lines list +those source files containing strings marked for translation (*note +Mark Keywords::), in a notation relative to the top level of your whole +distribution, rather than the location of the `POTFILES.in' file itself. + + When a C file is automatically generated by a tool, like `flex' or +`bison', that doesn't introduce translatable strings by itself, it is +recommended to list in `po/POTFILES.in' the real source file (ending in +`.l' in the case of `flex', or in `.y' in the case of `bison'), not the +generated C file. + + +File: gettext.info, Node: po/LINGUAS, Next: po/Makevars, Prev: po/POTFILES.in, Up: Adjusting Files + +13.4.2 `LINGUAS' in `po/' +------------------------- + + The `po/' directory should also receive a file named `LINGUAS'. +This file contains the list of available translations. It is a +whitespace separated list. Hash-marked comments and white lines are +ignored. Here is an example file: + + # Set of available languages. + de fr + +This example means that German and French PO files are available, so +that these languages are currently supported by your package. If you +want to further restrict, at installation time, the set of installed +languages, this should not be done by modifying the `LINGUAS' file, but +rather by using the `LINGUAS' environment variable (*note Installers::). + + It is recommended that you add the "languages" `en@quot' and +`en@boldquot' to the `LINGUAS' file. `en@quot' is a variant of English +message catalogs (`en') which uses real quotation marks instead of the +ugly looking asymmetric ASCII substitutes ``' and `''. `en@boldquot' +is a variant of `en@quot' that additionally outputs quoted pieces of +text in a bold font, when used in a terminal emulator which supports +the VT100 escape sequences (such as `xterm' or the Linux console, but +not Emacs in `M-x shell' mode). + + These extra message catalogs `en@quot' and `en@boldquot' are +constructed automatically, not by translators; to support them, you +need the files `Rules-quot', `quot.sed', `boldquot.sed', +`en@quot.header', `en@boldquot.header', `insert-header.sin' in the +`po/' directory. You can copy them from GNU gettext's `po/' directory; +they are also installed by running `gettextize'. + + +File: gettext.info, Node: po/Makevars, Next: po/Rules-*, Prev: po/LINGUAS, Up: Adjusting Files + +13.4.3 `Makevars' in `po/' +-------------------------- + + The `po/' directory also has a file named `Makevars'. It contains +variables that are specific to your project. `po/Makevars' gets +inserted into the `po/Makefile' when the latter is created. The +variables thus take effect when the POT file is created or updated, and +when the message catalogs get installed. + + The first three variables can be left unmodified if your package has +a single message domain and, accordingly, a single `po/' directory. +Only packages which have multiple `po/' directories at different +locations need to adjust the three first variables defined in +`Makevars'. + + As an alternative to the `XGETTEXT_OPTIONS' variables, it is also +possible to specify `xgettext' options through the `AM_XGETTEXT_OPTION' +autoconf macro. See *note AM_XGETTEXT_OPTION::. + + +File: gettext.info, Node: po/Rules-*, Next: configure.ac, Prev: po/Makevars, Up: Adjusting Files + +13.4.4 Extending `Makefile' in `po/' +------------------------------------ + + All files called `Rules-*' in the `po/' directory get appended to +the `po/Makefile' when it is created. They present an opportunity to +add rules for special PO files to the Makefile, without needing to mess +with `po/Makefile.in.in'. + + GNU gettext comes with a `Rules-quot' file, containing rules for +building catalogs `en@quot.po' and `en@boldquot.po'. The effect of +`en@quot.po' is that people who set their `LANGUAGE' environment +variable to `en@quot' will get messages with proper looking symmetric +Unicode quotation marks instead of abusing the ASCII grave accent and +the ASCII apostrophe for indicating quotations. To enable this +catalog, simply add `en@quot' to the `po/LINGUAS' file. The effect of +`en@boldquot.po' is that people who set `LANGUAGE' to `en@boldquot' +will get not only proper quotation marks, but also the quoted text will +be shown in a bold font on terminals and consoles. This catalog is +useful only for command-line programs, not GUI programs. To enable it, +similarly add `en@boldquot' to the `po/LINGUAS' file. + + Similarly, you can create rules for building message catalogs for the +`sr@latin' locale - Serbian written with the Latin alphabet - from +those for the `sr' locale - Serbian written with Cyrillic letters. See +*note msgfilter Invocation::. + + +File: gettext.info, Node: configure.ac, Next: config.guess, Prev: po/Rules-*, Up: Adjusting Files + +13.4.5 `configure.ac' at top level +---------------------------------- + + `configure.ac' or `configure.in' - this is the source from which +`autoconf' generates the `configure' script. + + 1. Declare the package and version. + + This is done by a set of lines like these: + + PACKAGE=gettext + VERSION=0.18.1 + AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") + AC_DEFINE_UNQUOTED(VERSION, "$VERSION") + AC_SUBST(PACKAGE) + AC_SUBST(VERSION) + + or, if you are using GNU `automake', by a line like this: + + AM_INIT_AUTOMAKE(gettext, 0.18.1) + + Of course, you replace `gettext' with the name of your package, + and `0.18.1' by its version numbers, exactly as they should appear + in the packaged `tar' file name of your distribution + (`gettext-0.18.1.tar.gz', here). + + 2. Check for internationalization support. + + Here is the main `m4' macro for triggering internationalization + support. Just add this line to `configure.ac': + + AM_GNU_GETTEXT + + This call is purposely simple, even if it generates a lot of + configure time checking and actions. + + If you have suppressed the `intl/' subdirectory by calling + `gettextize' without `--intl' option, this call should read + + AM_GNU_GETTEXT([external]) + + 3. Have output files created. + + The `AC_OUTPUT' directive, at the end of your `configure.ac' file, + needs to be modified in two ways: + + AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in], + [EXISTING ADDITIONAL ACTIONS]) + + The modification to the first argument to `AC_OUTPUT' asks for + substitution in the `intl/' and `po/' directories. Note the `.in' + suffix used for `po/' only. This is because the distributed file + is really `po/Makefile.in.in'. + + If you have suppressed the `intl/' subdirectory by calling + `gettextize' without `--intl' option, then you don't need to add + `intl/Makefile' to the `AC_OUTPUT' line. + + + If, after doing the recommended modifications, a command like +`aclocal -I m4' or `autoconf' or `autoreconf' fails with a trace +similar to this: + + configure.ac:44: warning: AC_COMPILE_IFELSE was called before AC_GNU_SOURCE + ../../lib/autoconf/specific.m4:335: AC_GNU_SOURCE is expanded from... + m4/lock.m4:224: gl_LOCK is expanded from... + m4/gettext.m4:571: gt_INTL_SUBDIR_CORE is expanded from... + m4/gettext.m4:472: AM_INTL_SUBDIR is expanded from... + m4/gettext.m4:347: AM_GNU_GETTEXT is expanded from... + configure.ac:44: the top level + configure.ac:44: warning: AC_RUN_IFELSE was called before AC_GNU_SOURCE + +you need to add an explicit invocation of `AC_GNU_SOURCE' in the +`configure.ac' file - after `AC_PROG_CC' but before `AM_GNU_GETTEXT', +most likely very close to the `AC_PROG_CC' invocation. This is +necessary because of ordering restrictions imposed by GNU autoconf. + + +File: gettext.info, Node: config.guess, Next: mkinstalldirs, Prev: configure.ac, Up: Adjusting Files + +13.4.6 `config.guess', `config.sub' at top level +------------------------------------------------ + + If you haven't suppressed the `intl/' subdirectory, you need to add +the GNU `config.guess' and `config.sub' files to your distribution. +They are needed because the `intl/' directory has platform dependent +support for determining the locale's character encoding and therefore +needs to identify the platform. + + You can obtain the newest version of `config.guess' and `config.sub' +from the CVS of the `config' project at `http://savannah.gnu.org/'. The +commands to fetch them are + $ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess' + $ wget 'http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub' + Less recent versions are also contained in the GNU `automake' and +GNU `libtool' packages. + + Normally, `config.guess' and `config.sub' are put at the top level +of a distribution. But it is also possible to put them in a +subdirectory, altogether with other configuration support files like +`install-sh', `ltconfig', `ltmain.sh' or `missing'. All you need to +do, other than moving the files, is to add the following line to your +`configure.ac'. + + AC_CONFIG_AUX_DIR([SUBDIR]) + + +File: gettext.info, Node: mkinstalldirs, Next: aclocal, Prev: config.guess, Up: Adjusting Files + +13.4.7 `mkinstalldirs' at top level +----------------------------------- + + With earlier versions of GNU gettext, you needed to add the GNU +`mkinstalldirs' script to your distribution. This is not needed any +more. You can remove it if you not also using an automake version +older than automake 1.9. + + +File: gettext.info, Node: aclocal, Next: acconfig, Prev: mkinstalldirs, Up: Adjusting Files + +13.4.8 `aclocal.m4' at top level +-------------------------------- + + If you do not have an `aclocal.m4' file in your distribution, the +simplest is to concatenate the files `codeset.m4', `fcntl-o.m4', +`gettext.m4', `glibc2.m4', `glibc21.m4', `iconv.m4', `intdiv0.m4', +`intl.m4', `intldir.m4', `intlmacosx.m4', `intmax.m4', `inttypes_h.m4', +`inttypes-pri.m4', `lcmessage.m4', `lib-ld.m4', `lib-link.m4', +`lib-prefix.m4', `lock.m4', `longlong.m4', `nls.m4', `po.m4', +`printf-posix.m4', `progtest.m4', `size_max.m4', `stdint_h.m4', +`threadlib.m4', `uintmax_t.m4', `visibility.m4', `wchar_t.m4', +`wint_t.m4', `xsize.m4' from GNU `gettext''s `m4/' directory into a +single file. If you have suppressed the `intl/' directory, only +`gettext.m4', `iconv.m4', `lib-ld.m4', `lib-link.m4', `lib-prefix.m4', +`nls.m4', `po.m4', `progtest.m4' need to be concatenated. + + If you are not using GNU `automake' 1.8 or newer, you will need to +add a file `mkdirp.m4' from a newer automake distribution to the list +of files above. + + If you already have an `aclocal.m4' file, then you will have to +merge the said macro files into your `aclocal.m4'. Note that if you +are upgrading from a previous release of GNU `gettext', you should most +probably _replace_ the macros (`AM_GNU_GETTEXT', etc.), as they usually +change a little from one release of GNU `gettext' to the next. Their +contents may vary as we get more experience with strange systems out +there. + + If you are using GNU `automake' 1.5 or newer, it is enough to put +these macro files into a subdirectory named `m4/' and add the line + + ACLOCAL_AMFLAGS = -I m4 + +to your top level `Makefile.am'. + + These macros check for the internationalization support functions +and related informations. Hopefully, once stabilized, these macros +might be integrated in the standard Autoconf set, because this piece of +`m4' code will be the same for all projects using GNU `gettext'. + + +File: gettext.info, Node: acconfig, Next: config.h.in, Prev: aclocal, Up: Adjusting Files + +13.4.9 `acconfig.h' at top level +-------------------------------- + + Earlier GNU `gettext' releases required to put definitions for +`ENABLE_NLS', `HAVE_GETTEXT' and `HAVE_LC_MESSAGES', `HAVE_STPCPY', +`PACKAGE' and `VERSION' into an `acconfig.h' file. This is not needed +any more; you can remove them from your `acconfig.h' file unless your +package uses them independently from the `intl/' directory. + + +File: gettext.info, Node: config.h.in, Next: Makefile, Prev: acconfig, Up: Adjusting Files + +13.4.10 `config.h.in' at top level +---------------------------------- + + The include file template that holds the C macros to be defined by +`configure' is usually called `config.h.in' and may be maintained +either manually or automatically. + + If `gettextize' has created an `intl/' directory, this file must be +called `config.h.in' and must be at the top level. If, however, you +have suppressed the `intl/' directory by calling `gettextize' without +`--intl' option, then you can choose the name of this file and its +location freely. + + If it is maintained automatically, by use of the `autoheader' +program, you need to do nothing about it. This is the case in +particular if you are using GNU `automake'. + + If it is maintained manually, and if `gettextize' has created an +`intl/' directory, you should switch to using `autoheader'. The list +of C macros to be added for the sake of the `intl/' directory is just +too long to be maintained manually; it also changes between different +versions of GNU `gettext'. + + If it is maintained manually, and if on the other hand you have +suppressed the `intl/' directory by calling `gettextize' without +`--intl' option, then you can get away by adding the following lines to +`config.h.in': + + /* Define to 1 if translation of program messages to the user's + native language is requested. */ + #undef ENABLE_NLS + + +File: gettext.info, Node: Makefile, Next: src/Makefile, Prev: config.h.in, Up: Adjusting Files + +13.4.11 `Makefile.in' at top level +---------------------------------- + + Here are a few modifications you need to make to your main, top-level +`Makefile.in' file. + + 1. Add the following lines near the beginning of your `Makefile.in', + so the `dist:' goal will work properly (as explained further down): + + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ + + 2. Add file `ABOUT-NLS' to the `DISTFILES' definition, so the file + gets distributed. + + 3. Wherever you process subdirectories in your `Makefile.in', be sure + you also process the subdirectories `intl' and `po'. Special + rules in the `Makefiles' take care for the case where no + internationalization is wanted. + + If you are using Makefiles, either generated by automake, or + hand-written so they carefully follow the GNU coding standards, + the effected goals for which the new subdirectories must be + handled include `installdirs', `install', `uninstall', `clean', + `distclean'. + + Here is an example of a canonical order of processing. In this + example, we also define `SUBDIRS' in `Makefile.in' for it to be + further used in the `dist:' goal. + + SUBDIRS = doc intl lib src po + + Note that you must arrange for `make' to descend into the `intl' + directory before descending into other directories containing code + which make use of the `libintl.h' header file. For this reason, + here we mention `intl' before `lib' and `src'. + + 4. A delicate point is the `dist:' goal, as both `intl/Makefile' and + `po/Makefile' will later assume that the proper directory has been + set up from the main `Makefile'. Here is an example at what the + `dist:' goal might look like: + + distdir = $(PACKAGE)-$(VERSION) + dist: Makefile + rm -fr $(distdir) + mkdir $(distdir) + chmod 777 $(distdir) + for file in $(DISTFILES); do \ + ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \ + done + for subdir in $(SUBDIRS); do \ + mkdir $(distdir)/$$subdir || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $@) || exit 1; \ + done + tar chozf $(distdir).tar.gz $(distdir) + rm -fr $(distdir) + + + Note that if you are using GNU `automake', `Makefile.in' is +automatically generated from `Makefile.am', and all needed changes to +`Makefile.am' are already made by running `gettextize'. + + +File: gettext.info, Node: src/Makefile, Next: lib/gettext.h, Prev: Makefile, Up: Adjusting Files + +13.4.12 `Makefile.in' in `src/' +------------------------------- + + Some of the modifications made in the main `Makefile.in' will also +be needed in the `Makefile.in' from your package sources, which we +assume here to be in the `src/' subdirectory. Here are all the +modifications needed in `src/Makefile.in': + + 1. In view of the `dist:' goal, you should have these lines near the + beginning of `src/Makefile.in': + + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ + + 2. If not done already, you should guarantee that `top_srcdir' gets + defined. This will serve for `cpp' include files. Just add the + line: + + top_srcdir = @top_srcdir@ + + 3. You might also want to define `subdir' as `src', later allowing + for almost uniform `dist:' goals in all your `Makefile.in'. At + list, the `dist:' goal below assume that you used: + + subdir = src + + 4. The `main' function of your program will normally call + `bindtextdomain' (see *note Triggering::), like this: + + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + + To make LOCALEDIR known to the program, add the following lines to + `Makefile.in' if you are using Autoconf version 2.60 or newer: + + datadir = @datadir@ + datarootdir= @datarootdir@ + localedir = @localedir@ + DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + + or these lines if your version of Autoconf is older than 2.60: + + datadir = @datadir@ + localedir = $(datadir)/locale + DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ + + Note that `@datadir@' defaults to `$(prefix)/share', thus + `$(localedir)' defaults to `$(prefix)/share/locale'. + + 5. You should ensure that the final linking will use `@LIBINTL@' or + `@LTLIBINTL@' as a library. `@LIBINTL@' is for use without + `libtool', `@LTLIBINTL@' is for use with `libtool'. An easy way + to achieve this is to manage that it gets into `LIBS', like this: + + LIBS = @LIBINTL@ @LIBS@ + + In most packages internationalized with GNU `gettext', one will + find a directory `lib/' in which a library containing some helper + functions will be build. (You need at least the few functions + which the GNU `gettext' Library itself needs.) However some of + the functions in the `lib/' also give messages to the user which + of course should be translated, too. Taking care of this, the + support library (say `libsupport.a') should be placed before + `@LIBINTL@' and `@LIBS@' in the above example. So one has to + write this: + + LIBS = ../lib/libsupport.a @LIBINTL@ @LIBS@ + + 6. You should also ensure that directory `intl/' will be searched for + C preprocessor include files in all circumstances. So, you have to + manage so both `-I../intl' and `-I$(top_srcdir)/intl' will be + given to the C compiler. + + 7. Your `dist:' goal has to conform with others. Here is a + reasonable definition for it: + + distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) + dist: Makefile $(DISTFILES) + for file in $(DISTFILES); do \ + ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir) || exit 1; \ + done + + + Note that if you are using GNU `automake', `Makefile.in' is +automatically generated from `Makefile.am', and the first three changes +and the last change are not necessary. The remaining needed +`Makefile.am' modifications are the following: + + 1. To make LOCALEDIR known to the program, add the following to + `Makefile.am': + + _CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" + + for each specific module or compilation unit, or + + AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" + + for all modules and compilation units together. Furthermore, if + you are using an Autoconf version older then 2.60, add this line + to define `localedir': + + localedir = $(datadir)/locale + + 2. To ensure that the final linking will use `@LIBINTL@' or + `@LTLIBINTL@' as a library, add the following to `Makefile.am': + + _LDADD = @LIBINTL@ + + for each specific program, or + + LDADD = @LIBINTL@ + + for all programs together. Remember that when you use `libtool' + to link a program, you need to use @LTLIBINTL@ instead of @LIBINTL@ + for that program. + + 3. If you have an `intl/' directory, whose contents is created by + `gettextize', then to ensure that it will be searched for C + preprocessor include files in all circumstances, add something like + this to `Makefile.am': + + AM_CPPFLAGS = -I../intl -I$(top_srcdir)/intl + + + +File: gettext.info, Node: lib/gettext.h, Prev: src/Makefile, Up: Adjusting Files + +13.4.13 `gettext.h' in `lib/' +----------------------------- + + Internationalization of packages, as provided by GNU `gettext', is +optional. It can be turned off in two situations: + + * When the installer has specified `./configure --disable-nls'. This + can be useful when small binaries are more important than + features, for example when building utilities for boot diskettes. + It can also be useful in order to get some specific C compiler + warnings about code quality with some older versions of GCC (older + than 3.0). + + * When the package does not include the `intl/' subdirectory, and the + libintl.h header (with its associated libintl library, if any) is + not already installed on the system, it is preferable that the + package builds without internationalization support, rather than + to give a compilation error. + + A C preprocessor macro can be used to detect these two cases. +Usually, when `libintl.h' was found and not explicitly disabled, the +`ENABLE_NLS' macro will be defined to 1 in the autoconf generated +configuration file (usually called `config.h'). In the two negative +situations, however, this macro will not be defined, thus it will +evaluate to 0 in C preprocessor expressions. + + `gettext.h' is a convenience header file for conditional use of +`', depending on the `ENABLE_NLS' macro. If `ENABLE_NLS' is +set, it includes `'; otherwise it defines no-op substitutes +for the libintl.h functions. We recommend the use of `"gettext.h"' +over direct use of `', so that portability to older systems +is guaranteed and installers can turn off internationalization if they +want to. In the C code, you will then write + + #include "gettext.h" + +instead of + + #include + + The location of `gettext.h' is usually in a directory containing +auxiliary include files. In many GNU packages, there is a directory +`lib/' containing helper functions; `gettext.h' fits there. In other +packages, it can go into the `src' directory. + + Do not install the `gettext.h' file in public locations. Every +package that needs it should contain a copy of it on its own. + + +File: gettext.info, Node: autoconf macros, Next: CVS Issues, Prev: Adjusting Files, Up: Maintainers + +13.5 Autoconf macros for use in `configure.ac' +============================================== + + GNU `gettext' installs macros for use in a package's `configure.ac' +or `configure.in'. *Note Introduction: (autoconf)Top. The primary +macro is, of course, `AM_GNU_GETTEXT'. + +* Menu: + +* AM_GNU_GETTEXT:: AM_GNU_GETTEXT in `gettext.m4' +* AM_GNU_GETTEXT_VERSION:: AM_GNU_GETTEXT_VERSION in `gettext.m4' +* AM_GNU_GETTEXT_NEED:: AM_GNU_GETTEXT_NEED in `gettext.m4' +* AM_GNU_GETTEXT_INTL_SUBDIR:: AM_GNU_GETTEXT_INTL_SUBDIR in `intldir.m4' +* AM_PO_SUBDIRS:: AM_PO_SUBDIRS in `po.m4' +* AM_XGETTEXT_OPTION:: AM_XGETTEXT_OPTION in `po.m4' +* AM_ICONV:: AM_ICONV in `iconv.m4' + + +File: gettext.info, Node: AM_GNU_GETTEXT, Next: AM_GNU_GETTEXT_VERSION, Prev: autoconf macros, Up: autoconf macros + +13.5.1 AM_GNU_GETTEXT in `gettext.m4' +------------------------------------- + + The `AM_GNU_GETTEXT' macro tests for the presence of the GNU gettext +function family in either the C library or a separate `libintl' library +(shared or static libraries are both supported) or in the package's +`intl/' directory. It also invokes `AM_PO_SUBDIRS', thus preparing the +`po/' directories of the package for building. + + `AM_GNU_GETTEXT' accepts up to three optional arguments. The general +syntax is + + AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]) + + INTLSYMBOL can be `external' or `no-libtool'. The default (if it is +not specified or empty) is `no-libtool'. INTLSYMBOL should be +`external' for packages with no `intl/' directory. For packages with +an `intl/' directory, you can either use an INTLSYMBOL equal to +`no-libtool', or you can use `external' and override by using the macro +`AM_GNU_GETTEXT_INTL_SUBDIR' elsewhere. The two ways to specify the +existence of an `intl/' directory are equivalent. At build time, a +static library `$(top_builddir)/intl/libintl.a' will then be created. + + If NEEDSYMBOL is specified and is `need-ngettext', then GNU gettext +implementations (in libc or libintl) without the `ngettext()' function +will be ignored. If NEEDSYMBOL is specified and is +`need-formatstring-macros', then GNU gettext implementations that don't +support the ISO C 99 `' formatstring macros will be ignored. +Only one NEEDSYMBOL can be specified. These requirements can also be +specified by using the macro `AM_GNU_GETTEXT_NEED' elsewhere. To +specify more than one requirement, just specify the strongest one among +them, or invoke the `AM_GNU_GETTEXT_NEED' macro several times. The +hierarchy among the various alternatives is as follows: +`need-formatstring-macros' implies `need-ngettext'. + + INTLDIR is used to find the intl libraries. If empty, the value +`$(top_builddir)/intl/' is used. + + The `AM_GNU_GETTEXT' macro determines whether GNU gettext is +available and should be used. If so, it sets the `USE_NLS' variable to +`yes'; it defines `ENABLE_NLS' to 1 in the autoconf generated +configuration file (usually called `config.h'); it sets the variables +`LIBINTL' and `LTLIBINTL' to the linker options for use in a Makefile +(`LIBINTL' for use without libtool, `LTLIBINTL' for use with libtool); +it adds an `-I' option to `CPPFLAGS' if necessary. In the negative +case, it sets `USE_NLS' to `no'; it sets `LIBINTL' and `LTLIBINTL' to +empty and doesn't change `CPPFLAGS'. + + The complexities that `AM_GNU_GETTEXT' deals with are the following: + + * Some operating systems have `gettext' in the C library, for example + glibc. Some have it in a separate library `libintl'. GNU + `libintl' might have been installed as part of the GNU `gettext' + package. + + * GNU `libintl', if installed, is not necessarily already in the + search path (`CPPFLAGS' for the include file search path, + `LDFLAGS' for the library search path). + + * Except for glibc, the operating system's native `gettext' cannot + exploit the GNU mo files, doesn't have the necessary locale + dependency features, and cannot convert messages from the + catalog's text encoding to the user's locale encoding. + + * GNU `libintl', if installed, is not necessarily already in the run + time library search path. To avoid the need for setting an + environment variable like `LD_LIBRARY_PATH', the macro adds the + appropriate run time search path options to the `LIBINTL' and + `LTLIBINTL' variables. This works on most systems, but not on + some operating systems with limited shared library support, like + SCO. + + * GNU `libintl' relies on POSIX/XSI `iconv'. The macro checks for + linker options needed to use iconv and appends them to the + `LIBINTL' and `LTLIBINTL' variables. + + +File: gettext.info, Node: AM_GNU_GETTEXT_VERSION, Next: AM_GNU_GETTEXT_NEED, Prev: AM_GNU_GETTEXT, Up: autoconf macros + +13.5.2 AM_GNU_GETTEXT_VERSION in `gettext.m4' +--------------------------------------------- + + The `AM_GNU_GETTEXT_VERSION' macro declares the version number of +the GNU gettext infrastructure that is used by the package. + + The use of this macro is optional; only the `autopoint' program makes +use of it (*note CVS Issues::). + + +File: gettext.info, Node: AM_GNU_GETTEXT_NEED, Next: AM_GNU_GETTEXT_INTL_SUBDIR, Prev: AM_GNU_GETTEXT_VERSION, Up: autoconf macros + +13.5.3 AM_GNU_GETTEXT_NEED in `gettext.m4' +------------------------------------------ + + The `AM_GNU_GETTEXT_NEED' macro declares a constraint regarding the +GNU gettext implementation. The syntax is + + AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) + + If NEEDSYMBOL is `need-ngettext', then GNU gettext implementations +(in libc or libintl) without the `ngettext()' function will be ignored. +If NEEDSYMBOL is `need-formatstring-macros', then GNU gettext +implementations that don't support the ISO C 99 `' +formatstring macros will be ignored. + + The optional second argument of `AM_GNU_GETTEXT' is also taken into +account. + + The `AM_GNU_GETTEXT_NEED' invocations can occur before or after the +`AM_GNU_GETTEXT' invocation; the order doesn't matter. + + +File: gettext.info, Node: AM_GNU_GETTEXT_INTL_SUBDIR, Next: AM_PO_SUBDIRS, Prev: AM_GNU_GETTEXT_NEED, Up: autoconf macros + +13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in `intldir.m4' +------------------------------------------------- + + The `AM_GNU_GETTEXT_INTL_SUBDIR' macro specifies that the +`AM_GNU_GETTEXT' macro, although invoked with the first argument +`external', should also prepare for building the `intl/' subdirectory. + + The `AM_GNU_GETTEXT_INTL_SUBDIR' invocation can occur before or after +the `AM_GNU_GETTEXT' invocation; the order doesn't matter. + + The use of this macro requires GNU automake 1.10 or newer and GNU +autoconf 2.61 or newer. + + +File: gettext.info, Node: AM_PO_SUBDIRS, Next: AM_XGETTEXT_OPTION, Prev: AM_GNU_GETTEXT_INTL_SUBDIR, Up: autoconf macros + +13.5.5 AM_PO_SUBDIRS in `po.m4' +------------------------------- + + The `AM_PO_SUBDIRS' macro prepares the `po/' directories of the +package for building. This macro should be used in internationalized +programs written in other programming languages than C, C++, Objective +C, for example `sh', `Python', `Lisp'. See *note Programming +Languages:: for a list of programming languages that support +localization through PO files. + + The `AM_PO_SUBDIRS' macro determines whether internationalization +should be used. If so, it sets the `USE_NLS' variable to `yes', +otherwise to `no'. It also determines the right values for Makefile +variables in each `po/' directory. + + +File: gettext.info, Node: AM_XGETTEXT_OPTION, Next: AM_ICONV, Prev: AM_PO_SUBDIRS, Up: autoconf macros + +13.5.6 AM_XGETTEXT_OPTION in `po.m4' +------------------------------------ + + The `AM_XGETTEXT_OPTION' macro registers a command-line option to be +used in the invocations of `xgettext' in the `po/' directories of the +package. + + For example, if you have a source file that defines a function +`error_at_line' whose fifth argument is a format string, you can use + AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format]) + to instruct `xgettext' to mark all translatable strings in `gettext' +invocations that occur as fifth argument to this function as `c-format'. + + See *note xgettext Invocation:: for the list of options that +`xgettext' accepts. + + The use of this macro is an alternative to the use of the +`XGETTEXT_OPTIONS' variable in `po/Makevars'. + + +File: gettext.info, Node: AM_ICONV, Prev: AM_XGETTEXT_OPTION, Up: autoconf macros + +13.5.7 AM_ICONV in `iconv.m4' +----------------------------- + + The `AM_ICONV' macro tests for the presence of the POSIX/XSI `iconv' +function family in either the C library or a separate `libiconv' +library. If found, it sets the `am_cv_func_iconv' variable to `yes'; +it defines `HAVE_ICONV' to 1 in the autoconf generated configuration +file (usually called `config.h'); it defines `ICONV_CONST' to `const' +or to empty, depending on whether the second argument of `iconv()' is +of type `const char **' or `char **'; it sets the variables `LIBICONV' +and `LTLIBICONV' to the linker options for use in a Makefile +(`LIBICONV' for use without libtool, `LTLIBICONV' for use with +libtool); it adds an `-I' option to `CPPFLAGS' if necessary. If not +found, it sets `LIBICONV' and `LTLIBICONV' to empty and doesn't change +`CPPFLAGS'. + + The complexities that `AM_ICONV' deals with are the following: + + * Some operating systems have `iconv' in the C library, for example + glibc. Some have it in a separate library `libiconv', for example + OSF/1 or FreeBSD. Regardless of the operating system, GNU + `libiconv' might have been installed. In that case, it should be + used instead of the operating system's native `iconv'. + + * GNU `libiconv', if installed, is not necessarily already in the + search path (`CPPFLAGS' for the include file search path, + `LDFLAGS' for the library search path). + + * GNU `libiconv' is binary incompatible with some operating system's + native `iconv', for example on FreeBSD. Use of an `iconv.h' and + `libiconv.so' that don't fit together would produce program + crashes. + + * GNU `libiconv', if installed, is not necessarily already in the + run time library search path. To avoid the need for setting an + environment variable like `LD_LIBRARY_PATH', the macro adds the + appropriate run time search path options to the `LIBICONV' + variable. This works on most systems, but not on some operating + systems with limited shared library support, like SCO. + + `iconv.m4' is distributed with the GNU gettext package because +`gettext.m4' relies on it. + + +File: gettext.info, Node: CVS Issues, Next: Release Management, Prev: autoconf macros, Up: Maintainers + +13.6 Integrating with CVS +========================= + + Many projects use CVS for distributed development, version control +and source backup. This section gives some advice how to manage the +uses of `cvs', `gettextize', `autopoint' and `autoconf'. + +* Menu: + +* Distributed CVS:: Avoiding version mismatch in distributed development +* Files under CVS:: Files to put under CVS version control +* autopoint Invocation:: Invoking the `autopoint' Program + + +File: gettext.info, Node: Distributed CVS, Next: Files under CVS, Prev: CVS Issues, Up: CVS Issues + +13.6.1 Avoiding version mismatch in distributed development +----------------------------------------------------------- + + In a project development with multiple developers, using CVS, there +should be a single developer who occasionally - when there is desire to +upgrade to a new `gettext' version - runs `gettextize' and performs the +changes listed in *note Adjusting Files::, and then commits his changes +to the CVS. + + It is highly recommended that all developers on a project use the +same version of GNU `gettext' in the package. In other words, if a +developer runs `gettextize', he should go the whole way, make the +necessary remaining changes and commit his changes to the CVS. +Otherwise the following damages will likely occur: + + * Apparent version mismatch between developers. Since some `gettext' + specific portions in `configure.ac', `configure.in' and + `Makefile.am', `Makefile.in' files depend on the `gettext' + version, the use of infrastructure files belonging to different + `gettext' versions can easily lead to build errors. + + * Hidden version mismatch. Such version mismatch can also lead to + malfunctioning of the package, that may be undiscovered by the + developers. The worst case of hidden version mismatch is that + internationalization of the package doesn't work at all. + + * Release risks. All developers implicitly perform constant testing + on a package. This is important in the days and weeks before a + release. If the guy who makes the release tar files uses a + different version of GNU `gettext' than the other developers, the + distribution will be less well tested than if all had been using + the same `gettext' version. For example, it is possible that a + platform specific bug goes undiscovered due to this constellation. + + +File: gettext.info, Node: Files under CVS, Next: autopoint Invocation, Prev: Distributed CVS, Up: CVS Issues + +13.6.2 Files to put under CVS version control +--------------------------------------------- + + There are basically three ways to deal with generated files in the +context of a CVS repository, such as `configure' generated from +`configure.ac', `PARSER.c' generated from `PARSER.y', or +`po/Makefile.in.in' autoinstalled by `gettextize' or `autopoint'. + + 1. All generated files are always committed into the repository. + + 2. All generated files are committed into the repository occasionally, + for example each time a release is made. + + 3. Generated files are never committed into the repository. + + Each of these three approaches has different advantages and +drawbacks. + + 1. The advantage is that anyone can check out the CVS at any moment + and gets a working build. The drawbacks are: 1a. It requires + some frequent "cvs commit" actions by the maintainers. 1b. The + repository grows in size quite fast. + + 2. The advantage is that anyone can check out the CVS, and the usual + "./configure; make" will work. The drawbacks are: 2a. The one who + checks out the repository needs tools like GNU `automake', GNU + `autoconf', GNU `m4' installed in his PATH; sometimes he even + needs particular versions of them. 2b. When a release is made and + a commit is made on the generated files, the other developers get + conflicts on the generated files after doing "cvs update". + Although these conflicts are easy to resolve, they are annoying. + + 3. The advantage is less work for the maintainers. The drawback is + that anyone who checks out the CVS not only needs tools like GNU + `automake', GNU `autoconf', GNU `m4' installed in his PATH, but + also that he needs to perform a package specific pre-build step + before being able to "./configure; make". + + For the first and second approach, all files modified or brought in +by the occasional `gettextize' invocation and update should be +committed into the CVS. + + For the third approach, the maintainer can omit from the CVS +repository all the files that `gettextize' mentions as "copy". +Instead, he adds to the `configure.ac' or `configure.in' a line of the +form + + AM_GNU_GETTEXT_VERSION(0.18.1) + +and adds to the package's pre-build script an invocation of +`autopoint'. For everyone who checks out the CVS, this `autopoint' +invocation will copy into the right place the `gettext' infrastructure +files that have been omitted from the CVS. + + The version number used as argument to `AM_GNU_GETTEXT_VERSION' is +the version of the `gettext' infrastructure that the package wants to +use. It is also the minimum version number of the `autopoint' program. +So, if you write `AM_GNU_GETTEXT_VERSION(0.11.5)' then the developers +can have any version >= 0.11.5 installed; the package will work with +the 0.11.5 infrastructure in all developers' builds. When the +maintainer then runs gettextize from, say, version 0.12.1 on the +package, the occurrence of `AM_GNU_GETTEXT_VERSION(0.11.5)' will be +changed into `AM_GNU_GETTEXT_VERSION(0.12.1)', and all other developers +that use the CVS will henceforth need to have GNU `gettext' 0.12.1 or +newer installed. + + +File: gettext.info, Node: autopoint Invocation, Prev: Files under CVS, Up: CVS Issues + +13.6.3 Invoking the `autopoint' Program +--------------------------------------- + + autopoint [OPTION]... + + The `autopoint' program copies standard gettext infrastructure files +into a source package. It extracts from a macro call of the form +`AM_GNU_GETTEXT_VERSION(VERSION)', found in the package's +`configure.in' or `configure.ac' file, the gettext version used by the +package, and copies the infrastructure files belonging to this version +into the package. + +13.6.3.1 Options +................ + +`-f' +`--force' + Force overwriting of files that already exist. + +`-n' +`--dry-run' + Print modifications but don't perform them. All file copying + actions that `autopoint' would normally execute are inhibited and + instead only listed on standard output. + + +13.6.3.2 Informative output +........................... + +`--help' + Display this help and exit. + +`--version' + Output version information and exit. + + + `autopoint' supports the GNU `gettext' versions from 0.10.35 to the +current one, 0.18.1. In order to apply `autopoint' to a package using +a `gettext' version newer than 0.18.1, you need to install this same +version of GNU `gettext' at least. + + In packages using GNU `automake', an invocation of `autopoint' +should be followed by invocations of `aclocal' and then `autoconf' and +`autoheader'. The reason is that `autopoint' installs some autoconf +macro files, which are used by `aclocal' to create `aclocal.m4', and +the latter is used by `autoconf' to create the package's `configure' +script and by `autoheader' to create the package's `config.h.in' +include file template. + + The name `autopoint' is an abbreviation of `auto-po-intl-m4'; the +tool copies or updates mostly files in the `po', `intl', `m4' +directories. + + +File: gettext.info, Node: Release Management, Prev: CVS Issues, Up: Maintainers + +13.7 Creating a Distribution Tarball +==================================== + + In projects that use GNU `automake', the usual commands for creating +a distribution tarball, `make dist' or `make distcheck', automatically +update the PO files as needed. + + If GNU `automake' is not used, the maintainer needs to perform this +update before making a release: + + $ ./configure + $ (cd po; make update-po) + $ make distclean + + +File: gettext.info, Node: Installers, Next: Programming Languages, Prev: Maintainers, Up: Top + +14 The Installer's and Distributor's View +***************************************** + + By default, packages fully using GNU `gettext', internally, are +installed in such a way that they to allow translation of messages. At +_configuration_ time, those packages should automatically detect +whether the underlying host system already provides the GNU `gettext' +functions. If not, the GNU `gettext' library should be automatically +prepared and used. Installers may use special options at configuration +time for changing this behavior. The command `./configure +--with-included-gettext' bypasses system `gettext' to use the included +GNU `gettext' instead, while `./configure --disable-nls' produces +programs totally unable to translate messages. + + Internationalized packages have usually many `LL.po' files. Unless +translations are disabled, all those available are installed together +with the package. However, the environment variable `LINGUAS' may be +set, prior to configuration, to limit the installed set. `LINGUAS' +should then contain a space separated list of two-letter codes, stating +which languages are allowed. + + +File: gettext.info, Node: Programming Languages, Next: Conclusion, Prev: Installers, Up: Top + +15 Other Programming Languages +****************************** + + While the presentation of `gettext' focuses mostly on C and +implicitly applies to C++ as well, its scope is far broader than that: +Many programming languages, scripting languages and other textual data +like GUI resources or package descriptions can make use of the gettext +approach. + +* Menu: + +* Language Implementors:: The Language Implementor's View +* Programmers for other Languages:: The Programmer's View +* Translators for other Languages:: The Translator's View +* Maintainers for other Languages:: The Maintainer's View +* List of Programming Languages:: Individual Programming Languages +* List of Data Formats:: Internationalizable Data + + +File: gettext.info, Node: Language Implementors, Next: Programmers for other Languages, Prev: Programming Languages, Up: Programming Languages + +15.1 The Language Implementor's View +==================================== + + All programming and scripting languages that have the notion of +strings are eligible to supporting `gettext'. Supporting `gettext' +means the following: + + 1. You should add to the language a syntax for translatable strings. + In principle, a function call of `gettext' would do, but a + shorthand syntax helps keeping the legibility of internationalized + programs. For example, in C we use the syntax `_("string")', and + in GNU awk we use the shorthand `_"string"'. + + 2. You should arrange that evaluation of such a translatable string at + runtime calls the `gettext' function, or performs equivalent + processing. + + 3. Similarly, you should make the functions `ngettext', `dcgettext', + `dcngettext' available from within the language. These functions + are less often used, but are nevertheless necessary for particular + purposes: `ngettext' for correct plural handling, and `dcgettext' + and `dcngettext' for obeying other locale-related environment + variables than `LC_MESSAGES', such as `LC_TIME' or `LC_MONETARY'. + For these latter functions, you need to make the `LC_*' constants, + available in the C header `', referenceable from within + the language, usually either as enumeration values or as strings. + + 4. You should allow the programmer to designate a message domain, + either by making the `textdomain' function available from within + the language, or by introducing a magic variable called + `TEXTDOMAIN'. Similarly, you should allow the programmer to + designate where to search for message catalogs, by providing + access to the `bindtextdomain' function. + + 5. You should either perform a `setlocale (LC_ALL, "")' call during + the startup of your language runtime, or allow the programmer to + do so. Remember that gettext will act as a no-op if the + `LC_MESSAGES' and `LC_CTYPE' locale categories are not both set. + + 6. A programmer should have a way to extract translatable strings + from a program into a PO file. The GNU `xgettext' program is being + extended to support very different programming languages. Please + contact the GNU `gettext' maintainers to help them doing this. If + the string extractor is best integrated into your language's + parser, GNU `xgettext' can function as a front end to your string + extractor. + + 7. The language's library should have a string formatting facility + where the arguments of a format string are denoted by a positional + number or a name. This is needed because for some languages and + some messages with more than one substitutable argument, the + translation will need to output the substituted arguments in + different order. *Note c-format Flag::. + + 8. If the language has more than one implementation, and not all of + the implementations use `gettext', but the programs should be + portable across implementations, you should provide a no-i18n + emulation, that makes the other implementations accept programs + written for yours, without actually translating the strings. + + 9. To help the programmer in the task of marking translatable strings, + which is sometimes performed using the Emacs PO mode (*note + Marking::), you are welcome to contact the GNU `gettext' + maintainers, so they can add support for your language to + `po-mode.el'. + + On the implementation side, three approaches are possible, with +different effects on portability and copyright: + + * You may integrate the GNU `gettext''s `intl/' directory in your + package, as described in *note Maintainers::. This allows you to + have internationalization on all kinds of platforms. Note that + when you then distribute your package, it legally falls under the + GNU General Public License, and the GNU project will be glad about + your contribution to the Free Software pool. + + * You may link against GNU `gettext' functions if they are found in + the C library. For example, an autoconf test for `gettext()' and + `ngettext()' will detect this situation. For the moment, this test + will succeed on GNU systems and not on other platforms. No severe + copyright restrictions apply. + + * You may emulate or reimplement the GNU `gettext' functionality. + This has the advantage of full portability and no copyright + restrictions, but also the drawback that you have to reimplement + the GNU `gettext' features (such as the `LANGUAGE' environment + variable, the locale aliases database, the automatic charset + conversion, and plural handling). + + +File: gettext.info, Node: Programmers for other Languages, Next: Translators for other Languages, Prev: Language Implementors, Up: Programming Languages + +15.2 The Programmer's View +========================== + + For the programmer, the general procedure is the same as for the C +language. The Emacs PO mode marking supports other languages, and the +GNU `xgettext' string extractor recognizes other languages based on the +file extension or a command-line option. In some languages, +`setlocale' is not needed because it is already performed by the +underlying language runtime. + + +File: gettext.info, Node: Translators for other Languages, Next: Maintainers for other Languages, Prev: Programmers for other Languages, Up: Programming Languages + +15.3 The Translator's View +========================== + + The translator works exactly as in the C language case. The only +difference is that when translating format strings, she has to be aware +of the language's particular syntax for positional arguments in format +strings. + +* Menu: + +* c-format:: C Format Strings +* objc-format:: Objective C Format Strings +* sh-format:: Shell Format Strings +* python-format:: Python Format Strings +* lisp-format:: Lisp Format Strings +* elisp-format:: Emacs Lisp Format Strings +* librep-format:: librep Format Strings +* scheme-format:: Scheme Format Strings +* smalltalk-format:: Smalltalk Format Strings +* java-format:: Java Format Strings +* csharp-format:: C# Format Strings +* awk-format:: awk Format Strings +* object-pascal-format:: Object Pascal Format Strings +* ycp-format:: YCP Format Strings +* tcl-format:: Tcl Format Strings +* perl-format:: Perl Format Strings +* php-format:: PHP Format Strings +* gcc-internal-format:: GCC internal Format Strings +* gfc-internal-format:: GFC internal Format Strings +* qt-format:: Qt Format Strings +* qt-plural-format:: Qt Plural Format Strings +* kde-format:: KDE Format Strings +* boost-format:: Boost Format Strings + + +File: gettext.info, Node: c-format, Next: objc-format, Prev: Translators for other Languages, Up: Translators for other Languages + +15.3.1 C Format Strings +----------------------- + + C format strings are described in POSIX (IEEE P1003.1 2001), section +XSH 3 fprintf(), +`http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html'. +See also the fprintf() manual page, +`http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/printf.3.php', +`http://informatik.fh-wuerzburg.de/student/i510/man/printf.html'. + + Although format strings with positions that reorder arguments, such +as + + "Only %2$d bytes free on '%1$s'." + +which is semantically equivalent to + + "'%s' has only %d bytes free." + +are a POSIX/XSI feature and not specified by ISO C 99, translators can +rely on this reordering ability: On the few platforms where `printf()', +`fprintf()' etc. don't support this feature natively, `libintl.a' or +`libintl.so' provides replacement functions, and GNU `' +activates these replacement functions automatically. + + As a special feature for Farsi (Persian) and maybe Arabic, +translators can insert an `I' flag into numeric format directives. For +example, the translation of `"%d"' can be `"%Id"'. The effect of this +flag, on systems with GNU `libc', is that in the output, the ASCII +digits are replaced with the `outdigits' defined in the `LC_CTYPE' +locale category. On other systems, the `gettext' function removes this +flag, so that it has no effect. + + Note that the programmer should _not_ put this flag into the +untranslated string. (Putting the `I' format directive flag into an +MSGID string would lead to undefined behaviour on platforms without +glibc when NLS is disabled.) + + +File: gettext.info, Node: objc-format, Next: sh-format, Prev: c-format, Up: Translators for other Languages + +15.3.2 Objective C Format Strings +--------------------------------- + + Objective C format strings are like C format strings. They support +an additional format directive: "%@", which when executed consumes an +argument of type `Object *'. + + +File: gettext.info, Node: sh-format, Next: python-format, Prev: objc-format, Up: Translators for other Languages + +15.3.3 Shell Format Strings +--------------------------- + + Shell format strings, as supported by GNU gettext and the `envsubst' +program, are strings with references to shell variables in the form +`$VARIABLE' or `${VARIABLE}'. References of the form +`${VARIABLE-DEFAULT}', `${VARIABLE:-DEFAULT}', `${VARIABLE=DEFAULT}', +`${VARIABLE:=DEFAULT}', `${VARIABLE+REPLACEMENT}', +`${VARIABLE:+REPLACEMENT}', `${VARIABLE?IGNORED}', +`${VARIABLE:?IGNORED}', that would be valid inside shell scripts, are +not supported. The VARIABLE names must consist solely of alphanumeric +or underscore ASCII characters, not start with a digit and be nonempty; +otherwise such a variable reference is ignored. + + +File: gettext.info, Node: python-format, Next: lisp-format, Prev: sh-format, Up: Translators for other Languages + +15.3.4 Python Format Strings +---------------------------- + + Python format strings are described in Python Library reference / +2. Built-in Types, Exceptions and Functions / 2.2. Built-in Types / +2.2.6. Sequence Types / 2.2.6.2. String Formatting Operations. +`http://www.python.org/doc/2.2.1/lib/typesseq-strings.html'. + + +File: gettext.info, Node: lisp-format, Next: elisp-format, Prev: python-format, Up: Translators for other Languages + +15.3.5 Lisp Format Strings +-------------------------- + + Lisp format strings are described in the Common Lisp HyperSpec, +chapter 22.3 Formatted Output, +`http://www.lisp.org/HyperSpec/Body/sec_22-3.html'. + + +File: gettext.info, Node: elisp-format, Next: librep-format, Prev: lisp-format, Up: Translators for other Languages + +15.3.6 Emacs Lisp Format Strings +-------------------------------- + + Emacs Lisp format strings are documented in the Emacs Lisp reference, +section Formatting Strings, +`http://www.gnu.org/manual/elisp-manual-21-2.8/html_chapter/elisp_4.html#SEC75'. +Note that as of version 21, XEmacs supports numbered argument +specifications in format strings while FSF Emacs doesn't. + + +File: gettext.info, Node: librep-format, Next: scheme-format, Prev: elisp-format, Up: Translators for other Languages + +15.3.7 librep Format Strings +---------------------------- + + librep format strings are documented in the librep manual, section +Formatted Output, +`http://librep.sourceforge.net/librep-manual.html#Formatted%20Output', +`http://www.gwinnup.org/research/docs/librep.html#SEC122'. + + +File: gettext.info, Node: scheme-format, Next: smalltalk-format, Prev: librep-format, Up: Translators for other Languages + +15.3.8 Scheme Format Strings +---------------------------- + + Scheme format strings are documented in the SLIB manual, section +Format Specification. + + +File: gettext.info, Node: smalltalk-format, Next: java-format, Prev: scheme-format, Up: Translators for other Languages + +15.3.9 Smalltalk Format Strings +------------------------------- + + Smalltalk format strings are described in the GNU Smalltalk +documentation, class `CharArray', methods `bindWith:' and +`bindWithArguments:'. +`http://www.gnu.org/software/smalltalk/gst-manual/gst_68.html#SEC238'. +In summary, a directive starts with `%' and is followed by `%' or a +nonzero digit (`1' to `9'). + + +File: gettext.info, Node: java-format, Next: csharp-format, Prev: smalltalk-format, Up: Translators for other Languages + +15.3.10 Java Format Strings +--------------------------- + + Java format strings are described in the JDK documentation for class +`java.text.MessageFormat', +`http://java.sun.com/j2se/1.4/docs/api/java/text/MessageFormat.html'. +See also the ICU documentation +`http://oss.software.ibm.com/icu/apiref/classMessageFormat.html'. + + +File: gettext.info, Node: csharp-format, Next: awk-format, Prev: java-format, Up: Translators for other Languages + +15.3.11 C# Format Strings +------------------------- + + C# format strings are described in the .NET documentation for class +`System.String' and in +`http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpConFormattingOverview.asp'. + + +File: gettext.info, Node: awk-format, Next: object-pascal-format, Prev: csharp-format, Up: Translators for other Languages + +15.3.12 awk Format Strings +-------------------------- + + awk format strings are described in the gawk documentation, section +Printf, `http://www.gnu.org/manual/gawk/html_node/Printf.html#Printf'. + + +File: gettext.info, Node: object-pascal-format, Next: ycp-format, Prev: awk-format, Up: Translators for other Languages + +15.3.13 Object Pascal Format Strings +------------------------------------ + + Object Pascal format strings are described in the documentation of +the Free Pascal runtime library, section Format, +`http://www.freepascal.org/docs-html/rtl/sysutils/format.html'. + + +File: gettext.info, Node: ycp-format, Next: tcl-format, Prev: object-pascal-format, Up: Translators for other Languages + +15.3.14 YCP Format Strings +-------------------------- + + YCP sformat strings are described in the libycp documentation +`file:/usr/share/doc/packages/libycp/YCP-builtins.html'. In summary, a +directive starts with `%' and is followed by `%' or a nonzero digit +(`1' to `9'). + + +File: gettext.info, Node: tcl-format, Next: perl-format, Prev: ycp-format, Up: Translators for other Languages + +15.3.15 Tcl Format Strings +-------------------------- + + Tcl format strings are described in the `format.n' manual page, +`http://www.scriptics.com/man/tcl8.3/TclCmd/format.htm'. + + +File: gettext.info, Node: perl-format, Next: php-format, Prev: tcl-format, Up: Translators for other Languages + +15.3.16 Perl Format Strings +--------------------------- + + There are two kinds format strings in Perl: those acceptable to the +Perl built-in function `printf', labelled as `perl-format', and those +acceptable to the `libintl-perl' function `__x', labelled as +`perl-brace-format'. + + Perl `printf' format strings are described in the `sprintf' section +of `man perlfunc'. + + Perl brace format strings are described in the +`Locale::TextDomain(3pm)' manual page of the CPAN package libintl-perl. +In brief, Perl format uses placeholders put between braces (`{' and +`}'). The placeholder must have the syntax of simple identifiers. + + +File: gettext.info, Node: php-format, Next: gcc-internal-format, Prev: perl-format, Up: Translators for other Languages + +15.3.17 PHP Format Strings +-------------------------- + + PHP format strings are described in the documentation of the PHP +function `sprintf', in `phpdoc/manual/function.sprintf.html' or +`http://www.php.net/manual/en/function.sprintf.php'. + + +File: gettext.info, Node: gcc-internal-format, Next: gfc-internal-format, Prev: php-format, Up: Translators for other Languages + +15.3.18 GCC internal Format Strings +----------------------------------- + + These format strings are used inside the GCC sources. In such a +format string, a directive starts with `%', is optionally followed by a +size specifier `l', an optional flag `+', another optional flag `#', +and is finished by a specifier: `%' denotes a literal percent sign, `c' +denotes a character, `s' denotes a string, `i' and `d' denote an +integer, `o', `u', `x' denote an unsigned integer, `.*s' denotes a +string preceded by a width specification, `H' denotes a `location_t *' +pointer, `D' denotes a general declaration, `F' denotes a function +declaration, `T' denotes a type, `A' denotes a function argument, `C' +denotes a tree code, `E' denotes an expression, `L' denotes a +programming language, `O' denotes a binary operator, `P' denotes a +function parameter, `Q' denotes an assignment operator, `V' denotes a +const/volatile qualifier. + + +File: gettext.info, Node: gfc-internal-format, Next: qt-format, Prev: gcc-internal-format, Up: Translators for other Languages + +15.3.19 GFC internal Format Strings +----------------------------------- + + These format strings are used inside the GNU Fortran Compiler +sources, that is, the Fortran frontend in the GCC sources. In such a +format string, a directive starts with `%' and is finished by a +specifier: `%' denotes a literal percent sign, `C' denotes the current +source location, `L' denotes a source location, `c' denotes a +character, `s' denotes a string, `i' and `d' denote an integer, `u' +denotes an unsigned integer. `i', `d', and `u' may be preceded by a +size specifier `l'. + + +File: gettext.info, Node: qt-format, Next: qt-plural-format, Prev: gfc-internal-format, Up: Translators for other Languages + +15.3.20 Qt Format Strings +------------------------- + + Qt format strings are described in the documentation of the QString +class `file:/usr/lib/qt-4.3.0/doc/html/qstring.html'. In summary, a +directive consists of a `%' followed by a digit. The same directive +cannot occur more than once in a format string. + + +File: gettext.info, Node: qt-plural-format, Next: kde-format, Prev: qt-format, Up: Translators for other Languages + +15.3.21 Qt Format Strings +------------------------- + + Qt format strings are described in the documentation of the +QObject::tr method `file:/usr/lib/qt-4.3.0/doc/html/qobject.html'. In +summary, the only allowed directive is `%n'. + + +File: gettext.info, Node: kde-format, Next: boost-format, Prev: qt-plural-format, Up: Translators for other Languages + +15.3.22 KDE Format Strings +-------------------------- + + KDE 4 format strings are defined as follows: A directive consists of +a `%' followed by a non-zero decimal number. If a `%n' occurs in a +format strings, all of `%1', ..., `%(n-1)' must occur as well, except +possibly one of them. + + +File: gettext.info, Node: boost-format, Prev: kde-format, Up: Translators for other Languages + +15.3.23 Boost Format Strings +---------------------------- + + Boost format strings are described in the documentation of the +`boost::format' class, at +`http://www.boost.org/libs/format/doc/format.html'. In summary, a +directive has either the same syntax as in a C format string, such as +`%1$+5d', or may be surrounded by vertical bars, such as `%|1$+5d|' or +`%|1$+5|', or consists of just an argument number between percent +signs, such as `%1%'. + + +File: gettext.info, Node: Maintainers for other Languages, Next: List of Programming Languages, Prev: Translators for other Languages, Up: Programming Languages + +15.4 The Maintainer's View +========================== + + For the maintainer, the general procedure differs from the C language +case in two ways. + + * For those languages that don't use GNU gettext, the `intl/' + directory is not needed and can be omitted. This means that the + maintainer calls the `gettextize' program without the `--intl' + option, and that he invokes the `AM_GNU_GETTEXT' autoconf macro via + `AM_GNU_GETTEXT([external])'. + + * If only a single programming language is used, the + `XGETTEXT_OPTIONS' variable in `po/Makevars' (*note po/Makevars::) + should be adjusted to match the `xgettext' options for that + particular programming language. If the package uses more than + one programming language with `gettext' support, it becomes + necessary to change the POT file construction rule in + `po/Makefile.in.in'. It is recommended to make one `xgettext' + invocation per programming language, each with the options + appropriate for that language, and to combine the resulting files + using `msgcat'. + + +File: gettext.info, Node: List of Programming Languages, Next: List of Data Formats, Prev: Maintainers for other Languages, Up: Programming Languages + +15.5 Individual Programming Languages +===================================== + +* Menu: + +* C:: C, C++, Objective C +* sh:: sh - Shell Script +* bash:: bash - Bourne-Again Shell Script +* Python:: Python +* Common Lisp:: GNU clisp - Common Lisp +* clisp C:: GNU clisp C sources +* Emacs Lisp:: Emacs Lisp +* librep:: librep +* Scheme:: GNU guile - Scheme +* Smalltalk:: GNU Smalltalk +* Java:: Java +* C#:: C# +* gawk:: GNU awk +* Pascal:: Pascal - Free Pascal Compiler +* wxWidgets:: wxWidgets library +* YCP:: YCP - YaST2 scripting language +* Tcl:: Tcl - Tk's scripting language +* Perl:: Perl +* PHP:: PHP Hypertext Preprocessor +* Pike:: Pike +* GCC-source:: GNU Compiler Collection sources + + +File: gettext.info, Node: C, Next: sh, Prev: List of Programming Languages, Up: List of Programming Languages + +15.5.1 C, C++, Objective C +-------------------------- + +RPMs + gcc, gpp, gobjc, glibc, gettext + +File extension + For C: `c', `h'. + For C++: `C', `c++', `cc', `cxx', `cpp', `hpp'. + For Objective C: `m'. + +String syntax + `"abc"' + +gettext shorthand + `_("abc")' + +gettext/ngettext functions + `gettext', `dgettext', `dcgettext', `ngettext', `dngettext', + `dcngettext' + +textdomain + `textdomain' function + +bindtextdomain + `bindtextdomain' function + +setlocale + Programmer must call `setlocale (LC_ALL, "")' + +Prerequisite + `#include ' + `#include ' + `#define _(string) gettext (string)' + +Use or emulate GNU gettext + Use + +Extractor + `xgettext -k_' + +Formatting with positions + `fprintf "%2$d %1$d"' + In C++: `autosprintf "%2$d %1$d"' (*note Introduction: + (autosprintf)Top.) + +Portability + autoconf (gettext.m4) and #if ENABLE_NLS + +po-mode marking + yes + + The following examples are available in the `examples' directory: +`hello-c', `hello-c-gnome', `hello-c++', `hello-c++-qt', +`hello-c++-kde', `hello-c++-gnome', `hello-c++-wxwidgets', +`hello-objc', `hello-objc-gnustep', `hello-objc-gnome'. + + +File: gettext.info, Node: sh, Next: bash, Prev: C, Up: List of Programming Languages + +15.5.2 sh - Shell Script +------------------------ + +RPMs + bash, gettext + +File extension + `sh' + +String syntax + `"abc"', `'abc'', `abc' + +gettext shorthand + `"`gettext \"abc\"`"' + +gettext/ngettext functions + `gettext', `ngettext' programs + `eval_gettext', `eval_ngettext' shell functions + +textdomain + environment variable `TEXTDOMAIN' + +bindtextdomain + environment variable `TEXTDOMAINDIR' + +setlocale + automatic + +Prerequisite + `. gettext.sh' + +Use or emulate GNU gettext + use + +Extractor + `xgettext' + +Formatting with positions + -- + +Portability + fully portable + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-sh'. + +* Menu: + +* Preparing Shell Scripts:: Preparing Shell Scripts for Internationalization +* gettext.sh:: Contents of `gettext.sh' +* gettext Invocation:: Invoking the `gettext' program +* ngettext Invocation:: Invoking the `ngettext' program +* envsubst Invocation:: Invoking the `envsubst' program +* eval_gettext Invocation:: Invoking the `eval_gettext' function +* eval_ngettext Invocation:: Invoking the `eval_ngettext' function + + +File: gettext.info, Node: Preparing Shell Scripts, Next: gettext.sh, Prev: sh, Up: sh + +15.5.2.1 Preparing Shell Scripts for Internationalization +......................................................... + + Preparing a shell script for internationalization is conceptually +similar to the steps described in *note Sources::. The concrete steps +for shell scripts are as follows. + + 1. Insert the line + + . gettext.sh + + near the top of the script. `gettext.sh' is a shell function + library that provides the functions `eval_gettext' (see *note + eval_gettext Invocation::) and `eval_ngettext' (see *note + eval_ngettext Invocation::). You have to ensure that `gettext.sh' + can be found in the `PATH'. + + 2. Set and export the `TEXTDOMAIN' and `TEXTDOMAINDIR' environment + variables. Usually `TEXTDOMAIN' is the package or program name, + and `TEXTDOMAINDIR' is the absolute pathname corresponding to + `$prefix/share/locale', where `$prefix' is the installation + location. + + TEXTDOMAIN=@PACKAGE@ + export TEXTDOMAIN + TEXTDOMAINDIR=@LOCALEDIR@ + export TEXTDOMAINDIR + + 3. Prepare the strings for translation, as described in *note + Preparing Strings::. + + 4. Simplify translatable strings so that they don't contain command + substitution (`"`...`"' or `"$(...)"'), variable access with + defaulting (like `${VARIABLE-DEFAULT}'), access to positional + arguments (like `$0', `$1', ...) or highly volatile shell + variables (like `$?'). This can always be done through simple + local code restructuring. For example, + + echo "Usage: $0 [OPTION] FILE..." + + becomes + + program_name=$0 + echo "Usage: $program_name [OPTION] FILE..." + + Similarly, + + echo "Remaining files: `ls | wc -l`" + + becomes + + filecount="`ls | wc -l`" + echo "Remaining files: $filecount" + + 5. For each translatable string, change the output command `echo' or + `$echo' to `gettext' (if the string contains no references to + shell variables) or to `eval_gettext' (if it refers to shell + variables), followed by a no-argument `echo' command (to account + for the terminating newline). Similarly, for cases with plural + handling, replace a conditional `echo' command with an invocation + of `ngettext' or `eval_ngettext', followed by a no-argument `echo' + command. + + When doing this, you also need to add an extra backslash before + the dollar sign in references to shell variables, so that the + `eval_gettext' function receives the translatable string before + the variable values are substituted into it. For example, + + echo "Remaining files: $filecount" + + becomes + + eval_gettext "Remaining files: \$filecount"; echo + + If the output command is not `echo', you can make it use `echo' + nevertheless, through the use of backquotes. However, note that + inside backquotes, backslashes must be doubled to be effective + (because the backquoting eats one level of backslashes). For + example, assuming that `error' is a shell function that signals an + error, + + error "file not found: $filename" + + is first transformed into + + error "`echo \"file not found: \$filename\"`" + + which then becomes + + error "`eval_gettext \"file not found: \\\$filename\"`" + + +File: gettext.info, Node: gettext.sh, Next: gettext Invocation, Prev: Preparing Shell Scripts, Up: sh + +15.5.2.2 Contents of `gettext.sh' +................................. + + `gettext.sh', contained in the run-time package of GNU gettext, +provides the following: + + * $echo The variable `echo' is set to a command that outputs its + first argument and a newline, without interpreting backslashes in + the argument string. + + * eval_gettext See *note eval_gettext Invocation::. + + * eval_ngettext See *note eval_ngettext Invocation::. + + +File: gettext.info, Node: gettext Invocation, Next: ngettext Invocation, Prev: gettext.sh, Up: sh + +15.5.2.3 Invoking the `gettext' program +....................................... + + gettext [OPTION] [[TEXTDOMAIN] MSGID] + gettext [OPTION] -s [MSGID]... + + The `gettext' program displays the native language translation of a +textual message. + +*Arguments* + +`-d TEXTDOMAIN' +`--domain=TEXTDOMAIN' + Retrieve translated messages from TEXTDOMAIN. Usually a TEXTDOMAIN + corresponds to a package, a program, or a module of a program. + +`-e' + Enable expansion of some escape sequences. This option is for + compatibility with the `echo' program or shell built-in. The + escape sequences `\a', `\b', `\c', `\f', `\n', `\r', `\t', `\v', + `\\', and `\' followed by one to three octal digits, are + interpreted like the System V `echo' program did. + +`-E' + This option is only for compatibility with the `echo' program or + shell built-in. It has no effect. + +`-h' +`--help' + Display this help and exit. + +`-n' + Suppress trailing newline. By default, `gettext' adds a newline to + the output. + +`-V' +`--version' + Output version information and exit. + +`[TEXTDOMAIN] MSGID' + Retrieve translated message corresponding to MSGID from TEXTDOMAIN. + + + If the TEXTDOMAIN parameter is not given, the domain is determined +from the environment variable `TEXTDOMAIN'. If the message catalog is +not found in the regular directory, another location can be specified +with the environment variable `TEXTDOMAINDIR'. + + When used with the `-s' option the program behaves like the `echo' +command. But it does not simply copy its arguments to stdout. Instead +those messages found in the selected catalog are translated. + + Note: `xgettext' supports only the one-argument form of the +`gettext' invocation, where no options are present and the TEXTDOMAIN +is implicit, from the environment. + + +File: gettext.info, Node: ngettext Invocation, Next: envsubst Invocation, Prev: gettext Invocation, Up: sh + +15.5.2.4 Invoking the `ngettext' program +........................................ + + ngettext [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT + + The `ngettext' program displays the native language translation of a +textual message whose grammatical form depends on a number. + +*Arguments* + +`-d TEXTDOMAIN' +`--domain=TEXTDOMAIN' + Retrieve translated messages from TEXTDOMAIN. Usually a TEXTDOMAIN + corresponds to a package, a program, or a module of a program. + +`-e' + Enable expansion of some escape sequences. This option is for + compatibility with the `gettext' program. The escape sequences + `\a', `\b', `\c', `\f', `\n', `\r', `\t', `\v', `\\', and `\' + followed by one to three octal digits, are interpreted like the + System V `echo' program did. + +`-E' + This option is only for compatibility with the `gettext' program. + It has no effect. + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + +`TEXTDOMAIN' + Retrieve translated message from TEXTDOMAIN. + +`MSGID MSGID-PLURAL' + Translate MSGID (English singular) / MSGID-PLURAL (English plural). + +`COUNT' + Choose singular/plural form based on this value. + + + If the TEXTDOMAIN parameter is not given, the domain is determined +from the environment variable `TEXTDOMAIN'. If the message catalog is +not found in the regular directory, another location can be specified +with the environment variable `TEXTDOMAINDIR'. + + Note: `xgettext' supports only the three-arguments form of the +`ngettext' invocation, where no options are present and the TEXTDOMAIN +is implicit, from the environment. + + +File: gettext.info, Node: envsubst Invocation, Next: eval_gettext Invocation, Prev: ngettext Invocation, Up: sh + +15.5.2.5 Invoking the `envsubst' program +........................................ + + envsubst [OPTION] [SHELL-FORMAT] + + The `envsubst' program substitutes the values of environment +variables. + +*Operation mode* + +`-v' +`--variables' + Output the variables occurring in SHELL-FORMAT. + + +*Informative output* + +`-h' +`--help' + Display this help and exit. + +`-V' +`--version' + Output version information and exit. + + + In normal operation mode, standard input is copied to standard +output, with references to environment variables of the form +`$VARIABLE' or `${VARIABLE}' being replaced with the corresponding +values. If a SHELL-FORMAT is given, only those environment variables +that are referenced in SHELL-FORMAT are substituted; otherwise all +environment variables references occurring in standard input are +substituted. + + These substitutions are a subset of the substitutions that a shell +performs on unquoted and double-quoted strings. Other kinds of +substitutions done by a shell, such as `${VARIABLE-DEFAULT}' or +`$(COMMAND-LIST)' or ``COMMAND-LIST`', are not performed by the +`envsubst' program, due to security reasons. + + When `--variables' is used, standard input is ignored, and the output +consists of the environment variables that are referenced in +SHELL-FORMAT, one per line. + + +File: gettext.info, Node: eval_gettext Invocation, Next: eval_ngettext Invocation, Prev: envsubst Invocation, Up: sh + +15.5.2.6 Invoking the `eval_gettext' function +............................................. + + eval_gettext MSGID + + This function outputs the native language translation of a textual +message, performing dollar-substitution on the result. Note that only +shell variables mentioned in MSGID will be dollar-substituted in the +result. + + +File: gettext.info, Node: eval_ngettext Invocation, Prev: eval_gettext Invocation, Up: sh + +15.5.2.7 Invoking the `eval_ngettext' function +.............................................. + + eval_ngettext MSGID MSGID-PLURAL COUNT + + This function outputs the native language translation of a textual +message whose grammatical form depends on a number, performing +dollar-substitution on the result. Note that only shell variables +mentioned in MSGID or MSGID-PLURAL will be dollar-substituted in the +result. + + +File: gettext.info, Node: bash, Next: Python, Prev: sh, Up: List of Programming Languages + +15.5.3 bash - Bourne-Again Shell Script +--------------------------------------- + + GNU `bash' 2.0 or newer has a special shorthand for translating a +string and substituting variable values in it: `$"msgid"'. But the use +of this construct is *discouraged*, due to the security holes it opens +and due to its portability problems. + + The security holes of `$"..."' come from the fact that after looking +up the translation of the string, `bash' processes it like it processes +any double-quoted string: dollar and backquote processing, like `eval' +does. + + 1. In a locale whose encoding is one of BIG5, BIG5-HKSCS, GBK, + GB18030, SHIFT_JIS, JOHAB, some double-byte characters have a + second byte whose value is `0x60'. For example, the byte sequence + `\xe0\x60' is a single character in these locales. Many versions + of `bash' (all versions up to bash-2.05, and newer versions on + platforms without `mbsrtowcs()' function) don't know about + character boundaries and see a backquote character where there is + only a particular Chinese character. Thus it can start executing + part of the translation as a command list. This situation can + occur even without the translator being aware of it: if the + translator provides translations in the UTF-8 encoding, it is the + `gettext()' function which will, during its conversion from the + translator's encoding to the user's locale's encoding, produce the + dangerous `\x60' bytes. + + 2. A translator could - voluntarily or inadvertently - use backquotes + `"`...`"' or dollar-parentheses `"$(...)"' in her translations. + The enclosed strings would be executed as command lists by the + shell. + + The portability problem is that `bash' must be built with +internationalization support; this is normally not the case on systems +that don't have the `gettext()' function in libc. + + +File: gettext.info, Node: Python, Next: Common Lisp, Prev: bash, Up: List of Programming Languages + +15.5.4 Python +------------- + +RPMs + python + +File extension + `py' + +String syntax + `'abc'', `u'abc'', `r'abc'', `ur'abc'', + `"abc"', `u"abc"', `r"abc"', `ur"abc"', + `'''abc'''', `u'''abc'''', `r'''abc'''', `ur'''abc'''', + `"""abc"""', `u"""abc"""', `r"""abc"""', `ur"""abc"""' + +gettext shorthand + `_('abc')' etc. + +gettext/ngettext functions + `gettext.gettext', `gettext.dgettext', `gettext.ngettext', + `gettext.dngettext', also `ugettext', `ungettext' + +textdomain + `gettext.textdomain' function, or `gettext.install(DOMAIN)' + function + +bindtextdomain + `gettext.bindtextdomain' function, or + `gettext.install(DOMAIN,LOCALEDIR)' function + +setlocale + not used by the gettext emulation + +Prerequisite + `import gettext' + +Use or emulate GNU gettext + emulate + +Extractor + `xgettext' + +Formatting with positions + `'...%(ident)d...' % { 'ident': value }' + +Portability + fully portable + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-python'. + + A note about format strings: Python supports format strings with +unnamed arguments, such as `'...%d...'', and format strings with named +arguments, such as `'...%(ident)d...''. The latter are preferable for +internationalized programs, for two reasons: + + * When a format string takes more than one argument, the translator + can provide a translation that uses the arguments in a different + order, if the format string uses named arguments. For example, + the translator can reformulate + "'%(volume)s' has only %(freespace)d bytes free." + to + "Only %(freespace)d bytes free on '%(volume)s'." + Additionally, the identifiers also provide some context to the + translator. + + * In the context of plural forms, the format string used for the + singular form does not use the numeric argument in many languages. + Even in English, one prefers to write `"one hour"' instead of `"1 + hour"'. Omitting individual arguments from format strings like + this is only possible with the named argument syntax. (With + unnamed arguments, Python - unlike C - verifies that the format + string uses all supplied arguments.) + + +File: gettext.info, Node: Common Lisp, Next: clisp C, Prev: Python, Up: List of Programming Languages + +15.5.5 GNU clisp - Common Lisp +------------------------------ + +RPMs + clisp 2.28 or newer + +File extension + `lisp' + +String syntax + `"abc"' + +gettext shorthand + `(_ "abc")', `(ENGLISH "abc")' + +gettext/ngettext functions + `i18n:gettext', `i18n:ngettext' + +textdomain + `i18n:textdomain' + +bindtextdomain + `i18n:textdomaindir' + +setlocale + automatic + +Prerequisite + -- + +Use or emulate GNU gettext + use + +Extractor + `xgettext -k_ -kENGLISH' + +Formatting with positions + `format "~1@*~D ~0@*~D"' + +Portability + On platforms without gettext, no translation. + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-clisp'. + + +File: gettext.info, Node: clisp C, Next: Emacs Lisp, Prev: Common Lisp, Up: List of Programming Languages + +15.5.6 GNU clisp C sources +-------------------------- + +RPMs + clisp + +File extension + `d' + +String syntax + `"abc"' + +gettext shorthand + `ENGLISH ? "abc" : ""' + `GETTEXT("abc")' + `GETTEXTL("abc")' + +gettext/ngettext functions + `clgettext', `clgettextl' + +textdomain + -- + +bindtextdomain + -- + +setlocale + automatic + +Prerequisite + `#include "lispbibl.c"' + +Use or emulate GNU gettext + use + +Extractor + `clisp-xgettext' + +Formatting with positions + `fprintf "%2$d %1$d"' + +Portability + On platforms without gettext, no translation. + +po-mode marking + -- + + +File: gettext.info, Node: Emacs Lisp, Next: librep, Prev: clisp C, Up: List of Programming Languages + +15.5.7 Emacs Lisp +----------------- + +RPMs + emacs, xemacs + +File extension + `el' + +String syntax + `"abc"' + +gettext shorthand + `(_"abc")' + +gettext/ngettext functions + `gettext', `dgettext' (xemacs only) + +textdomain + `domain' special form (xemacs only) + +bindtextdomain + `bind-text-domain' function (xemacs only) + +setlocale + automatic + +Prerequisite + -- + +Use or emulate GNU gettext + use + +Extractor + `xgettext' + +Formatting with positions + `format "%2$d %1$d"' + +Portability + Only XEmacs. Without `I18N3' defined at build time, no + translation. + +po-mode marking + -- + + +File: gettext.info, Node: librep, Next: Scheme, Prev: Emacs Lisp, Up: List of Programming Languages + +15.5.8 librep +------------- + +RPMs + librep 0.15.3 or newer + +File extension + `jl' + +String syntax + `"abc"' + +gettext shorthand + `(_"abc")' + +gettext/ngettext functions + `gettext' + +textdomain + `textdomain' function + +bindtextdomain + `bindtextdomain' function + +setlocale + -- + +Prerequisite + `(require 'rep.i18n.gettext)' + +Use or emulate GNU gettext + use + +Extractor + `xgettext' + +Formatting with positions + `format "%2$d %1$d"' + +Portability + On platforms without gettext, no translation. + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-librep'. + + +File: gettext.info, Node: Scheme, Next: Smalltalk, Prev: librep, Up: List of Programming Languages + +15.5.9 GNU guile - Scheme +------------------------- + +RPMs + guile + +File extension + `scm' + +String syntax + `"abc"' + +gettext shorthand + `(_ "abc")' + +gettext/ngettext functions + `gettext', `ngettext' + +textdomain + `textdomain' + +bindtextdomain + `bindtextdomain' + +setlocale + `(catch #t (lambda () (setlocale LC_ALL "")) (lambda args #f))' + +Prerequisite + `(use-modules (ice-9 format))' + +Use or emulate GNU gettext + use + +Extractor + `xgettext -k_' + +Formatting with positions + -- + +Portability + On platforms without gettext, no translation. + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-guile'. + + +File: gettext.info, Node: Smalltalk, Next: Java, Prev: Scheme, Up: List of Programming Languages + +15.5.10 GNU Smalltalk +--------------------- + +RPMs + smalltalk + +File extension + `st' + +String syntax + `'abc'' + +gettext shorthand + `NLS ? 'abc'' + +gettext/ngettext functions + `LcMessagesDomain>>#at:', `LcMessagesDomain>>#at:plural:with:' + +textdomain + `LcMessages>>#domain:localeDirectory:' (returns a + `LcMessagesDomain' object). + Example: `I18N Locale default messages domain: 'gettext' + localeDirectory: /usr/local/share/locale'' + +bindtextdomain + `LcMessages>>#domain:localeDirectory:', see above. + +setlocale + Automatic if you use `I18N Locale default'. + +Prerequisite + `PackageLoader fileInPackage: 'I18N'!' + +Use or emulate GNU gettext + emulate + +Extractor + `xgettext' + +Formatting with positions + `'%1 %2' bindWith: 'Hello' with: 'world'' + +Portability + fully portable + +po-mode marking + -- + + An example is available in the `examples' directory: +`hello-smalltalk'. + + +File: gettext.info, Node: Java, Next: C#, Prev: Smalltalk, Up: List of Programming Languages + +15.5.11 Java +------------ + +RPMs + java, java2 + +File extension + `java' + +String syntax + "abc" + +gettext shorthand + _("abc") + +gettext/ngettext functions + `GettextResource.gettext', `GettextResource.ngettext', + `GettextResource.pgettext', `GettextResource.npgettext' + +textdomain + --, use `ResourceBundle.getResource' instead + +bindtextdomain + --, use CLASSPATH instead + +setlocale + automatic + +Prerequisite + -- + +Use or emulate GNU gettext + --, uses a Java specific message catalog format + +Extractor + `xgettext -k_' + +Formatting with positions + `MessageFormat.format "{1,number} {0,number}"' + +Portability + fully portable + +po-mode marking + -- + + Before marking strings as internationalizable, uses of the string +concatenation operator need to be converted to `MessageFormat' +applications. For example, `"file "+filename+" not found"' becomes +`MessageFormat.format("file {0} not found", new Object[] { filename })'. +Only after this is done, can the strings be marked and extracted. + + GNU gettext uses the native Java internationalization mechanism, +namely `ResourceBundle's. There are two formats of `ResourceBundle's: +`.properties' files and `.class' files. The `.properties' format is a +text file which the translators can directly edit, like PO files, but +which doesn't support plural forms. Whereas the `.class' format is +compiled from `.java' source code and can support plural forms +(provided it is accessed through an appropriate API, see below). + + To convert a PO file to a `.properties' file, the `msgcat' program +can be used with the option `--properties-output'. To convert a +`.properties' file back to a PO file, the `msgcat' program can be used +with the option `--properties-input'. All the tools that manipulate PO +files can work with `.properties' files as well, if given the +`--properties-input' and/or `--properties-output' option. + + To convert a PO file to a ResourceBundle class, the `msgfmt' program +can be used with the option `--java' or `--java2'. To convert a +ResourceBundle back to a PO file, the `msgunfmt' program can be used +with the option `--java'. + + Two different programmatic APIs can be used to access +ResourceBundles. Note that both APIs work with all kinds of +ResourceBundles, whether GNU gettext generated classes, or other +`.class' or `.properties' files. + + 1. The `java.util.ResourceBundle' API. + + In particular, its `getString' function returns a string + translation. Note that a missing translation yields a + `MissingResourceException'. + + This has the advantage of being the standard API. And it does not + require any additional libraries, only the `msgcat' generated + `.properties' files or the `msgfmt' generated `.class' files. But + it cannot do plural handling, even if the resource was generated + by `msgfmt' from a PO file with plural handling. + + 2. The `gnu.gettext.GettextResource' API. + + Reference documentation in Javadoc 1.1 style format is in the + javadoc2 directory (javadoc2/index.html). + + Its `gettext' function returns a string translation. Note that + when a translation is missing, the MSGID argument is returned + unchanged. + + This has the advantage of having the `ngettext' function for plural + handling and the `pgettext' and `npgettext' for strings constraint + to a particular context. + + To use this API, one needs the `libintl.jar' file which is part of + the GNU gettext package and distributed under the LGPL. + + Four examples, using the second API, are available in the `examples' +directory: `hello-java', `hello-java-awt', `hello-java-swing', +`hello-java-qtjambi'. + + Now, to make use of the API and define a shorthand for `getString', +there are three idioms that you can choose from: + + * (This one assumes Java 1.5 or newer.) In a unique class of your + project, say `Util', define a static variable holding the + `ResourceBundle' instance and the shorthand: + + private static ResourceBundle myResources = + ResourceBundle.getBundle("domain-name"); + public static String _(String s) { + return myResources.getString(s); + } + + All classes containing internationalized strings then contain + + import static Util._; + + and the shorthand is used like this: + + System.out.println(_("Operation completed.")); + + * In a unique class of your project, say `Util', define a static + variable holding the `ResourceBundle' instance: + + public static ResourceBundle myResources = + ResourceBundle.getBundle("domain-name"); + + All classes containing internationalized strings then contain + + private static ResourceBundle res = Util.myResources; + private static String _(String s) { return res.getString(s); } + + and the shorthand is used like this: + + System.out.println(_("Operation completed.")); + + * You add a class with a very short name, say `S', containing just + the definition of the resource bundle and of the shorthand: + + public class S { + public static ResourceBundle myResources = + ResourceBundle.getBundle("domain-name"); + public static String _(String s) { + return myResources.getString(s); + } + } + + and the shorthand is used like this: + + System.out.println(S._("Operation completed.")); + + Which of the three idioms you choose, will depend on whether your +project requires portability to Java versions prior to Java 1.5 and, if +so, whether copying two lines of codes into every class is more +acceptable in your project than a class with a single-letter name. + + +File: gettext.info, Node: C#, Next: gawk, Prev: Java, Up: List of Programming Languages + +15.5.12 C# +---------- + +RPMs + pnet, pnetlib 0.6.2 or newer, or mono 0.29 or newer + +File extension + `cs' + +String syntax + `"abc"', `@"abc"' + +gettext shorthand + _("abc") + +gettext/ngettext functions + `GettextResourceManager.GetString', + `GettextResourceManager.GetPluralString' + `GettextResourceManager.GetParticularString' + `GettextResourceManager.GetParticularPluralString' + +textdomain + `new GettextResourceManager(domain)' + +bindtextdomain + --, compiled message catalogs are located in subdirectories of the + directory containing the executable + +setlocale + automatic + +Prerequisite + -- + +Use or emulate GNU gettext + --, uses a C# specific message catalog format + +Extractor + `xgettext -k_' + +Formatting with positions + `String.Format "{1} {0}"' + +Portability + fully portable + +po-mode marking + -- + + Before marking strings as internationalizable, uses of the string +concatenation operator need to be converted to `String.Format' +invocations. For example, `"file "+filename+" not found"' becomes +`String.Format("file {0} not found", filename)'. Only after this is +done, can the strings be marked and extracted. + + GNU gettext uses the native C#/.NET internationalization mechanism, +namely the classes `ResourceManager' and `ResourceSet'. Applications +use the `ResourceManager' methods to retrieve the native language +translation of strings. An instance of `ResourceSet' is the in-memory +representation of a message catalog file. The `ResourceManager' loads +and accesses `ResourceSet' instances as needed to look up the +translations. + + There are two formats of `ResourceSet's that can be directly loaded +by the C# runtime: `.resources' files and `.dll' files. + + * The `.resources' format is a binary file usually generated through + the `resgen' or `monoresgen' utility, but which doesn't support + plural forms. `.resources' files can also be embedded in .NET + `.exe' files. This only affects whether a file system access is + performed to load the message catalog; it doesn't affect the + contents of the message catalog. + + * On the other hand, the `.dll' format is a binary file that is + compiled from `.cs' source code and can support plural forms + (provided it is accessed through the GNU gettext API, see below). + + Note that these .NET `.dll' and `.exe' files are not tied to a +particular platform; their file format and GNU gettext for C# can be +used on any platform. + + To convert a PO file to a `.resources' file, the `msgfmt' program +can be used with the option `--csharp-resources'. To convert a +`.resources' file back to a PO file, the `msgunfmt' program can be used +with the option `--csharp-resources'. You can also, in some cases, use +the `resgen' program (from the `pnet' package) or the `monoresgen' +program (from the `mono'/`mcs' package). These programs can also +convert a `.resources' file back to a PO file. But beware: as of this +writing (January 2004), the `monoresgen' converter is quite buggy and +the `resgen' converter ignores the encoding of the PO files. + + To convert a PO file to a `.dll' file, the `msgfmt' program can be +used with the option `--csharp'. The result will be a `.dll' file +containing a subclass of `GettextResourceSet', which itself is a +subclass of `ResourceSet'. To convert a `.dll' file containing a +`GettextResourceSet' subclass back to a PO file, the `msgunfmt' program +can be used with the option `--csharp'. + + The advantages of the `.dll' format over the `.resources' format are: + + 1. Freedom to localize: Users can add their own translations to an + application after it has been built and distributed. Whereas when + the programmer uses a `ResourceManager' constructor provided by + the system, the set of `.resources' files for an application must + be specified when the application is built and cannot be extended + afterwards. + + 2. Plural handling: A message catalog in `.dll' format supports the + plural handling function `GetPluralString'. Whereas `.resources' + files can only contain data and only support lookups that depend + on a single string. + + 3. Context handling: A message catalog in `.dll' format supports the + query-with-context functions `GetParticularString' and + `GetParticularPluralString'. Whereas `.resources' files can only + contain data and only support lookups that depend on a single + string. + + 4. The `GettextResourceManager' that loads the message catalogs in + `.dll' format also provides for inheritance on a per-message basis. + For example, in Austrian (`de_AT') locale, translations from the + German (`de') message catalog will be used for messages not found + in the Austrian message catalog. This has the consequence that + the Austrian translators need only translate those few messages + for which the translation into Austrian differs from the German + one. Whereas when working with `.resources' files, each message + catalog must provide the translations of all messages by itself. + + 5. The `GettextResourceManager' that loads the message catalogs in + `.dll' format also provides for a fallback: The English MSGID is + returned when no translation can be found. Whereas when working + with `.resources' files, a language-neutral `.resources' file must + explicitly be provided as a fallback. + + On the side of the programmatic APIs, the programmer can use either +the standard `ResourceManager' API and the GNU `GettextResourceManager' +API. The latter is an extension of the former, because +`GettextResourceManager' is a subclass of `ResourceManager'. + + 1. The `System.Resources.ResourceManager' API. + + This API works with resources in `.resources' format. + + The creation of the `ResourceManager' is done through + new ResourceManager(domainname, Assembly.GetExecutingAssembly()) + The `GetString' function returns a string's translation. Note + that this function returns null when a translation is missing + (i.e. not even found in the fallback resource file). + + 2. The `GNU.Gettext.GettextResourceManager' API. + + This API works with resources in `.dll' format. + + Reference documentation is in the csharpdoc directory + (csharpdoc/index.html). + + The creation of the `ResourceManager' is done through + new GettextResourceManager(domainname) + + The `GetString' function returns a string's translation. Note + that when a translation is missing, the MSGID argument is returned + unchanged. + + The `GetPluralString' function returns a string translation with + plural handling, like the `ngettext' function in C. + + The `GetParticularString' function returns a string's translation, + specific to a particular context, like the `pgettext' function in + C. Note that when a translation is missing, the MSGID argument is + returned unchanged. + + The `GetParticularPluralString' function returns a string + translation, specific to a particular context, with plural + handling, like the `npgettext' function in C. + + To use this API, one needs the `GNU.Gettext.dll' file which is + part of the GNU gettext package and distributed under the LGPL. + + You can also mix both approaches: use the +`GNU.Gettext.GettextResourceManager' constructor, but otherwise use +only the `ResourceManager' type and only the `GetString' method. This +is appropriate when you want to profit from the tools for PO files, but +don't want to change an existing source code that uses +`ResourceManager' and don't (yet) need the `GetPluralString' method. + + Two examples, using the second API, are available in the `examples' +directory: `hello-csharp', `hello-csharp-forms'. + + Now, to make use of the API and define a shorthand for `GetString', +there are two idioms that you can choose from: + + * In a unique class of your project, say `Util', define a static + variable holding the `ResourceManager' instance: + + public static GettextResourceManager MyResourceManager = + new GettextResourceManager("domain-name"); + + All classes containing internationalized strings then contain + + private static GettextResourceManager Res = Util.MyResourceManager; + private static String _(String s) { return Res.GetString(s); } + + and the shorthand is used like this: + + Console.WriteLine(_("Operation completed.")); + + * You add a class with a very short name, say `S', containing just + the definition of the resource manager and of the shorthand: + + public class S { + public static GettextResourceManager MyResourceManager = + new GettextResourceManager("domain-name"); + public static String _(String s) { + return MyResourceManager.GetString(s); + } + } + + and the shorthand is used like this: + + Console.WriteLine(S._("Operation completed.")); + + Which of the two idioms you choose, will depend on whether copying +two lines of codes into every class is more acceptable in your project +than a class with a single-letter name. + + +File: gettext.info, Node: gawk, Next: Pascal, Prev: C#, Up: List of Programming Languages + +15.5.13 GNU awk +--------------- + +RPMs + gawk 3.1 or newer + +File extension + `awk' + +String syntax + `"abc"' + +gettext shorthand + `_"abc"' + +gettext/ngettext functions + `dcgettext', missing `dcngettext' in gawk-3.1.0 + +textdomain + `TEXTDOMAIN' variable + +bindtextdomain + `bindtextdomain' function + +setlocale + automatic, but missing `setlocale (LC_MESSAGES, "")' in gawk-3.1.0 + +Prerequisite + -- + +Use or emulate GNU gettext + use + +Extractor + `xgettext' + +Formatting with positions + `printf "%2$d %1$d"' (GNU awk only) + +Portability + On platforms without gettext, no translation. On non-GNU awks, + you must define `dcgettext', `dcngettext' and `bindtextdomain' + yourself. + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-gawk'. + + +File: gettext.info, Node: Pascal, Next: wxWidgets, Prev: gawk, Up: List of Programming Languages + +15.5.14 Pascal - Free Pascal Compiler +------------------------------------- + +RPMs + fpk + +File extension + `pp', `pas' + +String syntax + `'abc'' + +gettext shorthand + automatic + +gettext/ngettext functions + --, use `ResourceString' data type instead + +textdomain + --, use `TranslateResourceStrings' function instead + +bindtextdomain + --, use `TranslateResourceStrings' function instead + +setlocale + automatic, but uses only LANG, not LC_MESSAGES or LC_ALL + +Prerequisite + `{$mode delphi}' or `{$mode objfpc}' + `uses gettext;' + +Use or emulate GNU gettext + emulate partially + +Extractor + `ppc386' followed by `xgettext' or `rstconv' + +Formatting with positions + `uses sysutils;' + `format "%1:d %0:d"' + +Portability + ? + +po-mode marking + -- + + The Pascal compiler has special support for the `ResourceString' data +type. It generates a `.rst' file. This is then converted to a `.pot' +file by use of `xgettext' or `rstconv'. At runtime, a `.mo' file +corresponding to translations of this `.pot' file can be loaded using +the `TranslateResourceStrings' function in the `gettext' unit. + + An example is available in the `examples' directory: `hello-pascal'. + + +File: gettext.info, Node: wxWidgets, Next: YCP, Prev: Pascal, Up: List of Programming Languages + +15.5.15 wxWidgets library +------------------------- + +RPMs + wxGTK, gettext + +File extension + `cpp' + +String syntax + `"abc"' + +gettext shorthand + `_("abc")' + +gettext/ngettext functions + `wxLocale::GetString', `wxGetTranslation' + +textdomain + `wxLocale::AddCatalog' + +bindtextdomain + `wxLocale::AddCatalogLookupPathPrefix' + +setlocale + `wxLocale::Init', `wxSetLocale' + +Prerequisite + `#include ' + +Use or emulate GNU gettext + emulate, see `include/wx/intl.h' and `src/common/intl.cpp' + +Extractor + `xgettext' + +Formatting with positions + wxString::Format supports positions if and only if the system has + `wprintf()', `vswprintf()' functions and they support positions + according to POSIX. + +Portability + fully portable + +po-mode marking + yes + + +File: gettext.info, Node: YCP, Next: Tcl, Prev: wxWidgets, Up: List of Programming Languages + +15.5.16 YCP - YaST2 scripting language +-------------------------------------- + +RPMs + libycp, libycp-devel, yast2-core, yast2-core-devel + +File extension + `ycp' + +String syntax + `"abc"' + +gettext shorthand + `_("abc")' + +gettext/ngettext functions + `_()' with 1 or 3 arguments + +textdomain + `textdomain' statement + +bindtextdomain + -- + +setlocale + -- + +Prerequisite + -- + +Use or emulate GNU gettext + use + +Extractor + `xgettext' + +Formatting with positions + `sformat "%2 %1"' + +Portability + fully portable + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-ycp'. + + +File: gettext.info, Node: Tcl, Next: Perl, Prev: YCP, Up: List of Programming Languages + +15.5.17 Tcl - Tk's scripting language +------------------------------------- + +RPMs + tcl + +File extension + `tcl' + +String syntax + `"abc"' + +gettext shorthand + `[_ "abc"]' + +gettext/ngettext functions + `::msgcat::mc' + +textdomain + -- + +bindtextdomain + --, use `::msgcat::mcload' instead + +setlocale + automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL + +Prerequisite + `package require msgcat' + `proc _ {s} {return [::msgcat::mc $s]}' + +Use or emulate GNU gettext + --, uses a Tcl specific message catalog format + +Extractor + `xgettext -k_' + +Formatting with positions + `format "%2\$d %1\$d"' + +Portability + fully portable + +po-mode marking + -- + + Two examples are available in the `examples' directory: `hello-tcl', +`hello-tcl-tk'. + + Before marking strings as internationalizable, substitutions of +variables into the string need to be converted to `format' +applications. For example, `"file $filename not found"' becomes +`[format "file %s not found" $filename]'. Only after this is done, can +the strings be marked and extracted. After marking, this example +becomes `[format [_ "file %s not found"] $filename]' or `[msgcat::mc +"file %s not found" $filename]'. Note that the `msgcat::mc' function +implicitly calls `format' when more than one argument is given. + + +File: gettext.info, Node: Perl, Next: PHP, Prev: Tcl, Up: List of Programming Languages + +15.5.18 Perl +------------ + +RPMs + perl + +File extension + `pl', `PL', `pm', `cgi' + +String syntax + * `"abc"' + + * `'abc'' + + * `qq (abc)' + + * `q (abc)' + + * `qr /abc/' + + * `qx (/bin/date)' + + * `/pattern match/' + + * `?pattern match?' + + * `s/substitution/operators/' + + * `$tied_hash{"message"}' + + * `$tied_hash_reference->{"message"}' + + * etc., issue the command `man perlsyn' for details + + +gettext shorthand + `__' (double underscore) + +gettext/ngettext functions + `gettext', `dgettext', `dcgettext', `ngettext', `dngettext', + `dcngettext' + +textdomain + `textdomain' function + +bindtextdomain + `bindtextdomain' function + +bind_textdomain_codeset + `bind_textdomain_codeset' function + +setlocale + Use `setlocale (LC_ALL, "");' + +Prerequisite + `use POSIX;' + `use Locale::TextDomain;' (included in the package libintl-perl + which is available on the Comprehensive Perl Archive Network CPAN, + http://www.cpan.org/). + +Use or emulate GNU gettext + platform dependent: gettext_pp emulates, gettext_xs uses GNU + gettext + +Extractor + `xgettext -k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 + -kN__ -k' + +Formatting with positions + Both kinds of format strings support formatting with positions. + `printf "%2\$d %1\$d", ...' (requires Perl 5.8.0 or newer) + `__expand("[new] replaces [old]", old => $oldvalue, new => + $newvalue)' + +Portability + The `libintl-perl' package is platform independent but is not part + of the Perl core. The programmer is responsible for providing a + dummy implementation of the required functions if the package is + not installed on the target system. + +po-mode marking + -- + +Documentation + Included in `libintl-perl', available on CPAN + (http://www.cpan.org/). + + + An example is available in the `examples' directory: `hello-perl'. + + The `xgettext' parser backend for Perl differs significantly from +the parser backends for other programming languages, just as Perl +itself differs significantly from other programming languages. The +Perl parser backend offers many more string marking facilities than the +other backends but it also has some Perl specific limitations, the +worst probably being its imperfectness. + +* Menu: + +* General Problems:: General Problems Parsing Perl Code +* Default Keywords:: Which Keywords Will xgettext Look For? +* Special Keywords:: How to Extract Hash Keys +* Quote-like Expressions:: What are Strings And Quote-like Expressions? +* Interpolation I:: Invalid String Interpolation +* Interpolation II:: Valid String Interpolation +* Parentheses:: When To Use Parentheses +* Long Lines:: How To Grok with Long Lines +* Perl Pitfalls:: Bugs, Pitfalls, and Things That Do Not Work + + +File: gettext.info, Node: General Problems, Next: Default Keywords, Up: Perl + +15.5.18.1 General Problems Parsing Perl Code +............................................ + + It is often heard that only Perl can parse Perl. This is not true. +Perl cannot be _parsed_ at all, it can only be _executed_. Perl has +various built-in ambiguities that can only be resolved at runtime. + + The following example may illustrate one common problem: + + print gettext "Hello World!"; + + Although this example looks like a bullet-proof case of a function +invocation, it is not: + + open gettext, ">testfile" or die; + print gettext "Hello world!" + + In this context, the string `gettext' looks more like a file handle. +But not necessarily: + + use Locale::Messages qw (:libintl_h); + open gettext ">testfile" or die; + print gettext "Hello world!"; + + Now, the file is probably syntactically incorrect, provided that the +module `Locale::Messages' found first in the Perl include path exports a +function `gettext'. But what if the module `Locale::Messages' really +looks like this? + + use vars qw (*gettext); + + 1; + + In this case, the string `gettext' will be interpreted as a file +handle again, and the above example will create a file `testfile' and +write the string "Hello world!" into it. Even advanced control flow +analysis will not really help: + + if (0.5 < rand) { + eval "use Sane"; + } else { + eval "use InSane"; + } + print gettext "Hello world!"; + + If the module `Sane' exports a function `gettext' that does what we +expect, and the module `InSane' opens a file for writing and associates +the _handle_ `gettext' with this output stream, we are clueless again +about what will happen at runtime. It is completely unpredictable. +The truth is that Perl has so many ways to fill its symbol table at +runtime that it is impossible to interpret a particular piece of code +without executing it. + + Of course, `xgettext' will not execute your Perl sources while +scanning for translatable strings, but rather use heuristics in order +to guess what you meant. + + Another problem is the ambiguity of the slash and the question mark. +Their interpretation depends on the context: + + # A pattern match. + print "OK\n" if /foobar/; + + # A division. + print 1 / 2; + + # Another pattern match. + print "OK\n" if ?foobar?; + + # Conditional. + print $x ? "foo" : "bar"; + + The slash may either act as the division operator or introduce a +pattern match, whereas the question mark may act as the ternary +conditional operator or as a pattern match, too. Other programming +languages like `awk' present similar problems, but the consequences of a +misinterpretation are particularly nasty with Perl sources. In `awk' +for instance, a statement can never exceed one line and the parser can +recover from a parsing error at the next newline and interpret the rest +of the input stream correctly. Perl is different, as a pattern match +is terminated by the next appearance of the delimiter (the slash or the +question mark) in the input stream, regardless of the semantic context. +If a slash is really a division sign but mis-interpreted as a pattern +match, the rest of the input file is most probably parsed incorrectly. + + There are certain cases, where the ambiguity cannot be resolved at +all: + + $x = wantarray ? 1 : 0; + + The Perl built-in function `wantarray' does not accept any arguments. +The Perl parser therefore knows that the question mark does not start a +regular expression but is the ternary conditional operator. + + sub wantarrays {} + $x = wantarrays ? 1 : 0; + + Now the situation is different. The function `wantarrays' takes a +variable number of arguments (like any non-prototyped Perl function). +The question mark is now the delimiter of a pattern match, and hence +the piece of code does not compile. + + sub wantarrays() {} + $x = wantarrays ? 1 : 0; + + Now the function is prototyped, Perl knows that it does not accept +any arguments, and the question mark is therefore interpreted as the +ternaray operator again. But that unfortunately outsmarts `xgettext'. + + The Perl parser in `xgettext' cannot know whether a function has a +prototype and what that prototype would look like. It therefore makes +an educated guess. If a function is known to be a Perl built-in and +this function does not accept any arguments, a following question mark +or slash is treated as an operator, otherwise as the delimiter of a +following regular expression. The Perl built-ins that do not accept +arguments are `wantarray', `fork', `time', `times', `getlogin', +`getppid', `getpwent', `getgrent', `gethostent', `getnetent', +`getprotoent', `getservent', `setpwent', `setgrent', `endpwent', +`endgrent', `endhostent', `endnetent', `endprotoent', and `endservent'. + + If you find that `xgettext' fails to extract strings from portions +of your sources, you should therefore look out for slashes and/or +question marks preceding these sections. You may have come across a +bug in `xgettext''s Perl parser (and of course you should report that +bug). In the meantime you should consider to reformulate your code in +a manner less challenging to `xgettext'. + + In particular, if the parser is too dumb to see that a function does +not accept arguments, use parentheses: + + $x = somefunc() ? 1 : 0; + $y = (somefunc) ? 1 : 0; + + In fact the Perl parser itself has similar problems and warns you +about such constructs. + + +File: gettext.info, Node: Default Keywords, Next: Special Keywords, Prev: General Problems, Up: Perl + +15.5.18.2 Which keywords will xgettext look for? +................................................ + + Unless you instruct `xgettext' otherwise by invoking it with one of +the options `--keyword' or `-k', it will recognize the following +keywords in your Perl sources: + + * `gettext' + + * `dgettext' + + * `dcgettext' + + * `ngettext:1,2' + + The first (singular) and the second (plural) argument will be + extracted. + + * `dngettext:1,2' + + The first (singular) and the second (plural) argument will be + extracted. + + * `dcngettext:1,2' + + The first (singular) and the second (plural) argument will be + extracted. + + * `gettext_noop' + + * `%gettext' + + The keys of lookups into the hash `%gettext' will be extracted. + + * `$gettext' + + The keys of lookups into the hash reference `$gettext' will be + extracted. + + + +File: gettext.info, Node: Special Keywords, Next: Quote-like Expressions, Prev: Default Keywords, Up: Perl + +15.5.18.3 How to Extract Hash Keys +.................................. + + Translating messages at runtime is normally performed by looking up +the original string in the translation database and returning the +translated version. The "natural" Perl implementation is a hash +lookup, and, of course, `xgettext' supports such practice. + + print __"Hello world!"; + print $__{"Hello world!"}; + print $__->{"Hello world!"}; + print $$__{"Hello world!"}; + + The above four lines all do the same thing. The Perl module +`Locale::TextDomain' exports by default a hash `%__' that is tied to +the function `__()'. It also exports a reference `$__' to `%__'. + + If an argument to the `xgettext' option `--keyword', resp. `-k' +starts with a percent sign, the rest of the keyword is interpreted as +the name of a hash. If it starts with a dollar sign, the rest of the +keyword is interpreted as a reference to a hash. + + Note that you can omit the quotation marks (single or double) around +the hash key (almost) whenever Perl itself allows it: + + print $gettext{Error}; + + The exact rule is: You can omit the surrounding quotes, when the hash +key is a valid C (!) identifier, i.e. when it starts with an underscore +or an ASCII letter and is followed by an arbitrary number of +underscores, ASCII letters or digits. Other Unicode characters are +_not_ allowed, regardless of the `use utf8' pragma. + + +File: gettext.info, Node: Quote-like Expressions, Next: Interpolation I, Prev: Special Keywords, Up: Perl + +15.5.18.4 What are Strings And Quote-like Expressions? +...................................................... + + Perl offers a plethora of different string constructs. Those that +can be used either as arguments to functions or inside braces for hash +lookups are generally supported by `xgettext'. + + * *double-quoted strings* + print gettext "Hello World!"; + + * *single-quoted strings* + print gettext 'Hello World!'; + + * *the operator qq* + print gettext qq |Hello World!|; + print gettext qq >; + + The operator `qq' is fully supported. You can use arbitrary + delimiters, including the four bracketing delimiters (round, angle, + square, curly) that nest. + + * *the operator q* + print gettext q |Hello World!|; + print gettext q >; + + The operator `q' is fully supported. You can use arbitrary + delimiters, including the four bracketing delimiters (round, angle, + square, curly) that nest. + + * *the operator qx* + print gettext qx ;LANGUAGE=C /bin/date; + print gettext qx [/usr/bin/ls | grep '^[A-Z]*']; + + The operator `qx' is fully supported. You can use arbitrary + delimiters, including the four bracketing delimiters (round, angle, + square, curly) that nest. + + The example is actually a useless use of `gettext'. It will + invoke the `gettext' function on the output of the command + specified with the `qx' operator. The feature was included in + order to make the interface consistent (the parser will extract + all strings and quote-like expressions). + + * *here documents* + print gettext <<'EOF'; + program not found in $PATH + EOF + + print ngettext <My Homepage

    p`SO$CgE6_0KZFqF>|<=IstN$7J8H0xlY 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 z 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%0AB)(m+M)7fDPaSoDRqbOb09g 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%0Av-DUyOAN^UY?=zUE@@q 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%0DG#Q+$4LhLD`|(9@(UHyPT5V4Rs6^ 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 literal 0 HcwPel00001 diff --git a/mingw/bin/libintl-8.dll b/mingw/bin/libintl-8.dll new file mode 100644 index 0000000000000000000000000000000000000000..cb96a930637103cf71aa4518dbaea7d840e703cc GIT binary patch literal 293380 zcwX$ieSA|z_CKDaDWoNMqf{(dwQ3O%R4RxRiuQpNP=Y8%S*3^%)MrJSfKQP^66o#q zYISABU0gxxii*3{Pt}42Qd%3T2rZygL9JRfcjL-4v;~^qd7rsSQ)EA1zpvkazt@k~ zi{6y+ z44uX_yTLHUc&5RB-Kr^ujR}U2ECxfXq1T0djHWS$PC|IZNR1c_vu%{-|CBduy_3@> z!8ai0C{sC<>SZuIDkXBi42E=34}WX|g&%W`hB?XfEHN4;CDF6oXsGXH`2D|?L_Os+ z@c)rP6~H5o+TxueD&csYjIfy?LVh~w#h zI+b5TPxJ5aaxTBCxEN_mUo_COJo>K$^yUb9EF+SY!Aj4(Q|XP!x%_^C$1)^Y8h}6b zcX-5K@w~e!%`zrg8)%#jGfsy$=b=Y|2$@G^Kl^uhc~^`Q=>P^fpv%Q|YJYM}S7c^! z>LmDT();oFsdzTi6(g_W)XPWcPb-xlrKj&Sc%!c7)ZZ=#9u3L}dOm6TJ>KX{PC3!M zjhGxu&$my5clAh4jUXL2OiK{D&~_@`2-6i~Msw<4=;!PNp(}?^LoZA4x8_y)GnerG zPS4KM;AM^&gVf4F$P&>@=(#-McX)>X|KIrkXg;4!c`thz2S$SE12`wkflnLA`I3Yyunho%s0#_ff5 zME@3Qz^1sZ-Y%nSqU_2rD|VYaA;Y5BEwVWy)Zbw+$aUUdQ7*l-IWyqjBfS*xH@PSJ zkGic&UuLY)U68p)Zc*p7-#)8wv(-S&l%ScD2MvbRj1h1R3v!QEga1&~YASu6{)E*~ zY9tZ~zpsACjP*h0gHR1s46-rE420LH^9_1`oz>j^pS-`Og2!smri58%_F<~l=xsL+ z2-FFB{|Ef>z^^Os{^w-W(0_}-=At%RRgGREM(RPnU=Bd#RH-X`RuxLf^4 zDer6z^6d8355IlZ9gTHGBX;H^Wz8htJ*k0frP zXSf-oG3!Da4Pto3e!(z=@iBmlBKYgF5D%d{xG^&~re%_%DFtTPn7Ko{l+r}o+2-FN z`O?rGXPaU|(~=PyxQ@yr@^=USd8}E@wG!X5qa}19sM+^Ye;h56?;1k%2CQ;W{`OFX zPHDPPNH&uOG&RQMsEp9jeS*v1h>>alse)`$9DC(l(#%#gdW3NBnWNNV%zLKw`R zqg6I4&b@M;MH$ZuK*R7oNlBd;8}1jmjVI348VOz=rw31P!7~>5m~u5K&QG9orF@R| zZWjb%k&W8plmg}ruZsbbd>e&YX#WI`rV9HeK&Mtp>?=;3VNVT7$gOYd@akakB3X=CCZa z?P$QUH<)YT@_iz!(JCIJru>dD(q!$XLsO@-2 zDYTHCMk!{8EM|v)tmzaLC2B(iTi`l_vgtavY5Fr&f3o9DCf^qAkvt{Cf;miWq{B=< zJdj|)Xp4jMMT=W#G)M&=R2G>1N1vId+=02@S8n&#Kg6br%(XJnMvD8Zd|Yv-g!|K& z<=d2L7Mk2&DfubhIx`h+S0IZTp-;E@zXs2$P zAUZ{6{P$usc8gJAdg%(cm8Ni8sS3B1qHrTN#Tg*Rt)~ic$bfhu{*Wu$^BP!)=P46O z7|+}*gg8{;{#n58dtvf&?E$0YdmU;`?NX;#5Kwy&c@}V!d_0^IlkMi1Y^!zIMny?A zr&4?2U5Y)0#X+*gP9$6!x{D~X9x6^tW}qzD*XX*asJyn-EPdE$+#=U5`kwIiyLxAC zsnt?5x8woC-Ky&@>E)td*Fs2z7V6+^bnxsP(ZPi@HG~U4v?`jxxLJRY4S6C&j*1wy*WJUm-0y(xMRv>1$O8iHerK3R_#Ln8ts5mU)@vFCu53 zdh;yi;5epSMKYZ$=UWsj;awUCRAQVPk+fF19iSU{xnBr)h;RIY{B2oVhKO{H@V^Gqwx zai0+?r&``IX2~}c232&aY6T7MMw)kzndSYpp;Y-m?f0okTjT>YoFv-X?=4ANYJamV z`Wd;T{n`wwiY4nIBlD%u^3Xx!EqB%aoSJk%?h=T#KU9V z;i6J1SF-)zRZ8PZDSxaI*BI{YFiA^~z(zJQV1#_js3OSmUC6c|olRjuhIk0O>8uLo z@$M^_myL(qJgo`4*XU?aGiFYJW>56{F$Z#%Oo^DFO6!FC^y&skebviZ(j5RSO3A1)Eui`D?8SL zkz3N`FVR#}ZEGsgY~s?|R!dSt?Y}LeV$zohgy>kSnpKj4!P~k&w3}QZ+rH_9cZYG{wNa-GndAf}OhBA5)XQlIs@z$Zh;+N&2dr9q2;ZmvRfV z`n%d+Qj^-{?-u>Sh`(5p+H1oWQ7x$j=Ae`my5wnN#31=^r(~Hidzz~td$RkQk|&G? z_n38J?AFNE^1N}*wUW1p-Kz>>)c+8s6Ai_bFU^Yi%kX<8Pb7_&d`ptSYi47(ktp2c zK3ejGX|j8NS#Co1J+74O`(3u|M_txzx66|KxXYY9!~I3spUfr4$4I`tw0kc(o=LuU zA`&Ad|6PDQk$9z>NcS?h-&vPI%w*pq`5vT}*Ik0l{WMm{3_<2mv2v}u6dAYVn}E!4 zWFD7%S5qc?hUB*p(RG&-P#eT^+BJ&jOzIz-GbCK?3phW}ywvc18mM5dm?ODjj^y$j z(RQ`{_M#qC0=x5q1WcSU2Ja-I2)Aks4G8avKT zI*pB`;#i|(FXHVQ<=D;14Dg0#W}k?6vjv{~Qv^&HsN|W$b(wnf$8 zN&X+mTt)0Jkuz>|EGNImXkQ+&(}=Iga;}t?Zs1Kosn_!oO|+>d-G~as$rFl`Clu%J zo$SLGR`~b0FH!6)+muBlIPa5|2nj{|nKumtf0ksfEoI+_b193$EeZyURp`TZ%ueD_ z-K!PzPNFg)X9zR{c5S$ph)tva2TZlmZWm3nQIfxalonG>@@G?O-3WcUogjT(ca=Wf z_8~J?pKd=ObFDtzzCdPzKHat)$8>YQx^6P2+WO-loJbp%F+@1CQF{x3<5S!Z5Y#UD zKj-pZxstz*Q@y84{&k$P+${P3MX9nsC9#zl+)K9-9lDk9UBZyjlE0KIBvU`0;Zz?q z7vbi{a&ral+0-00GD|c^jod7nqeiadMl9S&YogxBP_9Rf{3B6sQs(Dt>99YS{q_v&8_S_%r+LeFAn`Dby zp}1GTnj+Ys_%R#_esDv>05*mJJkRn+$mK{cv8f!&+fK=M6jg6BlOsY^n?=>;_^L5? zq)Bo5aIR7zUuPy`Mcp>J`d}q^!m91ZX+)tf0y9Q3SexZ0Gqw+_lu!%%OIh~iVwRFF zdY>Fl3i~2XgLXh;rjDR78}))<|Cq4D$Kvg9H~WgaL^l5=k6iq$X~U%@EDw8?k~7L5 zaMzHD3x7+d7CVN+7$oB5RD-yinBw$H0qroG!&0r1o?;aD8-#+A;Y+E+5Sg^6f#mkd zv&_(~d5TGRRSjb8Z-`s_yS*x9p81b-#^2~32_?+NdNOK}*e)LvE6HT}yF(T7anecj zZ<3X8eM&NPvr+zzmRJ_@|=d_;!GOHwMtoeqEORhmbS^c>D0b_V}_za*X5~06nlwWFd|sMkudGeL+ryFo5L0CirBOx#N+s7 z=Ci()e9wd36x#poAsY={qHyr-?)z7hiegXXRpxk_@V&hy|(B3US%2b*bIRj0*tCU z0}yLQsQqhkve{x1jUg1MZs1bd$^P&)nw)}Mmok1WwZZ2}ebJh7ru30H&)bUA_wx#* z4|{p9HM-hB1AAyNT*I{8KbG}^1?f*MWM3@#&Y-6{%UD)m1oVB%$sgPdz4`#$hX)e< z{xQn#!TDtg!1EEF^kD#Pw8pnFgWGU@r7(?>aU}LT2(=->Kovy=$v0i^T(r`~U-KRx z8_^r6h-)o?Sf(4x@`)|iU4kX~TX|>rg5UQy#?{N+Tzwtiz~-+6SMt~LA;DRhDLYy6 zF9vHSLqnc1Ss9-_`|~@q#*d-D^R9xwdn*-Ir_*>9ZMw&R{p_kyv&G0i^_3W;k;LO_ z26E-~!jY7lSl)fVKf?N3t}KIw!3yW`62RIzGfrEVu|Coqy{<(FVj$tgv^A#7qqx*n zAE*C511R#OfglIAU_G3`Q^<7*juB>DzV%KVBVgpX4?P5baCa0xdgvoYGcyoQJIy>G zpNN`^DW2=wc%Aqs(b8lpACGu^abh(dYPJR89v%lEy|7z!a59Xs5aO~?)L>SV`@Z8S(p z?PNB}n};zs^0Ey4eHCftRg{fm?BZl&%4f!#KQrfse^at+;Vexsu~( zL&bp_$GrMx%to+J@_ml+ENqqCtvnV$z&Va`HW2uDbcVdUyrg5CyD!b(ys~6Uy4p$4 zntYA!q_C|BWv<@hob<4~JF974a+yTc#><`IE%JDf8M-<2XeSiFy}X;Qdrjt^C~Myg zVY4+|Zt>P<^Pr20;k}4K=n7-yVI{>8x}u*xef@b~n)b51DQJWG(Z-h-8L^t#Tf@0M=GdU#MrLkM#NH--Xg;5&n0p*TVWKoal=dc? zAeNt1Xq`Vo$8&vzPWIMMtS=^x!XK6cl%Rub0M*i*cI?H@;|q2N+xXz|gPqv&a9|Jz z28wepOcj!{y^ThZ+I&39dH71iPz29O#8qyTt8D4R9k5_qc7j4%sfqUXZOmeJS<3m+ zhnvA%5GECo@as_=8sTkETJX8zXe&K4S9WmS1@**Z12}DsswySdmyo)J%|+#M zOIdQMMV(>HBLzRGO^v|T+S|MVvo3b+JOWkYKt22);yXGH6^;f5D zD(M^`E!_c6!jW3?gmJ9fQXaJPVS8)|Qaq``4W;4mqO~4Qkgo|)&o61_s|Av8 z6AkIp$?7btGT%zm^()0a0yY1^$7nX_>?1gd-x0Lqt`~_YWzgGi)7sEZf?xE#(`hh> zkki(!kw|TaY0$`#1gWK+al2Wy(k@t%hy}`7D5uz)cDAY$Oo=$u!@AW3x0VJI1Ar@C z#Hr%gC1-g(O-5o z8Pj1+aM(yQWcSu^a(TqjCY6522Zek6o;LSBD0ORsw>`ntCffUk_j#>EUv(|EW$uBw zK}4yjd|Y8m@g@#?Vg8cwifpGPXNEDWux0+6G>)rJABOY{Cvj&e_8}aGbY_qM(2OeLU=`c1%C7*dZozfQX;xmSdyX@i+~@y}(2dX;hX%-J-JS zz(ns?Ijx8XDGm!9#{`@+c%Uxwg!Q(GvZqyBP8?(&?QW2*6;w=mDL~$xoNLzaJtzrs zu2t?s<&((%Xjk)5yG2`g0%t$0y&9qexMV`+|4-!MXcu;M`$WUB{5w;~e3FdCO$%`a zBiLJLewqN%6p)Q&79TlDZxEoQ;||HUf)hEkEOFv;$ybK8qb__N{2)TOHj0oJMZmdL zepw$fE#GDy&1#W+xMnKv&%VPomCJE;C-W%Pab3cx;^<0h0%EOKBQyT(RF`R!Fr42a>Pez+Ab1Awgk2g4Xp$ zQchVayWR+lJqEo4J0OC>wy-%n$JLuRUt}BIt=?^>afNM?ZyFS;Wtg~bASMx6kI>R% z1g^ydwfGxp-IjcBgHCVK2eUxIU80{p!wOBsWTjnCGS!5#KH9M^=-|dXFoHWoItS?n zk;WZYZM{f?c`eB4=$Ma)h#d;6t>9+aXBeC^3r%z9UTryiXYK*@ODog2Fj<6C)(7Rd z2jtxr(O#fu+#NQnTql32kRlpgbEW70Vu0;8xz2>`n;`VnD)cqqA|DJjKrTTg-|TId zTr<7xXGnhX)o}G;r;=|agf}95ny`#?dVjbU^PTHGM_|6mcdSX7>9uit?s8E!PgKD) z*x%hAk$iU}`xH25EGoz9%Q3usGnRzADLF~<-v&srMZ1}C1Pd2M__&C83{f-5($cG7 z9y0ts@?x@%iFUM$2}GGcbEdz@{Dm_~BJ(n5PIPhRMb6+t($Hga7Y8+rUD|h$aeL;D zV@KsLc|`S0gZ2q!q<7D(}9d3Aa_5ZuReQO;o3+Dh2TSu2Kt9qjBZG zH?pTZkPHHpuoqxu0@h0@Fb|^+>OQklkQ#1;tf!}jKZ^6ao`x-$fd%5Zq3mo~lt1w< zU>26M;uP7vMY(r)kTM{OuoN$KDyAwA>5gn)LR7LT)Uop&?I&R(wvCVPRx zln%4}DGtZCAn;9IQY`Sjx%*`PQ^j6yY+|W9ZLqTaw(w2~C)e(K$GK~y#cvRE3GOP< zOaDMt%n?dlN8kuQ<14IqRjx?M$gYT6u^v$t*i|VUyQH%LHZy52&41s3zIgv&{r|wKf-~fn~?4 zTdv&PVb*X_7i)V&{#rgRAImx}c_*S9$r$)~R@vPYz8&M3m#R$IZzeH9?v8psp{Hlu z5j~*s5!$WYU6P%Zp)VWQpH!Tco{OlRZ>1%eIO?bintxLqP5wsr3cZbRJ+()ksgcj~ zvL~wV>QF-Q7`d=IY%TZx#`Hdcx+}dD=hkS8Z+^m4{5#oQqZC#vg6@;&3c9#^ zr8sIZWovm6ukk)%CNc(aoy#Xi*jDkSs|~zYsaMRfojy3q>f^MF5_+R;gI_^|3WZ8b z&=ra$@D@t0nuOz$qpqu!v!~!Z!nqZC-j8|^`YYeu+p6_~opsmCJGGnHN2w0lYj~-e z6yXbbm1J*2lRq(tdwof?)Jy(4;v$#`+A!_m*A;gFrwM;c<37(Kk;$GK$Yl?hpFW1H z%Y*hBtLicxRy;LwVO6+~F1WXiLU4|)`r;dUq&`k?Rk*%KGdFjjI6#4U4o#@%LyMd< ziLtroFm_ludjfHTp#9OzJ*uZAJeJlPGLb8ZzkK=Y+8@kvOKq!lXw&MP=(!9rJhont zeS=)9)gYiwGb2Q?i??H$)Sth1^A(N-o098CKQN3XfjD&!{+S zlsxXk>%|5`j(cLLtPZ!pdP}~?ge;lmW&K5?E6Kam;N}Mt(ZYU-dxb~nHmdhAubQ*i zN8Gy#%*o9|YrUFTrWL0~x!$7Cpqbwr+LXZ624BRH}FZ(~G1B(`SAj>^#Yn^`Gvf4b6TmV@No+qbTU>S$KfEv)i-s%dh+%7&^Y z=fQxuKd}P7j#l3=Y3(A);T0I>K)QZDx|vT?9#!Y^>2PDZxYNCuyHn*2Ae0hnbgd*ibt$5J1gf}eyw6xjsOt=IdaWZ!OtVIr zXwiN<4pqVMvV3^d4RKY*a}`&)wui3)iNPV+^sU9HXmj8=Mu%IyF{0)UflxjpRaKuR zq5QI6_EaI*Bzv}2e@+5?uaDe7^6^v)`SWGS=D9FNHFBO=Gw@ zg#7eay9E|r*Rbm;u&@{gMs)uvdViV^{kBrw(Cq=LPXksRJ(3(dKuBSpncW`P%X4v4 z?d+Rj)@U_hLwYuD+sndHaTBJzlf1I6d8l_T=--Az^?Yk|;wJ_4_bzCMiQ;R3 zcs*Iq`Z8no6_W2G>PhxY$@ectEaeh|4*nMwIBwoS;XzdIAc@w7n zMUo$HoXGo|L#nG+x;o+f^C9rt=EVdadVmnc8zy|NN{X|59uHzoY>z-N7h$b$p%Ee4 zIJwJ{>vC|8ok_D4Yi(JIu{0$i$G5|MguD%}CoMtp;dM9Z`Paa*C(S7N9!LJU;zXkK zHBO!1WEFxKc~Gi(a@W&VjrRHQyu-0EXwWtBH?oo5@u*>R4WPp83#l-36SFH;g(1{N z=;e)=9M$p|#hpS6Pd~3G)#&Q06x#46k{&B5w038Ry+m4%5iomp3UzsrCk?mmCEsMq ztWU@BGdASzG#WN?NkcE6k14$i8?!3v7NVW@t&r3@6VKgUn+8*zL;sNc?_ljI+_e!M z%nZl}6puysh$$nE8ECeu6QqkUEOm3^?nG`CXL0-aoOG@@C*=_c_hNVf4+F;%g4h8# z0*5NrUrFtjmzhd?Ps}6#@@S9uQ+VWO&yBM`yNb%o60*mN+oL{`Z-2h|v8%zD-;isJ zb%c9Gz41LvBeZEWAiYFC0Yrog>lE2c;d)rGcCn?ZhnnBA9eXGmpqErW=3wh;hDn5WI=s01(`eH7MBuM!$?Run%E%MjwQl$ekZYmD7{r z#}yLEkH9-=NmScg&Jl1-83^tu#0PPgi)O-@5PYx>Ur6w>UeQDR>mUWs zu9AhA|0O38pgYNJ=WDl!Gq(a9ocku96jwXQHEY7Q(`^m+EuTmm9A(0Ky!&va>S)8M zT2#+sm;KG+{s*Bn!+W8su8lU1K~h#bc!HP4p%;o#-?KiZOuA{gnwK>8Aco@1l#u?} zKZYdv&%x28M1NLs7|L$ZT4=Rh-wDCj(7L(4F9iQSpXaqHw^MjVTz3N zBAz%PaA5=Kg7G`(&c9E_oz$ddgnnDc2f|acj?Zh=K0PUzD7=)d5t$&KRn98SeH?dL z`0y0h4z+*K6kR_+=nYx5E8z4EqCdL&&R!>~%{r;S2Q`HDf8zC(l&Cu-CanJcXZ#CG zAGJr{MWT8LLW=j5QrI4xuEJjpSQt{>>#iUvXPU_!vDaWMDg!pd`{PO`vk*fG6Upb z*Ioa3hLZh?KjL~!akhE?ZIYd>YRU_8OE|e)xzhV@Gp#RoOnTxlF^iX``2D|Xp8t*( z*C?E<+VCFTG_!xtXfl4K&P=sr?tltp$|Lj0m&RMUo$dqCQ%gcTOf4dAfa^%D zc(1Kh9knQ&s9fXyjTh)cG@jQ#v7cP$*gK%nJ3MKLxO$U9gA1Qg-7p-(ydjz`%kr zo!$+=OOkx{-qA|Z#ur*HCavo{>T-BDFlot$_?e<2L$1_wcrSht7vW4rT2hURCRlG& zt4&rx-`g>Ifh28|(+7QiXI3q3zqn6|PbHgK6k)xl`fBo4+5rO?`P>Yf+lcAfWY;cMLOF>S)WS2x8PoEENKR7%&)h>q%33E zal7)@e4a}7ZqWvepEQ{8mwrj(+586b0%{}Z{A4l0NGoazvni{fq%hpLMV(+sz`D51 zOxaNR2dt2sk$gU)IP}Zrt^)Z3jHg^DAE4?%`AgiS0TFL)g7^Cqs@0;?<3`>P{p`qP$X9h?TlqVH#6V^3=ERWGE})v9W_m`H(AzIXA)HBdpH@aG-`Ia_KC3Z zLfq1ai)IfJcPpkCdEHZ3OEI+l3Ex;1=>yYGI zLL93FT|--rHF;aRRC6z_3bN#;!msM8ztNb*WF@{0og4NC{TQG`Ho@IYVTY#`VJ#Dk zj~Va&P_E4t$bDlr+yu01BeAX+^tg{8RgyJc1m8uqq*L0!H4n|y1Ka;2>4x5lwP!0| zb;U6w`R_9W<*6$7LOSTZf5A=M zg*6lJt75{wXn;SORF;#(_h8Z0t8mpw8DAg0k9$t{P27ul*Wj9s8;IAOavyj2zxWLG zo3aFNXhe3>f^pbt@fAw_J#AuO8sUs9Y;#?JP>M;h@A3xNB#2K1bRK2b9(Nz@)}SG9 zCcd6v3z{I#xEn|~kT->Y6Ytlnr*lv*ybJH?$Hl&ehvq>V6U430v`cuzX3(xD^daWR zdH3NUXpigZvVOiDu19#UAHD#4^aJvD;s(6&Go(d|u_o#7frCn^vn_P;U39<9+2-m~ z(s`--6U3|Cn|gj=!rTWT?!@Yf!L*#|j$e5-D1?754<>?(4C3u${Lye-z1v?7ig$;D z`FyOY3g7tMe;N$af(h)|7oHG4ypFF5KUpD+n}Yf2qHczG3=xmv;xR%zMu~@bIW|9A zJaYKa-N5hY4QBcn7p7Zmg8)7XJ=cpK4od9QE=2W^Ig&E)gN$IJvnkmHnf2SiWzq z4tNX<1&naVn z;2j>Xo@0OF9es>w?Eeh5c9Lfhmdj7ksVU0z9FlC`ZpmV-gq#+=19tM$aq$HC^WHWf zHXY5L@ir7cPKxDGIY(_uT66@GAqhRi`V@bSW)9K5Maj?cwi}+#kbDh9g~Xaev@=jV z8eM{XV{zFW$zRny;gst~`5WCgDES$p(vZxf@T2pG8}}>Ihh#O)GtqWvdb(m>3{C^Y z>9m4z#ToOyiOq1H+Gy&tx4EhCpGkK4IehdsJ)1-D<*17rD>o4&PX=@pF^N}~`s(vv zyMge_$4wt2`R$lnp>mLXoa#(x&CwDG8alDY&~0bsIwi-9fp^45VDxA7n+H6EXTFV( zE7|bI(b>v$bHa41a=j(%(_)*_M>f9@$u~#EGxXE&ue2L7(smx#0b%8_GYZwO;X~tl zl&7q;w|6MTW|~K;^%|ma;m~H;(drtgTFWzc$nL%6%BXTVGtXOV&T_UcIH=%5Nv;&t zTAjIr)|xCiyPV6uTyRLYuW|yPAzHN25%$lkAvrw;ed_p2K78m+w*U{mWiZ^TT%Y4_ zbUmi#j|jo%;?G{VvU&c$1#?VY;6;IidG1^Mi76oT9}i#5B>`+D@HFpJIT6>m(26&O z?J$5eNsry;Z0qtCa5rmq!zt%?>;GG1%HBQCETzX?o)Q%49o=cT$FcEkzad$DD zsye86|ZPD&!1igjYJzK+-BJ6kcwnwe$w&8E_ z+)NKuo{Wktmt!noFJ5G!H)A3@SBNYH;IH1qoP*@0=bwUJ-t!M3w=Hi%=DOVK-qelw z<~K1=%>38dHF~!1VX6m4c5~B(fpS)42IQJchZXgroQi+8He4(*zO%GkrSt?^Lz6--~wyO_*DcP z>-vCgBr9Y0Sr^8}X(bnCAlbYAd>W6F!PZdG8{#Ot)jc?vSaD}G>bF);$>dAn7>#`q zE!SxW@6=^n{Y}){-3`BzIB_tv%BdcaTiq&jE6p3ZP35D zHItw*wxD>ED)gHYv2ROBAK6pbC+2$_sj`V&rp+maxcT^y(l>A?f5q-h<-B?ji-ig> zx2w?Ames6%-%&n*{LBhCCUzNTV4WgRdKVF#SRC81SJK80vqo4JR~@;`(27U1ch zd_wiq+2SoKos1c)IqQI^suZ?p?g%2}dy}{#f4E64+)jgJ6ZZkEJz6*5P=K#O4`&L9 zFNu5x<)`7+7H(R2J*`H`e=pWd`(AH*lC<>p2sZclHfo7yw?XpbMI2DJ#rWmXeBgDA zSxeT}(h}IvlCgxE4)vlIW}OvP0vnc;4dT2|zt?#Rv#Mt=g61SCWFtFixx@h7f!iws zX=KOa&3?&$1BdTgK@)FUHMep*tFZeE0C)x3aJKUItBCSxNcuJyaGzptGEHE0g2~AK z5EG~oyyBClxP0WO58Cl!C_lqTnS?e!+bQ(vS=MdaLko7LpHxWU9Bk=uzLt`z7yEphP=b zA;n!q{!^B{hCBmt{i%2*O%@-v$DSHk{<~LVJXtSipa>s>YnYI@-Js3x5;l^|beYY! z!`&x*ZBcm+lCIGuotL=}HyG|vry0v~a5`rTUsPUZ%D&8%npb9`O>T-h>9vxM0Sm(3 zPbpK>&K6#P$f}RVgD*3G}_XNDX1?c(np6dH%zP8y&@Aitf)4eyy#~f zV=U@|m7JecJ%cEPFDWXIWPI@S@Xzlor%K@#!53(Swvgbek;0lRy!`8nyvHSJ$=5W+ zs!LG)m!j(>-xTuPt2ZIrg6te*zecu^&@YgdtN{9N092#=29)<2O4+xN9ggftl>Qau z&C(J_GC>vtp%e&9$s4QoQ&z(}4S;-p20?zklpy!$kSox{`@;xwlMd+z$iGkv{tyv1 zN=w>7I0IP2b*v$Pya`GJb;#3w2{In_EIOnYAh(i)w4(^v2vRShq7fCp*Ma9tOYTLR zUjw+cOVm9A$Rf13UWfEUZ+->+HQm(S2DJfb;?Lc{F=+P!PKRuAYG=>^fRKNG(IfkviIW(vpjTwhVR8*U@-niihbpv;b)X|91nY z^Q3^R0nU$r;Hr+!>g{0TVYIkYN9zFEhd`@68I#XYwAczZ*6L_`P;n+8f7Kz611BG% zDAgfnfYi%8{!t#lRU!DiM~7SkI;(m7b;wu1*$haI4l#kwXtZ^?&QglBP6!B&w5sn11ncX0daMseFtjig4!KA+Uuw| z7o0kD$W^@vavSK6(;;7=H*-L0s1A7)bRGfZoa1paxCC?(MgOR^)xbI*tsUqTSe<}K z!1}IJFmsqql%Hz0L^j&>8!egvei4w(za`lI6U z4grzC)e$tOb;L-$iWa{C+AbY!6VRRosm(g%b&z@pLs6+iih;8Mr2ei$27{$%f%B{m zIZlpR^(sJ~)FB_B)^b4Z>t!9nIP!wdP3=MeCTU3ufES`G<8`!a zQSoL#hUt*&fO9?DKfx5uX7N0oujj>)T@jEdk`4!Npb` z(huY>KyTI`i;dRh=uj)@zoDaj4z#yX@y|NsZnT&LoJGfCBl>r8x~tPb?I9g)Hb@Nv zW4Gy$OlZuH;A)Z%`3a;(gVbmpg4lVrj9M8wq!_iHL#?xPNMEpY1hov^3{-%D4*(1w z6=*U@T?A5J>5%hy76B5}ArnAqFlv3ELrh@lTHvhKAKhOVOQGu_!t%0AlN?kLL6j%5wV-q=k!i?VsK>{c{1GM1eIo--(0?dJK9Q~^>p zqza*oy^wku0y}Y-Qtv?Y2MdMQS@zexyD@>Sv@rMrt2Y?;&*& z8hR6{VMx7-)DqTzq&6cZBUORaLZl{x4L4E-q#i`-8hDN7ka`KJvr(fg*3b|z`4kE+MZsf8eS*}zF_a0= z-5IfLHfl@;-fA>?EmAijbrn(pq=q521E~v<`WdNnkh%qI^hN4`Qa>T}5K8wTwHL5vr1DTVh|~h4HX!vkh~$5e@}iBmka__%UPEdhQp=DUfKmmi zcBB>^jCQLXgE9{Ve+BY=NPURZETrxO^36!yk0!4}>K8PbgVd8qjYcX9c*Btz55_M- z>M%-Ek(!It8Awe-sTrv&P^0qzrEUXkKT;;N@iS7JP`VeXok;CKY8|L-K`I$FHX`)_ zN~@6i8L79CdKRgbNUcKZFG%H}N6#YFh}7Z((e77Z{uZO)ZV-HX)G{gk>Dc)#wC5^ckv ze1n2f;A$sQyU_hcr0xJin~?epun&+b2B~+D%17xcr1l~8GEy}luOhV#DKAnslsUq$cgH$76w8aM72=N;Z(Ez(DJ3xD=y-M%O+HFTsL=L39F^7_8m9nRFA z!Smt!I0|pZ`DJ7Hlk)#1&fbxCYMfoJlea55=1DTYm|M!<^iF6nT$CdxWOYiuQk-hd zGnN%ZvXfn-ipsMul6=Gyza)V&WxDw~dAixZLn=j3Md^nxne@v#=DMkX>$tbcGsXE> zf}ux9DL@t}l>EHGK)6{^98*u6df@#0oWW2KexKuMI-8HriLw|wGwv?SMA=L#qxQSG zlkdWD-pmX$?jeyNmOqD!L?T|I-wVK5OsIt5RFS{Vqr)!({J!T5v0wj)gX0|8@f@Ec zYoB+;o$sf`ejlI}_tR@z`L>n+KM?Qu*1N>7MBGNX=&yS`s*3yB{eW>^+g;*(sBx^g z2Z9gnMUTA2i#$`#h{y-!mJrSefXNqX#CxdOszJQ8myUvFoy5x0xtfbN{2BB`rG+t3zJ^Y=JRV_{#>(lg@03CsEBX@D8QiDfxOcT^PVz4x@oINPVt4+G;{@9B z6Y>3!$8@U;F3^Osh^jV>fT8CVe9}Lr7iQ%;vog@X$5oKI$D7rEejg50-X?C!WJWSR zNF686@aCFj_kP77=UVc!2F_3Q*3zWkAKuFEfX3hpLYVt+2AAt~(VkWyWEQPcN+AApx{iZ9UgCG^cc^Q`j7JzebaNRFviYTN?1A*}H$}hw zQfLd>*9d_A<>*TBSSub?;<1u#h&_N@IH6pwD^mIu@jWVB49qtbc{>NWHN{<#;9eu2 zA1n~Th5``*FAzU1Qjmhd2^NT-=qM1s*in!!fJ5*oQl^{K>zazZ9Z3t$lWU90y|tzy zWq|q=fg(xs5715|gZAou!Ad*! z!clDAfJvRyMZm%C&k1M@he@84Fol1hcBWd);jj5=3Gd*iE&M4VUn=?9$<(TO!~r58 z=fTEIwH7I7#y~Y^5@aNh3?Sdd)7ZJEL^$-C9-_K-SEmzLmFJdW~+ z`zensMV7zhc{e3PMf4|Vz+J2OcZL+_3f26gYRMrY6`crNvzd=xr})@exXl-`*Ry*wZAu*k<52(7w&$m)u73OK#OcJ63Rm z;;~>68X{r&vMOiE&U!3b)UKmSp|wHG9sR@XioKfj5#MfiR(m&_Wv35cPR+_XCizxV z@z7(YH2nEi`P6#}!&6-%_%txGcFanXd!#TKUuxj`Hph?+-Fs3elB!(qhVQQYp@W zYMu^JKR%Y5BVAMME3)h_NxtD{8u%v{Xhy&jQ#Y1E>cl7st; zDNV9-C08PUs=6p>7(}c-dvvqWWueSq%J`0MHgV=M8VJ+T&1TLF6B!F<(nZF`nTwI} z{*ca@5y;>Tx_MURI$PE@SD&E=yx(_m*t#9fK9;IXPCFIuTU3^XDLdl$GJizoBPm+n{)6{1$(P^OrqrXpftzAuX@!O4Z5bJ<0?yfPt558 z6E8_mScdPa)R0tYHIN<4rNt9_L(#MBr1PLCCd9Q#-4nvTJj))KpWxjRVI+JLS8*=K zkSvK9S;bwrE5i3J2YErE+<>oVm&30~@y0AmlDCJ=>0FH8{ab8^{(Rpa?ZxBxl232x zHGH+o8|aId@g4Q@)FHX<0kDAuLvkcv!EsDpQjL1KIhUtS6|>df9Mz6-&iVxx#cM~L zUeFA|wEqt)Mt!_uWOMx**@RU>ekMbnW#*qPSefNqA$i|mK~#9{Ylh>C<<7OTvr=&^ zCnK!ow1aDDp=FI(^1V%?B=4s2K$rL?P^{?HXc3$+_Alc4Dp6nggQiq|Cdw1ytA3S? z(Wrqv*8bfUSFkTxr-`cy;z!QxD`Bv_)SKoxD;IfI7P^`frKLEQR2(Z+v#gqPqZi-A zuzb2mIQMWJwCf44ob>3y8;7JqniEVGucyW+`PRa2FRsJN<*6~zibx_2-LMF|jCxj? z(!=b7M{OiLdNzK=Ny0`xnAB|}Z(U^2zsayEiuNJVlMgALK=Us}LGw6BdzWmlRGclc zb4}3R#x~nsKg>;?!%82jD>3M=se3&u&y@t!IlRcd#2QH6gZF!~_UI`>` z!M-*pt3g^i(Tb2b6)hwsr8IF%JuJm5>klpn? z`zd3k2iijI4DMXCOVUTtKKT)T7QNv&GvOED)m{EQtoTlSGcwvKc^K0wE%IhjSFTIs z!Iv`$7@E6~kVf>F&(4Lh`E2Jqo)duMtibnAvKIE3&zDj*bQ%5eA9bG}Tg2{`eDBi8 z7j5j1m8)3ty#_rPL9@N$81$v;!D-wl^=6YrF)25h#aKPY>J~KX>gIoe^hCVI%O5bL z{-)x`c=)%}DsdO(_v85QD``rI9~P{_5x|OGm=aaIn$*veX!?6=jpR;9i*GUF75}QY z-+nt;S~?k{;jB{4H>oL~2=9U~!}N!l)W4(i@-yOf2lij>t=dwuNm-5>$rqr6_U2LA zZwNDb3l7?03bOV~-eV+d`5;(n?8M7&qs6CmI`tXwpF}ZH5CDx%l*^xqIun11qK!4f znc#2i;N>~I4k9;b|8o*Ij3B9dPee6Byt3<9!(S96$Ch8nuf_}caZ;+!Bq{Z!+S0Ql zsfp$}^|}MJIC7Ndvv%Sr-d?0tWcv~9Db6AHo7N3JJEu{`G})IZBQcWqPU_W9 zN6k}u6z!8usCoR%s9PwlJYVWn(@(-@GarsPV# z6Ney?Kn|9kb+&R7(DyWAB5`np8E#CKh#kQ#b1E^%I*W zEraB!?=O3+(}d$m{$4xzdly95-^=iRO5@h3PDqBg2giqZj(yY{bzg60V$|3B;=!im z@J{dch`3S`6sBAoftL!Oy@}^Vy|(^n)Ohh*@K}1ZKXqcl1`Lw#2Qdt6uxGN~%g&O} z%*!F)5}N7thuB+u2!6Qs)e+82;mp<}@fI|;(D`p}Ki#6B{oE045?>$qeUsW{(Iy}3 zh%GnT?9TW`_B>>=?AdT%gslzP>3(LcsXv*b?`5U#c^8Fyo<7|oGy~s{Sk)fCly$Gp z>k~lfyYAIl`Y52?)&p7E6zk$B+^tUN=u!G%th7H$e`-ISA=D1`=#R89R_S|MkF-iy znNK4$_9H6;@N$BhuBXy9LDWSo@^iM*t-{Cy{X2uSObu~TE-+d>>JB+3h)0@Vw3svRbs zDqiX2aG_XY%}1iLN{^{~%Kyn7x&2b2QE?!I-&0SLEZ-Y+6h@|K0zXK+S6E;cks;6zcDr z^&eeJo&RAiO(z?yE$U!BXT*CBL@-ZKOEnq75>}IR;`goJ0O-uQ>bF{kRCo-|ibHuPFC z_DH>jRT%Xvep@3N(%Drkme)U#DCIi7?8+mGNSL-{zn+8MXpd9w=~0-<_{=QM;HWp* zJ)64>&5bDTJ~h-n33m?_e;=3?ues}YiZ^dCE8e;;VHpn1W6SVzSNwOU5wEf-9{jL2 zzw3i~i@67`2M|QGiw~K*@Y%!I&#R6Pk&9gCK9hg;;PJ=0-=k36ZT_RK8x^ND%h|TT ztT@}QYyLt0PHw=L=4c%I8Tb|CKg~lIty%WA1)IX-5sTB?i2DiGBlEgLZ#*Iy1YkEX z{Cp^VUR3do)0`G-lpy=PPd}* z#1{XaCk}?3kM-zExHbM4lPz&VpqAc`j{`?P-m|J^@#lAX1N;%bbnanMEEXK!`@kt> zrx6hDNyo*B7yY``&>f$tnu{fJ4OBbW>v!=PoE+;BnF{e(DIR)YW^G(xMqjECpJ^!T z@1w2BTsS8M#*)rK?q3zpngma!e06Z52+m9t!I_C7I5SZMXC{i^%tR5KnJ9uY6FE3j zc8gKHjz4cOP_C65%5%#GsQFFVN%N1&`%4g)*

    + + EOF + + The parser will extract the entire here document, and it will appear +entirely in the resulting PO file, including the JavaScript snippet +embedded in the HTML code. If you exaggerate with constructs like the +above, you will run the risk that the translators of your package will +look out for a less challenging project. You should consider an +alternative expression here: + + print <$gettext{"My Homepage"} + + EOF + + Only the translatable portions of the code will be extracted here, +and the resulting PO file will begrudgingly improve in terms of +readability. + + You can interpolate hash lookups in all strings or quote-like +expressions that are subject to interpolation (see the manual page `man +perlop' for details). Double interpolation is invalid, however: + + # TRANSLATORS: Replace "the earth" with the name of your planet. + print gettext qq{Welcome to $gettext->{"the earth"}}; + + The `qq'-quoted string is recognized as an argument to `xgettext' in +the first place, and checked for invalid variable interpolation. The +dollar sign of hash-dereferencing will therefore terminate the parser +with an "invalid interpolation" error. + + It is valid to interpolate hash lookups in regular expressions: + + if ($var =~ /$gettext{"the earth"}/) { + print gettext "Match!\n"; + } + s/$gettext{"U. S. A."}/$gettext{"U. S. A."} $gettext{"(dial +0)"}/g; + + +File: gettext.info, Node: Parentheses, Next: Long Lines, Prev: Interpolation II, Up: Perl + +15.5.18.7 When To Use Parentheses +................................. + + In Perl, parentheses around function arguments are mostly optional. +`xgettext' will always assume that all recognized keywords (except for +hashes and hash references) are names of properly prototyped functions, +and will (hopefully) only require parentheses where Perl itself +requires them. All constructs in the following example are therefore +ok to use: + + print gettext ("Hello World!\n"); + print gettext "Hello World!\n"; + print dgettext ($package => "Hello World!\n"); + print dgettext $package, "Hello World!\n"; + + # The "fat comma" => turns the left-hand side argument into a + # single-quoted string! + print dgettext smellovision => "Hello World!\n"; + + # The following assignment only works with prototyped functions. + # Otherwise, the functions will act as "greedy" list operators and + # eat up all following arguments. + my $anonymous_hash = { + planet => gettext "earth", + cakes => ngettext "one cake", "several cakes", $n, + still => $works, + }; + # The same without fat comma: + my $other_hash = { + 'planet', gettext "earth", + 'cakes', ngettext "one cake", "several cakes", $n, + 'still', $works, + }; + + # Parentheses are only significant for the first argument. + print dngettext 'package', ("one cake", "several cakes", $n), $discarded; + + +File: gettext.info, Node: Long Lines, Next: Perl Pitfalls, Prev: Parentheses, Up: Perl + +15.5.18.8 How To Grok with Long Lines +..................................... + + The necessity of long messages can often lead to a cumbersome or +unreadable coding style. Perl has several options that may prevent you +from writing unreadable code, and `xgettext' does its best to do +likewise. This is where the dot operator (the string concatenation +operator) may come in handy: + + print gettext ("This is a very long" + . " message that is still" + . " readable, because" + . " it is split into" + . " multiple lines.\n"); + + Perl is smart enough to concatenate these constant string fragments +into one long string at compile time, and so is `xgettext'. You will +only find one long message in the resulting POT file. + + Note that the future Perl 6 will probably use the underscore (`_') +as the string concatenation operator, and the dot (`.') for +dereferencing. This new syntax is not yet supported by `xgettext'. + + If embedded newline characters are not an issue, or even desired, you +may also insert newline characters inside quoted strings wherever you +feel like it: + + print gettext ("In HTML output + embedded newlines are generally no + problem, since adjacent whitespace + is always rendered into a single + space character."); + + You may also consider to use here documents: + + print gettext <In HTML output + embedded newlines are generally no + problem, since adjacent whitespace + is always rendered into a single + space character. + EOF + + Please do not forget that the line breaks are real, i.e. they +translate into newline characters that will consequently show up in the +resulting POT file. + + +File: gettext.info, Node: Perl Pitfalls, Prev: Long Lines, Up: Perl + +15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work +..................................................... + + The foregoing sections should have proven that `xgettext' is quite +smart in extracting translatable strings from Perl sources. Yet, some +more or less exotic constructs that could be expected to work, actually +do not work. + + One of the more relevant limitations can be found in the +implementation of variable interpolation inside quoted strings. Only +simple hash lookups can be used there: + + print </gettext ("Sunday")/e; + + The modifier `e' will cause the substitution to be interpreted as an +evaluable statement. Consequently, at runtime the function `gettext()' +is called, but again, the parser fails to extract the string "Sunday". +Use a temporary variable as a simple workaround if you really happen to +need this feature: + + my $sunday = gettext "Sunday"; + s//$sunday/; + + Hash slices would also be handy but are not recognized: + + my @weekdays = @gettext{'Sunday', 'Monday', 'Tuesday', 'Wednesday', + 'Thursday', 'Friday', 'Saturday'}; + # Or even: + @weekdays = @gettext{qw (Sunday Monday Tuesday Wednesday Thursday + Friday Saturday) }; + + This is perfectly valid usage of the tied hash `%gettext' but the +strings are not recognized and therefore will not be extracted. + + Another caveat of the current version is its rudimentary support for +non-ASCII characters in identifiers. You may encounter serious +problems if you use identifiers with characters outside the range of +'A'-'Z', 'a'-'z', '0'-'9' and the underscore '_'. + + Maybe some of these missing features will be implemented in future +versions, but since you can always make do without them at minimal +effort, these todos have very low priority. + + A nasty problem are brace format strings that already contain braces +as part of the normal text, for example the usage strings typically +encountered in programs: + + die "usage: $0 {OPTIONS} FILENAME...\n"; + + If you want to internationalize this code with Perl brace format +strings, you will run into a problem: + + die __x ("usage: {program} {OPTIONS} FILENAME...\n", program => $0); + + Whereas `{program}' is a placeholder, `{OPTIONS}' is not and should +probably be translated. Yet, there is no way to teach the Perl parser +in `xgettext' to recognize the first one, and leave the other one alone. + + There are two possible work-arounds for this problem. If you are +sure that your program will run under Perl 5.8.0 or newer (these Perl +versions handle positional parameters in `printf()') or if you are sure +that the translator will not have to reorder the arguments in her +translation - for example if you have only one brace placeholder in +your string, or if it describes a syntax, like in this one -, you can +mark the string as `no-perl-brace-format' and use `printf()': + + # xgettext: no-perl-brace-format + die sprintf ("usage: %s {OPTIONS} FILENAME...\n", $0); + + If you want to use the more portable Perl brace format, you will +have to do put placeholders in place of the literal braces: + + die __x ("usage: {program} {[}OPTIONS{]} FILENAME...\n", + program => $0, '[' => '{', ']' => '}'); + + Perl brace format strings know no escaping mechanism. No matter how +this escaping mechanism looked like, it would either give the +programmer a hard time, make translating Perl brace format strings +heavy-going, or result in a performance penalty at runtime, when the +format directives get executed. Most of the time you will happily get +along with `printf()' for this special case. + + +File: gettext.info, Node: PHP, Next: Pike, Prev: Perl, Up: List of Programming Languages + +15.5.19 PHP Hypertext Preprocessor +---------------------------------- + +RPMs + mod_php4, mod_php4-core, phpdoc + +File extension + `php', `php3', `php4' + +String syntax + `"abc"', `'abc'' + +gettext shorthand + `_("abc")' + +gettext/ngettext functions + `gettext', `dgettext', `dcgettext'; starting with PHP 4.2.0 also + `ngettext', `dngettext', `dcngettext' + +textdomain + `textdomain' function + +bindtextdomain + `bindtextdomain' function + +setlocale + Programmer must call `setlocale (LC_ALL, "")' + +Prerequisite + -- + +Use or emulate GNU gettext + use + +Extractor + `xgettext' + +Formatting with positions + `printf "%2\$d %1\$d"' + +Portability + On platforms without gettext, the functions are not available. + +po-mode marking + -- + + An example is available in the `examples' directory: `hello-php'. + + +File: gettext.info, Node: Pike, Next: GCC-source, Prev: PHP, Up: List of Programming Languages + +15.5.20 Pike +------------ + +RPMs + roxen + +File extension + `pike' + +String syntax + `"abc"' + +gettext shorthand + -- + +gettext/ngettext functions + `gettext', `dgettext', `dcgettext' + +textdomain + `textdomain' function + +bindtextdomain + `bindtextdomain' function + +setlocale + `setlocale' function + +Prerequisite + `import Locale.Gettext;' + +Use or emulate GNU gettext + use + +Extractor + -- + +Formatting with positions + -- + +Portability + On platforms without gettext, the functions are not available. + +po-mode marking + -- + + +File: gettext.info, Node: GCC-source, Prev: Pike, Up: List of Programming Languages + +15.5.21 GNU Compiler Collection sources +--------------------------------------- + +RPMs + gcc + +File extension + `c', `h'. + +String syntax + `"abc"' + +gettext shorthand + `_("abc")' + +gettext/ngettext functions + `gettext', `dgettext', `dcgettext', `ngettext', `dngettext', + `dcngettext' + +textdomain + `textdomain' function + +bindtextdomain + `bindtextdomain' function + +setlocale + Programmer must call `setlocale (LC_ALL, "")' + +Prerequisite + `#include "intl.h"' + +Use or emulate GNU gettext + Use + +Extractor + `xgettext -k_' + +Formatting with positions + -- + +Portability + Uses autoconf macros + +po-mode marking + yes + + +File: gettext.info, Node: List of Data Formats, Prev: List of Programming Languages, Up: Programming Languages + +15.6 Internationalizable Data +============================= + + Here is a list of other data formats which can be internationalized +using GNU gettext. + +* Menu: + +* POT:: POT - Portable Object Template +* RST:: Resource String Table +* Glade:: Glade - GNOME user interface description + + +File: gettext.info, Node: POT, Next: RST, Prev: List of Data Formats, Up: List of Data Formats + +15.6.1 POT - Portable Object Template +------------------------------------- + +RPMs + gettext + +File extension + `pot', `po' + +Extractor + `xgettext' + + +File: gettext.info, Node: RST, Next: Glade, Prev: POT, Up: List of Data Formats + +15.6.2 Resource String Table +---------------------------- + +RPMs + fpk + +File extension + `rst' + +Extractor + `xgettext', `rstconv' + + +File: gettext.info, Node: Glade, Prev: RST, Up: List of Data Formats + +15.6.3 Glade - GNOME user interface description +----------------------------------------------- + +RPMs + glade, libglade, glade2, libglade2, intltool + +File extension + `glade', `glade2' + +Extractor + `xgettext', `libglade-xgettext', `xml-i18n-extract', + `intltool-extract' + + +File: gettext.info, Node: Conclusion, Next: Language Codes, Prev: Programming Languages, Up: Top + +16 Concluding Remarks +********************* + + We would like to conclude this GNU `gettext' manual by presenting an +history of the Translation Project so far. We finally give a few +pointers for those who want to do further research or readings about +Native Language Support matters. + +* Menu: + +* History:: History of GNU `gettext' +* References:: Related Readings + + +File: gettext.info, Node: History, Next: References, Prev: Conclusion, Up: Conclusion + +16.1 History of GNU `gettext' +============================= + + Internationalization concerns and algorithms have been informally +and casually discussed for years in GNU, sometimes around GNU `libc', +maybe around the incoming `Hurd', or otherwise (nobody clearly +remembers). And even then, when the work started for real, this was +somewhat independently of these previous discussions. + + This all began in July 1994, when Patrick D'Cruze had the idea and +initiative of internationalizing version 3.9.2 of GNU `fileutils'. He +then asked Jim Meyering, the maintainer, how to get those changes +folded into an official release. That first draft was full of +`#ifdef's and somewhat disconcerting, and Jim wanted to find nicer +ways. Patrick and Jim shared some tries and experimentations in this +area. Then, feeling that this might eventually have a deeper impact on +GNU, Jim wanted to know what standards were, and contacted Richard +Stallman, who very quickly and verbally described an overall design for +what was meant to become `glocale', at that time. + + Jim implemented `glocale' and got a lot of exhausting feedback from +Patrick and Richard, of course, but also from Mitchum DSouza (who wrote +a `catgets'-like package), Roland McGrath, maybe David MacKenzie, +François Pinard, and Paul Eggert, all pushing and pulling in various +directions, not always compatible, to the extent that after a couple of +test releases, `glocale' was torn apart. In particular, Paul Eggert - +always keeping an eye on developments in Solaris - advocated the use of +the `gettext' API over `glocale''s `catgets'-based API. + + While Jim took some distance and time and became dad for a second +time, Roland wanted to get GNU `libc' internationalized, and got Ulrich +Drepper involved in that project. Instead of starting from `glocale', +Ulrich rewrote something from scratch, but more conforming to the set +of guidelines who emerged out of the `glocale' effort. Then, Ulrich +got people from the previous forum to involve themselves into this new +project, and the switch from `glocale' to what was first named +`msgutils', renamed `nlsutils', and later `gettext', became officially +accepted by Richard in May 1995 or so. + + Let's summarize by saying that Ulrich Drepper wrote GNU `gettext' in +April 1995. The first official release of the package, including PO +mode, occurred in July 1995, and was numbered 0.7. Other people +contributed to the effort by providing a discussion forum around +Ulrich, writing little pieces of code, or testing. These are quoted in +the `THANKS' file which comes with the GNU `gettext' distribution. + + While this was being done, François adapted half a dozen of GNU +packages to `glocale' first, then later to `gettext', putting them in +pretest, so providing along the way an effective user environment for +fine tuning the evolving tools. He also took the responsibility of +organizing and coordinating the Translation Project. After nearly a +year of informal exchanges between people from many countries, +translator teams started to exist in May 1995, through the creation and +support by Patrick D'Cruze of twenty unmoderated mailing lists for that +many native languages, and two moderated lists: one for reaching all +teams at once, the other for reaching all willing maintainers of +internationalized free software packages. + + François also wrote PO mode in June 1995 with the collaboration of +Greg McGary, as a kind of contribution to Ulrich's package. He also +gave a hand with the GNU `gettext' Texinfo manual. + + In 1997, Ulrich Drepper released the GNU libc 2.0, which included the +`gettext', `textdomain' and `bindtextdomain' functions. + + In 2000, Ulrich Drepper added plural form handling (the `ngettext' +function) to GNU libc. Later, in 2001, he released GNU libc 2.2.x, +which is the first free C library with full internationalization +support. + + Ulrich being quite busy in his role of General Maintainer of GNU +libc, he handed over the GNU `gettext' maintenance to Bruno Haible in +2000. Bruno added the plural form handling to the tools as well, added +support for UTF-8 and CJK locales, and wrote a few new tools for +manipulating PO files. + + +File: gettext.info, Node: References, Prev: History, Up: Conclusion + +16.2 Related Readings +===================== + + * NOTE: * This documentation section is outdated and needs to be +revised. + + Eugene H. Dorr (`dorre@well.com') maintains an interesting +bibliography on internationalization matters, called +`Internationalization Reference List', which is available as: + ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt + + Michael Gschwind (`mike@vlsivie.tuwien.ac.at') maintains a +Frequently Asked Questions (FAQ) list, entitled `Programming for +Internationalisation'. This FAQ discusses writing programs which can +handle different language conventions, character sets, etc.; and is +applicable to all character set encodings, with particular emphasis on +ISO 8859-1. It is regularly published in Usenet groups +`comp.unix.questions', `comp.std.internat', +`comp.software.international', `comp.lang.c', `comp.windows.x', +`comp.std.c', `comp.answers' and `news.answers'. The home location of +this document is: + ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming + + Patrick D'Cruze (`pdcruze@li.org') wrote a tutorial about NLS +matters, and Jochen Hein (`Hein@student.tu-clausthal.de') took over the +responsibility of maintaining it. It may be found as: + ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/... + ...locale-tutorial-0.8.txt.gz + This site is mirrored in: + ftp://ftp.ibp.fr/pub/linux/sunsite/ + + A French version of the same tutorial should be findable at: + ftp://ftp.ibp.fr/pub/linux/french/docs/ + together with French translations of many Linux-related documents. + + +File: gettext.info, Node: Language Codes, Next: Country Codes, Prev: Conclusion, Up: Top + +Appendix A Language Codes +************************* + + The ISO 639 standard defines two-letter codes for many languages, and +three-letter codes for more rarely used languages. All abbreviations +for languages used in the Translation Project should come from this +standard. + +* Menu: + +* Usual Language Codes:: Two-letter ISO 639 language codes +* Rare Language Codes:: Three-letter ISO 639 language codes + + +File: gettext.info, Node: Usual Language Codes, Next: Rare Language Codes, Prev: Language Codes, Up: Language Codes + +A.1 Usual Language Codes +======================== + + For the commonly used languages, the ISO 639-1 standard defines +two-letter codes. + +`aa' + Afar. + +`ab' + Abkhazian. + +`ae' + Avestan. + +`af' + Afrikaans. + +`ak' + Akan. + +`am' + Amharic. + +`an' + Aragonese. + +`ar' + Arabic. + +`as' + Assamese. + +`av' + Avaric. + +`ay' + Aymara. + +`az' + Azerbaijani. + +`ba' + Bashkir. + +`be' + Belarusian. + +`bg' + Bulgarian. + +`bh' + Bihari. + +`bi' + Bislama. + +`bm' + Bambara. + +`bn' + Bengali; Bangla. + +`bo' + Tibetan. + +`br' + Breton. + +`bs' + Bosnian. + +`ca' + Catalan. + +`ce' + Chechen. + +`ch' + Chamorro. + +`co' + Corsican. + +`cr' + Cree. + +`cs' + Czech. + +`cu' + Church Slavic. + +`cv' + Chuvash. + +`cy' + Welsh. + +`da' + Danish. + +`de' + German. + +`dv' + Divehi; Maldivian. + +`dz' + Dzongkha; Bhutani. + +`ee' + Éwé. + +`el' + Greek. + +`en' + English. + +`eo' + Esperanto. + +`es' + Spanish. + +`et' + Estonian. + +`eu' + Basque. + +`fa' + Persian. + +`ff' + Fulah. + +`fi' + Finnish. + +`fj' + Fijian; Fiji. + +`fo' + Faroese. + +`fr' + French. + +`fy' + Western Frisian. + +`ga' + Irish. + +`gd' + Scottish Gaelic. + +`gl' + Galician. + +`gn' + Guarani. + +`gu' + Gujarati. + +`gv' + Manx. + +`ha' + Hausa. + +`he' + Hebrew (formerly iw). + +`hi' + Hindi. + +`ho' + Hiri Motu. + +`hr' + Croatian. + +`ht' + Haitian; Haitian Creole. + +`hu' + Hungarian. + +`hy' + Armenian. + +`hz' + Herero. + +`ia' + Interlingua. + +`id' + Indonesian (formerly in). + +`ie' + Interlingue; Occidental. + +`ig' + Igbo. + +`ii' + Sichuan Yi; Nuosu. + +`ik' + Inupiak; Inupiaq. + +`io' + Ido. + +`is' + Icelandic. + +`it' + Italian. + +`iu' + Inuktitut. + +`ja' + Japanese. + +`jv' + Javanese. + +`ka' + Georgian. + +`kg' + Kongo. + +`ki' + Kikuyu; Gikuyu. + +`kj' + Kuanyama; Kwanyama. + +`kk' + Kazakh. + +`kl' + Kalaallisut; Greenlandic. + +`km' + Central Khmer; Cambodian. + +`kn' + Kannada. + +`ko' + Korean. + +`kr' + Kanuri. + +`ks' + Kashmiri. + +`ku' + Kurdish. + +`kv' + Komi. + +`kw' + Cornish. + +`ky' + Kirghiz. + +`la' + Latin. + +`lb' + Letzeburgesch; Luxembourgish. + +`lg' + Ganda. + +`li' + Limburgish; Limburger; Limburgan. + +`ln' + Lingala. + +`lo' + Lao; Laotian. + +`lt' + Lithuanian. + +`lu' + Luba-Katanga. + +`lv' + Latvian; Lettish. + +`mg' + Malagasy. + +`mh' + Marshallese. + +`mi' + Maori. + +`mk' + Macedonian. + +`ml' + Malayalam. + +`mn' + Mongolian. + +`mo' + Moldavian. + +`mr' + Marathi. + +`ms' + Malay. + +`mt' + Maltese. + +`my' + Burmese. + +`na' + Nauru. + +`nb' + Norwegian Bokmål. + +`nd' + Ndebele, North. + +`ne' + Nepali. + +`ng' + Ndonga. + +`nl' + Dutch. + +`nn' + Norwegian Nynorsk. + +`no' + Norwegian. + +`nr' + Ndebele, South. + +`nv' + Navajo; Navaho. + +`ny' + Chichewa; Nyanja. + +`oc' + Occitan; Provençal. + +`oj' + Ojibwa. + +`om' + (Afan) Oromo. + +`or' + Oriya. + +`os' + Ossetian; Ossetic. + +`pa' + Panjabi; Punjabi. + +`pi' + Pali. + +`pl' + Polish. + +`ps' + Pashto; Pushto. + +`pt' + Portuguese. + +`qu' + Quechua. + +`rm' + Romansh. + +`rn' + Rundi; Kirundi. + +`ro' + Romanian. + +`ru' + Russian. + +`rw' + Kinyarwanda. + +`sa' + Sanskrit. + +`sc' + Sardinian. + +`sd' + Sindhi. + +`se' + Northern Sami. + +`sg' + Sango; Sangro. + +`si' + Sinhala; Sinhalese. + +`sk' + Slovak. + +`sl' + Slovenian. + +`sm' + Samoan. + +`sn' + Shona. + +`so' + Somali. + +`sq' + Albanian. + +`sr' + Serbian. + +`ss' + Swati; Siswati. + +`st' + Sesotho; Sotho, Southern. + +`su' + Sundanese. + +`sv' + Swedish. + +`sw' + Swahili. + +`ta' + Tamil. + +`te' + Telugu. + +`tg' + Tajik. + +`th' + Thai. + +`ti' + Tigrinya. + +`tk' + Turkmen. + +`tl' + Tagalog. + +`tn' + Tswana; Setswana. + +`to' + Tonga. + +`tr' + Turkish. + +`ts' + Tsonga. + +`tt' + Tatar. + +`tw' + Twi. + +`ty' + Tahitian. + +`ug' + Uighur. + +`uk' + Ukrainian. + +`ur' + Urdu. + +`uz' + Uzbek. + +`ve' + Venda. + +`vi' + Vietnamese. + +`vo' + Volapük; Volapuk. + +`wa' + Walloon. + +`wo' + Wolof. + +`xh' + Xhosa. + +`yi' + Yiddish (formerly ji). + +`yo' + Yoruba. + +`za' + Zhuang. + +`zh' + Chinese. + +`zu' + Zulu. + + +File: gettext.info, Node: Rare Language Codes, Prev: Usual Language Codes, Up: Language Codes + +A.2 Rare Language Codes +======================= + + For rarely used languages, the ISO 639-2 standard defines +three-letter codes. Here is the current list, reduced to only living +languages with at least one million of speakers. + +`ace' + Achinese. + +`awa' + Awadhi. + +`bal' + Baluchi. + +`ban' + Balinese. + +`bej' + Beja; Bedawiyet. + +`bem' + Bemba. + +`bho' + Bhojpuri. + +`bik' + Bikol. + +`bin' + Bini; Edo. + +`bug' + Buginese. + +`ceb' + Cebuano. + +`din' + Dinka. + +`doi' + Dogri. + +`fil' + Filipino; Pilipino. + +`fon' + Fon. + +`gon' + Gondi. + +`gsw' + Swiss German; Alemannic; Alsatian. + +`hil' + Hiligaynon. + +`hmn' + Hmong. + +`ilo' + Iloko. + +`kab' + Kabyle. + +`kam' + Kamba. + +`kbd' + Kabardian. + +`kmb' + Kimbundu. + +`kok' + Konkani. + +`kru' + Kurukh. + +`lua' + Luba-Lulua. + +`luo' + Luo (Kenya and Tanzania). + +`mad' + Madurese. + +`mag' + Magahi. + +`mai' + Maithili. + +`mak' + Makasar. + +`man' + Mandingo. + +`men' + Mende. + +`min' + Minangkabau. + +`mni' + Manipuri. + +`mos' + Mossi. + +`mwr' + Marwari. + +`nap' + Neapolitan. + +`nso' + Pedi; Sepedi; Northern Sotho. + +`nym' + Nyamwezi. + +`nyn' + Nyankole. + +`pag' + Pangasinan. + +`pam' + Pampanga; Kapampangan. + +`raj' + Rajasthani. + +`sas' + Sasak. + +`sat' + Santali. + +`scn' + Sicilian. + +`shn' + Shan. + +`sid' + Sidamo. + +`srr' + Serer. + +`suk' + Sukuma. + +`sus' + Susu. + +`tem' + Timne. + +`tiv' + Tiv. + +`tum' + Tumbuka. + +`umb' + Umbundu. + +`wal' + Walamo. + +`war' + Waray. + +`yao' + Yao. + + +File: gettext.info, Node: Country Codes, Next: Licenses, Prev: Language Codes, Up: Top + +Appendix B Country Codes +************************ + + The ISO 3166 standard defines two character codes for many countries +and territories. All abbreviations for countries used in the +Translation Project should come from this standard. + +`AD' + Andorra. + +`AE' + United Arab Emirates. + +`AF' + Afghanistan. + +`AG' + Antigua and Barbuda. + +`AI' + Anguilla. + +`AL' + Albania. + +`AM' + Armenia. + +`AN' + Netherlands Antilles. + +`AO' + Angola. + +`AQ' + Antarctica. + +`AR' + Argentina. + +`AS' + Samoa (American). + +`AT' + Austria. + +`AU' + Australia. + +`AW' + Aruba. + +`AX' + Aaland Islands. + +`AZ' + Azerbaijan. + +`BA' + Bosnia and Herzegovina. + +`BB' + Barbados. + +`BD' + Bangladesh. + +`BE' + Belgium. + +`BF' + Burkina Faso. + +`BG' + Bulgaria. + +`BH' + Bahrain. + +`BI' + Burundi. + +`BJ' + Benin. + +`BM' + Bermuda. + +`BN' + Brunei. + +`BO' + Bolivia. + +`BR' + Brazil. + +`BS' + Bahamas. + +`BT' + Bhutan. + +`BV' + Bouvet Island. + +`BW' + Botswana. + +`BY' + Belarus. + +`BZ' + Belize. + +`CA' + Canada. + +`CC' + Cocos (Keeling) Islands. + +`CD' + Congo (Dem. Rep.). + +`CF' + Central African Republic. + +`CG' + Congo (Rep.). + +`CH' + Switzerland. + +`CI' + Côte d'Ivoire. + +`CK' + Cook Islands. + +`CL' + Chile. + +`CM' + Cameroon. + +`CN' + China. + +`CO' + Colombia. + +`CR' + Costa Rica. + +`CU' + Cuba. + +`CV' + Cape Verde. + +`CX' + Christmas Island. + +`CY' + Cyprus. + +`CZ' + Czech Republic. + +`DE' + Germany. + +`DJ' + Djibouti. + +`DK' + Denmark. + +`DM' + Dominica. + +`DO' + Dominican Republic. + +`DZ' + Algeria. + +`EC' + Ecuador. + +`EE' + Estonia. + +`EG' + Egypt. + +`EH' + Western Sahara. + +`ER' + Eritrea. + +`ES' + Spain. + +`ET' + Ethiopia. + +`FI' + Finland. + +`FJ' + Fiji. + +`FK' + Falkland Islands. + +`FM' + Micronesia. + +`FO' + Faeroe Islands. + +`FR' + France. + +`GA' + Gabon. + +`GB' + Britain (United Kingdom). + +`GD' + Grenada. + +`GE' + Georgia. + +`GF' + French Guiana. + +`GG' + Guernsey. + +`GH' + Ghana. + +`GI' + Gibraltar. + +`GL' + Greenland. + +`GM' + Gambia. + +`GN' + Guinea. + +`GP' + Guadeloupe. + +`GQ' + Equatorial Guinea. + +`GR' + Greece. + +`GS' + South Georgia and the South Sandwich Islands. + +`GT' + Guatemala. + +`GU' + Guam. + +`GW' + Guinea-Bissau. + +`GY' + Guyana. + +`HK' + Hong Kong. + +`HM' + Heard Island and McDonald Islands. + +`HN' + Honduras. + +`HR' + Croatia. + +`HT' + Haiti. + +`HU' + Hungary. + +`ID' + Indonesia. + +`IE' + Ireland. + +`IL' + Israel. + +`IM' + Isle of Man. + +`IN' + India. + +`IO' + British Indian Ocean Territory. + +`IQ' + Iraq. + +`IR' + Iran. + +`IS' + Iceland. + +`IT' + Italy. + +`JE' + Jersey. + +`JM' + Jamaica. + +`JO' + Jordan. + +`JP' + Japan. + +`KE' + Kenya. + +`KG' + Kyrgyzstan. + +`KH' + Cambodia. + +`KI' + Kiribati. + +`KM' + Comoros. + +`KN' + St Kitts and Nevis. + +`KP' + Korea (North). + +`KR' + Korea (South). + +`KW' + Kuwait. + +`KY' + Cayman Islands. + +`KZ' + Kazakhstan. + +`LA' + Laos. + +`LB' + Lebanon. + +`LC' + St Lucia. + +`LI' + Liechtenstein. + +`LK' + Sri Lanka. + +`LR' + Liberia. + +`LS' + Lesotho. + +`LT' + Lithuania. + +`LU' + Luxembourg. + +`LV' + Latvia. + +`LY' + Libya. + +`MA' + Morocco. + +`MC' + Monaco. + +`MD' + Moldova. + +`ME' + Montenegro. + +`MG' + Madagascar. + +`MH' + Marshall Islands. + +`MK' + Macedonia. + +`ML' + Mali. + +`MM' + Myanmar (Burma). + +`MN' + Mongolia. + +`MO' + Macao. + +`MP' + Northern Mariana Islands. + +`MQ' + Martinique. + +`MR' + Mauritania. + +`MS' + Montserrat. + +`MT' + Malta. + +`MU' + Mauritius. + +`MV' + Maldives. + +`MW' + Malawi. + +`MX' + Mexico. + +`MY' + Malaysia. + +`MZ' + Mozambique. + +`NA' + Namibia. + +`NC' + New Caledonia. + +`NE' + Niger. + +`NF' + Norfolk Island. + +`NG' + Nigeria. + +`NI' + Nicaragua. + +`NL' + Netherlands. + +`NO' + Norway. + +`NP' + Nepal. + +`NR' + Nauru. + +`NU' + Niue. + +`NZ' + New Zealand. + +`OM' + Oman. + +`PA' + Panama. + +`PE' + Peru. + +`PF' + French Polynesia. + +`PG' + Papua New Guinea. + +`PH' + Philippines. + +`PK' + Pakistan. + +`PL' + Poland. + +`PM' + St Pierre and Miquelon. + +`PN' + Pitcairn. + +`PR' + Puerto Rico. + +`PS' + Palestine. + +`PT' + Portugal. + +`PW' + Palau. + +`PY' + Paraguay. + +`QA' + Qatar. + +`RE' + Reunion. + +`RO' + Romania. + +`RS' + Serbia. + +`RU' + Russia. + +`RW' + Rwanda. + +`SA' + Saudi Arabia. + +`SB' + Solomon Islands. + +`SC' + Seychelles. + +`SD' + Sudan. + +`SE' + Sweden. + +`SG' + Singapore. + +`SH' + St Helena. + +`SI' + Slovenia. + +`SJ' + Svalbard and Jan Mayen. + +`SK' + Slovakia. + +`SL' + Sierra Leone. + +`SM' + San Marino. + +`SN' + Senegal. + +`SO' + Somalia. + +`SR' + Suriname. + +`ST' + Sao Tome and Principe. + +`SV' + El Salvador. + +`SY' + Syria. + +`SZ' + Swaziland. + +`TC' + Turks and Caicos Islands. + +`TD' + Chad. + +`TF' + French Southern and Antarctic Lands. + +`TG' + Togo. + +`TH' + Thailand. + +`TJ' + Tajikistan. + +`TK' + Tokelau. + +`TL' + Timor-Leste. + +`TM' + Turkmenistan. + +`TN' + Tunisia. + +`TO' + Tonga. + +`TR' + Turkey. + +`TT' + Trinidad and Tobago. + +`TV' + Tuvalu. + +`TW' + Taiwan. + +`TZ' + Tanzania. + +`UA' + Ukraine. + +`UG' + Uganda. + +`UM' + US minor outlying islands. + +`US' + United States. + +`UY' + Uruguay. + +`UZ' + Uzbekistan. + +`VA' + Vatican City. + +`VC' + St Vincent and the Grenadines. + +`VE' + Venezuela. + +`VG' + Virgin Islands (UK). + +`VI' + Virgin Islands (US). + +`VN' + Vietnam. + +`VU' + Vanuatu. + +`WF' + Wallis and Futuna. + +`WS' + Samoa (Western). + +`YE' + Yemen. + +`YT' + Mayotte. + +`ZA' + South Africa. + +`ZM' + Zambia. + +`ZW' + Zimbabwe. + + +File: gettext.info, Node: Licenses, Next: Program Index, Prev: Country Codes, Up: Top + +Appendix C Licenses +******************* + + The files of this package are covered by the licenses indicated in +each particular file or directory. Here is a summary: + + * The `libintl' and `libasprintf' libraries are covered by the GNU + Library General Public License (LGPL). A copy of the license is + included in *note GNU LGPL::. + + * The executable programs of this package and the `libgettextpo' + library are covered by the GNU General Public License (GPL). A + copy of the license is included in *note GNU GPL::. + + * This manual is free documentation. It is dually licensed under the + GNU FDL and the GNU GPL. This means that you can redistribute this + manual under either of these two licenses, at your choice. + This manual is covered by the GNU FDL. Permission is granted to + copy, distribute and/or modify this document under the terms of the + GNU Free Documentation License (FDL), either version 1.2 of the + License, or (at your option) any later version published by the + Free Software Foundation (FSF); with no Invariant Sections, with no + Front-Cover Text, and with no Back-Cover Texts. A copy of the + license is included in *note GNU FDL::. + This manual is covered by the GNU GPL. You can redistribute it + and/or modify it under the terms of the GNU General Public License + (GPL), either version 2 of the License, or (at your option) any + later version published by the Free Software Foundation (FSF). A + copy of the license is included in *note GNU GPL::. + +* Menu: + +* GNU GPL:: GNU General Public License +* GNU LGPL:: GNU Lesser General Public License +* GNU FDL:: GNU Free Documentation License + + +File: gettext.info, Node: GNU GPL, Next: GNU LGPL, Up: Licenses + +C.1 GNU GENERAL PUBLIC LICENSE +============================== + + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble +-------- + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it in +new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, +and (2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains a + notice placed by the copyright holder saying it may be distributed + under the terms of this General Public License. The "Program", + below, refers to any such program or work, and a "work based on + the Program" means either the Program or any derivative work under + copyright law: that is to say, a work containing the Program or a + portion of it, either verbatim or with modifications and/or + translated into another language. (Hereinafter, translation is + included without limitation in the term "modification".) Each + licensee is addressed as "you". + + Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The act + of running the Program is not restricted, and the output from the + Program is covered only if its contents constitute a work based on + the Program (independent of having been made by running the + Program). Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an appropriate + copyright notice and disclaimer of warranty; keep intact all the + notices that refer to this License and to the absence of any + warranty; and give any other recipients of the Program a copy of + this License along with the Program. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange + for a fee. + + 2. You may modify your copy or copies of the Program or any portion + of it, thus forming a work based on the Program, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a. You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b. You must cause any work that you distribute or publish, that + in whole or in part contains or is derived from the Program + or any part thereof, to be licensed as a whole at no charge + to all third parties under the terms of this License. + + c. If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display + an announcement including an appropriate copyright notice and + a notice that there is no warranty (or else, saying that you + provide a warranty) and that users may redistribute the + program under these conditions, and telling the user how to + view a copy of this License. (Exception: if the Program + itself is interactive but does not normally print such an + announcement, your work based on the Program is not required + to print an announcement.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Program, and can be reasonably considered independent and separate + works in themselves, then this License, and its terms, do not + apply to those sections when you distribute them as separate + works. But when you distribute the same sections as part of a + whole which is a work based on the Program, the distribution of + the whole must be on the terms of this License, whose permissions + for other licensees extend to the entire whole, and thus to each + and every part regardless of who wrote it. + + Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Program. + + In addition, mere aggregation of another work not based on the + Program with the Program (or with a work based on the Program) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, + under Section 2) in object code or executable form under the terms + of Sections 1 and 2 above provided that you also do one of the + following: + + a. Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Sections 1 and 2 above on a medium customarily used for + software interchange; or, + + b. Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange; or, + + c. Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with + such an offer, in accord with Subsection b above.) + + The source code for a work means the preferred form of the work for + making modifications to it. For an executable work, complete + source code means all the source code for all modules it contains, + plus any associated interface definition files, plus the scripts + used to control compilation and installation of the executable. + However, as a special exception, the source code distributed need + not include anything that is normally distributed (in either + source or binary form) with the major components (compiler, + kernel, and so on) of the operating system on which the executable + runs, unless that component itself accompanies the executable. + + If distribution of executable or object code is made by offering + access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are not + compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense or distribute the Program is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 5. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify + or distribute the Program or its derivative works. These actions + are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Program (or any work + based on the Program), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the + original licensor to copy, distribute or modify the Program + subject to these terms and conditions. You may not impose any + further restrictions on the recipients' exercise of the rights + granted herein. You are not responsible for enforcing compliance + by third parties to this License. + + 7. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent + issues), conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of this + License, they do not excuse you from the conditions of this + License. If you cannot distribute so as to satisfy simultaneously + your obligations under this License and any other pertinent + obligations, then as a consequence you may not distribute the + Program at all. For example, if a patent license would not permit + royalty-free redistribution of the Program by all those who + receive copies directly or indirectly through you, then the only + way you could satisfy both it and this License would be to refrain + entirely from distribution of the Program. + + If any portion of this section is held invalid or unenforceable + under any particular circumstance, the balance of the section is + intended to apply and the section as a whole is intended to apply + in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of + any such claims; this section has the sole purpose of protecting + the integrity of the free software distribution system, which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is + willing to distribute software through any other system and a + licensee cannot impose that choice. + + This section is intended to make thoroughly clear what is believed + to be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted interfaces, + the original copyright holder who places the Program under this + License may add an explicit geographical distribution limitation + excluding those countries, so that distribution is permitted only + in or among countries not thus excluded. In such case, this + License incorporates the limitation as if written in the body of + this License. + + 9. The Free Software Foundation may publish revised and/or new + versions of the General Public License from time to time. Such + new versions will be similar in spirit to the present version, but + may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the Program + does not specify a version number of this License, you may choose + any version ever published by the Free Software Foundation. + + 10. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to the + author to ask for permission. For software which is copyrighted + by the Free Software Foundation, write to the Free Software + Foundation; we sometimes make exceptions for this. Our decision + will be guided by the two goals of preserving the free status of + all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY + MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE + LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR + INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY + OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + +Appendix: How to Apply These Terms to Your New Programs +------------------------------------------------------- + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES. + Copyright (C) YYYY NAME OF AUTHOR + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Also add information on how to contact you by electronic and paper +mail. + + If the program is interactive, make it output a short notice like +this when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + + You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + SIGNATURE OF TY COON, 1 April 1989 + Ty Coon, President of Vice + + This General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +GNU Library General Public License instead of this License. + + +File: gettext.info, Node: GNU LGPL, Next: GNU FDL, Prev: GNU GPL, Up: Licenses + +C.2 GNU LESSER GENERAL PUBLIC LICENSE +===================================== + + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + [This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence the + version number 2.1.] + +Preamble +-------- + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software--typically libraries--of the Free +Software Foundation and other authors who decide to use it. You can use +it too, but we suggest you first think carefully about whether this +license or the ordinary General Public License is the better strategy to +use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of it +in new free programs; and that you are informed that you can do these +things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know that +what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and is +quite different from the ordinary General Public License. We use this +license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does _Less_ to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of free +software. For example, permission to use the GNU C Library in non-free +programs enables many more people to use the whole GNU operating +system, as well as its variant, the GNU/Linux operating system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run that +program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other + program which contains a notice placed by the copyright holder or + other authorized party saying it may be distributed under the + terms of this Lesser General Public License (also called "this + License"). Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data + prepared so as to be conveniently linked with application programs + (which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work + which has been distributed under these terms. A "work based on the + Library" means either the Library or any derivative work under + copyright law: that is to say, a work containing the Library or a + portion of it, either verbatim or with modifications and/or + translated straightforwardly into another language. (Hereinafter, + translation is included without limitation in the term + "modification".) + + "Source code" for a work means the preferred form of the work for + making modifications to it. For a library, complete source code + means all the source code for all modules it contains, plus any + associated interface definition files, plus the scripts used to + control compilation and installation of the library. + + Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The act + of running a program using the Library is not restricted, and + output from such a program is covered only if its contents + constitute a work based on the Library (independent of the use of + the Library in a tool for writing it). Whether that is true + depends on what the Library does and what the program that uses + the Library does. + + 1. You may copy and distribute verbatim copies of the Library's + complete source code as you receive it, in any medium, provided + that you conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep + intact all the notices that refer to this License and to the + absence of any warranty; and distribute a copy of this License + along with the Library. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange + for a fee. + + 2. You may modify your copy or copies of the Library or any portion + of it, thus forming a work based on the Library, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a. The modified work must itself be a software library. + + b. You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c. You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d. If a facility in the modified Library refers to a function or + a table of data to be supplied by an application program that + uses the facility, other than as an argument passed when the + facility is invoked, then you must make a good faith effort + to ensure that, in the event an application does not supply + such function or table, the facility still operates, and + performs whatever part of its purpose remains meaningful. + + (For example, a function in a library to compute square roots + has a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function + must be optional: if the application does not supply it, the + square root function must still compute square roots.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Library, and can be reasonably considered independent and separate + works in themselves, then this License, and its terms, do not + apply to those sections when you distribute them as separate + works. But when you distribute the same sections as part of a + whole which is a work based on the Library, the distribution of + the whole must be on the terms of this License, whose permissions + for other licensees extend to the entire whole, and thus to each + and every part regardless of who wrote it. + + Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Library. + + In addition, mere aggregation of another work not based on the + Library with the Library (or with a work based on the Library) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public + License instead of this License to a given copy of the Library. + To do this, you must alter all the notices that refer to this + License, so that they refer to the ordinary GNU General Public + License, version 2, instead of to this License. (If a newer + version than version 2 of the ordinary GNU General Public License + has appeared, then you can specify that version instead if you + wish.) Do not make any other change in these notices. + + Once this change is made in a given copy, it is irreversible for + that copy, so the ordinary GNU General Public License applies to + all subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of + the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or + derivative of it, under Section 2) in object code or executable + form under the terms of Sections 1 and 2 above provided that you + accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software + interchange. + + If distribution of object code is made by offering access to copy + from a designated place, then offering equivalent access to copy + the source code from the same place satisfies the requirement to + distribute the source code, even though third parties are not + compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the + Library, but is designed to work with the Library by being + compiled or linked with it, is called a "work that uses the + Library". Such a work, in isolation, is not a derivative work of + the Library, and therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library + creates an executable that is a derivative of the Library (because + it contains portions of the Library), rather than a "work that + uses the library". The executable is therefore covered by this + License. Section 6 states terms for distribution of such + executables. + + When a "work that uses the Library" uses material from a header + file that is part of the Library, the object code for the work may + be a derivative work of the Library even though the source code is + not. Whether this is true is especially significant if the work + can be linked without the Library, or if the work is itself a + library. The threshold for this to be true is not precisely + defined by law. + + If such an object file uses only numerical parameters, data + structure layouts and accessors, and small macros and small inline + functions (ten lines or less in length), then the use of the object + file is unrestricted, regardless of whether it is legally a + derivative work. (Executables containing this object code plus + portions of the Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may + distribute the object code for the work under the terms of Section + 6. Any executables containing that work also fall under Section 6, + whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or + link a "work that uses the Library" with the Library to produce a + work containing portions of the Library, and distribute that work + under terms of your choice, provided that the terms permit + modification of the work for the customer's own use and reverse + engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the + Library is used in it and that the Library and its use are covered + by this License. You must supply a copy of this License. If the + work during execution displays copyright notices, you must include + the copyright notice for the Library among them, as well as a + reference directing the user to the copy of this License. Also, + you must do one of these things: + + a. Accompany the work with the complete corresponding + machine-readable source code for the Library including + whatever changes were used in the work (which must be + distributed under Sections 1 and 2 above); and, if the work + is an executable linked with the Library, with the complete + machine-readable "work that uses the Library", as object code + and/or source code, so that the user can modify the Library + and then relink to produce a modified executable containing + the modified Library. (It is understood that the user who + changes the contents of definitions files in the Library will + not necessarily be able to recompile the application to use + the modified definitions.) + + b. Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run + time a copy of the library already present on the user's + computer system, rather than copying library functions into + the executable, and (2) will operate properly with a modified + version of the library, if the user installs one, as long as + the modified version is interface-compatible with the version + that the work was made with. + + c. Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d. If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the + above specified materials from the same place. + + e. Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the + Library" must include any data and utility programs needed for + reproducing the executable from it. However, as a special + exception, the materials to be distributed need not include + anything that is normally distributed (in either source or binary + form) with the major components (compiler, kernel, and so on) of + the operating system on which the executable runs, unless that + component itself accompanies the executable. + + It may happen that this requirement contradicts the license + restrictions of other proprietary libraries that do not normally + accompany the operating system. Such a contradiction means you + cannot use both them and the Library together in an executable + that you distribute. + + 7. You may place library facilities that are a work based on the + Library side-by-side in a single library together with other + library facilities not covered by this License, and distribute + such a combined library, provided that the separate distribution + of the work based on the Library and of the other library + facilities is otherwise permitted, and provided that you do these + two things: + + a. Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b. Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same + work. + + 8. You may not copy, modify, sublicense, link with, or distribute the + Library except as expressly provided under this License. Any + attempt otherwise to copy, modify, sublicense, link with, or + distribute the Library is void, and will automatically terminate + your rights under this License. However, parties who have + received copies, or rights, from you under this License will not + have their licenses terminated so long as such parties remain in + full compliance. + + 9. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify + or distribute the Library or its derivative works. These actions + are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Library (or any work + based on the Library), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the + Library), the recipient automatically receives a license from the + original licensor to copy, distribute, link with or modify the + Library subject to these terms and conditions. You may not impose + any further restrictions on the recipients' exercise of the rights + granted herein. You are not responsible for enforcing compliance + by third parties with this License. + + 11. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent + issues), conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of this + License, they do not excuse you from the conditions of this + License. If you cannot distribute so as to satisfy simultaneously + your obligations under this License and any other pertinent + obligations, then as a consequence you may not distribute the + Library at all. For example, if a patent license would not permit + royalty-free redistribution of the Library by all those who + receive copies directly or indirectly through you, then the only + way you could satisfy both it and this License would be to refrain + entirely from distribution of the Library. + + If any portion of this section is held invalid or unenforceable + under any particular circumstance, the balance of the section is + intended to apply, and the section as a whole is intended to apply + in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of + any such claims; this section has the sole purpose of protecting + the integrity of the free software distribution system which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is + willing to distribute software through any other system and a + licensee cannot impose that choice. + + This section is intended to make thoroughly clear what is believed + to be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in + certain countries either by patents or by copyrighted interfaces, + the original copyright holder who places the Library under this + License may add an explicit geographical distribution limitation + excluding those countries, so that distribution is permitted only + in or among countries not thus excluded. In such case, this + License incorporates the limitation as if written in the body of + this License. + + 13. The Free Software Foundation may publish revised and/or new + versions of the Lesser General Public License from time to time. + Such new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the + Library specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the Library + does not specify a license version number, you may choose any + version ever published by the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free + programs whose distribution conditions are incompatible with these, + write to the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free + status of all derivatives of our free software and of promoting + the sharing and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE + LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY + MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE + LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR + INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY + OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Libraries +---------------------------------------------- + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of +the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should have +at least the "copyright" line and a pointer to where the full notice is +found. + + ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES. + Copyright (C) YEAR NAME OF AUTHOR + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at + your option) any later version. + + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. + + Also add information on how to contact you by electronic and paper +mail. + + You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the library + `Frob' (a library for tweaking knobs) written by James Random Hacker. + + SIGNATURE OF TY COON, 1 April 1990 + Ty Coon, President of Vice + + That's all there is to it! + + +File: gettext.info, Node: GNU FDL, Prev: GNU LGPL, Up: Licenses + +C.3 GNU Free Documentation License +================================== + + Version 1.2, November 2002 + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document "free" in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it + can be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You + accept the license if you copy, modify or distribute the work in a + way requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. If a section does not fit the above definition of + Secondary then it is not allowed to be designated as Invariant. + The Document may contain zero Invariant Sections. If the Document + does not identify any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup, or absence of + markup, has been arranged to thwart or discourage subsequent + modification by readers is not Transparent. An image format is + not Transparent if used for any substantial amount of text. A + copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML, PostScript or PDF designed for + human modification. Examples of transparent image formats include + PNG, XCF and JPG. Opaque formats include proprietary formats that + can be read and edited only by proprietary word processors, SGML or + XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML, PostScript or PDF + produced by some word processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a computer-network location from + which the general network-using public has access to download + using public-standard network protocols a complete Transparent + copy of the Document, free of added material. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has fewer than five), unless they release you + from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, + and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section Entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the + section all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warranty Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +ADDENDUM: How to use this License for your documents +---------------------------------------------------- + + To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have Invariant Sections, Front-Cover Texts and Back-Cover +Texts, replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with + the Front-Cover Texts being LIST, and with the Back-Cover Texts + being LIST. + + If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. + + +File: gettext.info, Node: Program Index, Next: Option Index, Prev: Licenses, Up: Top + +Program Index +************* + +[index] +* Menu: + +* autopoint: autopoint Invocation. (line 6) +* envsubst: envsubst Invocation. (line 6) +* gettext <1>: gettext Invocation. (line 6) +* gettext: sh. (line 19) +* gettextize: gettextize Invocation. + (line 34) +* msgattrib: msgattrib Invocation. (line 6) +* msgcat: msgcat Invocation. (line 6) +* msgcmp: msgcmp Invocation. (line 6) +* msgcomm: msgcomm Invocation. (line 6) +* msgconv: msgconv Invocation. (line 6) +* msgen: msgen Invocation. (line 6) +* msgexec: msgexec Invocation. (line 6) +* msgfilter: msgfilter Invocation. (line 6) +* msgfmt: msgfmt Invocation. (line 6) +* msggrep: msggrep Invocation. (line 6) +* msginit: msginit Invocation. (line 6) +* msgmerge: msgmerge Invocation. (line 6) +* msgunfmt: msgunfmt Invocation. (line 6) +* msguniq: msguniq Invocation. (line 6) +* ngettext <1>: ngettext Invocation. (line 6) +* ngettext: sh. (line 19) +* recode-sr-latin: msgfilter Invocation. (line 92) +* xgettext: xgettext Invocation. (line 6) + + +File: gettext.info, Node: Option Index, Next: Variable Index, Prev: Program Index, Up: Top + +Option Index +************ + +[index] +* Menu: + +* --add-comments, xgettext option: xgettext Invocation. (line 97) +* --add-location, msgattrib option: msgattrib Invocation. + (line 136) +* --add-location, msgcat option: msgcat Invocation. (line 119) +* --add-location, msgcomm option: msgcomm Invocation. (line 104) +* --add-location, msgconv option: msgconv Invocation. (line 83) +* --add-location, msgen option: msgen Invocation. (line 85) +* --add-location, msgfilter option: msgfilter Invocation. + (line 144) +* --add-location, msggrep option: msggrep Invocation. (line 161) +* --add-location, msgmerge option: msgmerge Invocation. (line 155) +* --add-location, msguniq option: msguniq Invocation. (line 101) +* --add-location, xgettext option: xgettext Invocation. (line 297) +* --alignment, msgfmt option: msgfmt Invocation. (line 209) +* --backup, msgmerge option: msgmerge Invocation. (line 65) +* --boost, xgettext option: xgettext Invocation. (line 254) +* --c++, xgettext option: xgettext Invocation. (line 64) +* --check, msgfmt option: msgfmt Invocation. (line 146) +* --check-accelerators, msgfmt option: msgfmt Invocation. (line 187) +* --check-compatibility, msgfmt option: msgfmt Invocation. (line 183) +* --check-domain, msgfmt option: msgfmt Invocation. (line 178) +* --check-format, msgfmt option: msgfmt Invocation. (line 150) +* --check-header, msgfmt option: msgfmt Invocation. (line 173) +* --clear-fuzzy, msgattrib option: msgattrib Invocation. + (line 71) +* --clear-obsolete, msgattrib option: msgattrib Invocation. + (line 77) +* --clear-previous, msgattrib option: msgattrib Invocation. + (line 80) +* --color, msgattrib option: msgattrib Invocation. + (line 117) +* --color, msgcat option <1>: The --color option. (line 6) +* --color, msgcat option: msgcat Invocation. (line 100) +* --color, msgcomm option: msgcomm Invocation. (line 85) +* --color, msgconv option: msgconv Invocation. (line 65) +* --color, msgen option: msgen Invocation. (line 67) +* --color, msgfilter option: msgfilter Invocation. + (line 122) +* --color, msggrep option: msggrep Invocation. (line 144) +* --color, msginit option: msginit Invocation. (line 63) +* --color, msgmerge option: msgmerge Invocation. (line 137) +* --color, msgunfmt option: msgunfmt Invocation. (line 109) +* --color, msguniq option: msguniq Invocation. (line 82) +* --color, xgettext option: xgettext Invocation. (line 276) +* --comment, msggrep option: msggrep Invocation. (line 93) +* --compendium, msgmerge option: msgmerge Invocation. (line 36) +* --copyright-holder, xgettext option: xgettext Invocation. (line 347) +* --csharp, msgfmt option: msgfmt Invocation. (line 36) +* --csharp, msgunfmt option: msgunfmt Invocation. (line 19) +* --csharp-resources, msgfmt option: msgfmt Invocation. (line 40) +* --csharp-resources, msgunfmt option: msgunfmt Invocation. (line 23) +* --debug, xgettext option: xgettext Invocation. (line 258) +* --default-domain, xgettext option: xgettext Invocation. (line 36) +* --directory, msgattrib option: msgattrib Invocation. + (line 19) +* --directory, msgcat option: msgcat Invocation. (line 32) +* --directory, msgcmp option: msgcmp Invocation. (line 27) +* --directory, msgcomm option: msgcomm Invocation. (line 30) +* --directory, msgconv option: msgconv Invocation. (line 19) +* --directory, msgen option: msgen Invocation. (line 25) +* --directory, msgexec option: msgexec Invocation. (line 44) +* --directory, msgfilter option: msgfilter Invocation. + (line 27) +* --directory, msgfmt option: msgfmt Invocation. (line 18) +* --directory, msggrep option: msggrep Invocation. (line 19) +* --directory, msgmerge option: msgmerge Invocation. (line 30) +* --directory, msguniq option: msguniq Invocation. (line 26) +* --directory, xgettext option: xgettext Invocation. (line 24) +* --domain, gettext option: gettext Invocation. (line 16) +* --domain, msggrep option: msggrep Invocation. (line 77) +* --domain, ngettext option: ngettext Invocation. (line 15) +* --dry-run, autopoint option: autopoint Invocation. + (line 24) +* --dry-run, gettextize option: gettextize Invocation. + (line 72) +* --exclude-file, xgettext option: xgettext Invocation. (line 92) +* --expression, msgfilter option: msgfilter Invocation. + (line 77) +* --extended-regexp, msggrep option: msggrep Invocation. (line 101) +* --extract-all, xgettext option: xgettext Invocation. (line 107) +* --extracted-comment, msggrep option: msggrep Invocation. (line 97) +* --file, msgfilter option: msgfilter Invocation. + (line 81) +* --file, msggrep option: msggrep Invocation. (line 113) +* --files-from, msgcat option: msgcat Invocation. (line 27) +* --files-from, msgcomm option: msgcomm Invocation. (line 25) +* --files-from, xgettext option: xgettext Invocation. (line 19) +* --fixed-strings, msggrep option: msggrep Invocation. (line 105) +* --flag, xgettext option: xgettext Invocation. (line 201) +* --force, autopoint option: autopoint Invocation. + (line 20) +* --force, gettextize option: gettextize Invocation. + (line 40) +* --force-po, msgattrib option: msgattrib Invocation. + (line 125) +* --force-po, msgcat option: msgcat Invocation. (line 108) +* --force-po, msgcomm option: msgcomm Invocation. (line 93) +* --force-po, msgconv option: msgconv Invocation. (line 73) +* --force-po, msgen option: msgen Invocation. (line 75) +* --force-po, msgfilter option: msgfilter Invocation. + (line 130) +* --force-po, msggrep option: msggrep Invocation. (line 152) +* --force-po, msgmerge option: msgmerge Invocation. (line 145) +* --force-po, msgunfmt option: msgunfmt Invocation. (line 117) +* --force-po, msguniq option: msguniq Invocation. (line 90) +* --force-po, xgettext option: xgettext Invocation. (line 284) +* --foreign-user, xgettext option: xgettext Invocation. (line 362) +* --from-code, xgettext option: xgettext Invocation. (line 74) +* --fuzzy, msgattrib option: msgattrib Invocation. + (line 91) +* --help, autopoint option: autopoint Invocation. + (line 33) +* --help, envsubst option: envsubst Invocation. (line 22) +* --help, gettext option: gettext Invocation. (line 32) +* --help, gettextize option: gettextize Invocation. + (line 77) +* --help, msgattrib option: msgattrib Invocation. + (line 181) +* --help, msgcat option: msgcat Invocation. (line 164) +* --help, msgcmp option: msgcmp Invocation. (line 72) +* --help, msgcomm option: msgcomm Invocation. (line 152) +* --help, msgconv option: msgconv Invocation. (line 128) +* --help, msgen option: msgen Invocation. (line 130) +* --help, msgexec option: msgexec Invocation. (line 69) +* --help, msgfilter option: msgfilter Invocation. + (line 189) +* --help, msgfmt option: msgfmt Invocation. (line 222) +* --help, msggrep option: msggrep Invocation. (line 204) +* --help, msginit option: msginit Invocation. (line 99) +* --help, msgmerge option: msgmerge Invocation. (line 200) +* --help, msgunfmt option: msgunfmt Invocation. (line 162) +* --help, msguniq option: msguniq Invocation. (line 146) +* --help, ngettext option: ngettext Invocation. (line 31) +* --help, xgettext option: xgettext Invocation. (line 415) +* --ignore-case, msggrep option: msggrep Invocation. (line 117) +* --ignore-file, msgattrib option: msgattrib Invocation. + (line 87) +* --indent, msgattrib option: msgattrib Invocation. + (line 129) +* --indent, msgcat option: msgcat Invocation. (line 112) +* --indent, msgcomm option: msgcomm Invocation. (line 97) +* --indent, msgconv option: msgconv Invocation. (line 77) +* --indent, msgen option: msgen Invocation. (line 79) +* --indent, msgfilter option: msgfilter Invocation. + (line 133) +* --indent, msggrep option: msggrep Invocation. (line 155) +* --indent, msgmerge option: msgmerge Invocation. (line 149) +* --indent, msgunfmt option: msgunfmt Invocation. (line 121) +* --indent, msguniq option: msguniq Invocation. (line 94) +* --indent, xgettext option: xgettext Invocation. (line 288) +* --input, msgexec option: msgexec Invocation. (line 40) +* --input, msgfilter option: msgfilter Invocation. + (line 23) +* --input, msginit option: msginit Invocation. (line 16) +* --intl, gettextize option: gettextize Invocation. + (line 43) +* --invert-match, msggrep option: msggrep Invocation. (line 121) +* --java, msgfmt option: msgfmt Invocation. (line 30) +* --java, msgunfmt option: msgunfmt Invocation. (line 16) +* --java2, msgfmt option: msgfmt Invocation. (line 33) +* --join-existing, xgettext option: xgettext Invocation. (line 88) +* --kde, xgettext option: xgettext Invocation. (line 250) +* --keep-header, msgfilter option: msgfilter Invocation. + (line 136) +* --keyword, xgettext option: xgettext Invocation. (line 115) +* --lang, msgcat option <1>: msgen Invocation. (line 60) +* --lang, msgcat option <2>: msgcat Invocation. (line 94) +* --lang, msgcat option: msgmerge Invocation. (line 129) +* --language, xgettext option: xgettext Invocation. (line 56) +* --less-than, msgcat option: msgcat Invocation. (line 55) +* --less-than, msgcomm option: msgcomm Invocation. (line 53) +* --locale, msgfmt option: msgfmt Invocation. (line 79) +* --locale, msginit option: msginit Invocation. (line 52) +* --locale, msgunfmt option: msgunfmt Invocation. (line 47) +* --location, msggrep option: msggrep Invocation. (line 72) +* --more-than, msgcat option: msgcat Invocation. (line 60) +* --more-than, msgcomm option: msgcomm Invocation. (line 58) +* --msgctxt, msggrep option: msggrep Invocation. (line 81) +* --msgid, msggrep option: msggrep Invocation. (line 85) +* --msgid-bugs-address, xgettext option: xgettext Invocation. (line 375) +* --msgstr, msggrep option: msggrep Invocation. (line 89) +* --msgstr-prefix, xgettext option: xgettext Invocation. (line 403) +* --msgstr-suffix, xgettext option: xgettext Invocation. (line 407) +* --multi-domain, msgcmp option: msgcmp Invocation. (line 36) +* --multi-domain, msgmerge option: msgmerge Invocation. (line 101) +* --no-changelog, gettextize option: gettextize Invocation. + (line 58) +* --no-fuzzy, msgattrib option: msgattrib Invocation. + (line 47) +* --no-fuzzy-matching, msgcmp option: msgcmp Invocation. (line 40) +* --no-fuzzy-matching, msgmerge option: msgmerge Invocation. (line 105) +* --no-hash, msgfmt option: msgfmt Invocation. (line 212) +* --no-location, msgattrib option: msgattrib Invocation. + (line 132) +* --no-location, msgcat option: msgcat Invocation. (line 115) +* --no-location, msgcomm option: msgcomm Invocation. (line 100) +* --no-location, msgconv option: msgconv Invocation. (line 80) +* --no-location, msgen option: msgen Invocation. (line 82) +* --no-location, msgfilter option: msgfilter Invocation. + (line 141) +* --no-location, msggrep option: msggrep Invocation. (line 158) +* --no-location, msgmerge option: msgmerge Invocation. (line 152) +* --no-location, msguniq option: msguniq Invocation. (line 97) +* --no-location, xgettext option: xgettext Invocation. (line 291) +* --no-obsolete, msgattrib option: msgattrib Invocation. + (line 53) +* --no-translator, msginit option: msginit Invocation. (line 58) +* --no-wrap, msgattrib option: msgattrib Invocation. + (line 161) +* --no-wrap, msgcat option: msgcat Invocation. (line 144) +* --no-wrap, msgcomm option: msgcomm Invocation. (line 129) +* --no-wrap, msgconv option: msgconv Invocation. (line 108) +* --no-wrap, msgen option: msgen Invocation. (line 110) +* --no-wrap, msgfilter option: msgfilter Invocation. + (line 169) +* --no-wrap, msggrep option: msggrep Invocation. (line 186) +* --no-wrap, msginit option: msginit Invocation. (line 88) +* --no-wrap, msgmerge option: msgmerge Invocation. (line 180) +* --no-wrap, msgunfmt option: msgunfmt Invocation. (line 146) +* --no-wrap, msguniq option: msguniq Invocation. (line 126) +* --no-wrap, xgettext option: xgettext Invocation. (line 321) +* --obsolete, msgattrib option: msgattrib Invocation. + (line 95) +* --omit-header, msgcomm option: msgcomm Invocation. (line 144) +* --omit-header, xgettext option: xgettext Invocation. (line 336) +* --only-file, msgattrib option: msgattrib Invocation. + (line 83) +* --only-fuzzy, msgattrib option: msgattrib Invocation. + (line 50) +* --only-obsolete, msgattrib option: msgattrib Invocation. + (line 56) +* --output, xgettext option: xgettext Invocation. (line 40) +* --output-dir, xgettext option: xgettext Invocation. (line 45) +* --output-file, msgattrib option: msgattrib Invocation. + (line 31) +* --output-file, msgcat option: msgcat Invocation. (line 44) +* --output-file, msgcomm option: msgcomm Invocation. (line 42) +* --output-file, msgconv option: msgconv Invocation. (line 31) +* --output-file, msgen option: msgen Invocation. (line 37) +* --output-file, msgfilter option: msgfilter Invocation. + (line 39) +* --output-file, msgfmt option: msgfmt Invocation. (line 54) +* --output-file, msggrep option: msggrep Invocation. (line 31) +* --output-file, msginit option: msginit Invocation. (line 27) +* --output-file, msgmerge option: msgmerge Invocation. (line 53) +* --output-file, msgunfmt option: msgunfmt Invocation. (line 98) +* --output-file, msguniq option: msguniq Invocation. (line 38) +* --package-name, xgettext option: xgettext Invocation. (line 368) +* --package-version, xgettext option: xgettext Invocation. (line 371) +* --po-dir, gettextize option: gettextize Invocation. + (line 51) +* --previous, msgmerge option: msgmerge Invocation. (line 109) +* --properties-input, msgattrib option: msgattrib Invocation. + (line 104) +* --properties-input, msgcat option: msgcat Invocation. (line 74) +* --properties-input, msgcmp option: msgcmp Invocation. (line 59) +* --properties-input, msgcomm option: msgcomm Invocation. (line 72) +* --properties-input, msgconv option: msgconv Invocation. (line 52) +* --properties-input, msgen option: msgen Invocation. (line 48) +* --properties-input, msgexec option: msgexec Invocation. (line 56) +* --properties-input, msgfilter option: msgfilter Invocation. + (line 109) +* --properties-input, msgfmt option: msgfmt Invocation. (line 133) +* --properties-input, msggrep option: msggrep Invocation. (line 131) +* --properties-input, msginit option: msginit Invocation. (line 39) +* --properties-input, msgmerge option: msgmerge Invocation. (line 117) +* --properties-input, msguniq option: msguniq Invocation. (line 61) +* --properties-output, msgattrib option: msgattrib Invocation. + (line 145) +* --properties-output, msgcat option: msgcat Invocation. (line 128) +* --properties-output, msgcomm option: msgcomm Invocation. (line 113) +* --properties-output, msgconv option: msgconv Invocation. (line 92) +* --properties-output, msgen option: msgen Invocation. (line 94) +* --properties-output, msgfilter option: msgfilter Invocation. + (line 153) +* --properties-output, msggrep option: msggrep Invocation. (line 170) +* --properties-output, msginit option: msginit Invocation. (line 72) +* --properties-output, msgmerge option: msgmerge Invocation. (line 164) +* --properties-output, msgunfmt option: msgunfmt Invocation. (line 130) +* --properties-output, msguniq option: msguniq Invocation. (line 110) +* --properties-output, xgettext option: xgettext Invocation. (line 305) +* --qt, msgfmt option: msgfmt Invocation. (line 46) +* --qt, xgettext option: xgettext Invocation. (line 246) +* --quiet, msgfilter option: msgfilter Invocation. + (line 86) +* --quiet, msgmerge option: msgmerge Invocation. (line 213) +* --regexp=, msggrep option: msggrep Invocation. (line 109) +* --repeated, msguniq option: msguniq Invocation. (line 49) +* --resource, msgfmt option: msgfmt Invocation. (line 75) +* --resource, msgunfmt option: msgunfmt Invocation. (line 43) +* --set-fuzzy, msgattrib option: msgattrib Invocation. + (line 68) +* --set-obsolete, msgattrib option: msgattrib Invocation. + (line 74) +* --silent, msgfilter option: msgfilter Invocation. + (line 86) +* --silent, msgmerge option: msgmerge Invocation. (line 213) +* --sort-by-file, msgattrib option: msgattrib Invocation. + (line 173) +* --sort-by-file, msgcat option: msgcat Invocation. (line 156) +* --sort-by-file, msgcomm option: msgcomm Invocation. (line 141) +* --sort-by-file, msgconv option: msgconv Invocation. (line 120) +* --sort-by-file, msgen option: msgen Invocation. (line 122) +* --sort-by-file, msgfilter option: msgfilter Invocation. + (line 181) +* --sort-by-file, msggrep option: msggrep Invocation. (line 196) +* --sort-by-file, msgmerge option: msgmerge Invocation. (line 192) +* --sort-by-file, msguniq option: msguniq Invocation. (line 138) +* --sort-by-file, xgettext option: xgettext Invocation. (line 333) +* --sort-output, msgattrib option: msgattrib Invocation. + (line 168) +* --sort-output, msgcat option: msgcat Invocation. (line 151) +* --sort-output, msgcomm option: msgcomm Invocation. (line 136) +* --sort-output, msgconv option: msgconv Invocation. (line 115) +* --sort-output, msgen option: msgen Invocation. (line 117) +* --sort-output, msgfilter option: msgfilter Invocation. + (line 176) +* --sort-output, msggrep option: msggrep Invocation. (line 192) +* --sort-output, msgmerge option: msgmerge Invocation. (line 187) +* --sort-output, msgunfmt option: msgunfmt Invocation. (line 153) +* --sort-output, msguniq option: msguniq Invocation. (line 133) +* --sort-output, xgettext option: xgettext Invocation. (line 328) +* --statistics, msgfmt option: msgfmt Invocation. (line 229) +* --strict, msgattrib option: msgattrib Invocation. + (line 139) +* --strict, msgcat option: msgcat Invocation. (line 122) +* --strict, msgcomm option: msgcomm Invocation. (line 107) +* --strict, msgconv option: msgconv Invocation. (line 86) +* --strict, msgen option: msgen Invocation. (line 88) +* --strict, msgfilter option: msgfilter Invocation. + (line 147) +* --strict, msgfmt option: msgfmt Invocation. (line 57) +* --strict, msggrep option: msggrep Invocation. (line 164) +* --strict, msgmerge option: msgmerge Invocation. (line 158) +* --strict, msgunfmt option: msgunfmt Invocation. (line 124) +* --strict, msguniq option: msguniq Invocation. (line 104) +* --strict, xgettext option: xgettext Invocation. (line 300) +* --stringtable-input, msgattrib option: msgattrib Invocation. + (line 108) +* --stringtable-input, msgcat option: msgcat Invocation. (line 78) +* --stringtable-input, msgcmp option: msgcmp Invocation. (line 63) +* --stringtable-input, msgcomm option: msgcomm Invocation. (line 76) +* --stringtable-input, msgen option: msgen Invocation. (line 52) +* --stringtable-input, msgexec option: msgexec Invocation. (line 60) +* --stringtable-input, msgfilter option: msgfilter Invocation. + (line 113) +* --stringtable-input, msgfmt option: msgfmt Invocation. (line 137) +* --stringtable-input, msggrep option: msggrep Invocation. (line 135) +* --stringtable-input, msginit option: msginit Invocation. (line 43) +* --stringtable-input, msgmerge option: msgmerge Invocation. (line 121) +* --stringtable-input, msgonv option: msgconv Invocation. (line 56) +* --stringtable-input, msguniq option: msguniq Invocation. (line 65) +* --stringtable-output, msgattrib option: msgattrib Invocation. + (line 150) +* --stringtable-output, msgcat option: msgcat Invocation. (line 133) +* --stringtable-output, msgcomm option: msgcomm Invocation. (line 118) +* --stringtable-output, msgconv option: msgconv Invocation. (line 97) +* --stringtable-output, msgen option: msgen Invocation. (line 99) +* --stringtable-output, msgfilter option: msgfilter Invocation. + (line 158) +* --stringtable-output, msggrep option: msggrep Invocation. (line 175) +* --stringtable-output, msginit option: msginit Invocation. (line 77) +* --stringtable-output, msgmerge option: msgmerge Invocation. (line 169) +* --stringtable-output, msgunfmt option: msgunfmt Invocation. (line 135) +* --stringtable-output, msguniq option: msguniq Invocation. (line 115) +* --stringtable-output, xgettext option: xgettext Invocation. (line 310) +* --style, msgattrib option: msgattrib Invocation. + (line 121) +* --style, msgcat option <1>: The --style option. (line 6) +* --style, msgcat option: msgcat Invocation. (line 104) +* --style, msgcomm option: msgcomm Invocation. (line 89) +* --style, msgconv option: msgconv Invocation. (line 69) +* --style, msgen option: msgen Invocation. (line 71) +* --style, msgfilter option: msgfilter Invocation. + (line 126) +* --style, msggrep option: msggrep Invocation. (line 148) +* --style, msginit option: msginit Invocation. (line 67) +* --style, msgmerge option: msgmerge Invocation. (line 141) +* --style, msgunfmt option: msgunfmt Invocation. (line 113) +* --style, msguniq option: msguniq Invocation. (line 86) +* --style, xgettext option: xgettext Invocation. (line 280) +* --suffix, msgmerge option: msgmerge Invocation. (line 68) +* --symlink, gettextize option: gettextize Invocation. + (line 63) +* --tcl, msgfmt option: msgfmt Invocation. (line 43) +* --tcl, msgunfmt option: msgunfmt Invocation. (line 26) +* --to-code, msgcat option: msgcat Invocation. (line 87) +* --to-code, msgconv option: msgconv Invocation. (line 42) +* --to-code, msguniq option: msguniq Invocation. (line 74) +* --translated, msgattrib option: msgattrib Invocation. + (line 41) +* --trigraphs, xgettext option: xgettext Invocation. (line 241) +* --unique, msgcat option: msgcat Invocation. (line 65) +* --unique, msgcomm option: msgcomm Invocation. (line 63) +* --unique, msguniq option: msguniq Invocation. (line 53) +* --untranslated, msgattrib option: msgattrib Invocation. + (line 44) +* --update, msgmerge option: msgmerge Invocation. (line 45) +* --use-first, msgcat option: msgcat Invocation. (line 90) +* --use-first, msguniq option: msguniq Invocation. (line 77) +* --use-fuzzy, msgcmp option: msgcmp Invocation. (line 44) +* --use-fuzzy, msgfmt option: msgfmt Invocation. (line 199) +* --use-untranslated, msgcmp option: msgcmp Invocation. (line 50) +* --variables, envsubst option: envsubst Invocation. (line 15) +* --verbose, msgfmt option: msgfmt Invocation. (line 235) +* --verbose, msgmerge option: msgmerge Invocation. (line 208) +* --verbose, msgunfmt option: msgunfmt Invocation. (line 170) +* --version, autopoint option: autopoint Invocation. + (line 36) +* --version, envsubst option: envsubst Invocation. (line 26) +* --version, gettext option: gettext Invocation. (line 40) +* --version, gettextize option: gettextize Invocation. + (line 80) +* --version, msgattrib option: msgattrib Invocation. + (line 185) +* --version, msgcat option: msgcat Invocation. (line 168) +* --version, msgcmp option: msgcmp Invocation. (line 76) +* --version, msgcomm option: msgcomm Invocation. (line 156) +* --version, msgconv option: msgconv Invocation. (line 132) +* --version, msgen option: msgen Invocation. (line 134) +* --version, msgexec option: msgexec Invocation. (line 73) +* --version, msgfilter option: msgfilter Invocation. + (line 193) +* --version, msgfmt option: msgfmt Invocation. (line 226) +* --version, msggrep option: msggrep Invocation. (line 208) +* --version, msginit option: msginit Invocation. (line 103) +* --version, msgmerge option: msgmerge Invocation. (line 204) +* --version, msgunfmt option: msgunfmt Invocation. (line 166) +* --version, msguniq option: msguniq Invocation. (line 150) +* --version, ngettext option: ngettext Invocation. (line 35) +* --version, xgettext option: xgettext Invocation. (line 419) +* --width, msgattrib option: msgattrib Invocation. + (line 155) +* --width, msgcat option: msgcat Invocation. (line 138) +* --width, msgcomm option: msgcomm Invocation. (line 123) +* --width, msgconv option: msgconv Invocation. (line 102) +* --width, msgen option: msgen Invocation. (line 104) +* --width, msgfilter option: msgfilter Invocation. + (line 163) +* --width, msggrep option: msggrep Invocation. (line 180) +* --width, msginit option: msginit Invocation. (line 82) +* --width, msgmerge option: msgmerge Invocation. (line 174) +* --width, msgunfmt option: msgunfmt Invocation. (line 140) +* --width, msguniq option: msguniq Invocation. (line 120) +* --width, xgettext option: xgettext Invocation. (line 315) +* -<, msgcat option: msgcat Invocation. (line 55) +* -<, msgcomm option: msgcomm Invocation. (line 53) +* ->, msgcat option: msgcat Invocation. (line 60) +* ->, msgcomm option: msgcomm Invocation. (line 58) +* -a, msgfmt option: msgfmt Invocation. (line 209) +* -a, xgettext option: xgettext Invocation. (line 107) +* -C, msgfmt option: msgfmt Invocation. (line 183) +* -c, msgfmt option: msgfmt Invocation. (line 146) +* -C, msggrep option: msggrep Invocation. (line 93) +* -C, msgmerge option: msgmerge Invocation. (line 36) +* -c, xgettext option: xgettext Invocation. (line 97) +* -C, xgettext option: xgettext Invocation. (line 64) +* -d, autopoint option: autopoint Invocation. + (line 24) +* -d, gettext option: gettext Invocation. (line 16) +* -d, gettextize option: gettextize Invocation. + (line 72) +* -D, msgattrib option: msgattrib Invocation. + (line 19) +* -D, msgcat option: msgcat Invocation. (line 32) +* -D, msgcmp option: msgcmp Invocation. (line 27) +* -D, msgcomm option: msgcomm Invocation. (line 30) +* -D, msgconv option: msgconv Invocation. (line 19) +* -D, msgen option: msgen Invocation. (line 25) +* -D, msgexec option: msgexec Invocation. (line 44) +* -D, msgfilter option: msgfilter Invocation. + (line 27) +* -d, msgfmt option: msgfmt Invocation. (line 84) +* -D, msgfmt option: msgfmt Invocation. (line 18) +* -D, msggrep option: msggrep Invocation. (line 19) +* -D, msgmerge option: msgmerge Invocation. (line 30) +* -d, msgunfmt option: msgunfmt Invocation. (line 70) +* -d, msguniq option: msguniq Invocation. (line 49) +* -D, msguniq option: msguniq Invocation. (line 26) +* -d, ngettext option: ngettext Invocation. (line 15) +* -d, xgettext option: xgettext Invocation. (line 36) +* -D, xgettext option: xgettext Invocation. (line 24) +* -E, gettext option: gettext Invocation. (line 27) +* -e, gettext option: gettext Invocation. (line 20) +* -e, msgfilter option: msgfilter Invocation. + (line 77) +* -e, msggrep option: msggrep Invocation. (line 109) +* -E, msggrep option: msggrep Invocation. (line 101) +* -E, ngettext option: ngettext Invocation. (line 26) +* -e, ngettext option: ngettext Invocation. (line 19) +* -f, autopoint option: autopoint Invocation. + (line 20) +* -f, gettextize option: gettextize Invocation. + (line 40) +* -F, msgattrib option: msgattrib Invocation. + (line 173) +* -F, msgcat option: msgcat Invocation. (line 156) +* -f, msgcat option: msgcat Invocation. (line 27) +* -F, msgcomm option: msgcomm Invocation. (line 141) +* -f, msgcomm option: msgcomm Invocation. (line 25) +* -F, msgconv option: msgconv Invocation. (line 120) +* -F, msgen option: msgen Invocation. (line 122) +* -F, msgfilter option: msgfilter Invocation. + (line 181) +* -f, msgfilter option: msgfilter Invocation. + (line 81) +* -f, msgfmt option: msgfmt Invocation. (line 199) +* -f, msggrep option: msggrep Invocation. (line 113) +* -F, msggrep option: msggrep Invocation. (line 105) +* -F, msgmerge option: msgmerge Invocation. (line 192) +* -F, msguniq option: msguniq Invocation. (line 138) +* -F, xgettext option: xgettext Invocation. (line 333) +* -f, xgettext option: xgettext Invocation. (line 19) +* -h, envsubst option: envsubst Invocation. (line 22) +* -h, gettext option: gettext Invocation. (line 32) +* -h, msgattrib option: msgattrib Invocation. + (line 181) +* -h, msgcat option: msgcat Invocation. (line 164) +* -h, msgcmp option: msgcmp Invocation. (line 72) +* -h, msgcomm option: msgcomm Invocation. (line 152) +* -h, msgconv option: msgconv Invocation. (line 128) +* -h, msgen option: msgen Invocation. (line 130) +* -h, msgexec option: msgexec Invocation. (line 69) +* -h, msgfilter option: msgfilter Invocation. + (line 189) +* -h, msgfmt option: msgfmt Invocation. (line 222) +* -h, msggrep option: msggrep Invocation. (line 204) +* -h, msginit option: msginit Invocation. (line 99) +* -h, msgmerge option: msgmerge Invocation. (line 200) +* -h, msgunfmt option: msgunfmt Invocation. (line 162) +* -h, msguniq option: msguniq Invocation. (line 146) +* -h, ngettext option: ngettext Invocation. (line 31) +* -h, xgettext option: xgettext Invocation. (line 415) +* -i, msgattrib option: msgattrib Invocation. + (line 129) +* -i, msgcat option: msgcat Invocation. (line 112) +* -i, msgcomm option: msgcomm Invocation. (line 97) +* -i, msgconv option: msgconv Invocation. (line 77) +* -i, msgen option: msgen Invocation. (line 79) +* -i, msgexec option: msgexec Invocation. (line 40) +* -i, msgfilter option: msgfilter Invocation. + (line 23) +* -i, msggrep option: msggrep Invocation. (line 117) +* -i, msginit option: msginit Invocation. (line 16) +* -i, msgmerge option: msgmerge Invocation. (line 149) +* -i, msgunfmt option: msgunfmt Invocation. (line 121) +* -i, msguniq option: msguniq Invocation. (line 94) +* -i, xgettext option: xgettext Invocation. (line 288) +* -j, msgfmt option: msgfmt Invocation. (line 30) +* -J, msggrep option: msggrep Invocation. (line 81) +* -j, msgunfmt option: msgunfmt Invocation. (line 16) +* -j, xgettext option: xgettext Invocation. (line 88) +* -K, msggrep option: msggrep Invocation. (line 85) +* -k, xgettext option: xgettext Invocation. (line 115) +* -l, msgfmt option: msgfmt Invocation. (line 79) +* -l, msginit option: msginit Invocation. (line 52) +* -l, msgunfmt option: msgunfmt Invocation. (line 47) +* -L, xgettext option: xgettext Invocation. (line 56) +* -m, msgcmp option: msgcmp Invocation. (line 36) +* -M, msggrep option: msggrep Invocation. (line 77) +* -m, msgmerge option: msgmerge Invocation. (line 101) +* -M, xgettext option: xgettext Invocation. (line 407) +* -m, xgettext option: xgettext Invocation. (line 403) +* -n, gettext option: gettext Invocation. (line 35) +* -n, msgattrib option: msgattrib Invocation. + (line 136) +* -n, msgcat option: msgcat Invocation. (line 119) +* -N, msgcmp option: msgcmp Invocation. (line 40) +* -n, msgcomm option: msgcomm Invocation. (line 104) +* -n, msgfilter option: msgfilter Invocation. + (line 86) +* -N, msggrep option: msggrep Invocation. (line 72) +* -N, msgmerge option: msgmerge Invocation. (line 105) +* -n, msguniq option: msguniq Invocation. (line 101) +* -n, xgettext option: xgettext Invocation. (line 297) +* -o, msgattrib option: msgattrib Invocation. + (line 31) +* -o, msgcat option: msgcat Invocation. (line 44) +* -o, msgcomm option: msgcomm Invocation. (line 42) +* -o, msgconv option: msgconv Invocation. (line 31) +* -o, msgen option: msgen Invocation. (line 37) +* -o, msgfilter option: msgfilter Invocation. + (line 39) +* -o, msgfmt option: msgfmt Invocation. (line 54) +* -o, msggrep option: msggrep Invocation. (line 31) +* -o, msginit option: msginit Invocation. (line 27) +* -o, msgmerge option: msgmerge Invocation. (line 53) +* -o, msgunfmt option: msgunfmt Invocation. (line 98) +* -o, msguniq option: msguniq Invocation. (line 38) +* -o, xgettext option: xgettext Invocation. (line 40) +* -p, msgattrib option: msgattrib Invocation. + (line 145) +* -P, msgattrib option: msgattrib Invocation. + (line 104) +* -p, msgcat option: msgcat Invocation. (line 128) +* -P, msgcat option: msgcat Invocation. (line 74) +* -P, msgcmp option: msgcmp Invocation. (line 59) +* -p, msgcomm option: msgcomm Invocation. (line 113) +* -P, msgcomm option: msgcomm Invocation. (line 72) +* -p, msgconv option: msgconv Invocation. (line 92) +* -P, msgconv option: msgconv Invocation. (line 52) +* -p, msgen option: msgen Invocation. (line 94) +* -P, msgen option: msgen Invocation. (line 48) +* -P, msgexec option: msgexec Invocation. (line 56) +* -p, msgfilter option: msgfilter Invocation. + (line 153) +* -P, msgfilter option: msgfilter Invocation. + (line 109) +* -P, msgfmt option: msgfmt Invocation. (line 133) +* -p, msggrep option: msggrep Invocation. (line 170) +* -P, msggrep option: msggrep Invocation. (line 131) +* -p, msginit option: msginit Invocation. (line 72) +* -P, msginit option: msginit Invocation. (line 39) +* -p, msgmerge option: msgmerge Invocation. (line 164) +* -P, msgmerge option: msgmerge Invocation. (line 117) +* -p, msgunfmt option: msgunfmt Invocation. (line 130) +* -p, msguniq option: msguniq Invocation. (line 110) +* -P, msguniq option: msguniq Invocation. (line 61) +* -p, xgettext option: xgettext Invocation. (line 45) +* -q, msgmerge option: msgmerge Invocation. (line 213) +* -r, msgfmt option: msgfmt Invocation. (line 75) +* -r, msgunfmt option: msgunfmt Invocation. (line 43) +* -s, msgattrib option: msgattrib Invocation. + (line 168) +* -s, msgcat option: msgcat Invocation. (line 151) +* -s, msgcomm option: msgcomm Invocation. (line 136) +* -s, msgconv option: msgconv Invocation. (line 115) +* -s, msgen option: msgen Invocation. (line 117) +* -s, msgfilter option: msgfilter Invocation. + (line 176) +* -s, msgmerge option: msgmerge Invocation. (line 187) +* -s, msgunfmt option: msgunfmt Invocation. (line 153) +* -s, msguniq option: msguniq Invocation. (line 133) +* -s, xgettext option: xgettext Invocation. (line 328) +* -t, msgcat option: msgcat Invocation. (line 87) +* -t, msgconv option: msgconv Invocation. (line 42) +* -T, msggrep option: msggrep Invocation. (line 89) +* -t, msguniq option: msguniq Invocation. (line 74) +* -T, xgettext option: xgettext Invocation. (line 241) +* -u, msgcat option: msgcat Invocation. (line 65) +* -u, msgcomm option: msgcomm Invocation. (line 63) +* -U, msgmerge option: msgmerge Invocation. (line 45) +* -u, msguniq option: msguniq Invocation. (line 53) +* -V, envsubst option: envsubst Invocation. (line 26) +* -v, envsubst option: envsubst Invocation. (line 15) +* -V, gettext option: gettext Invocation. (line 40) +* -V, msgattrib option: msgattrib Invocation. + (line 185) +* -V, msgcat option: msgcat Invocation. (line 168) +* -V, msgcmp option: msgcmp Invocation. (line 76) +* -V, msgcomm option: msgcomm Invocation. (line 156) +* -V, msgconv option: msgconv Invocation. (line 132) +* -V, msgen option: msgen Invocation. (line 134) +* -V, msgexec option: msgexec Invocation. (line 73) +* -V, msgfilter option: msgfilter Invocation. + (line 193) +* -v, msgfmt option: msgfmt Invocation. (line 235) +* -V, msgfmt option: msgfmt Invocation. (line 226) +* -V, msggrep option: msggrep Invocation. (line 208) +* -v, msggrep option: msggrep Invocation. (line 121) +* -V, msginit option: msginit Invocation. (line 103) +* -v, msgmerge option: msgmerge Invocation. (line 208) +* -V, msgmerge option: msgmerge Invocation. (line 204) +* -v, msgunfmt option: msgunfmt Invocation. (line 170) +* -V, msgunfmt option: msgunfmt Invocation. (line 166) +* -V, msguniq option: msguniq Invocation. (line 150) +* -V, ngettext option: ngettext Invocation. (line 35) +* -V, xgettext option: xgettext Invocation. (line 419) +* -w, msgattrib option: msgattrib Invocation. + (line 155) +* -w, msgcat option: msgcat Invocation. (line 138) +* -w, msgcomm option: msgcomm Invocation. (line 123) +* -w, msgconv option: msgconv Invocation. (line 102) +* -w, msgen option: msgen Invocation. (line 104) +* -w, msgfilter option: msgfilter Invocation. + (line 163) +* -w, msggrep option: msggrep Invocation. (line 180) +* -w, msginit option: msginit Invocation. (line 82) +* -w, msgmerge option: msgmerge Invocation. (line 174) +* -w, msgunfmt option: msgunfmt Invocation. (line 140) +* -w, msguniq option: msguniq Invocation. (line 120) +* -w, xgettext option: xgettext Invocation. (line 315) +* -X, msggrep option: msggrep Invocation. (line 97) +* -x, xgettext option: xgettext Invocation. (line 92) + + +File: gettext.info, Node: Variable Index, Next: PO Mode Index, Prev: Option Index, Up: Top + +Variable Index +************** + +[index] +* Menu: + +* GETTEXT_LOG_UNTRANSLATED, environment variable: Prioritizing messages. + (line 23) +* LANG, environment variable <1>: gettext grok. (line 32) +* LANG, environment variable: Locale Environment Variables. + (line 17) +* LANGUAGE, environment variable <1>: po/Rules-*. (line 11) +* LANGUAGE, environment variable <2>: gettext grok. (line 28) +* LANGUAGE, environment variable: Locale Environment Variables. + (line 11) +* LC_ALL, environment variable <1>: gettext grok. (line 28) +* LC_ALL, environment variable: Locale Environment Variables. + (line 11) +* LC_COLLATE, environment variable <1>: gettext grok. (line 30) +* LC_COLLATE, environment variable: Locale Environment Variables. + (line 13) +* LC_CTYPE, environment variable <1>: gettext grok. (line 30) +* LC_CTYPE, environment variable: Locale Environment Variables. + (line 13) +* LC_MESSAGES, environment variable <1>: gettext grok. (line 30) +* LC_MESSAGES, environment variable: Locale Environment Variables. + (line 13) +* LC_MONETARY, environment variable <1>: gettext grok. (line 30) +* LC_MONETARY, environment variable: Locale Environment Variables. + (line 13) +* LC_NUMERIC, environment variable <1>: gettext grok. (line 30) +* LC_NUMERIC, environment variable: Locale Environment Variables. + (line 13) +* LC_TIME, environment variable <1>: gettext grok. (line 30) +* LC_TIME, environment variable: Locale Environment Variables. + (line 13) +* LINGUAS, environment variable: Installers. (line 17) +* MSGEXEC_LOCATION, environment variable: msgexec Invocation. (line 18) +* MSGEXEC_MSGCTXT, environment variable: msgexec Invocation. (line 18) +* MSGEXEC_MSGID, environment variable: msgexec Invocation. (line 18) +* MSGFILTER_LOCATION, environment variable: msgfilter Invocation. + (line 11) +* MSGFILTER_MSGCTXT, environment variable: msgfilter Invocation. + (line 11) +* MSGFILTER_MSGID, environment variable: msgfilter Invocation. (line 11) +* PO_STYLE, environment variable: The --style option. (line 10) +* TERM, environment variable: The TERM variable. (line 6) +* TEXTDOMAIN, environment variable: sh. (line 23) +* TEXTDOMAINDIR, environment variable: sh. (line 26) + + +File: gettext.info, Node: PO Mode Index, Next: Autoconf Macro Index, Prev: Variable Index, Up: Top + +PO Mode Index +************* + +[index] +* Menu: + +* #, PO Mode command: Modifying Comments. (line 24) +* ,, PO Mode command: Marking. (line 44) +* ., PO Mode command: Entry Positioning. (line 20) +* .emacs customizations: Installation. (line 13) +* 0, PO Mode command: Main PO Commands. (line 40) +* <, PO Mode command: Entry Positioning. (line 29) +* =, PO Mode command: Main PO Commands. (line 47) +* >, PO Mode command: Entry Positioning. (line 32) +* ?, PO Mode command: Main PO Commands. (line 44) +* _, PO Mode command: Main PO Commands. (line 30) +* a, PO Mode command: Auxiliary. (line 40) +* A, PO Mode command: Auxiliary. (line 28) +* a, PO Mode command: Auxiliary. (line 21) +* auxiliary PO file: Auxiliary. (line 13) +* C-c C-a, PO Mode command <1>: Auxiliary. (line 25) +* C-c C-a, PO Mode command: Subedit. (line 17) +* C-c C-c, PO Mode command: Subedit. (line 11) +* C-c C-k, PO Mode command: Subedit. (line 14) +* C-j, PO Mode command: Modifying Translations. + (line 26) +* commands: Main PO Commands. (line 6) +* comment out PO file entry: Obsolete Entries. (line 47) +* consulting program sources: C Sources Context. (line 6) +* consulting translations to other languages: Auxiliary. (line 6) +* current entry of a PO file: Entry Positioning. (line 6) +* cut and paste for translated strings: Modifying Translations. + (line 74) +* DEL, PO Mode command <1>: Obsolete Entries. (line 32) +* DEL, PO Mode command: Fuzzy Entries. (line 60) +* editing comments: Modifying Comments. (line 6) +* editing multiple entries: Subedit. (line 62) +* editing translations: Modifying Translations. + (line 6) +* etags, using for marking strings: Marking. (line 17) +* exiting PO subedit: Subedit. (line 20) +* F, PO Mode command: Fuzzy Entries. (line 39) +* f, PO Mode command: Fuzzy Entries. (line 39) +* F, PO Mode command: Fuzzy Entries. (line 33) +* f, PO Mode command: Fuzzy Entries. (line 30) +* find source fragment for a PO file entry: C Sources Context. + (line 33) +* h, PO Mode command: Main PO Commands. (line 44) +* installing PO mode: Installation. (line 13) +* K, PO Mode command: Modifying Comments. (line 27) +* k, PO Mode command <1>: Modifying Translations. + (line 30) +* k, PO Mode command: Untranslated Entries. + (line 32) +* LFD, PO Mode command: Modifying Translations. + (line 26) +* looking at the source to aid translation: C Sources Context. + (line 6) +* m, PO Mode command: Entry Positioning. (line 35) +* M-,, PO Mode command: Marking. (line 48) +* M-., PO Mode command: Marking. (line 51) +* M-A, PO Mode command: Auxiliary. (line 32) +* M-S, PO Mode command: C Sources Context. (line 89) +* M-s, PO Mode command: C Sources Context. (line 53) +* M-S, PO Mode command: C Sources Context. (line 49) +* M-s, PO Mode command: C Sources Context. (line 41) +* marking strings for translation: Marking. (line 6) +* moving by fuzzy entries: Fuzzy Entries. (line 24) +* moving by obsolete entries: Obsolete Entries. (line 22) +* moving by translated entries: Translated Entries. (line 12) +* moving by untranslated entries: Untranslated Entries. + (line 18) +* moving through a PO file: Entry Positioning. (line 14) +* n, PO Mode command: Entry Positioning. (line 23) +* next-error, stepping through PO file validation results: Main PO Commands. + (line 99) +* normalize, PO Mode command: Auxiliary. (line 64) +* O, PO Mode command: Obsolete Entries. (line 36) +* o, PO Mode command: Obsolete Entries. (line 36) +* O, PO Mode command: Obsolete Entries. (line 29) +* o, PO Mode command: Obsolete Entries. (line 26) +* obsolete active entry: Obsolete Entries. (line 47) +* p, PO Mode command: Entry Positioning. (line 26) +* pending subedits: Subedit. (line 73) +* po-auto-edit-with-msgid, PO Mode variable: Modifying Translations. + (line 57) +* po-auto-fuzzy-on-edit, PO Mode variable: Translated Entries. + (line 28) +* po-auto-select-on-unfuzzy, PO Mode variable: Fuzzy Entries. (line 44) +* po-confirm-and-quit, PO Mode command: Main PO Commands. (line 62) +* po-consider-as-auxiliary, PO Mode command: Auxiliary. (line 36) +* po-consider-source-path, PO Mode command: C Sources Context. + (line 89) +* po-current-entry, PO Mode command: Entry Positioning. (line 46) +* po-cycle-auxiliary, PO Mode command: Auxiliary. (line 40) +* po-cycle-source-reference, PO Mode command: C Sources Context. + (line 53) +* po-edit-comment, PO Mode command: Modifying Comments. (line 46) +* po-edit-msgstr, PO Mode command: Modifying Translations. + (line 42) +* po-exchange-location, PO Mode command: Entry Positioning. (line 106) +* po-fade-out-entry, PO Mode command <1>: Obsolete Entries. (line 47) +* po-fade-out-entry, PO Mode command: Fuzzy Entries. (line 60) +* po-first-entry, PO Mode command: Entry Positioning. (line 74) +* po-help, PO Mode command: Main PO Commands. (line 83) +* po-ignore-as-auxiliary, PO Mode command: Auxiliary. (line 36) +* po-ignore-source-path, PO Mode command: C Sources Context. (line 89) +* po-kill-comment, PO Mode command: Modifying Comments. (line 60) +* po-kill-msgstr, PO Mode command <1>: Modifying Translations. + (line 74) +* po-kill-msgstr, PO Mode command: Untranslated Entries. + (line 40) +* po-kill-ring-save-comment, PO Mode command: Modifying Comments. + (line 60) +* po-kill-ring-save-msgstr, PO Mode command: Modifying Translations. + (line 74) +* po-last-entry, PO Mode command: Entry Positioning. (line 74) +* po-mark-translatable, PO Mode command: Marking. (line 98) +* po-msgid-to-msgstr, PO Mode command: Modifying Translations. + (line 52) +* po-next-entry, PO Mode command: Entry Positioning. (line 69) +* po-next-fuzzy-entry, PO Mode command: Fuzzy Entries. (line 39) +* po-next-obsolete-entry, PO Mode command: Obsolete Entries. (line 36) +* po-next-translated-entry, PO Mode command: Translated Entries. + (line 23) +* po-next-untranslated-entry, PO Mode command: Untranslated Entries. + (line 35) +* po-normalize, PO Mode command: Normalizing. (line 31) +* po-other-window, PO Mode command: Main PO Commands. (line 72) +* po-pop-location, PO Mode command: Entry Positioning. (line 92) +* po-previous-entry, PO Mode command: Entry Positioning. (line 69) +* po-previous-fuzzy-entry, PO Mode command: Fuzzy Entries. (line 39) +* po-previous-obsolete-entry, PO Mode command: Obsolete Entries. + (line 36) +* po-previous-translated-entry, PO Mode command: Translated Entries. + (line 23) +* po-previous-untransted-entry, PO Mode command: Untranslated Entries. + (line 35) +* po-push-location, PO Mode command: Entry Positioning. (line 92) +* po-quit, PO Mode command: Main PO Commands. (line 62) +* po-select-auxiliary, PO Mode command: Auxiliary. (line 49) +* po-select-mark-and-mark, PO Mode command: Marking. (line 98) +* po-select-source-reference, PO Mode command: C Sources Context. + (line 53) +* po-statistics, PO Mode command: Main PO Commands. (line 87) +* po-subedit-abort, PO Mode command: Subedit. (line 27) +* po-subedit-cycle-auxiliary, PO Mode command: Subedit. (line 35) +* po-subedit-exit, PO Mode command: Subedit. (line 20) +* po-subedit-mode-hook, PO Mode variable: Modifying Comments. (line 57) +* po-tags-search, PO Mode command: Marking. (line 56) +* po-undo, PO Mode command: Main PO Commands. (line 53) +* po-unfuzzy, PO Mode command: Fuzzy Entries. (line 44) +* po-validate, PO Mode command: Main PO Commands. (line 92) +* po-yank-comment, PO Mode command: Modifying Comments. (line 60) +* po-yank-msgstr, PO Mode command: Modifying Translations. + (line 98) +* q, PO Mode command: Main PO Commands. (line 62) +* Q, PO Mode command: Main PO Commands. (line 62) +* q, PO Mode command: Main PO Commands. (line 36) +* Q, PO Mode command: Main PO Commands. (line 33) +* r, PO Mode command: Entry Positioning. (line 39) +* RET, PO Mode command: Modifying Translations. + (line 22) +* S, PO Mode command: C Sources Context. (line 89) +* s, PO Mode command: C Sources Context. (line 53) +* S, PO Mode command: C Sources Context. (line 45) +* s, PO Mode command: C Sources Context. (line 37) +* starting a string translation: Modifying Translations. + (line 63) +* string normalization in entries: Normalizing. (line 30) +* subedit minor mode: Subedit. (line 6) +* T, PO Mode command: Translated Entries. (line 23) +* t, PO Mode command: Translated Entries. (line 23) +* T, PO Mode command: Translated Entries. (line 19) +* t, PO Mode command: Translated Entries. (line 16) +* TAB, PO Mode command: Fuzzy Entries. (line 36) +* TAGS, and marking translatable strings: Marking. (line 31) +* U, PO Mode command: Untranslated Entries. + (line 35) +* u, PO Mode command: Untranslated Entries. + (line 35) +* U, PO Mode command: Untranslated Entries. + (line 28) +* u, PO Mode command: Untranslated Entries. + (line 25) +* use the source, Luke: C Sources Context. (line 6) +* using obsolete translations to make new entries: Modifying Translations. + (line 124) +* using translation compendia: Compendium. (line 6) +* V, PO Mode command: Main PO Commands. (line 50) +* W, PO Mode command: Modifying Comments. (line 31) +* w, PO Mode command: Modifying Translations. + (line 34) +* x, PO Mode command: Entry Positioning. (line 42) +* Y, PO Mode command: Modifying Comments. (line 35) +* y, PO Mode command: Modifying Translations. + (line 38) + + +File: gettext.info, Node: Autoconf Macro Index, Next: Index, Prev: PO Mode Index, Up: Top + +Autoconf Macro Index +******************** + +[index] +* Menu: + +* AM_GNU_GETTEXT: AM_GNU_GETTEXT. (line 6) +* AM_GNU_GETTEXT_INTL_SUBDIR: AM_GNU_GETTEXT_INTL_SUBDIR. + (line 6) +* AM_GNU_GETTEXT_NEED: AM_GNU_GETTEXT_NEED. (line 6) +* AM_GNU_GETTEXT_VERSION: AM_GNU_GETTEXT_VERSION. + (line 6) +* AM_ICONV: AM_ICONV. (line 6) +* AM_PO_SUBDIRS: AM_PO_SUBDIRS. (line 6) +* AM_XGETTEXT_OPTION: AM_XGETTEXT_OPTION. (line 6) + + +File: gettext.info, Node: Index, Prev: Autoconf Macro Index, Up: Top + +General Index +************* + +[index] +* Menu: + +* _, a macro to mark strings for translation: Mark Keywords. (line 45) +* _nl_msg_cat_cntr: gettext grok. (line 62) +* ABOUT-NLS file: Installing Localizations. + (line 13) +* acconfig.h file: acconfig. (line 6) +* accumulating translations: Creating Compendia. (line 14) +* aclocal.m4 file: aclocal. (line 6) +* adding keywords, xgettext: xgettext Invocation. (line 119) +* ambiguities: Preparing Strings. (line 41) +* apply a filter to translations: msgfilter Invocation. + (line 8) +* apply command to all translations in a catalog: msgexec Invocation. + (line 8) +* Arabic digits: c-format. (line 28) +* attribute manipulation: msgattrib Invocation. + (line 8) +* attribute, fuzzy: Fuzzy Entries. (line 6) +* attributes of a PO file entry: Fuzzy Entries. (line 6) +* attributes, manipulating: Manipulating. (line 56) +* autoconf macros for gettext: autoconf macros. (line 6) +* autopoint program, usage: autopoint Invocation. + (line 6) +* auxiliary PO file: Auxiliary. (line 13) +* available translations: Installing Localizations. + (line 6) +* awk: gawk. (line 6) +* awk-format flag: PO Files. (line 149) +* backup old file, and msgmerge program: msgmerge Invocation. (line 65) +* bash: bash. (line 6) +* bibliography: References. (line 6) +* big picture: Overview. (line 6) +* bind_textdomain_codeset: Charset conversion. (line 28) +* Boost format strings: xgettext Invocation. (line 254) +* boost-format flag: PO Files. (line 198) +* bug report address: Introduction. (line 24) +* C and C-like languages: C. (line 6) +* C trigraphs: xgettext Invocation. (line 241) +* C#: C#. (line 6) +* C# mode, and msgfmt program: msgfmt Invocation. (line 36) +* C# mode, and msgunfmt program: msgunfmt Invocation. (line 19) +* C# resources mode, and msgfmt program: msgfmt Invocation. (line 40) +* C# resources mode, and msgunfmt program: msgunfmt Invocation. + (line 23) +* C#, string concatenation: Preparing Strings. (line 168) +* c-format flag: PO Files. (line 90) +* c-format, and xgettext: c-format Flag. (line 48) +* catalog encoding and msgexec output: msgexec Invocation. (line 25) +* catclose, a catgets function: Interface to catgets. + (line 44) +* catgets, a catgets function: Interface to catgets. + (line 25) +* catgets, X/Open specification: catgets. (line 6) +* catopen, a catgets function: Interface to catgets. + (line 13) +* character encoding: Aspects. (line 67) +* charset conversion at runtime: Charset conversion. (line 6) +* charset of PO files: Header Entry. (line 106) +* check format strings: msgfmt Invocation. (line 150) +* checking of translations: Manipulating. (line 41) +* clisp: Common Lisp. (line 6) +* clisp C sources: clisp C. (line 6) +* codeset: Aspects. (line 67) +* comments in PO files: PO Files. (line 307) +* comments, automatic: PO Files. (line 36) +* comments, extracted: PO Files. (line 36) +* comments, translator: PO Files. (line 36) +* Common Lisp: Common Lisp. (line 6) +* compare PO files: msgcmp Invocation. (line 8) +* comparison of interfaces: Comparison. (line 6) +* compatibility with X/Open msgfmt: msgfmt Invocation. (line 183) +* compendium: Compendium. (line 6) +* compendium, creating: Creating Compendia. (line 6) +* concatenate PO files: msgcat Invocation. (line 8) +* concatenating PO files into a compendium: Creating Compendia. + (line 14) +* concatenation of strings: Preparing Strings. (line 117) +* config.h.in file: config.h.in. (line 6) +* context: Contexts. (line 6) +* context, argument specification in xgettext: xgettext Invocation. + (line 119) +* context, in MO files: MO Files. (line 71) +* context, in PO files: PO Files. (line 202) +* control characters: Preparing Strings. (line 190) +* convert binary message catalog into PO file: msgunfmt Invocation. + (line 8) +* convert translations to a different encoding: msgconv Invocation. + (line 8) +* converting a package to use gettext: Prerequisites. (line 6) +* country codes: Country Codes. (line 6) +* create new PO file: msginit Invocation. (line 8) +* creating a new PO file: Creating. (line 6) +* creating compendia: Creating Compendia. (line 6) +* csharp-format flag: PO Files. (line 145) +* currency symbols: Aspects. (line 79) +* date format: Aspects. (line 84) +* dcngettext: Plural forms. (line 161) +* dcpgettext: Contexts. (line 56) +* dcpgettext_expr: Contexts. (line 112) +* debugging messages marked as format strings: xgettext Invocation. + (line 258) +* dialect: Manipulating. (line 28) +* disabling NLS: lib/gettext.h. (line 6) +* distribution tarball: Release Management. (line 6) +* dngettext: Plural forms. (line 153) +* dollar substitution: envsubst Invocation. (line 8) +* domain ambiguities: Ambiguities. (line 6) +* dpgettext: Contexts. (line 56) +* dpgettext_expr: Contexts. (line 112) +* duplicate elimination: Manipulating. (line 45) +* duplicate removal: msguniq Invocation. (line 8) +* editing comments in PO files: Modifying Comments. (line 6) +* Editing PO Files: Editing. (line 6) +* editing translations: Modifying Translations. + (line 6) +* elisp-format flag: PO Files. (line 125) +* Emacs Lisp: Emacs Lisp. (line 6) +* Emacs PO Mode: PO Mode. (line 6) +* encoding: Aspects. (line 67) +* encoding conversion: Manipulating. (line 17) +* encoding conversion at runtime: Charset conversion. (line 6) +* encoding for your language: Header Entry. (line 135) +* encoding list: Header Entry. (line 119) +* encoding of PO files: Header Entry. (line 106) +* environment variables: envsubst Invocation. (line 8) +* envsubst program, usage: envsubst Invocation. (line 6) +* eval_gettext function, usage: eval_gettext Invocation. + (line 6) +* eval_ngettext function, usage: eval_ngettext Invocation. + (line 6) +* evolution of packages: Overview. (line 127) +* extracting parts of a PO file into a compendium: Creating Compendia. + (line 65) +* FDL, GNU Free Documentation License: GNU FDL. (line 6) +* file format, .mo: MO Files. (line 6) +* file format, .po: PO Files. (line 6) +* files, .po and .mo: Files. (line 6) +* files, .pot: Overview. (line 67) +* filter messages according to attributes: msgattrib Invocation. + (line 8) +* find common messages: msgcomm Invocation. (line 8) +* force use of fuzzy entries: msgfmt Invocation. (line 199) +* format strings: c-format Flag. (line 6) +* Free Pascal: Pascal. (line 6) +* function attribute, __format__: xgettext Invocation. (line 205) +* function attribute, __format_arg__: xgettext Invocation. (line 219) +* fuzzy entries: Fuzzy Entries. (line 6) +* fuzzy flag: PO Files. (line 80) +* gawk: gawk. (line 6) +* gcc-internal-format flag: PO Files. (line 177) +* GCC-source: GCC-source. (line 6) +* generate binary message catalog from PO file: msgfmt Invocation. + (line 8) +* generate translation catalog in English: msgen Invocation. (line 8) +* gettext files: Adjusting Files. (line 6) +* gettext installation: Installation. (line 6) +* gettext interface: Interface to gettext. + (line 6) +* gettext program, usage: gettext Invocation. (line 6) +* gettext vs catgets: Comparison. (line 6) +* gettext, a programmer's view: gettext. (line 6) +* gettext.h file: lib/gettext.h. (line 6) +* gettextize program, usage: gettextize Invocation. + (line 34) +* gfc-internal-format flag: PO Files. (line 181) +* GNOME PO file editor: Gtranslator. (line 6) +* GPL, GNU General Public License: GNU GPL. (line 6) +* GUI programs: Contexts. (line 6) +* guile: Scheme. (line 6) +* hash table, inside MO files: MO Files. (line 55) +* he, she, and they: Introduction. (line 15) +* header entry of a PO file: Header Entry. (line 6) +* help option: Preparing Strings. (line 109) +* history of GNU gettext: History. (line 6) +* i18n: Concepts. (line 6) +* importing PO files: Normalizing. (line 55) +* include file libintl.h <1>: lib/gettext.h. (line 29) +* include file libintl.h <2>: Comparison. (line 33) +* include file libintl.h <3>: Importing. (line 11) +* include file libintl.h: Overview. (line 57) +* initialization: Triggering. (line 6) +* initialize new PO file: msginit Invocation. (line 8) +* initialize translations from a compendium: Using Compendia. (line 12) +* installing gettext: Installation. (line 6) +* interface to catgets: Interface to catgets. + (line 6) +* internationalization: Concepts. (line 16) +* inttypes.h: Preparing Strings. (line 133) +* ISO 3166: Country Codes. (line 6) +* ISO 639: Language Codes. (line 6) +* Java: Java. (line 6) +* Java mode, and msgfmt program: msgfmt Invocation. (line 30) +* Java mode, and msgunfmt program: msgunfmt Invocation. (line 16) +* Java, string concatenation: Preparing Strings. (line 168) +* java-format flag: PO Files. (line 141) +* KDE format strings: xgettext Invocation. (line 250) +* KDE PO file editor: KBabel. (line 6) +* kde-format flag: PO Files. (line 194) +* keyboard accelerator checking: msgfmt Invocation. (line 187) +* l10n: Concepts. (line 6) +* language codes: Language Codes. (line 6) +* language selection: Locale Environment Variables. + (line 6) +* language selection at runtime: gettext grok. (line 14) +* large package: Ambiguities. (line 6) +* LGPL, GNU Lesser General Public License: GNU LGPL. (line 6) +* libiconv library: AM_ICONV. (line 21) +* libintl for C#: C#. (line 178) +* libintl for Java: Java. (line 105) +* libintl library: AM_GNU_GETTEXT. (line 53) +* librep Lisp: librep. (line 6) +* librep-format flag: PO Files. (line 129) +* License, GNU FDL: GNU FDL. (line 6) +* License, GNU GPL: GNU GPL. (line 6) +* License, GNU LGPL: GNU LGPL. (line 6) +* Licenses: Licenses. (line 6) +* LINGUAS file: po/LINGUAS. (line 6) +* link with libintl: Overview. (line 62) +* Linux <1>: Header Entry. (line 132) +* Linux <2>: Overview. (line 62) +* Linux: Aspects. (line 125) +* Lisp: Common Lisp. (line 6) +* lisp-format flag: PO Files. (line 121) +* list of translation teams, where to find: Header Entry. (line 59) +* locale categories: Aspects. (line 61) +* locale category, LC_ALL: Triggering. (line 23) +* locale category, LC_COLLATE: Triggering. (line 53) +* locale category, LC_CTYPE <1>: Triggering. (line 23) +* locale category, LC_CTYPE: Aspects. (line 67) +* locale category, LC_MESSAGES <1>: Triggering. (line 53) +* locale category, LC_MESSAGES: Aspects. (line 108) +* locale category, LC_MONETARY <1>: Triggering. (line 53) +* locale category, LC_MONETARY: Aspects. (line 79) +* locale category, LC_NUMERIC <1>: Triggering. (line 53) +* locale category, LC_NUMERIC: Aspects. (line 94) +* locale category, LC_RESPONSES: Triggering. (line 53) +* locale category, LC_TIME <1>: Triggering. (line 53) +* locale category, LC_TIME: Aspects. (line 84) +* locale program: Header Entry. (line 112) +* localization: Concepts. (line 26) +* lookup message translation <1>: eval_gettext Invocation. + (line 8) +* lookup message translation: gettext Invocation. (line 9) +* lookup plural message translation <1>: eval_ngettext Invocation. + (line 8) +* lookup plural message translation: ngettext Invocation. (line 8) +* magic signature of MO files: MO Files. (line 9) +* Makefile.in.in extensions: po/Rules-*. (line 6) +* Makevars file: po/Makevars. (line 6) +* manipulating PO files: Manipulating. (line 6) +* marking Perl sources: Perl. (line 93) +* marking string initializers: Special cases. (line 6) +* marking strings that require translation: Mark Keywords. (line 6) +* marking strings, preparations: Preparing Strings. (line 6) +* marking translatable strings: Overview. (line 34) +* markup: Preparing Strings. (line 190) +* menu entries: Contexts. (line 6) +* menu, keyboard accelerator support: msgfmt Invocation. (line 187) +* merge PO files: msgcat Invocation. (line 8) +* merging two PO files: Manipulating. (line 10) +* message catalog files location: Locating Catalogs. (line 6) +* messages: Aspects. (line 108) +* migration from earlier versions of gettext: Prerequisites. (line 6) +* mkinstalldirs file: mkinstalldirs. (line 6) +* mnemonics of menu entries: msgfmt Invocation. (line 187) +* MO file's format: MO Files. (line 6) +* modify message attributes: msgattrib Invocation. + (line 62) +* msgattrib program, usage: msgattrib Invocation. + (line 6) +* msgcat program, usage: msgcat Invocation. (line 6) +* msgcmp program, usage: msgcmp Invocation. (line 6) +* msgcomm program, usage: msgcomm Invocation. (line 6) +* msgconv program, usage: msgconv Invocation. (line 6) +* msgctxt: PO Files. (line 202) +* msgen program, usage: msgen Invocation. (line 6) +* msgexec program, usage: msgexec Invocation. (line 6) +* msgfilter filter and catalog encoding: msgfilter Invocation. + (line 53) +* msgfilter program, usage: msgfilter Invocation. + (line 6) +* msgfmt program, usage: msgfmt Invocation. (line 6) +* msggrep program, usage: msggrep Invocation. (line 6) +* msgid: PO Files. (line 56) +* msgid_plural: PO Files. (line 222) +* msginit program, usage: msginit Invocation. (line 6) +* msgmerge program, usage: msgmerge Invocation. (line 6) +* msgstr: PO Files. (line 56) +* msgunfmt program, usage: msgunfmt Invocation. (line 6) +* msguniq program, usage: msguniq Invocation. (line 6) +* multi-line strings: Normalizing. (line 65) +* N_, a convenience macro: Comparison. (line 41) +* Native Language Support: Concepts. (line 51) +* Natural Language Support: Concepts. (line 51) +* newlines in PO files: PO Files. (line 302) +* ngettext: Plural forms. (line 84) +* ngettext program, usage: ngettext Invocation. (line 6) +* NLS: Concepts. (line 51) +* no-awk-format flag: PO Files. (line 150) +* no-boost-format flag: PO Files. (line 199) +* no-c-format flag: PO Files. (line 91) +* no-c-format, and xgettext: c-format Flag. (line 48) +* no-csharp-format flag: PO Files. (line 146) +* no-elisp-format flag: PO Files. (line 126) +* no-gcc-internal-format flag: PO Files. (line 178) +* no-gfc-internal-format flag: PO Files. (line 182) +* no-java-format flag: PO Files. (line 142) +* no-kde-format flag: PO Files. (line 195) +* no-librep-format flag: PO Files. (line 130) +* no-lisp-format flag: PO Files. (line 122) +* no-objc-format flag: PO Files. (line 110) +* no-object-pascal-format flag: PO Files. (line 154) +* no-perl-brace-format flag: PO Files. (line 170) +* no-perl-format flag: PO Files. (line 166) +* no-php-format flag: PO Files. (line 174) +* no-python-format flag: PO Files. (line 118) +* no-qt-format flag: PO Files. (line 187) +* no-qt-plural-format flag: PO Files. (line 191) +* no-scheme-format flag: PO Files. (line 134) +* no-sh-format flag: PO Files. (line 114) +* no-smalltalk-format flag: PO Files. (line 138) +* no-tcl-format flag: PO Files. (line 162) +* no-ycp-format flag: PO Files. (line 158) +* nplurals, in a PO file header: Plural forms. (line 178) +* number format: Aspects. (line 94) +* objc-format flag: PO Files. (line 109) +* Object Pascal: Pascal. (line 6) +* object-pascal-format flag: PO Files. (line 153) +* obsolete entries: Obsolete Entries. (line 6) +* optimization of gettext functions: Optimized gettext. (line 6) +* orthography: Manipulating. (line 28) +* outdigits: c-format. (line 28) +* output to stdout, xgettext: xgettext Invocation. (line 48) +* overview of gettext: Overview. (line 6) +* package and version declaration in configure.ac: configure.ac. + (line 9) +* package build and installation options: Installers. (line 6) +* package distributor's view of gettext: Installers. (line 6) +* package installer's view of gettext: Installers. (line 6) +* package maintainer's view of gettext: Maintainers. (line 6) +* paragraphs: Preparing Strings. (line 101) +* Pascal: Pascal. (line 6) +* Perl: Perl. (line 6) +* Perl default keywords: Default Keywords. (line 6) +* Perl invalid string interpolation: Interpolation I. (line 6) +* Perl long lines: Long Lines. (line 6) +* Perl parentheses: Parentheses. (line 6) +* Perl pitfalls: Perl Pitfalls. (line 6) +* Perl quote-like expressions: Quote-like Expressions. + (line 6) +* Perl special keywords for hash-lookups: Special Keywords. (line 6) +* Perl valid string interpolation: Interpolation II. (line 6) +* perl-brace-format flag: PO Files. (line 169) +* perl-format flag: PO Files. (line 165) +* pgettext: Contexts. (line 33) +* pgettext_expr: Contexts. (line 112) +* PHP: PHP. (line 6) +* php-format flag: PO Files. (line 173) +* Pike: Pike. (line 6) +* plural form formulas: Plural forms. (line 198) +* plural forms: Plural forms. (line 6) +* plural forms, in MO files: MO Files. (line 74) +* plural forms, in PO files: PO Files. (line 222) +* plural forms, translating: Translating plural forms. + (line 6) +* plural, in a PO file header: Plural forms. (line 178) +* PO files' format: PO Files. (line 6) +* PO mode (Emacs) commands: Main PO Commands. (line 6) +* PO template file: Template. (line 6) +* po_file_domains: libgettextpo. (line 41) +* po_file_free: libgettextpo. (line 36) +* po_file_read: libgettextpo. (line 30) +* po_message_iterator: libgettextpo. (line 50) +* po_message_iterator_free: libgettextpo. (line 57) +* po_message_msgid: libgettextpo. (line 70) +* po_message_msgid_plural: libgettextpo. (line 75) +* po_message_msgstr: libgettextpo. (line 80) +* po_message_msgstr_plural: libgettextpo. (line 86) +* po_next_message: libgettextpo. (line 62) +* portability problems with sed: msgfilter Invocation. + (line 64) +* POTFILES.in file: po/POTFILES.in. (line 6) +* preparing programs for translation: Sources. (line 6) +* preparing shell scripts for translation: Preparing Shell Scripts. + (line 6) +* problems with catgets interface: Problems with catgets. + (line 6) +* programming languages: Language Implementors. + (line 6) +* Python: Python. (line 6) +* python-format flag: PO Files. (line 117) +* Qt format strings: xgettext Invocation. (line 246) +* Qt mode, and msgfmt program: msgfmt Invocation. (line 46) +* qt-format flag: PO Files. (line 186) +* qt-plural-format flag: PO Files. (line 190) +* quotation marks <1>: po/Rules-*. (line 11) +* quotation marks: Header Entry. (line 186) +* quote characters, use in PO files: Header Entry. (line 186) +* range: flag: PO Files. (line 253) +* recode-sr-latin program: msgfilter Invocation. + (line 92) +* related reading: References. (line 6) +* release: Release Management. (line 6) +* RST: RST. (line 6) +* Scheme: Scheme. (line 6) +* scheme-format flag: PO Files. (line 133) +* scripting languages: Language Implementors. + (line 6) +* search messages in a catalog: msggrep Invocation. (line 8) +* selecting message language: Locale Environment Variables. + (line 6) +* sentences: Preparing Strings. (line 44) +* setting up gettext at build time: Installers. (line 6) +* setting up gettext at run time: Locale Environment Variables. + (line 6) +* several domains: Ambiguities. (line 6) +* sex: Introduction. (line 15) +* sh-format flag: PO Files. (line 113) +* she, he, and they: Introduction. (line 15) +* shell format string: envsubst Invocation. (line 8) +* shell scripts: sh. (line 6) +* Smalltalk: Smalltalk. (line 6) +* smalltalk-format flag: PO Files. (line 137) +* sorting msgcat output: msgcat Invocation. (line 151) +* sorting msgmerge output: msgmerge Invocation. (line 187) +* sorting msgunfmt output: msgunfmt Invocation. (line 153) +* sorting output of xgettext: xgettext Invocation. (line 328) +* specifying plural form in a PO file: Plural forms. (line 178) +* standard output, and msgcat: msgcat Invocation. (line 47) +* standard output, and msgmerge program: msgmerge Invocation. (line 56) +* string concatenation: Preparing Strings. (line 117) +* string normalization in entries: Normalizing. (line 6) +* style: Preparing Strings. (line 24) +* supported languages, xgettext: xgettext Invocation. (line 56) +* Tcl: Tcl. (line 6) +* Tcl mode, and msgfmt program: msgfmt Invocation. (line 43) +* Tcl mode, and msgunfmt program: msgunfmt Invocation. (line 26) +* tcl-format flag: PO Files. (line 161) +* template PO file: Overview. (line 67) +* testing .po files for equivalence: xgettext Invocation. (line 338) +* Tk's scripting language: Tcl. (line 6) +* translated entries: Translated Entries. (line 6) +* translating menu entries: Contexts. (line 6) +* translation aspects: Aspects. (line 6) +* Translation Matrix: Installing Localizations. + (line 6) +* Translation Project: Why. (line 17) +* turning off NLS support: lib/gettext.h. (line 6) +* tutorial of gettext usage: Overview. (line 6) +* unify duplicate translations: msguniq Invocation. (line 8) +* untranslated entries: Untranslated Entries. + (line 6) +* update translations from a compendium: Using Compendia. (line 20) +* upgrading to new versions of gettext: Prerequisites. (line 6) +* version control for backup files, msgmerge: msgmerge Invocation. + (line 71) +* wxWidgets library: wxWidgets. (line 6) +* xargs, and output from msgexec: msgexec Invocation. (line 14) +* xgettext program, usage: xgettext Invocation. (line 6) +* xmodmap program, and typing quotation marks: Header Entry. (line 198) +* YaST2 scripting language: YCP. (line 6) +* YCP: YCP. (line 6) +* ycp-format flag: PO Files. (line 157) + + + +Tag Table: +Node: Top2956 +Node: Introduction17401 +Node: Why19024 +Ref: Why-Footnote-122238 +Node: Concepts22394 +Node: Aspects25815 +Node: Files32349 +Node: Overview34258 +Node: Users44194 +Node: System Installation45105 +Node: Setting the GUI Locale46797 +Node: Setting the POSIX Locale48173 +Node: Locale Names49112 +Node: Locale Environment Variables51517 +Node: The LANGUAGE variable53730 +Node: Installing Localizations55630 +Node: PO Files56985 +Ref: PO Files-Footnote-169122 +Node: Sources69249 +Node: Importing70475 +Node: Triggering71158 +Node: Preparing Strings74358 +Node: Mark Keywords83401 +Node: Marking87861 +Node: c-format Flag95591 +Node: Special cases99510 +Node: Bug Report Address102253 +Node: Names104218 +Node: Libraries108503 +Node: Template111540 +Node: xgettext Invocation112265 +Node: Creating127823 +Node: msginit Invocation128708 +Node: Header Entry131610 +Node: Updating140573 +Node: msgmerge Invocation140788 +Node: Editing146578 +Node: KBabel146936 +Node: Gtranslator147074 +Node: PO Mode147216 +Node: Installation148870 +Node: Main PO Commands150834 +Node: Entry Positioning155922 +Node: Normalizing161390 +Node: Translated Entries165884 +Node: Fuzzy Entries167242 +Node: Untranslated Entries170423 +Node: Obsolete Entries172355 +Node: Modifying Translations175580 +Node: Modifying Comments183549 +Node: Subedit187976 +Node: C Sources Context191872 +Node: Auxiliary196996 +Node: Compendium200212 +Node: Creating Compendia200827 +Node: Using Compendia203311 +Node: Manipulating204251 +Node: msgcat Invocation208079 +Node: msgconv Invocation212833 +Node: msggrep Invocation216288 +Node: msgfilter Invocation222446 +Node: msguniq Invocation228985 +Node: msgcomm Invocation233150 +Node: msgcmp Invocation237471 +Node: msgattrib Invocation239628 +Node: msgen Invocation244589 +Node: msgexec Invocation248441 +Node: Colorizing251020 +Node: The --color option252049 +Node: The TERM variable253681 +Node: The --style option255133 +Node: Style rules256441 +Node: Customizing less263183 +Node: libgettextpo264586 +Node: Binaries269702 +Node: msgfmt Invocation270046 +Node: msgunfmt Invocation277198 +Node: MO Files281636 +Node: Programmers290214 +Node: catgets291396 +Node: Interface to catgets292810 +Node: Problems with catgets294819 +Node: gettext295734 +Node: Interface to gettext297237 +Node: Ambiguities299567 +Node: Locating Catalogs302282 +Ref: Locating Catalogs-Footnote-1303512 +Ref: Locating Catalogs-Footnote-2303738 +Node: Charset conversion303887 +Node: Contexts306341 +Node: Plural forms311847 +Ref: Plural forms-Footnote-1327784 +Node: Optimized gettext327906 +Node: Comparison329245 +Node: Using libintl.a333515 +Node: gettext grok333958 +Node: Temp Programmers336599 +Node: Temp Implementations337127 +Node: Temp catgets338507 +Node: Temp WSI340208 +Node: Temp Notes342210 +Node: Translators342713 +Node: Trans Intro 0343248 +Node: Trans Intro 1345997 +Node: Discussions347961 +Node: Organization351619 +Node: Central Coordination353695 +Node: National Teams354838 +Node: Sub-Cultures357365 +Node: Organizational Ideas358302 +Node: Mailing Lists359323 +Node: Information Flow361146 +Node: Translating plural forms363400 +Node: Prioritizing messages366769 +Node: Maintainers371076 +Node: Flat and Non-Flat373032 +Node: Prerequisites374525 +Node: gettextize Invocation378682 +Node: Adjusting Files386091 +Node: po/POTFILES.in387880 +Node: po/LINGUAS389129 +Node: po/Makevars390821 +Node: po/Rules-*391763 +Node: configure.ac393234 +Node: config.guess396256 +Node: mkinstalldirs397611 +Node: aclocal398016 +Node: acconfig400030 +Node: config.h.in400530 +Node: Makefile401998 +Node: src/Makefile404595 +Node: lib/gettext.h409316 +Node: autoconf macros411564 +Node: AM_GNU_GETTEXT412406 +Node: AM_GNU_GETTEXT_VERSION416371 +Node: AM_GNU_GETTEXT_NEED416826 +Node: AM_GNU_GETTEXT_INTL_SUBDIR417719 +Node: AM_PO_SUBDIRS418374 +Node: AM_XGETTEXT_OPTION419169 +Node: AM_ICONV420039 +Node: CVS Issues422254 +Node: Distributed CVS422845 +Node: Files under CVS424773 +Node: autopoint Invocation428049 +Node: Release Management429893 +Node: Installers430406 +Node: Programming Languages431633 +Node: Language Implementors432459 +Node: Programmers for other Languages437287 +Node: Translators for other Languages437871 +Node: c-format439568 +Node: objc-format441287 +Node: sh-format441642 +Node: python-format442447 +Node: lisp-format442888 +Node: elisp-format443217 +Node: librep-format443710 +Node: scheme-format444113 +Node: smalltalk-format444392 +Node: java-format444895 +Node: csharp-format445346 +Node: awk-format445724 +Node: object-pascal-format446052 +Node: ycp-format446438 +Node: tcl-format446840 +Node: perl-format447138 +Node: php-format447886 +Node: gcc-internal-format448254 +Node: gfc-internal-format449309 +Node: qt-format450006 +Node: qt-plural-format450447 +Node: kde-format450802 +Node: boost-format451215 +Node: Maintainers for other Languages451763 +Node: List of Programming Languages453001 +Node: C454284 +Node: sh455584 +Node: Preparing Shell Scripts456858 +Node: gettext.sh460250 +Node: gettext Invocation460800 +Node: ngettext Invocation462724 +Node: envsubst Invocation464485 +Node: eval_gettext Invocation465906 +Node: eval_ngettext Invocation466367 +Node: bash466881 +Node: Python468860 +Node: Common Lisp471183 +Node: clisp C471983 +Node: Emacs Lisp472698 +Node: librep473424 +Node: Scheme474159 +Node: Smalltalk474943 +Node: Java475977 +Node: C#481773 +Node: gawk490999 +Node: Pascal491911 +Node: wxWidgets493219 +Node: YCP494126 +Node: Tcl494865 +Node: Perl496275 +Node: General Problems499283 +Node: Default Keywords504771 +Node: Special Keywords505726 +Node: Quote-like Expressions507242 +Node: Interpolation I509520 +Node: Interpolation II513313 +Node: Parentheses515681 +Node: Long Lines517202 +Node: Perl Pitfalls519050 +Node: PHP523295 +Node: Pike524226 +Node: GCC-source524887 +Node: List of Data Formats525634 +Node: POT526103 +Node: RST526361 +Node: Glade526587 +Node: Conclusion526947 +Node: History527453 +Node: References531723 +Node: Language Codes533370 +Node: Usual Language Codes533885 +Node: Rare Language Codes538247 +Node: Country Codes539916 +Node: Licenses545805 +Node: GNU GPL547650 +Node: GNU LGPL566833 +Node: GNU FDL594972 +Node: Program Index617361 +Node: Option Index619247 +Node: Variable Index668348 +Node: PO Mode Index671605 +Node: Autoconf Macro Index685441 +Node: Index686248 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/mingw/share/locale/be/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/be/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..d6167a7a38d3df28e7dc0b814fb6c20b6dadc4e3 GIT binary patch literal 5784 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 R^*?kjc}{u244&uNe*vt%cUu4e literal 0 HcwPel00001 diff --git a/mingw/share/locale/be/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/be/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..8f7da48d3c2eaa48e68805cda00decc8bcb2d6a8 GIT binary patch literal 31604 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 literal 0 HcwPel00001 diff --git a/mingw/share/locale/bg/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/bg/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..f3ca7f770a59b8d72da0bfc495f67cbe0e7632f9 GIT binary patch literal 11891 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 F`!@g))@T3# literal 0 HcwPel00001 diff --git a/mingw/share/locale/bg/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/bg/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..a98e53a665957fb721ad1298ddab098db7b240e4 GIT binary patch literal 129642 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 literal 0 HcwPel00001 diff --git a/mingw/share/locale/ca/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/ca/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..291bfd8a24069ed35545ca51bc714e0d43e34c78 GIT binary patch literal 8430 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 literal 0 HcwPel00001 diff --git a/mingw/share/locale/cs/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/cs/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..8c23854fde0e94eff425461c5b8af0081f83adb7 GIT binary patch literal 1054 zcwS9XOK;RL5H@U~5Q$fXfCETFr7a-j#o4y7q}@^|EviHxD%pNlu z(L-ECoI6FxCFEPkH;^gvW#l>JE6D4}7m-8cA>>`;ABeXIihfcdhDz2PvMRTv+L2%~V?_)?Yo*D$4y_duHZrIh6cxL$(+ML1TJUx#0~oHF zVG;{WnSt2t@D$_QBo2+q|8gCqv5?jfW4UZ|-Ntj1)Do){#9U@46w6w@5x%AKZMr73 z!MZ$nvA7C>z#?`nu$s$iqYY<8BuZPlV1lqspQVAJE#<*R8qh$d^gun0c1`KPSzc<< z87wyMlRoEGcu;39qwFDNW58T*{Ly_@XAFgOMQn%Wq>j0iHK^MFcigMjOWjLuENy8n zO~kFz9;`)p6LF|vA@n;DOdk5R!k;#xD|uY=yHgk{gOmq?wgitonCS|?1Czd)j>5dw zV}S?0aTewmW{+>etubdtNqi1GJxfrMxA`E6cqk{p?{IB|ZO*@1qK(G*V_H8J=cR56 zO=qRA@+b44u@PElIZ8E;=o}7#@jxbpYnr1IP@2uVvg)#C(}j@{$W3;;>ALU)7nrx2cW)Zrn95(V+U{Ya*#;+1)8gi<#v#Q9#)q(v?e@!gOnChJGi+!3LMJ`R3sL`Q b)Uu;tME$n0X+rS)DEtJmR2_As`$zr*8L%ex literal 0 HcwPel00001 diff --git a/mingw/share/locale/cs/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/cs/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..252f7f1adef01c1bdd776273ffcc1b5930616bfb GIT binary patch literal 8052 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 literal 0 HcwPel00001 diff --git a/mingw/share/locale/da/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/da/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..dab37f26fa3b1e25d06abf0331c2e76e385841c8 GIT binary patch literal 5431 zcwX&S&2J<}6)!>{(1awLIO0PfRaRQ;1^4XOuw-|39rnZCWfXtO9&dtHMyZ*u=_z-2 zRa4bHn>len95`{xf4~t5I3Xd9zyT?z+#?|rOSy5}6YzW0J)X8>J0yZjLQ6fbr|W&c zSFe8k?($jjUJ;B)TK>vaJozF5R@%~SrW2^)E?awpz zHN2Og?}GmHDZIn`AAgatZ-M>-bdL0ZUI+a%XczQfpwEJK1IE4z`XkWiKrQG6(4T=m z1Nv4_`SvT&Uqb)yK`+9e`%g3WNBlnk(>~VcA-n|obI=!w5A<)KZ(peF{^kY7LeTeL zsPumYPW=G%GUzs_nydWz!(8RhUqQbP`uDlY{y*m`|1P{(#d8s~P7!+&_tR{4Ar?Pc`J8t0_{$kY4s>R@r{G!NWKYqeUKuk;#P8E4{VXd#hU; zx4WC1b1Mt0@n>o}dqq!M!XEMBT z1CdMa7F}X}~BZ^`q)BL1dq+Fhg2`@&< zanB%h1ZPx1Vh>1cEUowJG_mQL(y*JsCY~D#9?o*Gf86dz%ihNB{qAb@8*Z=f?c83U z>Nygxc@~_~ahVExnO`|Bu#l&v6)C0T?$+LBkDqo8M#ebgyjF6hlA)w#ye}M_M1Ve5 zW096JU>~zX+$W|*j`v05a%G-dL`%`bijKLKk3i*ry|Jpw*VlQCH82()0mx3mxuM~3=DRnS-sq#i44 zbS8CyhPTSM;Y@Rj^V-@`hD9M#6Hg5dO^KQ*?Uh;S_Y_KO<)AQjvWSWrtXQ6!K^4Ld=W?Ki3a&g-#mHM|xDuS=%4&C~73>yh5n&^22w?}KnWYZD~nX;f{Xje!PK_hK~=@1N>SwPWJL=P9IsS>uii$AoyJ2E%6;Qcc8wr}Dg zjCC2tvY=gZ3(qZM<5#dpdUnF!xa8`AH}5B6hS}I0H(=Y-i8hZkcN2J@acQlwY>!+g zi~Ql%cCWjI0d&eVI(GE<^Cmb|@`IxLfw3K$K}|js>tVIpYQeGBtU^p^hzYpx-+P7$ zqfmK^Jkzwjc*$L4nM7C<>+vmm5I4&R+Y}nf)&PaRC?0j*tX^Xi4MC_ z_@Elg9bPAuw_8g~t*b$m`*6d>DhltQ0%6Z|_!$)lwzqoWUHD094p&j!4qt9BwZr!J z!}j-hd#Q8vuvfPVrSDalMtoOg zMmwbGW`e)BqNFV2R+PK~_G+AlJt?vdUlm%p5x*HhKDm{oDmup1;gJY7x*Kb==$BgU z;I7dq0nAQvuuyzJ3z!%;03w8SvRLWvZiUybUA-PI&6vr@p|s(e9vCW9hhGc(IMTK~ z&g;2 z3f|y57j1|HXU_YUHbr65MEiCba+JYM5l84`f&zB$ID>)cBt>y9#++(9nRxa9j@8Xm$kY)!Aq)a6kcgBZfb}j`_WIH#G6K(t z;+eurysO|P;3Q6l{5=kNbWE$#u98HCQpeDq95Y2~5mQ4mBz{Pm8y<#7unDZB3TTCZ zlUsy2Iw^6!6MQ<C8Ks$2x_ zFd7S;D*9YhY0bUp`K13+z%Rz}Kw96Mm4AFZ68yON;0y>E&a}$H;{*3N_I)mG1vfrT zS=oHgQaj_Dmuv%!^lceaWF{Xz#_pZMM}!YR7}LiopZCBqOe)}LBmmV0IZ?w3X|Y}V zDIBm>F#Qy0GBLUG!+=J>5i%*G2%)rimlK9ToJTE7`~GNx(JpAFgTB$@>AtL!@lh(g zBXUADH0R_&>NionWyrhp@a49BJm&K!0Okb#QE31(4Ir~4TmEBjFTuPhYLrQ)*d3&| z0*bxv`h(l+_xI13L?=&@+ne|eYWWiiPSvm<$TY12ZtxP^oHBU8xtmygQ~Me10jE#M z7+5_$bkpgNc;}ffWkxZkGD0VeN@@TaEo@eK0+=zZ9%0WARihHKd!|~HjXq)j2KeWB A?f?J) literal 0 HcwPel00001 diff --git a/mingw/share/locale/da/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/da/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..e340f6e3f649ba3740f83c28b7d1961703002a34 GIT binary patch literal 31664 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 literal 0 HcwPel00001 diff --git a/mingw/share/locale/de/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/de/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..b0a6128d845ceda0d826b2e580c01936b8f6b503 GIT binary patch literal 8696 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 literal 0 HcwPel00001 diff --git a/mingw/share/locale/de/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/de/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..ad0081c974b6dea69af398278f8844e541bfd791 GIT binary patch literal 101583 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�S=$0KK9P$Vjmf+KlkUbc7C&8pzWq$sDuUx&9lr-)_Avx4&au zjP3QqZR_=H4G=y8%gdMDiMwEkJN1wB(1#tY*!(Y#y4~)hPH%}^LN#s!-tAV?KczL^ zu}h2hVrmzWb<}vtOwLEz2Nxx|&J-0Fp)Lf}h)wjCT?Z#AYbY#A)1Hl~zjGHHZKk@= zU0MUAZeo70qjM&-jAg~ndPaa%j-OB9Qez{#coRKe1A<}&*%FI~L+rM%6-@QIA+r56O?OuTg zl<#HE&dd4i90xJ0TypRn4UW$i7oPGLe`}U)nSZnOw*P8(=Wt_pXaDW)w!1*{A$J~$ z!_mR4;o&~3q^Vgi&POBl+>-4%6-_KLx*ZCmcu<+iQ8l-Qw}{y25{}L#tk)$yQbo(eheXzssG{ZHTh@~E`0{HvXTD^;v=mi==57Qe7jFKmF?KTQ*N`?s zS-dd$bGC2cGhHp&|7)Q7gFG<_#ZHFvAfQXfT{j&L50u;wdj9p7No^6Y>PnKK3& zq{N+FM?DxC%UJJ1%|Tz*$F+mDOLu0?pQfra4$I(l!A#6c6EPy{F!7Cql6=tXl=7KW&tCR+zD2GAdbibUOXX+1gZ}2*gN@g= zt`VNAfZ>JDZhnJ3t^)0IY1y^OA}C5Dv8=F?Wvtvd%GWwD&8(xCRXU_E&SyZ^RMF+8 z8o#VnC|=sG=RpY&Ha5i&qF|o}Y~HG`TT`ix{8V0Ve8B`Y2C1brm3-DFoNt9{uv+b6 zN`jN+5BqQSHebEXKK*MnDpkMoHbo>ffNXtB(vxoe`-v2fLQ&SL=#9(yh)f;##=fd2 zS6fp2HAmqD4vCG=Y_egzaw6A_O55>qrVkI1OD0)wjBzhFYcBV>DTOX9m^#23rUge(Ipp?zXs3dkesta%2Rbl9uf3qJrJBKvc&>Qxws@fE>`1At*jFWH9>~X3JVgDND$|ykg4Z_V1%?BHmm)v5 z4Dq+B^n~onPrm{gAU8dpbpgaRu;GWEia#)JGWLYdnpB8HmD00gXqL~&x12Hg`f>_b zQm6d1*fy1_uzI?Ni2_%6$Vizca-52$;r2-fYfqvbY%|@rM3!W42z$4+(Q)I3xB7eg zJrV^%QCf;|KT!_J_U5kbFS*3QmuPt{5&kavM)(yOIAY3Azk|4nOG~H+%GOm5Uy|GL z7LoR0V}2t6d!-;8TjUQPho^=X9Svc0Jb0MSUNpzZdCAiHOZlCH?I_<*w90FhkL29B zbsK&kpf^IyDN^u?{#q~iUhWa5Q!}9Xw3N`YA& zzLzTyk@#4mybu3LTG!z*w65m5^TCWhrEBZf4M@8SEUYImv##ecaCJ6@o6Gq!?`_mL z_~&{4^=m$wAv|}UH50+X|H5k<8k~ch);vAb(z?5p%)6w;^Tu+;AMG|5o-J7`oJd#&40J0T4F2jW2wXhXE(aPMK0MYa1 z11y-8rg!zXo57nhH2ThO8qG|8i#IKzRBB1Fdx;Ge55ojH~L0XS-STr%#C-9|J=w-^9Jvkto(_2oL^l^O`g2!aZ&TbJt-3B+7mjs z?@74j`&r98WvoiH4(>e*L3#*|LD^N41U>2v3*92(wU$fUqSL|o%LZIRS}w14bxEey z1>2f*#!4(hH*-F6c*s5R6VF^0Xvl4k8tW-E97LV?p-O+2q+eC77rTc>Z1SJFUSf4l9E1ubIWJBSh{!i#aO>i}9s;<~H{rGOE=A{sQM1*uMqge2 zRp|I$%b$JuvvKvCC9?hd)o%ePA8K6IBp46OfNY!7shJDwJgxO|aEc+A>5aW3gAopn zVxM*fY(awVXJfCaZ7o*#V(x|8L@6D+ScgB*2?LszR8pQs3)YE?CPwOLFcJSDTdNE$ z(yi^e+dNp`mDQrbwhJ|_0`~e$Ei!A`SRL3yr5tBkO2vcK2^9`zDm9W=sN(bwh+c-g zPDhSmy|f_?up;s-fnjH z(kY$=l5OO+Ho1O{?q0pAHndm35LJ*BY#|!q{`OfxwSC>*)m-t4QSzAiIsoR7pdtQV z`3l&Yk=!o)2-nw3YIM8Zq!RObf{!$ekvK6-B>~Q~E4_d>_q>-SPNR^y%+mhfu*T_;5X(67Bbh69 z?Gz72iw_@ue3)NXM~(&F7x$L;=Oq*h}D}zy%L0~Co&A+Y}pFarz_n~p)UAJvD zp9!t=4H{_r+VuoJ4phDDbTD#ddo-J{=r=DeBv?;4{TACrZ h>YU@$?O`eiSuVj!`1Cttqfz_QucSe^Br|9=`!^1W*i!%i literal 0 HcwPel00001 diff --git a/mingw/share/locale/el/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/el/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..f549df777ec7c3b807e94f0c58e82bfc4f331432 GIT binary patch literal 959 zcwT*y-A)rh6vs!!kJQ8ultdFvjwJXIGiA4cl*Jk%q9KA1D0<_CTRLo4c4wQJsn~m8 z!5iWmc<&47g}y_DY_K7v-E7Mi5)({3OEJ|OC;9Jh=Hx$f&di>T-k$da#~IW$)JxP^ z)CbZTUr{$v-%yuPP1JeR$zz0ELG~dpB9q8-$O&XGat^tU%AtmF{p&a(SCOd`9nK)H zBUg}p$alyK$aUl;0O)A1)O%J6DH0;L7!6mP+bC&2Xt z1DoU2HI?o0WP&X5Rqm~EkY%Zu3rq-4kQc&MigC!5VL+nkFbZo0+hHJ>nYXzG{R6U} zxVDt>!W34?Wn4)jmC5s_$YYvfNfG6F;F`Srmt$Udui3Jq(|P)w35jJG@Z{MNSPXN% zRiGtxEjcutSYSm@C^{=GJ5L{$EJ?GT0lAVzEncEW?g^YHJz*v0=dyGXYm2W%ADN07 zkkWLGYWJu%44Q6?jNa8!nubQYz~0!h>(j@^(o`Fv`Y7l_hMwy9W=yGQR+wBmrt*XV zi?-`Yc)G~At(fE367I`5G@+PnszTBd4{#H=N~XnVmYFVIOE9+jADaQpNz6{qPIX^G zPil!tkK^lO_Hq#|@ihmFj%o98ST2}CGL@NLoTKUV$QT{%n&VPen4nX9*^B>>0qLBr z67x<;m=1l6|6Cfti-${@NsU8inz_y4Mh5gd;|cO5+^IDxQM>w2=WNw{XjWUbC^~3Y zTh(1?*0)>Xe%RWq?qYL%+6sO~?GU28ibESg&q2!=UZg0MkTxoKJTAAPj0d8&KVh!XJ2iv(m!C K!g{^ZHT?!(Q&s~2 literal 0 HcwPel00001 diff --git a/mingw/share/locale/el/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/el/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..7cf3037f6d672fe49b21aec75ec9214bb0dd21c1 GIT binary patch literal 4988 zcwVhmU2Ggz6~54tA16)Xl=9P3xD7RSn#^XMpC)k3crlzzVp+y#7VqxAC* z@DOks_!97`O)}osflmSLP14T~fKLK{kK18#V5{Wc0DcSj^R3eV zzkmmUyPlB#ucmnO37Pi~fhU1)15W{Kz}>*iHo4Dh+vNE7fUg7J1%8?QZI|(#1@-~Q zQvC6Dx$d{yWjvGHCC|M(B>($%$odcOkUV@l#b54__5LUD0&r8W8Q=}zXMx}E zmGQp?{1Wg_KrCVJ^-8|0z~hv6uiWo2$UO|awo}IQ)1A`qUw2B~R)FV$E5I!96-PQrl&VW;*6*7lwT%&A4u`Z6e$PN4{43^rr1$p!4c&}+Ix(3 zo@Y{|T9HnOV+H>>MuLCR1dawn+1S?9mg)n!2z}B+x}>v8M|Vp)MjGA2);v6KnOdfY z^*LNM^PIrec(Lr3Rl}Iz+U=ZCcJx~s42Jl)YMZ)Q7~+mqwsRUE)eVj3EYnqW)8V7# zJ9j3yYpbSXsIG3Aw5Bh=W?9*EHM^*rs;lLBZcMe+90tgP=G-yN z=Cx7X)G1`Lb@ZZcs5Tq6C-`*`q9|jUQR?TTmd%S6*wIbA7Db9+?uvQCw8l;DOgOGq zV zoW(_AmOF;*3UD&6|$v`rdpH(VlStxyXpu`R7aZ9^v5to?RCST3i6VTqTFWra>>wh6hTpQ z9JQdWDHhX;C3j+d;uEW+B4x!IRfKO!9T7+gwPy_7{J;zq589zMR!Jij%804qoCS9qpqaj8ir zPvJ*!q8Ce+N~nNG*h6na+;{SM~STHvgV zS!E+HLP`4oPL#&4U+c?ZZzrdgXs4TH&CF@+hBh&7*?E~jSsoi^sAi!|b-hk!qdi*G z5hj>f&BKwwGSgba3@_jmb&WacAa#_yirvIi=cg1h6X#y|D5?|d;!oAOdP*H>i$BWD zuyTS3ZjFlHqq>cQvqqD`xUE&Zif%-mhV~G48pVW8@JOa;Q_Qt2L}^Z-H5bZ7RMhDV z2{}1?xjJImLU^mqQzR!y)o!B|ITW<`NjpiJkICak3OU_b*c}!{L!q%tw)F-$QO@O+ zZ)!F<91`j)Xy|pfU7pPhW-|v4_PnZ<5R7u3dXsXhTyT_OYY2%Il!94SQtOj=&scV$ z=hDStvNi3-L(GP_X7rptcm7O=iNQ>^=QK2g`Y6K_C74i}`$`7XbWGfKj^>^?cln}n z?#x#Wjr+4N^-!e%S1PR{eX-|`ldO4ASL+n08iuX?~+ zep2^ZVY5CN1-#kv=KQ3>m%PNQwx*K%(IYKHM72dP3Fqnoc3x%(vHRkm^?AJ!C;l{# zJie3!&9Dwl83l;;QE1|mA>i?BFoUwK{dVwXqS&8C4(uNx zM?n&A5#?xq22j~oJLaq(@q2zXjN+9@%)}v|U5QaU`4R9)4q845CW;q6)I}qiY(N~~ zo!Dy8My+_ER#~DSkuVj4@|ZWf5P5YZGaJ;ycp*Vv^QqVtxPMQGOed=9IpBjmP}Of>`2=-i|%nBVXsujbY7 zdeJft5@gj@NN5Ru`qQcbr3(ZAYu_*Uh%G?RLk! zh8L1H=;V3TB)t1zevLHRy@qwVPgkMfo!8?8uG3E)7Od+>4<%Z3FTWAi{3U7#-t0<* z5^;oqCKSeEDxM*B*M0J!ji%-FXfM(6DvODS(Sb}*$KI?dqA`#w72y~ixy9%DFl3OGL=Xpc|ah} zN4&DSLwzb*sIO_&qELIe=)SZqa(F*&(=mM}ecW~Q$<(Nz2#uJgh!U#f+A*oymbVwu w!Ex}2@B8c{uR~EGG(FKWf_uRSOBRckF-v!Yhr3}K-&0-Qy0V~v*Jr~13)9A?ga7~l literal 0 HcwPel00001 diff --git a/mingw/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..8cf1ed82b841451dacef208c88d7b4906c5c21b2 GIT binary patch literal 9292 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 G$G-u=?B+E9 literal 0 HcwPel00001 diff --git a/mingw/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..eea5fab71864610e74301edc6375d763b8caf212 GIT binary patch literal 99502 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 YwF7R0DOCc>->~a=TVMyq6>pgDAN~`Np8x;= literal 0 HcwPel00001 diff --git a/mingw/share/locale/es/LC_MESSAGES/gettext-runtime.mo b/mingw/share/locale/es/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 0000000000000000000000000000000000000000..f55218467efd91bc771de987200c35670c4d8198 GIT binary patch literal 8005 zcwX&T&5s;M6|X>m(1`;ikdP3Pie<+(OmB8Kaj?gBl=bc;8EJQCwL5EqEThzP*Uog( zT{WrdUVFla_!GjHlnX+F6P&{Zi8De1gcOMjDAIEC0Td}GED-!&RnJV%cy=5|IT2br z`=-0AUcHas`j&w_p*^edo016>0B z1LzZ=|GCGnd*TRVM?udW@#lRLvGT7eU{+*Yo`a=;uIx4T?YZ zd;Gf(^e>=ygZ=~bO~`Wt^gQl=h)r)mw?BcdfQtJWYvB3Mzrfg!K(B+o0{Yzt7`s6C zpbumJi3b^bfNX@rujBq34|};+VN9@KFM%$Drl3!O{uJ~S=-Z&jK>rQ80($hz{=69U z3g|CE-vYhsQLoQ$K*5^*@lmhu^+&ya|196%{TO2qkv;O5*K-+^TzD7r_oOqeuU?

    FSXZN8!OFC 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 gBF%*w{WhR2n^ubUtN;K2 literal 0 HcwPel00001 diff --git a/mingw/share/locale/es/LC_MESSAGES/gettext-tools.mo b/mingw/share/locale/es/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..f954b4b385adaa00ce6ceabc93d57b0f7857344d GIT binary patch literal 81923 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

    lzwe6E#WiVOvFO@=9koB zk0qzg_t)U;5OjP!6B?P1qYGDucIYJ!*7!;Q3u4xHaZE(inhVsDApA_$hsZDO$dmMp0}~r&>k6b&_;&Qo2ZT~Bt7_I zncn1Fb!TwzG8P+sNHM8^9>Hm9xcYj$?#HNgKpwlHqH#`jQ$6V9HsJ=wAqQSb^b@4F zz~s{NuA~BT-1P(QhxsXU(m*nTggH&aNv54NhzzU)PlrY>EjH3~avtq@C3<}fuL)pU z8{2bop5ODSr03*3`nk~!q0_Qy&&fSW&m%}D$-RgiWHLl}aI}}wjh^gnR=r0k7D0L{ zK+~yYC@J0OLjX50c5tqj((TTCDxLO~(#`8D)$c2%d!(8L}l6DZ=lhzUgYV~BKq@or>v1_BW4l8dIEEKV&rj>L4*7UNDy?s4dx0Vl-G&Y5qHq4JHikWj} zGwFO%=(J1I$O9wSUQUbam(yb9J+!#td0O0fm=-sYrzn#`t7KZ-Tuh5w=F;NUTWPU+ z6D@9go)&A4(c<>r3UU7N>tli&1U6kYaRSTAVSA7Gut(#n`zhQekOT<^HKW z?Y7W+aM^n*siCZ@snHvaU*BSk`55IyY=t(rko}PHds~u@C%}89m7G~p&t$OdqitzL zI!ib*{$Shv6Wy}yNp<`4I#CyRN<+n5Ak~VJswVG&Xp27IR8l^FzG0M<)RG@?u8tDR z>uMXDyl1BULH)m;L_VF!|LQpY_m3cBDwM=#mW-}zEE!qTL>{DSWI`#{RU~|tOe&dK zS65wDU0+$ou;eyeQO+cg3vzxIW5Ugu)z8BX z?O;xARTF_GOTAv`Z(NpBNnTfF;q&J-HqEN4s17rmXbtJdyMKi?q0e`C70c*gs-TZq zzCLKKvvg^Q@ziuyeMN0eUAO{js{hVcQ(1kzry%k~DHSlYs@78vN;>|!IZd8on&5TI zJU?o6dcli4XNFEzk4yGCnO#>Go>|r8FH9M|rkz&Q%_7&{!jx52lbcW=zseKT zLj0tPiVMh7522K8xA@{`R?PM;5Se_rXcEyzqt_xLCyP|l^vLa7l#D^TY@$X3=xdBIYf!F%#KNWIY$umRE#J=2g*$Ou|)lOiHiT zBnVt<%tg%USyWVK`WwCo#tH0j460qxNP=y0*u`FTj|A4MYIhNdxdeQqjvF(Q6laa2 z#rO%dm{?4UN%gdtyn+_ztf$44owS(x1udqrr<3B`?zEV$(_+SCTAX(wElRGXMd^dI zD0`6>;X|~jNF2p5T}q%~@|ZM}FzPn6E~%+%3}Xp0OTDUmCO7(kZ)PW!)M6u& z?U<0#lbzXAHxFaaVad9)1iZE<9852EmiHUVne~*il~BkVl<`E{2)&WXy!cCU%uL?e ze;G6nILVrV)BBC+%nPX`f`!`?g2&{OA!s4>U;_!6zWFjZT=ypYJ=t0083-nG0G$L| z956*jJkJOGnX@Uw+z11a*N1X6mY3Cnp@uTtdIEz#=S6g+nk)`KXD+6+o@~ub z`XkkuUD!*Atgi?&eIvK+e@Lf;|CS7%7*BqP*a~gsX}p`)j39hZZ!Ovq)<)_ zx`dUyL0A!r-hsqMDiRv(?#Y}Nkx8#&$3r^l#ro^9gwBMd6YU>}Sr1C3Q(a0Ko(dR1 zYmBIPE*;bRk*)#_HU=uLqYNZ3X&+fr!Vvs8cV+{XPBNA_bC?@l#`CENlFUR`sr~LY z0h`~^t(0qa>s-+R&!cQ47m5xzhRqjt8|5OYQgqZ2u86D)DAzmfPhjw++(PL;#nXGT z^UASOH8YvaJa3^$^5vm;ssOr1y;$-)mX0tx0dJhgt8TBizzTbML3qGj~vi&m#h;nNe0!2U{agr1aj= z)^A1k%3HJzNg-q8)zaC%O~*sh%9!OL>;V&*^Ikfqi9!1lnaIrEp_1mcB8jX(BV7V) zmY&`ktjh@2fL_IJmVxQMT&j?Ll>OznzCAMeh5F2U4}roSijaT6Rm|hn`5`hEpB)x* zUuPt{EP0D%4<5_*`7U5GKcJH#$#ctPYO2E`-(5%cP1~YbD5|xlI#_LQ&kvDo-SY>a)Kt{amEk?ww~=Rh zb#q}_vd3nel&!G>7Bkf2DvfZ_O%zx|uvIJRxXAGVl|npFuuE&bAP`4_`B%d8?WUri z3`kV8N3NgQfMt1?(%+5Hqs!7j+rLNYKey7pkszA)DVZEt#5DKyM4EHn)Xc2d_TJR` zQ7qDrMwSFNfn>8x?`TlZ50#=({{r%K3Y#W<+L2)fupcHcOxmgJC7`q;HEd8ff?X4- zYyTDAnSt!$I1J9Djb@*V@c2o_Ahs+VZm4K%WYWeWqZy+|P(3fkwH{qwr24Ey6U!O0 z&Div8Nc(~INahzS?5zK}urcKfiDm4xsI=j}H2={iCaoCa{*yE#HZ19(>X^np&QS~_?54I5% zM4V??7PV5;^(L43^m6D_ax&j}@RUvr)0R||W3B=0WaOula@nIAlb*|PSwqO_UtYMPyo%&_-YHDh&>*pB z0z7Xls|}MgfqEv3^Xfx+vm5H>)RPasviKm$AQ@5loQ4LZ>@_p7_p$_!lAcFuD{9LZ zL@1(1$;bn+FKN-WhtqzD`uC) z)N5XSA3Ee&4Q1se;i}n4QJE~A=4ZVN^5SX@uXaFQeMxy^33;r#0_)3UnO^-s)MI!h zGcmz>@~7)rmPZ(rR~z5J_Ua2!AK$?72!n|v4AFbOKFjrLhY2F$*l zlJ1NnA=7NAX0q2(($jGysxKz{4ocb^N1EMGR$s|v-$_Z|#gVG(=2bK>*>_PAIZ}?2 zXsBYcn<=SpJc;~~Ig@=iB@K%sc{+LwG~Xq$uz`cyQI;-b*cz69nWU#=qiPn#FF8_RaNCB z^XeMHOs9Op+WU06@jE7BXWkP4O+OU^6_mo=5uSI+^Z z9oy0SyRpQSl8MBC=#d<~W>|^!d6|q1miW#|jjCT$%0R?J4mpV7nT*CTakG9;BW`J-hM za_X4TD`pC$Cc-|rTZCOE?9~-z7cd$9qEjFh;7(-E=@yLM6I@#>@qB9j8AZV`_?YSiEK$!M$Am=fH*V8MKwk$u;^%ZKHA)hHeS@D zi8t+*wxbX<v{1HBz^mQR=nSBUJ@T;D1L^*m=$)v`jqDevt#8*bd6APkmf%tj= zruuJz{EJT}ALAoU6MF|B`0f2`sPXFVUfm>BNk#GguSM|tO09vnJX zI+O7|%MOWf`>;-DZ$b3P_|?;2*(9Lk3pMa1qQ5>eVI{S^6@j<94D6cex4^(YVdle zB43IVN!e!m0s}rO?z>oV^pT^Cx_~b>o$1^whA#*_bAloI;l}4ZEy}CY^eN*apYen& zsW!@LVwiLQIaPs@=zS5~GTYqiMB9wE$hf&h3x?et-vEOyF9Q^-YC^QRBN$Ck6^!P1 zi_ugxAjsr=;s+VOf=D0OJ6^iUmRFNc0W!Au=0|TKmOU%NNo?^%n&b|x*`lv5YC~FD?{@6mG z$C#2x<#~KmV7ET;0(F-BPC!N{kFkDi%w``MW%V~ZWzCDQMmBqWl+)krl(Qhh>GQ3Q z^3iqI*?q_&bBermQOba$VbIYL>^fltl>h7#`4LBGi%{RV7BOzvZ#yu)Ekzl$rQSDg z4zZ0gN)lT(^4e7PZ8>k+N0<0M&iA=*?;EH3!1U|qG*$w06A*c=*N+~lg5ucM`o=45 zFuNDZ&H2&q!^1pLogMGnQfGucWs3#7tbE(?2Ue{=*(izC!6I@ze!aswsTX_Ux6!%t%wUM=pT_up<7h2?g<_k ziW7W(RJrH%j~|Y&VcKd~E3E<*H@DI*PR~R_P9+;JA*$#PTeOeWHtoDBbV5_FWk$h? zErUi&TQmxkKDtGl6BKkq=zm@FZ-BFPD;(53N0J;^$oPTa_$P!NCWtINvC{Gyh%Z9pqJ_sxqo z{-f2#fr^p`o}_u4l@UQXSF$YyMeS@3MAdkGYh9e6#s&Xxuzo)JLWltozmHeIt4L;f0#A@!P|FS3Vf3K&T zTkGirr|{-~+0(d5TuJ1_K=!*#9nwmd(es1gq>Xe`QZ{EklXJNTIC&|a5Z#uE?DVM2 z*7jwb%*L`=z}YwYLgf~eSXYzCZf;F(bd%WLnM3e#OU`YcOd+-w;T-$AY;<{%f3!&c zRwOz$FXu(VK#rzzwg%ade=y}AiLvTXCP2>7(;_+qlWm+=R?p-d@jRwP?usVDkFaG! zBV#9%A$^dPn#njT+3Q56_s9t7r)Jkgx&WtlIy%*7l>C!a%J+CI-|UK}n9l_>O8o}B z7)L-;^1%!Huh^!u$T#oiyb?^9+)~u$&v*bAnQ`=h!4ImmX~x3j*rqhlcuh;9O(W4I z((3BumK}PHR<+V!WR#!AjWTHRQnU$ON#Ae&LZIUMK*tR&NB4Vcqw`wj{Fo5eDn=a| ze=>FW9qvp%p{duhrj?dKf2oOaje;i4e5(`tn)LHoWQj?Wl37&^jZGzWvtnoX3E%1r zN%Nd8iLEz}nQCw0ar8& z{-Mz7+)3-4g2Yx^$4tG4c=D;!0hp~1AUgANTagen9@l!~py@4Qs}t`;nobXzsxeBd zt!p{^_r+FcPekO{i6<8kqk^9Q4|{I{SXFWTkKg<5OL8GQfsjCuK-iarK-d%Zup}%m z2_ym0XGmTa2q9!)Q3T84Ru?wKDx$60Y6Z3KB3Nr(g0@zzB5G?w*&O++mjC|dCI4j2+i6Oi5?p!Um-k+ zg%5`nmZc6W$%WN2&~oYCQsT%!YovSmZ%z+92*H0r93b#ngL+^$*UKLni>IsSSvUHw zfEMwH^*q15oOvZ+Tl_Qkwu9~Q6o!5`$r#PnMBIJ+yOjq}Grwl{A z#;qX)o>kKIsm}WzG#gpfR8d2dvl)Idm%-g#@hU_JOTLDTbbT7%Mmb>fhrN}e4;8mp zo5lT@0L=m(kmI?OaM08O>9ymiby|>#ri6KOd@bSOFv3hz!Y|vx!yw#DvmurBFCAqa z<)UE)H*q{k;)b$A61pq!z+l3!9kQc?sABy$j5If=zk>R=t>`I-fycDZh}Gv?EuHLL zLwPP;%~QnZ9VHrJ6Xb1o{kUBqAt$~|knoZ%G*%+>i< z3%|_Y6it^R6cWy*lMM9yK})G4c~d71ouX+o8<0n81+r)v!w=Hr0GF>VfP3rOEPmrR zby*%sF;1V=(7H0vR9C5`R$kyySkEjxd5rc-t@@L$u-;kXdEwN+Ynnotv+tzXkXn7V zr7&UkN)kw|>0v2LpGlV#T56rMT%!o3iZyx89V9KD9I0E`NSw(!s)MIS@b*<@Jr-`M ze7yFpH1IuQrsZo8kZ)_%)UR4rL0ZyW?Bgwp#a!S=LHp|C2xQyx;u8z0*)Hj^5}&W_ z92^Yu9v zE^Ze6RfLQ6Wi~+!E0S=vzRfMcLx*_eN3z_c-x|as{s@*K`bPQWRq8$ZlNOu2FFRb^ zLQQ?dS!cdG>(`(||01ZghP=z$eH_N3p}Kg@CiSQYv9|9Kk~#!r^-+^ZL9sBwP+fiM zCofM+J?@eTtd^O=GwLlF&eRs{LxS(S1i2eY!CQg^>55l6MU1Oi$4HM5lA93tUzsGW zrWNXz<8^WSf^xbwY?`@j{L$3xy(U{$f{$tQ5cu%sM_old?m?!GbGz^;7g;=P5F{eK zaiUvpTquta77tVKvJUWgY_(=p(|Rp+l1qMMc38IjI{Bc*>ywq&%;(2%NTwOZnCdP@ zwu2~aSd#6pBl++iNMUP6E`_ZzQ;^K1zZvl0bT14)z&j5JB-2H50eY4<^>%&yR8141 zLF})c`miqNH->nXGxZU7&FZSczs5O+9sF0p-0b8d@N~+nlxr+<)8i)7U(KgeA5Q%> z3I8pK(p^xFQ1qLs2pr{s{*CVPOUh%kps4%Du?2#ks#!h-_0Ff$jB;TUBp1L&T~lAs zzsT3LBFxrO-`07$rWvq<2t3VN>N|pirgRRhxNWYbzAJ5H3Q}c7Wo>{2-jf0`0*k&$ z$oF+~rg*Z|C}@F!KG4UJRpVxIfZUAiKh$S?Y}D=G`m=uA!IcfvU-SnZs4Ed!Khpo{ z5PS$+f7P+^m_mI?rA+-;zZ1-i;>WM5s?dM|Jc3KL`P9{Bqy2MejL04n%qRT+nrYM? zBD(YAJxu{T@#R$ZML1>S!>|f{@7en1>KLR_Jsyhv(-k%@i;B$;^Gmux^g%XVglH$- zOZ4eBU66eGMo|teHIk^yEUJvnQqm;a`R<%G>D4@?a#zaX*!KiU+0PdGo5>6O9J}Mf zD9Iid$|)zyh8{5^*x0-rE5k`0+$%MV(vjI=ndzd8ii_}3YblPKFjGa3a9L1bOAA-( z@nKk5y|2($IKRYCoid*?dOj$lelvqJ;!!@eceq@}1oNpZ>?e}x-XUNEZGd+)lD?^s5J|kzlizUZx#%AvECufPm9NI5wu=z8b2-`zg5u2yJ`Hqc>Fd&TNFeSPt3+& zC}^wQG=5?{{vtuU+)d+0#^Wy*wAM} zZ#+r*J|J}L4ZssrL4xt(Z-BM*UKS+-@0w>Uqd(r7hE}b|!0|*%X!9Uu3>rykZ;zov z=V)397NvSjlJ9UBgLSa<$kZEV!>{M4NZL=6lx+PXo03g`F}-zuZn4KG{pS{k^{P|Q z7bbg*#z;MiN|v4N5UyO~t5lb9??Xv0lxPd}u-~%mF{T|QCCzH;D;1EJqxu89W9c*l z$#jvlzNi#eeLq=h(Mm+uY9f@brV+JT$Y$V;oJDxU%ed4m&_Te0AF@zH;XuLGF8kgv4N!t?C z@=Zc~MTb7`%;)L!%!kp?+ETy2rLr28fIz~ys`{5m=q$99J_o0}>Ci`N+5ysYHcEwr zK71tn5iM~RJVVa|+e>uJBZ9Zk$-15}{#%IjI34GxowTPS@I6eVbHoCGJ`E1?EVODB z@J4;C*1u5N0STuaGT?{HkjpVr`DZ%5AVGY-v@(JIcy>rCDBAd{`ixQ3yiRHrdV;Q9 zPz7G|@QAplS-KZKUH}(tt9 zO>^q`#FzuLVoG0)ebb_P2WLuH#WH0zZ>ScP5nOzM zS8NwFIrdtM8W6;rJ;J6c2~BUZc4Lbg5?mccvba4>_GWESnZXTX(JX#%liJKJDm#dK ztfW}HW|Q3NEh;C7bqo_M&V(kl4_wsPV6Bp3@uoM~o5V#;3@))nv-qd1cJ3h;H7VGJ z*$%Q2x@)z)%Usmd5O-BH#a__l*n}=>Mo25!RLd>(4D3I*T5bgwRT^v{Cgf{97IJ@( z`@}^p4rXM6Vx(RnH<61vJJ^ttqFBAF)uwb&6~U~MqFA*I>?ugyM2p%K#5xl3>Zyg? zkFZZ()aDScZ*5U52^rWBZ#8zQi`o;+N7#HVVUeisOukG@8zFeINAS*CqJIcVzJ|*v zF!J?dT6QR-peRPqOb$M2BSRTw=wU|hOuh(A8x_hZD2maXDK8h(azZ%AtaGs@%;YQ5 zw9%nD1w}EY&*V$qv@xNKf}$9w$TzUl#)dKqieilM$Tz&x#)WbUisICC`4V>8_%NA^ z7f}@_jEUukv6sY@40D9qbHgZ9*04 zUnE-3UxrN@B8P54J__d}gGP>Uq4L*N1{%fc&ve|q)FQ{dpyTV^k$GLIBSiZb6;Joi zU*Ip!pIWkDzCz4gP@F$!)_i|{`Sg6>!Z{1(`=?J`G;8)k>}M?KQx{I1>-Wu`T9QA~ zpI=SfmJzuk#rp3bgb{-}^-I1}v48Y~-?D9(HOc zMP#N$mS-94(KPI>!JdxUTIAx-b@pn78>vMuVO)Y;@~L7OPm8SD;B4WNmQ`GZjd)rz z!kb2a<8+ihpHi{ljYTPAQ6^ELSV4GB7ga0tI;u8(RRgwQ*SwKyR^$1S>Pk&N^Q$OP z7dyv=O}O=eEU&smWO=2P<;`A~dfPJtP1GJ0^>r=lh2Y`GgkYN`_~(wws>M@~Y^iMu zR8;v_1lD8Q(PAB)D#0`s>e)1dOBDN?7>ji7=~|-N-^3`@R|q?Lol0=y99qhBZ-mgY zSYHb*;@&Y$x{M`KiWCJ_R%phV`g5ULR<@F{pk}FFfGwBJs9`S<^j221;zCC?JzXUX ze@+HDnrws+Gq-Ta)4KSgk^^LHueh5V)m_%bTeWtipTa>P(BNOSYVFynIJKii>gKSK`r5Df`l8RQGK%`I9dX=vZ84PRX?gft4Q-=jPO@i$^~Y+PGds4 zMWE);q6VV%JQ@8M+u9tkD1*2TgP6iO4(1$(c>}fb$s8(l)((NpaUjJaHLDrH8RUjg z#qOF>*__Li5HhY+N3wZmfQU69e{DrWRXu7snkzFKl-34nN{cd%DRc3)fXekX7zx$m zgi#aF#zx8Vxy$`CF?SS^ME0BX$j8xJs2c~?X!<1CbI2j^$=AA;fTmAZ3BG-E4X{p zc{0wmE?(U~hR#^?Ijq^yBWE_zFjyis(abH>cv>Ka<)9KxG+JnlA7VoJ?c<-X~6n9^ij|Uo)q{1^g2@Pm=!pXBLyslzQ z_Kcv@G``)@+N>ECt^(V{DcD=TqZ_`gbH=IaeJxDNs|_jIb5?q^=L331J_^ z?L(-JC{IPznhFFwOZ6DKylm>M)Q+(WG)5Gt?{cDLJVL3AyHUP=89i|)Q0s4HOm>@9 ztVQ0a!v`@jOr+zb98G(W7zYTgPe7?>hc=MgMSns#{tmBO%k-I3wa8nAny#dxKOOpL zO~WVr1_?F4g__}n(gxer=G=d*4%Pcu>yAWzGZFRMgX%7*=39jIUJHL{+{*t|2C!ThUO{T2T`yX$(|i z`D_LPP2|tT0JecNUP4D6X~o{lLxomN4_mupa;sGhB^XGx$o-;2J6PRCzJeu*WYYRTKpF(XhPXbIR8zQ_yp z{UrDd9jRkA4WGChPE$P1!*j-byv2~oV;>Jq`da-r#2jB9sBa|Vha`~oAccun2ss72 z&92XQpH4GgGx4Rd1bj+~QhSLtyAyT2JE736l0&V2zMeojx6$!i;u#u8dRLNUFJuJ0 zTQhzHy_cGhA8AdCE9#o<>iB)NSm)9_14MMYm}G}64%Gjh6yl?8LqyF6pkn>UNq6=P zgpuac>8N*cIv9eR$Kh*slxq&f5YKRg!O<%#S}JR;0o9XP>l4c9M&kF( zc`?ovX|l@b?_Q!l2pA1^1$C!z`PM2n<}PTRMZBZIOW~R>UKn{HAt%hG z{H9QT!peJul`FVgd9FdN?j)u$2>)Pw4hDP(M$TA(Xg;0(OvF$E;>Yliar#zJ5!$oR z+#n<*65)}IL^4kFnlXj`zeWq?#U;`m<4z7Sg%Hfe`imDWOG+3`pRAXbF$fJkTp=z8CRqhc{%Xlo&cBpdU zP&6yS`&ogeCQMzHh*?RRbh0x&Vn$-eDV|L_TuqC7M)=qvDrWwf)Gw))H+NA!_G|c9 zDWQh2Q#}r+x{S^T39ot_+8?LW@vq|a$wCp=mX3eSaaPVQ_Y^Yunpm@7?l#Kp9JJPv z3_pP>V>&Tz9n3me&xKv0sWb!W&~MGyL8lYcdG-x-)?=ckO}z))KGDw8;Bm8wdL13( zi1-E7VLDt6?*j?9TS%1cw%cW))#?d%7jTYNo6(jiR1S6b482zTKf3Y7jCVtEIpzbZfsTmyv@HTWlSW}^l@bA=P5IPVehIEr(%qc~rR z;siCJJHBd>M?@p0Q<=J-6{sIiDzEOU8nGCS7|2zvw9wT`3tg?W2wLtY)-h34o01Wb1l5zQW6k75p2GMkPEqBte3vYuM2|^SIWa1v=(1+BL|sya z-m{535tVt6GI$P^>8WQWJ6jlp_Z&5frcw+%+tC;0xv0_VNv;}Ac#(wvPDdJAxwnpH zo{eUHg>Y}s;mOjMCA->r651K0_d)KfyBa#AAEKeP$lvO@XY)GoR?2@|ch$15p=Ixy zq+0fmu9p3yt7Tt@F@85mw(M+DrBPq?9JlQNTuPE{ha2epVTT>mxv;}u+;-5q&ZnlB zP6eBz6^Kt7dap$>b-hqMCS){;S%R(?(AED+zV1idj>N~1O7>RxM!JN*TC z8f>cTYO?A^jT@6CmluX}Hp8(ja2kv9&rvOZeommii0bzpSL4;veFxtY3R$uDY+kRc z6?@N?^>Q&wtk`?D-mhtzy<+d#wq7nj@ru3YLZ+(~d(TCD?pU$+T+AqY#oluXW1K7Y zo=aIVR_tHZ)QY|5hi`)OyDZ9^VHOduA(fr5h=`|~I;%xQ&Rpy4SVTO`mDJ2|i->Kk zWwAbyt}Z$|77-6CMRE~wqKCCad(E)Rh`6^Da-$$p+(qzyawC+fn+EOQD=?=nTrf}b zM(MR4EJ}zht=k7NX2h`1JmJN?>oZ;^L-QtBvUu5sy1l=mS=^M?^jdun zDc6TakSfFjy;f+c)AZ%2V!ZeO;0lp!*7SPtX^H5t6R}2qfby8FC0XjL0@W3*^(~@q zG^<8$qlrDj+8cBvPo{Wn@nVx26s5Xp)k;~Ig`!F)h;^NxF7k=}Bg&sxeW zk3jrB={Oh()uIU7P=sz%Snq|bch9EehQL~3x{IKC4v{5hq(n6lD)mN6JWp!9q*mX( z1usfGK&YN0Xyi+K3T4uI{Q+H(=;Oh2RSyqkaE3Zhi>0&P$@FJCsY~x8GJkfXYL2HP zWpfPDx}&iE=GN-!x^;2sWrrr;g(Ibr6kFKb9(A2Y-SbH9Dvq!MZ4PtRR#6Zd8BOYxlx{9_W0mJUKG#T1Y zRsAC!r#tG>+$FQ3dF6K=YB9u5ElD4lnLR!;ThlLiRt*0Q3Eyw{#~?7AiZW{CX^i^E zsk#?b1?m$qFH&PQ-)uJC-YbTQa33C&BmZ~(cA*?;yxxz5Mti>C_2R9Dh|u|lV-Sw? zhR!P59kOU}wuh*YVcJuyqfVVn&qDorYnb*d(ti;&OnXZ8kJ=rkJ!N{M7^Xdo^|y4# zFzs0)rQ|T}Ia5DF57D9qY0pyqeyBi??lqGLrZ9+g1kfI&k>h?k$69yCjJb6uAx6&6ea0tI{V!e zv=lvv%50b#YLJj7Ql@!VXuFX#{h5wONOY}NX?qvN`hZZ~XfCV2j}0F5B4MXr z5bq&6^bdmVq$t8p)2C@+8Yj3cT#%LEIMOsDciD0Mf&N;3(ib?>-jVzN`M?gZ$+(hrfYPL+ZBi%IyL2<1Y* z`U$&Gu)45HcIh#sppcGxNy#mil3fcrQlj<((XZ9#l4vCz$4UHzC4Q|E53-4KEm^-* z7^RAYub?AlhNg|CQ85K`LH*Kl^5t=aN)f~0rC$+e`HWB_JJ%BRO(Gm@CuNV&v5wfU zA%&?z;U*}g5+&Pfiuw=GbT<=QH<8I^NYgcLP!@=xRpK^=rmq)8ew4JoNyh^u`ifQL z^~m9^FlBVyq}2mL!3h%XN;-{vO`8{`6a3lVv_mH=1^;!rg+xKeq zI@I8ve9={reNP=SX{ZQcN}@u_!V}e*q7*0r2Epe^{ud~PBqEJ>R8z!FXnp2GbY3u1 zXvFBzOZR#oh{AVj<>bZFB-H7;_6sjY^v@Dce?;fA(;321@{0q3`t4n{@A)*HXY&l* zzBZpBMilGXe4QpnAnV$k$@aB5)9q_>K6hQ4Gs<~w&KUQ#IV;As`7N4#ZGHfp-}`C0 z_8*=5E>Fw_eN{QKWR7_6$G9BTh+L#juh@js8S-pLsSct#-FY{vXBrqf>jUf3W$pE{@Ff(OrPU|?*( zIZorMtW;AYk|4)75Pg|(7m`)PP|3+A>d#dM3J_mK{UKm{sw0_gB^zvPg9AI#O0Fh` zYMIQol62`*BU3A_ zt~;pPUq_ufsTCwpUL{P@8g;g87KIVYtyY|Ern7EGC~+By&&KlNa&PjNbe{YX{+ysc z-PaL1#lZS?9R8%zpVWTz=V_8n#e;p{ATfawc*{98pAtJMk>Ug6ne^vfpsP{0IfTaB zl_}@p&xQ1-`>musbtk1Vh?sgkCFai2#IHvI)%&No`qR?nH5e*JLF;xAw2G7dCxRAi zdUbW6er>n^2Ce@Ft^WqC?-#VFvLa|TanMqoYdLlKs}QsrKmz4z!X#Cxv-|0+E5g(c z5_lA0s>Rz4VX7O#R5ygF0vV>h zK?0#Fu@I9eN@P)@J3>`=D^yJ*RB}4aT~ZLPE(IsT)gy%*u2K=MuzuA;>nX$4RUEE< z>Or`=vFratxVna{i36V!{eIy}cZ4h59j^4CaHR)@D?KP&>7n6D4+&R#m~f?s4OjYq zVz~OZ1)WID;dzi4G|7W5G=u({dMEf-5hXio(ZavzbUKZSwPeP1re*;n*gCOV zyk?@?+|h%GJ1v%)rn>_h8|%n7Zh!_54@DG6lN@}B#207h)g@DBv4JsjlF|i7QiMZO z*Br-5w`d&<$q`yM;$k#;MoNxIr%E*uwwfLhj=J}Z;9SK?T8`tSSB``2j0mf6n$|nV zagyFy%4k}j&Qe0t`r4&S!^2s+J|_uz_v=IT&!VdL&(tT!*d;@IO^F1@0J}gQYQTYZ zVLf6jc>J;pj^k;ym*o!G~7CZJ4k7G2XO zI!gn3u4TGtx9Re1|A5L#cAKFDlO0q#os#2Xo|@xgp5~Ax>hu)qUNdrBxO`i|EbASgsCBkhaMuwOD5`oNtA?g6CE=*2ArKJ8OQyGI$)ZH{xXu1(Xmzo zpaaDSGl>F2L2Lvu=3vvh2=0O&shMURMjR4}URU4mqIz?Z$I7~^N3q}@oNB>~rkJq7 zNRdynaswB(yY23*DaDDPZfYA7r#)1B={do&N}4ld^|C|O8SaqP+a0pfRmkdNXNWw& z+Shg@h05Ug)DP|5KT~s(scR-kT>}RYd5}k+m1O5T*lBJchS=H}G1Nu~+c0*R3(L6S zwk`)}W)LTJ-6U5LMmTe%ZfqGwbeoZO!^A0<9p!Wx_)v~*C6V(;S@zK`yuyyL%IU<8 z6?Thr>7f2@^D^6bm$0hjgrEX2cA^W*xLlV!fH|WOjTYf zeHplER_&rKRntQXP0>Py{CpMiXNG7?BkU|28)su@hm;0b@;&aV1$NhqvpZR#<*;@! z=Grw^#+c_~W6}8`?W<`EEC(0<dmyk2LmXez7G;uh9*;{A zYdJQRVYJSPVSKrBxL?c^JJ>IA4@PJ5(7!ZOv)MH5EaUtbC1hy#@OA)_0)Po7z5~?@i)B~YAYJ1&LJ3>Y6 zNauJNrA7r4@wXGtA={aOcGCw67mel7E)M71ALE_lh?;>44^MOtpk17^(54?rH6C z_p~?+;Y^hQ1d7YZG3X_b^aTRflGXuzuwN<8Db5@5T z#=9qk6I3vn7(DmRb;qi_XpI>sxhL9_?KZV5FvUF^o~owp)7&v>x{5wCqBYnhKX|@9 zGso2cvmB?yK0A1ljn7w$Va64(3WEdI|EIm&*-<+=J8EZlM~&u45aaBxvB7N@=j;se zPB%yhz0yon-MfqG-br?ERD(;`@E+IA?fA)VC+qHZp_K5QCpEbBdT_Vx$xfff<4G^K zTb-f&uea(G>B?F9@U*rs8Z{%hQTqiqYJVpO#Hp3Fgh(hyJ5zgqhxqQg&`}K?fxsQf z&Gj#|b7&}yafZ@ZXZVb3FSy0KgIj{zh>2|IF3Ofk%9dT-QLmf39fMmre6yywT_ZKZ zrK5+_DSN5`ER6@SUOYma@ju!D-4_s@+^x~MyQ8HX*PhfU&IXMQZL~ONqs2QLEdj$) zB0Fmrd%o#zz$9B-G)#``w3|C#+Dk&{IBHQyHEIvl&wHY0q&fZmzs42Dbz8F=TQixh z*`2MKqO6&!tl0zB?D;=xP3|6@R0%qx1ku4Ih*8lz*4d3jg!_NtcSR@Mc{v-);`%@0 zV(G7r+fq2MoRGD$d3|$DT}zg@g_5g$$?TQBmyN*3RiscWdLZ>a6_B|`kqTdqZ?1J-_7;6iRxE7~zgXvs4I=|L>ED^2{mE8VR}PK;r%7M$Z74=yvbH z9mkBXHkg@rd_m~vHkP*%_6~jf+s1G8qom{K=kL34%Oe*Woi-bb4-#p=Zf-W-*FCpm zUkz=4-jbRtSCHV=4Q2~bzc!8<-){75C*l@8w`OvU5pA{@S8ww4(~Z$>#=%W(#*_zj=!bpB`0c#Af1eOs46}D>Twtj59VrcgURk^d070%IDT4 zM=75Z{mooD*}KHt&Szc3SvjAidkVT6llB?MtIc%6f7#SV_z$8_7~6W7>E{{44jwQr z37F-^v-(Nn!_;!K(36#71U&t9Gs&1pb|Dbs$@|3)#nk<50{v1#}me9DMu-Tw3F0^_b&0w(h2=S zjJcnf{<3->om?Gv(Bn@s&T2DWNE7uuxCo+u9@4gB%MlX#Y>}C{fY4WO5)Sm9w*A1{ z+jjLKmb+p%8%xYKc{&ZtRd|0%eg5wlYbq(ywLbWFE`4~ z?dHYCJhP1g!1@!eKfl&am|Mu^ewg%n-7^>^dUpx=uWoGaLxtSqB?~`vew*>j`h(^W zDw)~!J+p6~k#O`Dcv9cV#@+g6qf7O=i;N`m)fYWt-eo+ew@5=DF`ijlzVpCq zr1-8i=4Rp2=)eES*gV%>8+Y31_z%Kk%5a+ta)4IP z9h*+<+=?Kzb1TU_)mH?QolDLAHCNL4jWOHl^orJ##(f*%urJ0O++rL~DL2nG9;z{` zw=CSTkZe@`HcZn3^IjL<_A4sm<15X~Ep&RQ3%dI=jpz}dWV8|GqQxg_g!gSXUh8F^ zP?jLdHNsVXKM-~}P`;niM+a^;CVK|LX+JD$5zP!I`>cPP@oD`&ij!uhaWS=GqPf|8 zg_w>kM?ZY9+eu2dEf?KTos^3-^};zx=1oRFv%u)wVyrv({=4Q~MBly~2Kz@hGZQYg z{De3;DbfW@=;FysGDn!bj5*|QUgOYmxWSWx=iqYDJ)Z2gPn>Z2AZ2vb+vf0h&EIS@ z`{Ws`3XHA=#_$uKVcm%9vpN*?vSjqYztsux%aZqr6HY_iIJ%L7--DZ|Q&ZJHYB*tZ zK@V)|ou|L;h9?T=$?a?A~(4V_E?lV5sV8S<>%{DdE{B^mB@c;XjCK~XrPHo1Jwx^AUTDF@zj2+QtHFd192aUHjB7Wb~ zB6zPiV9Wgj+l*hY@Ql%^ckZL;zmMQSW3*?SZX6cl!iyS3hdmppq@&EuledukEh|r= zBfQ$B#rUb7YmBKjD7#oQ*L=i?F321H%}U`8D_Pyf740hx=rSG_?tJvxO#8il8)|!7!{xqe+O+-&mgR|U#+DdwGZtD0My0u?LK zs+Bwm6-hDg6e;<2MkM)*1iFwCPZRN!vU06O$X(W2SKl(cu3-|CS2i~K#s0*+T`Y4q z1lIa1>Y=q|6=t^NUc$JP^g8Cj5srCqgkxq)mtB-|9bTu!cWzjxnk5s_shTKUdL}tk zh}YWWyPbrIBDt1TD@p6xRZUflVExr=t5}gM(-tzGrJOg_49My^O)Tc*?k#hG=AL@f(doV1-vV*LyvKtG)U$PgasAJLv}o1+D|N2M%0?(9-xj?(HQaU9sh)Aur1u58U5LMCspsFa zoX@{y@q==T=~THn-$T^2R9-#Bzix~fl4V%xUlj{s>LgVcX`^=r{U^pp5`|i zN$*8Qr;{-LXB)#9a4af0+bQ^yO}SHAA9?T)YH}zfLr*+)>wFy@{Y~v(=;*Gl_gy>v zsg#EAag{;6)zy&=ckd0~V|DJacqiX@T+?eP0>+nLOc%=Qa*gPNb6T&Qf2Ogv#k||- zYwrK$%g1)?e))iL!=~!Bt>>+!3muw9Hx%T3JI|a%*Og1Q7@Z2tsXKNqHY)cU(fek5 z(#UKya8mB`zqcVZ$6MX9(0DoA=&$!FT%28#w|H@O)}*Ygtf_rGI%RU6XutcucebZu z{>}~TY@5)a>x{Gp*A6e?8h7fL!as+1U+6;WBsEdy4Xq1C8tco~9PtcDHtyS0eFG)B zHI6ifRNp|Xdvx^f4>s;!aC603)N-xo7^MXVT7P?%xs$qG?#5S*#(g`eiD_=U?}q0_ zpl!>FUNMq4-%!)q>KT$`%%c>+Rawuykum( zac=I#6O5Abm$w;l)uU+m#Ps>8FNinG)0vF@mT2`K{43`F?iRHl8h7^sg}1yLuM8RQ zm~{EQ@nBwF;pDj&8p#F5n-mT{-bm4DbDq)npm|_x;oP?;8PU~+caUdqrx9X%;T<)` zyV`zZD{)@2Y4bL^IxtRX1;*W*HgEEnRH^s>qpFFQ42+Xh&Ck!@o|jiMd9D##PzmHyM!%CrVu3(jK*)#biVo?0n>L$A3R_<}GQwDP)ELQ?du@4r9iFM*D4=|`b&gBj!XCYrjI zE@@b>Zs@ORQ{&9U2+y?Gh&hQyL}H{jG0MMdKg`x;meO*+o9nTkXwUjX_AI-K2CMg^0{(K7GGywvI(_Y=_>S-5y6T!*0Q0$^u%~4rtg!Ib8if!)C~F?a;8@anE*W zwH@S#J&0r5p<#dFsCH<(JD~0DfOc~SG;HSEJBXGhY1p@Sx|8N;Bhaz`Zfh8Nx};xB z^q)BCGwnX5c(8?Rh8~_r<%2y@>pI8>TZCTHPCiNpw%{!3KnHft+;WPtVi(IVPQim+ z9e19B2iqrJc?urvA-Jm@p7#0xz9oSNg6hZ+U=y}CmPAV;5|4k=cP>Y*Ep-9a-!?;fjsZ+;zsj5cOef((d>d#V?GT z?exR;YRUTL$CF)xT19IOwnGh6DRRroMwNv4 z+PbQiT7|I7A-;Rns8ux8$bCalOu;J)uZeG{$#2`|;Ipjxn!m(f=@;)!QcA4*`75c? zHLIHH0?kx`#(M18>J%L9pR=;DK0Al_>#C^8&CL}xf#!S{PxdJ2we;lMtD%~Upeb=7 z-5l;Cv@)Aj4S|*lszNn(QpM&j{)SbsS-7H&4^tH?LSti~p~}TSR(`NHKRA2)8@i5f zlDS03IVvtnD86#*5DizbQOqh=VxgSBRVG#N>b0wY7OVQUdY+XUny19%S9jeF;#>gM zDw42j;K~E{bi}8#G{5YQ30Rst)2W(0Z>;O+mG+@_6W(T}Ek@0|dmk)Tr zx4JSO@a?Wb%?AV`yDL;;?cXu#JQ4Up82(SYgw1R5Zm z%dQbFy~6}NSGcc=37T{CH0$@`Q!ip`33}J=@z{vt# z3h=2!14eiS8lbP2(SQR5x&)w5B#Qy&i=+==Cu0E)u?m30j0Jdsd0!^bDMDZYl0>ou zpelm11H6hk?jR5!DUtvmi)0DF#3+#mz(J8L0f;jN7ND0%mH^1Wlb`|*X#>;!x^dtZ_3Uo2Rxy%7@C1Y=pv5BxzlEv?CTJs8~d302xIRR1_gJKujM-tH?oUfL0D12`X9;+7T=g zRIng4fb8Z8&Tc+gIQNbiz{TwI0OzvLcLltd(E!(qWD&sij0Jd>vCqo>0d;^TJ32s; zNEQJkGd5ZFAi@G9MX(%Tas+b_$P&pSfRT&^C}b?ae8$d~9fYs|y?D5d0X#=|dJ(`u z9w%dzml7I)$GsgffJcNc6#=ldcEl)4A&hn7N;@J!U#p*&+Wp+O)2sS!Daz9-l0Nj; zL!4|QaGX0gz*~&9d$FVII{IsAOrq+Hr8ir>t`wDcg1hLeiK=^*0*vN9HI+ayCpQte zl#^ExcuXXVp0he#sol{^?aoz-4)sql#ur7WsJ>N-{#3)s8mnvh?5JdJ>7nItbU#i*<1KFR%$Win+0+nJ2 zC~C4sgCYUgl`#Sg;UpS(3Og!V^)^ldJitjiP8WScpucFpqOk;4a`FIy`#AX$f!8_t z7Xp754P5jmEAkfE(YENPRs$EIRsSj-)(VvKykvwtkUq@*>;h zMYhR{Y?Bw+7A>+ZTBIzB)yX%6?aDBGCJTd=*`1@Tuhk98&zWs9upmf5kp%&vKvUGp-#=4Ey)F0+kLX2;wz+a6`M zJ<60l(8X4B--4zQLX%HXU$Z>TXM36tquyUx=2NQ^I{e!bM+~`)!vuQN?v(GK`~_<^ z;j_D{OGXB?BV_Ry4kn6<$)5Ofi&ktaFSeBz+r6O};7(2^l3VZQImrQQB2w%lu!xh( z39RDeY66=$xs|{roV<>}jhwuXz+;@WJ*D`s)cRkFOPJz+T8>a`J3=wszbg;uHxsy% zlMfMil9TTe_%kPCQu>Pf4E=xMDZh*dla8<`9yJ+@MK5yMWL3dq+6++0JfxPc9X|ggpV1geN(vCdQOhlU7RF1FmHkOcq{b3-qOC z9WR>JXAi+vK8P&ROVtE}l52^754!`vIB^|a0x*#;sR4E}7T_AjE~3$VNsPdrjc=og zcvFI~^G{9!tmCU}fJ;QOWS6|)CM@F8e4gxPP+uL&gXTCg^jSPRebTxbE*V93pUMNF znl@4r5om)*mfTL@H=G3cJu?8j!dQTJ8T)ZMUrJJP21SNhJP8Dt$wS^e0*g6`rkcj1 z-+Thg-2)*k+ErMzWSzlNJxbcfEm>h1wPtQZsv;g@0G5bkF*;8RV*xfY7T{9G z0$j~lta}}1>|+Gp;eH4331dGe;O!@p0K5QJ@)3bg7z^+XV*xsg?rM!h=$L!?Y7%R= zW5keBgpT>5=$J+Qs8bFW9ka;pqeWTN{TA@-K4A5`qBpGmQFP22F^c-7sx{Ce`0*^^ zn?+cbEE0}W1jp$m{Gtes^E*yrC2}Rt*gbvJDr3>JR+|*rZBk^nNzsbFYPqo}pG-4f zSgGjN47HM2^kRluJuFJL3}#LL?Xgk}kXLik9u*zqUx_{bl_1V?3Bv`#g`}mHgAl+9 zku2L4HcCO0m;KLcRoj}4KWT?lOdRt$q}nqKYbx@9ojVx&@>Im0vsey*iNx2PMadl# z2?V@Ct}y0Xy*bh$;Em%XqTDc^5dbuZWEsFl#sb{WShawz^TO4rln^^{m5N@Xvb-id zu-M^t*U-RxhZv)ahT3j-wPn2`+j>Qa=I8T8!nqWMbawA z%4n5iIkd{L23qA<_^eWOt)h8SE6F+*0$T#H6VOHm%q_Ag1t=8j-Su}zvbr+kM7ua z-|Nuhly609zFpqpU0$CI_UhbeRk@sn1(j5xrL=FnT2OH;P*@8#r_-12AcGusd-Lgt z|Bggo|JTLwt&DHm6;BV_75CZV#dcS`t*aV0eHbBU@fd;u@P*zk{ZE~0+G9_tEt$?? z85MOMQGOt(R`|c1PLDI{?*xYM^`7G*&z_nU*)xCFtXRgAyX|!xfcHhRo$DJ+lLqi` zJixjzw7k?&+s@WJILy#m&e%$mO zuR86OfFgS-tq2#N{)`Z-$=Si}RQxEu+QFr_kCXNiZn0fh=R{#71(ZoVJ3t9};UnA< zbXQV1jGYJ|TO`|Q6)f<+%Eo@xx^lN#We2tVebS%EXS=iC_UyrvSxRC}=3I8+09{Y- z;+2Q{2|UC}rO9!L>6m3YuC&W2N}S89S6Ht4ke95m!j#1;M^{+uNhR0z=2n}!pkHjFA#V+ctNB@mGGr*)@mLiRvAxHQNe3Dt6Y+~lEop~%`F~& zWgp%;%3i|{S-3B?TfG#H%idZVc8R_;Xo-F*uPrB93(BQv%$Gz9mY!<0zV!A~YcamK zr}dy%pqKSBizuQCJ77RfSn?W4kld;q+tX9cbQO$Ky~hE4Whx6)cI z4>xFsxAbh{56DPPphhIi5IIvglBZZ}re#j0p~JFcEOwMB`~ZwK;mdek_yX&OLObii zc6=|g*U5_zPVVC*{D9ZVzk9X&+BaALrix@4MwOL(0kP5=V8YC(onu*+Jw7SM|4p74 z{sPN3RT)gxDoiD&BJxV&gYHwasyo9tQ@?!iL0>zwEHm4+}729|rrzAvCy;1Bh==QH;gH=IAqzk+yQdfyhw{%s}c|hs{tdY6^ zcL(VL@5QW3z@55?4?8<%^@uS*@Go1?(<)0sDvHP1m@H>0#)D=ol<@0S=YA0CR(Qah@l60Vhjd zz=9y&xpd5vynqWNFJMg=-U^M&SkW=v>!4eH$qP8d6Uw`XvjXVj5k0fNhdCW{2QdCfFct%3 z2x=KXe~~P)xP^WPv0OlI5d;)}emForYCsqUS7Gnnye-=-X@q)@c!)1f3 ziRpe@h95=ufpM1MYT@NX+3j(m@O9=QgR2Nw!f6xmp`a>)_iQ6Xyg{IfHxRgllRqKw zGfpbTLv(sr<^%XknGayT*PRb|Uo^Nw2q>-yN&q4yD`39YWnxHu!%|*A$r=MV(aZRW zUMshlFmk3tF2NyZI^?XG-q(_stO4>Qugfs65%ptXg3>NT8Rm60_-s0z<7I0A7INAI zye`NZ;5~=SAz(0lFP&d6bphTWbpiH{2<5$3>H>UR6srWFO{xWqiV$dkc&P!fcZAE} zj}qq-TrWIeZ$`MP2sU+4KnUu`p3+zzj~CfZZeAg$8eK1Q%LtV8X=! zxLKACQ0LeF03xIY!0wT*LSICjJA?w?UIKeL`3!-hocxf$$DI6vz&|5g%{rY*GBe{ZrW4Xux6D8|JDdwn26`ii&C*N-% za8snKpbO}zu{2k zl=?kOc>&+xio^i^UE%?yiWsE=c%=h!-Y8e4yU^(XH!7D-^P;#efRj0G0{$+jF5q3r zxd`|>x2m;tx{+TSxRSu`D3?jkq|+4wRSKppoct+)N26TU#gE1nQ6fNt)2BUwyfqB( z7|m6tS#-=7s3L$;kt_wMVk|%dV*wf&dzsYkDD*UqXKtk2rds*n^frx)3CQ!E78CH* zpt->x==g}m>xs06hvWk~&$=o3h|WR|{kS??EKp@v5IDfpLj)diGp?i4EsQ!y;Ec5iF@v9I&Sp2W$=!2k&r=y$f)pP*nn;uA2c@GkSFx z4J~xE%G?0g%G>~d8HV?VGB?0`SuMc*k`?eUqYsDC@F*R>lDPr?TIL2AqlfYym$?Cc z$Z7#Tl4=2Yc3I-Q;0Ej@+N1;^Sn*LhJ`hqqDEN$%5Hj6u3&B{OOAE;J-4+w@k|3qv z9jbF_0n0gmfHNg4U<0E8R!cPCg^a#1jN&tN<)@`kP{m0IU8K9Z(`9sexhyTdN?yQK zk{57G5bstx-zIqhFOs}~cZA`+$s=prG2QE+TXVL%==>KlFTi_bUVyI$>3W3DU-Agk zDb#Tf&ypby_?8qGFlf>X-p^%GKMzCq(s_iO*aAk$i7jAG7~WJlu?5WF2_nE?$qJas z=**5acmewg){?%qh8V!%j2>=luuRuovQp0)EXmFQN~fb`Z2-s0+5p}dR2J~gl(hjY z#TbTRF?Jr`X5jW- zt876nfzmCU#L~~5oP^S+IQf*NUnuPeroWF1dAu4C+3XwW*dGO;E!7Zd@3j;i=6I0mISbnQq40bjzm@D`sn= z$XM@d;p94vm*FV6oxrD@{6fk*tOb>W1=W|ODG%{M6Hi2a(6o`0&~y_g-_+ESyH)8) zbj%Q_Vk{P3tho$^s&P}7W=m$GBA?}q#Z88FB3T5mm9fZ@Cq<=j0A6h?1$dKr0p4LO zYWGjZ8oH{eHMPW4E2y<`dfb-nVV6k0(%YcxPO=8RV>=t!7U)Uc!1-Eb2d(rAuY1{_J%cJToYPF$& zdcj(~bFFqFP@5B|{R-3;2I^&Y^%A$*`#^1nfZN}=^{qBdzF8z)&4T-r#5*~bSwWTUJW@!M}i}6pCikO-Au5XfwMl?A3^=19So%*Tmw-jCdj%&PcnX>0Xov*Ft(&5wjM&fKba_N{tM>ZYf=;%Yo zAl=sUnbh;l_tb;+h1+#5BkGDBCN6XM9rjMc&J)TH+KBcWIv%CtaXRj!X$3mDTDdcPhH@sJvP*~ z8@Lzo3mHT6jengVIPj>)meiw6=&P`)dgMtx2BjX2QjhMaN2t_eRq9bI_4t)~Buj1O zrXJl=k8`Oe*fOys!FwMf{No-yI*Fz#DG1r(gYGA3VK- z@(p#g+r=h7VCb|Lc9DR+pi{lvq28#1-SCo?dLK~PNxdql-qTd?Fu-n4O1t5K=AqJV zYG)0#*#@2<#3M!OO~uPP@#{D0x3isc9!uwPsuvAURbEw2^=eIFJLOU3cs|-)4&d?n z$Zn~xz4E;v%cI^QM0vXRQ9g-|2OAW>l2^a?dhlzO-xc3p zxl}o3QyFgPpd8;{$Cf!f$b{T7i-b+k=C6<)n%6(!58em9%EVUyZ42`}ux=IR{}^*d45BaEPc+~F`op(u2@i5)Vf3u`T zIq-8Sy@-wx2G0fYI8B=2rY|@R`ddMC=w2>yBOG`vZPyz-4}HjiZ=>|<25%vYhfJLK z*TUczQo4qY3%&fD2(AM+JLu{h^vk{j{yjr z^ywYY=TI8YReTx2PhP0sLQ0p>aRnW_g81i2+#boZ#6idPLoproble!}#xDqi$EJcW z%BK==?c>Bh69zw<(r44LH;SJnaN^GlgIE5XtnK4~M|r8h@S6#{8I$b2QfD z(fk!Hfpv8);=xsk@vmwCYKn!)6yNONA2K#{Jiy*nbN({%QCgYy2p%oum$|IDS*1mJ z^z=|3X$=}kr8U&YZ^?3CSnuXjElx$3Cyo@n}fBSPJD?M1Nhk zcuuQc>6)rn7@j6uks)~cgz_w}Yy!0FrK~YUQ`V@jTQ20zz=JK+g%tu`El>SV2ia`7Q;(2i(UEryDWy^7>SP-Jlh`=8Bfli+`Yn}Wv4RJ5x3}O|Cwbxp&u!Tu4D@S} zJe>p&UN#6dz*dPeHPurblPvk$C3zAA&lJbinEm^)#YSI5BwQzka9_vyVW|Fee7rBR9G*QPgN% zhr9X(VJ_&e+Do*)RSuQHwMD|cT zRO94psP1ES~n~Q3i#;5kK}y zJ?<7(dU{wq%7()t@r0?TL#b&NkCG}O%#?_Z%Uo~qD5(nwbB?Fuy!Kc;O6oRTn_GD~ zZlE}%9!%RNpi zsn0APB^7DnT24thZX-CPdRRP4YOsmd4m$RPJc~z3%_YpAPvNV}EFLA*OqiTg`05WW z9woKUL>%upulp??C3S=_&sp_yk3>r9b&E$yeMFeKr^xGDi$_UC(`01BRm$t~!b+uE zJW6T=VIDt)N99{QN@@{d7JjRDC{<_iD5-UXssFlTsjDp>C58Jxd#zTU5?1O7i$_Tv zCCt))=p9P^&Eio~u~ev~R!^B6R%(RBqon2o^G_v}8&;~(;!#rAUvKN>9mnT;EFLBG zB4JuiA@!BTqojIL=xW>9aYV|sc$8E*VV<+B;kY&FkorH&y?=aHpIuD&X4Cg=XseJT6ZIkCPxmN4-3 zR=}zgL#r7MEjK%?G5ZAB9Q1AD_f1Ng6at!HRW zMpFH~-FjFIt*?d#NYR-^sN&}xmO;&xj8v3m5_7$k;PHj?$S{Alh^SHAh|N1wXU~i=j0JiT`)K zg@bm(66T4ab;AMv^>AA0Myo^&t!4f)t2de&tvAKc+JdA++gJMl8~N)OF|^_m{cm!( zgvp+%uGV5`^+Hm$ls$ih7yQu55JT%cBx7{sY3{?T#n8GNNrJ5KSrV-$#n4*k*RDRy z^h|YqCx+I3I50`kjBQ@R?qX=2fnuRfVLL_U0qJ;D^?aVrVsL z>RVLCF%m4l_x;G9^B15Yak}S=KW-CpM#ypbJ-FE8|F|_XT?{)ga zZapW4*2hRnezRM@iJ{f38Is@a*0EyLF8|`G)>m$Tjr=uD46SRM`B!gg4flc{S|ws= zEl09R$83{5(-KySq4g7zg#XYw(r7g~m<+AMk!)XXw~iGg|6+G$Hp!(w0a+kQS~IP$G!S*O~TeGVrZR#q{3lM5JPJkl0h1WXL+V}eISNb zpO)B89pkV-46SF8%yEpv-^I{MZRL3#)raOS+b1HCn<6 zo@oh(iJ|4+$D6W{mj5P{$kjkv7mA@Z8_ANV?7eZf7+Mb^@yclVZ}*E_<)rnZ7+RG` zw(FS9JloWXp>;?*92MO|>r2lx=8qOb%m1~4=CaJAceEH<7a*BiLd$%`>^d>D?m?3K zl)bKHVrV^!Bul;F?_s0s`dADt|F=SS-cPHOXR51Ldor|UASu+$X5Q-+iJ?`3q+k)P zlRe{6iWpi=I$$l{N6SAxjIOJ#7+O7%B&n_*o^h)bL+czQYaG@*F|^hr*{=1~*Jy1L zL+cwPLo|yHFj{SoAVVt?NrJ2sj8?H2TCX4}mX+a|`mjn2tr{dL_tNrTG90q#-R zUP3ZgXY}Uly`PGqwG&C2u5cb|v>JCLL#ri{5xUauujT08=qiR*Dw2+x=lv_U(RHPZ zp>-ybxvI;2v^+@+t&5P9s}I{5t?R|mx(mq=St&-VObo4+NCuVC>TR^%6hrG1B&D+a zt8>xw{EuR2#bOF9kk!^Ro;!%4btICk2WZ_G8@$Ji)<7||GLaN%Y?!a5ED=L%8xihosO^S4tN$w5B6TmSyh4$Hk~!exg3?Z?qb9B}3~_Khd7Z zKU$97QhJM_bvlym57IL4Vb2#ss}RX@^`UtNs1QTzcO-+<8~uz{ziwn`dVg>NPB(7xnqK?>Z~hU1$G^ z`gh*%wT&3e`MQhJe4poV zFxAJAiN1?6y2t$YMa74>f4j#ro@0;s->rv1_QtN*z&*E<@+VHp&6_e~dZbIHpj}1m zjXl(LrO%wsw)^{m$f#of%=7y&)T@soDGMcQk*o?OpCefpN*ZD6s_kd5D+Nqd$nsyO zRTD}Ikz^fjFXwSEbs_5`B=N(7$qpn*p(GI-YjP;*gCsSSWFg52B^M*f2_?57DIK`y zCFF=I(umsS)xW_m^7*$$l%AJ~PDH9h zy)h3-#p%Ih7m|({!6dmSO4d5{k8&edpSVslz@&w&%aLS;l82BKw6kyTAAqUoOs0bu z{E*ojZO?I((*sPJ$_e)>nJh579d~i(gIV5}%%10;`kwchKVpJc9sSS0Hd-1+LI;h6 ziBreVoH;IUR_>&6Q>LFcqhWe^2+LfUVIK)!fT;eUSP>c;=|UOjfNz>J+Y>7r>IBW5W2UGlTc5KYm6A`{z$2nWNZ;?4SB_{N?%kS6)J8{5SpMZ{@D- z>$YIK#!sC(V`8{nC*deBMfWqIh)0>e-7z`Gi3FT|LKP$%?pmq z@ko|^$C8@`%8UGUrx=!8fuwnV&WGkBq8(tiJ4!yHFBz6R5=n}q>U#{}L(r zc`+=x2FV(S)v6yETBjjd_5rOYJ=1mmi^R~Hi)52yZ@v!9x>3RLT!SRb3$7jiSFW-e z2a|)5Y;csE4yI#fu;g=*6o$&V*iTLkCO09;Jtt^Ac6|L=eSKX=dchCtsy@E{tiGP< zWMq;~z`7Xy&v~qVWct=sd)L4BKl1r+w$n6^+v%WFqZmFNtYgtAM04G$|A)D5uI9Rt zQUA_4VL@{;6mDx(0Z`wfr~pU-VBY*RqLeSmv_uGUrXq z2`}^@EOU-!nf=dLFnMEx<0l`)xPF8usx&X~*Arkig{-xH?b*TPBP4zYM3V22)P$0lwEE|}>+3R~ zUo;0ZCzVX(J6JMY@AZA?Gyaoar-iua^&Z{P(d#|>NXGy8>wUM@yI}@sm?d&GOKgZ{ z8pg)k8XFAZPG>1VY3kr^qTR)H8=E0N@WXt#EW zp>^~?Y~7B!ri!7p1WA^ot}n#UYH=c#`wLo!2iVA8BgN2~gCy+)jO9U$B=lA<=G0RaFe~{BTgd2lE)&c{F0XcR)OfFrborl z+Ub|`q1_sMG8tM6kfeWNx4scWE9Df-nN@b{N-?xvLz4Kh-D;IihSpRh37^}om&DLI za4`0})pl!~7+PgWO1`jLe~6(q6f;e!*7EC~$+}StEq{JmwT0FTp6R}n-C}6)3Dc@ z&?xZ6fJx)0O}O~H(7tad+Ex2uqlR+K&s^UkCV7v0y>(zR-eWm~LjT5cI-O32BjGwE zb7h5(H)wq>hE~rE?9o23FLSOKT1$~6sHK6If(ES3VraD*j-&2MdtI4gXx)Znxx-p7 zhF07e*bg4Y`*O`siS`#m>*6!~yNB)8<6>y}R~(BRR_im#&>D%PmD&|P|Dbi77+PzP zRBJ5TFa26%L-pX*Vqt4tKHcc!CJ!b zwH;bx#n8F~$>tC3b!`wsYu|G`ucN~{Sq!Z!kz{Kvw=-JLilOxblFE7`n=DkC$7+NRcT)EY!_9eVp46Rj2R>?{> zTD!#1>NXC?;vd`Vnj(f)DU!5L?AE7ZXf?~i8JS~_$`C{AdL)$&t3nK|T}bL2R?2uX zw9Z3PrrrpDb406D46XN(OqFHcJ2aa>hE@iW#KY}Nc(WKYysA&_)>&d`-G*ehme9QadP58?|5cf@tL zj~H4rkgU(=SxFnubdBgGF|_u-0Nc*ztSddhM*d0{qj8AD|6Oa_HJK;C%ypE!O$Hf6~)^)kj8YM%%VrX4}WRt^MEQZ#*NJ^^gR(viQ zTE`*j`jOq5A%<2dl6Y-#=DF@;F|-c25Hp~*?xT&?X<}$ygQQ$DiTV9e6=G=pie!W4 z)iy?}$3+7+MEijPa~_wPk>f{FN?-)+{7B4(o9-w5pMm zd}Ox{zJv^|Q;@83SXYRl^%#=&T0;L0|HySVTARhtYIZ5kY(KJFr-`9efTYZ^mw8(Z zt(N)N$LTETA}{!%HChan0?v)UI@+wN?zR-;pdi!fV)DnZMIK8qCbj3CNU9JD&71vF=;yP{0%!$!oG`@*;t@)bQ%*|&L2NaM=-s2V5VPN8F zSk4)tf76^GhHJ3N6-c()Yd>8Kty_`gZL`<)gBV(;UFmt5-_Y{!5{uqW=Zc|Kg(P0q zFr$@x6&YF+k<@%k%RFl>5kspQNzQk6t4$#pT4RwcQy=fL+dvrJ7rxFU?YD`xP}a^wMb@vW4F3pONLf4l0?hOBO$X$gN3L#yxg z7*(>&&yig#hSsY{DjeT0?{fp@LyhorjU}Hhh9%#Dq|j0Fdtfp(ll1gVEp1suh9#ei zWR5KJRc{#)%X@H^LKXZ zG%>VpK;k(@-8*7v9ds*3ontFFTMVs5NajDm-l)XR_~0n(doi^7+=gS(b{yg6Z+I`i zt^Q31Hl`emr~5OH^@1NVe}JjzvS;T1;+Q0^oIU1$rx^x$OfqR79+S+d{~Guohb1Qz zdtU90d@izis0{Y}Ffqw{JSG_pCjKUt6Fx>_Ik{rE2CqTVQ&zIkdRB~P5+q3uE8%uB zv^pZm)q4WX*U$!tp*0do*L&H|kx?169uPxoJCaOU<}2I%?jWNr4oQ)$6OGmeF|?BI z#QCYLB%?J^46Xkl$#YmgiJ{eVF1EqjdG25yEjeOn-Hl|qEc4i?6hkZFE*w$IN;X=V zVrbomq}*X`7DKE3JkM+1l2^>kV`ID+S__c$yWc)Gz7az!2S*WxlUv_4tjzY&qvY@^lj z9x}9Yk>uV=>nqRnzOU6{Xf;~s{r%&F^>ettAB?<>g!6oFFiDyZ&8;{^3`;%($-3)l zec_pw=O!_$&k`mSBU*(I7vYrt`>t!V6j=KI7L#x*!tai-_=DMbcp*0`L z21i|$VrVtF7jvfSGWTJBF|?*5NxYD~ai(Xgt4Iv3MM##VID?Y^92!brzCAQ)pclW4a?TPYkU&NU~-&ves28hSnjan4>RjWUVVx46V6HGNy6~ z{omt?z9X?r46SF7)aEs^T0e-P)pjxFvRu}c9bhAW9Vdp?X-LX)S=VvKc3mrm)=DIv z&J_H;XY^XG6QePIKjzJR)|KU%mT;yRTFa0WIjpT>XtjF)$8|aE4RgDCi=lNglAQ(i zb`^=CwH8Uyj5zBOekO+24kR@WtH}~Fv|1w>qV3DPmd_SLs~E|$8(7zuo@rlDDu&jh zNJiYox;7iF&&AN%|3NHszI_P?i=lNDl61%DohOD?8InypD)8Uf7QMcH7DKE5L)c&F zICG|Fs_Papv_3$Rt@-f2*x;`g()vXVt)@%SKcRDw=q2nRhE{hZ9dBeGE{-+5dFc`{ zw4O#%H@A_su5ZQAYF>tsSwPGDmZvddXe~t2N_92$Om)2@hSr}*mRwKkYGYjkA0|WV zY9s}Yc0DbI)@CG|9ZT5!5i+z+K{D4-*X3epJ%S{8w!K~7i=ox+QH&PV<)67k*EL=Y ztzsmlvQ7-Jk-yf6q4g7zB1gN9TtDy&PnLfLFS-w} z6+`PqB=L7>OF`H)%1U^G46PAJvNW@qtvO;;7n1U6w9I|@ff!mfNLrmoYrE0%wYc`T3S^l-t=p*yBVra!Yg^@XnOSmxBH0G1V(CUL^?i~Bx;Z!lSMj}~t z39Uzsb>)enbt{rm)n$HXp>)W>O=FM=xH&uDv*?3X+Pfh zTnw#WkyJX?*S=4ap_PQB-!1kfY%hk^(MYyC>gq3s)~QIm0(-lrh@o{Yl5*8$-dEl! zhSt4E>SUSsm5+&`^(>NVN4s7ZL#q-==5)>*{x9W5evge-$CYGgU5aF939WNI(-J-{ zhSv8;HZ7v%U!{p&!p_f-p*0@K3Wv2wjM{}H?q0ivA!)%8~32T>*}6*A6kX+C7IY?rK_B80(rWhSoz!`ZKRkX}U=0nBMnu8==b(!b+3Nf^PK$7BE!gl3kXq|y%{mrz@=PC2V(0U(9++Fs% z_FYYeRw|Op4qn5RNq+{2{?_b#Fh%{ynD6!}0h8L^Ud|({>)$(LD`yoLFNI9_{zEcb z!Sw7#CQ=WX|BG+vlJyPUGAu%y(7*E=x|aLuO&Z2;=<3j}@(G+FTZhVEPsP7LCV7wF z&@~0KX+m(OjeJ;6XE7WJ{a*0jq(Lj$Xw4Ku>p>(n6YSQjVrYGdBvaqeneR}l6QeEn zMXXcD_j+x`&^i`L)gxRx=I?H1i=p)vlDJ1{nZLU^tbz=!93(wuooKY45JPJhl3FdH z`CFJlFOi{jE0W|#?N+52TFqWYSr>4YFpsgpVrbsw?tb{i=p)$l44oOM(em& z$j~Z8lIyV6ilNnL4gS;8{`^jVF|_iKBsjhed_oMZZ;_NNw~wgaYssixNY=?RkEjh| zXtjJ5TY@a}h{_g2s|?AC<@T}hix^r1Uh}-o4(kRnwALZ%r#m{#R|^kbM~2ooBqPq} zTAt&XzU{hG46T=uteZmXW}|h$>ttx1g`_Hn*7u(2itEi{Xg!Cd;zZB-o!xdY`Pv4} z*F5{YL53w?izMk`TIM}fo~i9uh@n-4q@usQ?eoB_ zAJ3A_Yw#g4Ecpo}X|l{~@LMsoTCK;Jc6>vZDTdZuUTK8Cr)S$<%((ziTM^`bIY~v{I48JKB{YhSo$R#j4BPu9;$JU5R9_qps(~(E1Tc zwYF1pyE?p0hSmrqb4PFq&EK`Ti9e^2wO#j%p|u6coY9S} z?K)y38CnyN)aq%A@iC^~idrm&)+b1IXKKvHn8x8QF|-=L>v_wMru9~g>8fKlF|(fNmoZ*7m1;DC6WyT>~)ojp|u)G;(7ME-WEgaV(A}Kt^URS0VS{GOP&s5v%x?T*eJCJ1cv)8pk46ThwiX3%)DTdbfNQ(Q|>q>l| z46SZR3LJHvAcoedNK$3>GFs<|p*0!FTv_ICrSrwmnvJ9))!wd$#L#*LNv@+^m11aB zBS|^IURUe~WN5WUQs<~EMGUQeND?w=`7?Ip?tNOPi=j0Zi8sn_T_}cDA(F~-Xg!4g zMczz7Yn~WdOOX_erM1myRfwTgi6nOztp!HwTQRhLMbiE>T5lSyCLfZa)f`DjUAuVK zxV|#P(7F~$?L_V?&EHqPD2CS0ANtSQabLMQ#zi5Oa&kfb`S79W$LH5^I7S?u{MVoc-kJTbH`K~g(} zR-w_lQ4FoSk;D(8H73^78_UGdDn~MAFs;{&efW+TTAw0Wb26>FjCD2tgbb}=NU~*_ zpAab$Lu)mX(i3S-Hd-6S(5gl<^&GoZCx%v&O`g~DY+B}Hwhm%w_1WaV3&uWrXNjTp z6q1_Ww9K>U?_y}3@G0i{X|&AaFi#Av2a#kRZ?9{+7+ObthI2+oT@%I7x)VuJUwd62 zi=ox(bI&Vr)HPfTt*eoA>~F7Yofuk;t8qNxsH?viS~HNupK7mbr5IXuNajzs*VXL{ zGPK4bNlmxcwL}c9uaV4g)YbA!GPF)Zvg$Z{U3Z9~Rf(k7(TDqfMTXXKNahc+*HtKn z*2_o|9qsx>46P$KW8Dw5*EL-Xt>sAK9Cd9GL#x>q?BmrN<|DmR#n8G8Nh{T5KGJ(! z46VQjUNJWlJL7}K7pKn$&CktAkv3C+icwPI+s{TA!}Tw1e@*4bic-GU@7o7OYN zC45Z`t=-@HN5ZszFj~iLB}41Nt^RuwX_=2I9}z?AGbFVmXkBA$SF>$oXq|$jXdEr` z(Q=^}S}TyO8b<4uSd$gEoeZthxBExJw9HS5-YbSy4U&#SXq{rLtIc<0XpKZtbs8=6 zaqlf+XjLFdA5Lqdu{VAZL#xyG*t*ZOTjRvgDn_zgS8mP6^Ph^L)!_#m?K!^7J_}5t zK z=NZ4t-hy_u`hdro-9lxsr#jY>N#5gk+2?^7qH=nL{!QDv7>rOGW)*>l;pVmc2YwsOoXbnWt-tm29ff!m(AQ{xkZfz4oEBPmk)fRSZ zv=~~qAX)LNeGP69Lu>z?p0`<6cae;?SCdiYc!Hd$NIWc46SuYau2mzF~5+Z)eA{wGOa?-^v&9Z zVrZ2i8R4)ti=oxB4qNYEI*as7$3N$bp|t`@=_j;$8m+y4B|~c{lJ$SmIw!zJ{#q!8 z)@CGwKCxTfe>2&|dNlVAdaEU*_kWjY%4z-WWOT^Gx zhQCw0G_qP>i=ovrCdR97Wv}ZjF|=+)vfZ)8y)K5zjE-#J@tz(gF{(@uUX`^+a7+On_WR~0O z`ce$7=8a;!3P-y}h@o{el2xVlx?UASYd4a-MvbiP>b*A^TGNoU`i;GDL9FQwdn?4y z`WZ=8EbF=_)^x^^x(^vz7bDrJBap9ROxAzI(5gmK*O}Jw0XFhi^LR3}PD9eX+-}Vl zLu(b1{8GF1qZnEp_Koqfw13ZvG2MwVLkz7INJ`W$f1ewDmH1CFv`%b{_5M69^ELBZ z#n7rm(!A7ewQfR&)+8heEor^(nP%(-VrZ>HQYGsJ&-lweVrX?qi1Erbi~8d*aL+d9b^IO@s$|IYSp*0H0Y+X;79BbM;ED}TOb0j^#q4j2fjr`R) zi43h=BvZH28WLlwYmFFMO`8F%p>=+&sW+yJp|u7{j;>vp_e8tJ&^r3y7_U-iNm((b zKAa_n)(c27b@XMP=i?6{Lu)9KBppYYXYBc6Xnlqx@h-d7sW};1Gmz~3ne8&q^ACuj z^)8Z%Uuc;})ZQ(~(CURG|8Op$Kcb@N`2sQOLnNMKp05Ry=9uT(9*X&}t$m)KB8Ig; z>L9g+2EMRj&23sG0#r` zv*c;}JpYIo*8ZJe@(No1_XW}OSlh$M&^p6Up0UsKH;AG243eJnX#H&LpTES=8hCh& zSM2DYi@{_$=J_%(NT_}dugGh#a&UVd@HO<)Hh@sWK zZH%|OG3zq#iDrnQ^)!;y{b>!0G3|-=ZAXSyCX#hcXywM5*4I;FXzkk`NBCc|T_4Aq zW{E*!XkCV+_&Zvijbme_7+T*U$vKcq*wbir>Oe+g14-AtY3;w4X+$j)Lu(_Fl7nb< zGd_vD-w|YJ4MI}>J=^ssHqywu6loQTq4f-sL5_R%e-cBh^N~1i(US{}jn+glwC+Zd zdj#8c3I5kA%6d}_t>2I&JVMLgnML>E(H+Uq8i!=6qg@Nd(0Uh1iKAUjI+3B(A4z!+ zd%I?ep>;o!LdOz*CWcls4A?Tq5)KnX>l!3IdvOUbh%xPjSBjyv1xe|#v`&gK&Dbrv zkfD{1WcDh1yRH*MYc-NhFSD++7}LIKhZtIIyW*(ZQP(&z8iz<)tzligVoYxaUN45$ zZX_et(!xo&Y46aD46X4<5*$l-uNYb%Ajw}EoJFI1qsdWZX!S*s?5HbW46Wrz)|IiY z6OFyGMU2Mb(KzaMjNaj5XcZwTc8uPa#L(J>q~=Kb=^b}BT_T27C6djK zwR~U?GPDLG$tkgq-Ydn>dJIXOqpodYXtl$xc-12N=*<+PafoF1z4m>|YB99FL$X|V zefY;3kuya8)fy`#s|^|RnbZYflEs*hmREu)buj)-wL|pVDCXtq2`0Iny_`ZY3664} z^2=#!FXt~X^Bw(jOmCb4IhcuHvXbq6xByJ481wSH)7w9-xXAiz#(2XRTY}BJ)T6=ctS7D@$v{WgZk&67O_6S$8^3 z7(a8$#BqKc{IQ?=(DwRvCGYVrrnkZ5lleRO1Ie6FlH3ACaBa%4{N&Onzfut(LwCWe*HO~nqX-Im8lFO0I2_^R;sR|`8AW5APOg=_3 zD3tt+BqNk`Iv(5L-VN*G@1z%!QZdovXVqT8YYzVB-x@z08>L*H7#vsx&dvX38pcM8 z1ijH^#?0uSf%2xH73;6st6`bVZ&X+)X3yhio!>tyCvt_)|FE1oG1?2CfUQ#29`5@R zL+d6awO7)LJaZhhR*Rvv4M~o}I;=k#TBjnJeWkr!SBRnYD3VNBk>kgp^{E(IjnlAS zmSygZL1JjlLXz*W9u-5Y3dyojoPQ#Byauf%1IW-i4vFVjU(>|UDnXKPwSA1eEr!mYrx55Xw62FIF8ov02}%19Wk_;or2kKqTL!KhSqc>`KNP!_Qyu_@z_Ez zwb}NP-w?x+cOq#&hL-u>_;%@JXbnY@<5-@{zziB|FZp3HEcrboC0c{#H}UQ>m<+9B zk*t$tep+X$7+Q;vjL~?WV6@&7Lo4o7oL^|YcZ@N812sSltyxH>PNLN;z()Qm6GQ7= zB(oh>%xPq3bwN@-)^43GM&lVtrNeqk46RR*4AK&I@PZ?OR>BZ6T3<-!j`WB7+RAF-SJ6=gsd;T`Y#y7f1@vvbU?< za5A*AkZj7dw`-XgT0bGF9cgb@-!sV2x)MphbL{PUMGURI&cyyyYx!!=w7)n_46R#{ zq^LK{^WjHgXtf>@Sq#65U&(!m2VrWfAQm(D?OrupQhSpn1wrfk-6=S^5;Vd$=`XHIB zBVqF$_0z=AT8N}VV`G}pdP@wg-;l(Qrqwgn)bl+u$=bP zl8R7rXPe z2}rU+$=PT7b9gYxM^YL}?nM%x8BAV4k`zidA!!v#enZkelr%pFtq3IpkjxGx*+@!5 z$t_4Whmz$;YD39JBz2)=2NG{|FljLc$B?0<50Xuxe!hNhrxfQV~iPAxSznm{cH14kh0r$qOY3 z=VHBwl5R+fLdh^BrJ>|vBsrlmKMzSkC|QYQb}0D($(&H~Gm?GqX`||8ar6{$>(TQh1K`KmMFqt2y(*sDI~tI9>DM_`Dg@rc9iYH!F0R?;Esq z)13`1-NSr%Ko-Vx4BHhK`ZspMFfj3R|Jh^pCHod85HD>0H$7I(b!uW7TKd30X8!Qi z%>U`kpNn?&oEsb)bC3)QC1prPgp#+AWQCF~NYeFIQuA4M?D!ZjH)I`(q%f59M6!Nv za8EQINo{D%KZK<2e`QbfElMu9E4Vx{6EJIql8#8?<^_{8kaP?svyh~Rl3S5%47xx8|mPnQ@4kq1@%)UREoQfp`A_dgsP)4_Op);@ei-_N+k z)sI!5xv&+^6k>v0^cEMsGWjeOHUACHQ7uBt@^?86 zTkd1pa;Hzabli;G;FddX+}YDF#k^al9%D=E6Tjqlyx^S}f0x|QQvZr_eM`Nl4_oSG z?RjqTKYlA#yvbIC?;`L&Y{jwr>8%16PoIc|oH!{rc;tCA)?oe<4XxNiT@QiDXwP0X zAK_PkDSIL~em+97zN6i$1ydEW8c)KE{bXp%MY3}{?_n@sH5x32)+8j$(^p>)CYK7T)Sq!a@krcmgZ+o2>S_e+XUS^=9?O<}=w=d6WVpwuEk_^Z4 zTqB0oLL`}v<#`57N5}HKFNP(5kED3Febgo9kfGHLNsVJX4+WF6+rE}(h+)ZdkR&?# z=MgcqUO|%P=%3I1Wp<38Kg6))gQxgUE(B+Q9!T;W_llejX3kSVYZ{W;c6RGlFeNL3 z)^a2XN7}7-z-)dxXw@PqcH9-S|M@shcqV9dMbh5Uu2aC|tqL6jAld1#W`ps6Hz;B~ zfF#FZy$B}m`JnX~k}(eJH!wrWgVtde;2hu4hsT4NyERwj&fFliR(qCnUVPb%n(O8JHVuBdBWc&lS!C{ z^NUn6k!Kyq@K~$`KJRVEa@mThx zsnJK3*;6wv@!D7H`FMA-i)Y*^+vn0E9}R{L%?_$tSi|IzU_xC z%m$NJ5uCMVA(n*?bzoNW7&43_8R`Xw}#^EZQiSJEpD%-`u=GjQDU zN^p#2B1w2HnB0P-^o?Nh29l(=gGp>I&NMd$le3VFc|VxsAlXzEObU=BZHnsEm)Wah z4#P2k7ySHNz3PAbS-oOCXZ3Yn@O>%%hduwXdVXTwtla1+avfTc*p}~j36~Mu@c(bc z?0Jkex)4VWj&eGRVIQ81B(pl$tCNvrafbXmDM6AQVxC7*7)m}vvMQAPfuu5&BwvKF z@kMa_oP?ygmf8F(T{Fb6oViGLwy|5~VrYGiBlCw3K zyo03qwqWuNlI5Y~FC^*PgGq~vW4!86(gVpL$1(pIV6q%npQeCG6O-(j&S49|r0ST~ zd^~?2n6ABpbwx8P{Z{ClDA_aB^%)H|jM23?^HtdcF2V7}v1AT2meU(dy5%^W zGj096@pn0x>12|(}ihbpj>68C)ulaEF&yZj2zl?c}nB+aq*pGq9ZN_ULk-I|t56k&n3`cmA zOJlqZKgU?DzG7&dhos+c_GMlmhSqCHGSyP^UBPu?XtmGB`Jn2GJhvUR&JsiGIwa{o z&`LI1tHsc&MUv^U56$=7c9=zm)<`6Ad(kpKgL$(UTIEP8V>q78=gWVBDcfc5=Wdsg zVaaD9ng5f$pJ$7qwG2tEMndHI!l1QD46S`G$N7bp(0p%mFEO;vMKWKOdDP7jL+fcI z)sC^cMGURPf*3EwF;)kPp)~_Z@^ALK7K@?vHj)apD|~H-)*oVM9eD-Dq3SZ<_kM;L zTKPzl_vNTN-e{GHq4ge;6^;=VdnFlKU6J(LX}8W6L+e^U`O$7YFNW6lNakoQ4>DSZ zUqy!2U?g2@?bg*|Xstk!@{`^AQ4Fn4g-CYLN;6uM#Ly~1lIPjy=a0qEYI-$}*&Nnz zF|=+%lDW5iMp`R|*6&El)Enj}DSBT+hSqc>s~oekcur-b6B6R^&8!b zK@6>5knG-vb?x*_?dn-XhSpRhIXb!+5?~{L-6w|DTS!*O>hGDBF!n|=w7MgS*Bmv< zXiXAB>rNzw4M+{Ya5c>AMH!nX$~1$6OhF1urJ~LVrYGeWQnYC zM(eO!$k56}lDoscgm;UfwGm0&Pxd7|=vFech9N1@Y%|el-6)3Ei%4>QurJ}SVrU(8 z8~9rL5}q%H)?y?}WMvwyPsPwmDn|d*+L!QjF|@8jvfHtQFN>k|8Z9@{ts@;w;+3X#Gcw z#ypY|okeyvS_j=phSoqNgB;eSVrVTzl2gZao$s0UDW8g=wf|h~2Q_2+R}LcAH)x$G zhSp3ZL)3@<)rIJ~mWiQNjigdbc!|+E_T}I38eUBv5v4lq~B13C5l0uEBqm0(QVrYG~$iKtHZne9Y46TVs>JF!MVt|eOHCGI+ z3M7?n?beTCXdQMR&V^gsm+*8kv);2-&>Daw%`w|NAcmH=1Y3d5q%IGzk-z$ip>-jWbvjD% zFRDkk>wYn`-bPZY^W|zU_}vYy#t)KFyO7M)nBU}?p6;9>hSq!}%Qd1NH(D=?q4f=t ztRwB#fe(?Pbu5zHcJ?LA7DMY6B!w+${c5yUi=kD6q*Sww`DppjrDSNGf+TG}TF-i> zBce;i(7GSVs>Zaoc%~VkQVgw_G8{|D>Jnfhe{~l_>s%x|JKC+A#L#*INooSE^`5C+ zUyGr2@WbezCbZ^zrn&};p>-*e+@<`+r_?iTl~0P%`a+W2iFKK;r5yYS8Cw03B$nwL zs2I~*b}th{YdMnahiIAKH~5_xS{)w6@w1lDfATka2~QV8D-TJ+0kr%_FQVV{xKs?S z_mTALXzz`^mXV>=70Gg)r+jB@SC$xBw;`DtM{8z)jr{eN7+QP(2WMpa)B4IYjrmkD zv?d|ht?kP^dgqCu^)iy&L|W!6X1|D`b>w4M?~X0yOfj@BL$X18hXtN#OLe?uV z)*ndf)br*u-)>Kkp_Pebj(WbY(Yi(qt))n^)h_efTK*72YuJ;R>-61?`HcZf#L(J> zWVx&XMl1a(GPLF)>8Banf2TooAFdTc>jxyQ4x;5>)`{MKwOv7mRtAz9^@jPn%{5|Z zJ&vTRDXkHnX$iN8p>^=nG2Sv+=BquYilH?N$!ztZ`AWr7F|;=LiO%TLjn>{P$$zW>nkM5x;}3{3pn5zGPI6GlBM2gXSA}#(7FZ5 zI&CTD_ZmGThSnw|wehsfN3i>@B17vKB>9>F`WUS&F|=+%QYFhj%Z{E8pA$oC3z8MG z+IptClAa|)>jWg*HH$uoFmlg2t(jtIJ%D7L#)f&0YVsTzTGNp$m_L`Rg(ryX?oe7|J=2!* zg&0~%FW_uKmj5Q7=p{T=46VzN?AH1^$ulkC2V!V-eG$i*>WzV(sjeHv(E0*NR~@sN z$9$U#GPK4ZN!M06z-X0-q4gn>xc%&PwR(w+>O#_0^L(n&dQA+iZZF4p<%#yXE)qlQ zNhCuwHo6c7RzTCbG`S=n0YUyoM$8qCWr4 z-D~k#?)!u{=+3nNMEyJOOv_5(GN(tC#5>d8PSTxe^{)*0$DL_i*PwqAcxSBn-kz~y zlJ|IL+KpgZ?Po9NIWb&=Un8m9pH@4gb>Lbuw0a}i-o$R5Cx%urlDY)D^^zD`-}$vW ztixX=L+ex|a~!=oOAM_CkW{H%;U~FhZ4^W6HzaEuR>#-K&>D`UTX#MEd?y%avNru)iBo&T6 zyh04ErEmII80@3>eKEBDL{hiE-RioY46Tt!YSk|Dn7>gBtyO+G2iix}b}_VCzJ;Ur zM7uRq46VzM)E!{A9u-6DLnJj0EBHat?Q7aoyz@=`5iBh zf!WZ>Uh+p`Sn^*;=Jv2#o!=otD+5V}V|iwQY3?X_i5Qmr29osiXqnIKnrntRz z^rl(=4ULhjPh6gR!E|+${EZlv++`zX$hY}^zu{i+L#sp#t@w9iyiA96ofukwAjz3* zU&52$BSY&ZBsGqMQSzacWLWaKNUFYND@J+253T3L&}#ZVMvE--ou5~Vp|u&w zhGS@%=dt}iAVaGMlFbfltQcC?AZgy6mU*UqNDQsDNcuUfZ^dXNe28;=ht*9Ct)WQj z)GqVfa+w%f_ali{UFMng9Wk_i@sr>A#tHLv>{eA|X!S!!sYQ_FBR!EF3&|^iX0_BD~2WijwJhg&hvx4;D^?fkIB$_ z7fJOGb}Q`@GPE8>l3#1L4%tM8Rw0tPj=H`VL+h+h{d>0U)><*Nj`|G8eh#Zd46R0= z$9Rc9+O3&lXl?r3e~QFzomx$X)>BB9JJwg5FUZik3CV7URVRkl_%AU_IIIm~X!ZFD z{d1yy99}Jk)+$Ql77wXb*&LYYb%mCS-p)`(snYmjziKj$!_I}p>;o!Ox2ZbwB8m& zYZsCt)iuj#9rYa7_VTY zeQp^ehSq&ZQgw7{e#g|7@BMcL+e_~D0~wZ_izM+1`xduR46SapSUY<6nz^n*F|^)B zGT-s$u2w%{WI9ToA%-QdMlxoEz3q*5kfD{1qa$Nw%Ma!&=9=hhwmo1E<>e;|e> zxA+O`YlQuXda4*&&mpP4l$Lovn6i@$t;I;@I;=x>k)c(Dr0y)c75g(8T9+ajl4-Yo z5<~0!UvT`BZ?~$&&>CJB;|)?>k-KYy)>1LF>X4*vvyY$CekDU|0g^P0O!G+i223kQ z$$fq!qkcwG)6G5-R*IqZIg;HDEAe+SwE7__lhxm7T`q>!(?}AJve)&27+O1!w3lUG zJMDIpp>;ZvuCmN~w3%XP-GQW)+GT!D^D{BDI{Xpi<#vm;w(ATrv@S!kOx7_*>j5#e zUPCg*QP(yxv>N{zYabS_ki11Yy4|R2Qvu&y2`=ahJRh> zU_Qpb7CD$Y{A;Fz84wfeFB$tXDJ8ZWW2q7(?QnXtxfGCqwH@B+Dk-tr9V`s*$X5 zSe^DILu(q6Ip^7}m11c9hGdDuI0z!SNomHeia2?X_Pe zhP78ANq5xV=HOUwgQM*^U^?Dmul-dqtiAOiv0jFw_8c%Zj@lmw6MvPx_HV?n_CuS; zdN?hz)_y#g3cW=w*)xs0bHR8w*lT}I3~N8IMXcA{(e_L*WsY~#Edn#Y$X@%eVpw~| zp*Y@f)P6UZ3PAHoERuXj$@ySXud$c>kQkQy4wCirY5CuzM?Z7D*I{I6bw|?m z9=mmi7+T*U+2pW>9!`c<8Ioml?N+rIT1{JH?pSA9rMpqV5Z(}ul=C5WLW!DB&{5ysurV4(sstWM~aTGUhJ3b(I)ek0NQGMr*NWdiwQMF|;-z zDb)P{{`n0>M zL+!0t0w(1&`|?zXVaXr*?Q&Q@iJ{f_h*)p#X8W&`93_UeRJ(3KqK1eEL`Oi{CKjAn|46Un>B<;3aOT^Gx zgCwyh*G`US+ERWHL#r816Y^zcd8T%yiJ^5Kk}8LFyBJ!}AX(ShzJyPqNBhE_WyyB&4)7ei|llJYOPrF`p| zj;yW_L+d^yWnbB?SH;k(L6Y-^eIDDdD;ZkdkW`<$uN;c0(7mH!ZcOfZr zSkH-}^|4>hI(yq=yOE*Q0ZGB@c5A2@TK;!U-n)EOsK#g&i=p)>lH398G4tIBuY;*k z$)9?rXZF7p!;<5U!rbzn-D)p}R(~XEZ_yf$|3%&iNh@0nt=UL+zGJr@7DMZGB=gtP zddM^FVPlUbL+e;1L*B7lGsMt(0LhZKX)QHcuZW@b8IsJ6cI!_uv|8ZwaP~BA-S2v) zt$TnNTG>c?ZnbZ5MPg_zMN*+72OMk%e!D^A2h5nQ_HE}oF)TUZm{>2*VWo(nbvlwI z8EpGP&(!v5VrX5DBx{(x6{TSE&#;&Lf*6+kA(D8<@-*pAhE^XWn}*x1>0)RtLXsw{ z#ArP$hSmloNoU%v?P6%{)g#s$q5Gc;Jk!xdS246QkW{7Et$Z=G79#QVq>0&jM+~h$ zkrX(r?mfxS8jmD9(Qe%-hE@fV_50baonmOU>lN#z?{Bxx5~Hz-B*jtJDlxRSAQ|K6 z`TdS1Ln{Tzpabl6jT1xbMkI*|jwKXB>q{gV2XGvk=bwb$WN00Oqq^8KZv2#<+xa{W`#gwSApV7DMYMB-Ls5Ry+zO=S6$T z?}=f_KO?Csx3Bl!{m9UoiDb+|GJjd_( zzAT2;ekWjrJAM;+tQc(tNLDzkIx)0P?2kENn|%rI6hrGXBn8{-bsd#PMq2@rxen`f zF|?8f#Cppv=N@E2jOi|~Sz>5?gruYHue-uC?F*U=Btt6|Nn9$orbl8-Yx#09w4Oy$ zt)~eFdd6qyP9#I?5+vo{us8bRf029aXe|;$>qR7WHFoQ3F|^_b;e2Obw(B&b)k_Sm zu}G4d*sYty(0UTdssy|BxfojeoP=K8-){93Lu(9@%D34Yt?|FeZz0gSMhvY7kfiB1 zzRg!1*PP^^wb@JFDuyLDIT`0Et$75p%nN>K4HH9a4w7nFXB(~8#L)T!NtW(%-|Cs( zw=@0}GPEj?ByD877JH_v&0mS36_bwjCChwGxV;!!1CeCBYqutep>-{i+|KNcZ3rX3 z9zkol7+O_G5>>|!yr;)h|s+=bQ&o~f=$VrZ>KGW$?kbB%R%I-LxyVn1=z z^_>`6CuQI$r8%uu#=4#mL#z4lSg(CYTK?7V=(;WyLu(_FAzH%TM(e0E$k4hT$xhw> zoM&9Z9b#yWJ`-EFqpp==Xzf2D)~nT(_9L+~Ju1pNRSd1Gk(9NyTdT#;+KFVoo|3pE zCc;Mkx@aUBTHBD!QO|FWG4)3JC^EE4ku3k2)>7>5dqr6-<tW79{cC*{!`Z$K6Vrc#DCu3<9>=nEo zMXTT(GPLTDtjeOb*l1lkh77GAktCi?tCP{1K9&rvuaS(&rj^>%^V&vP)6OMB>jxx5 z^z72l0XFj2lyPKeeTHPvNV}DpMTXW}NXp;h-r?p`b(~0s))FLZ{XFV z##1oH^xV4tdlS)pSRjVhw@3;dJ%9H3WN5vLq;w&z_l#@#lncnvdId>8M_oOqlA%?K zq)P3|jx&w<1E-Opbp?{7GHxlaV{D{ES$~P4RWKdey1Y zilH?s7st=fX`h05N(`-$7sh&1H`4ko#&o3jx)@ri7vcZ!(3)Z#hpWWU>M;}h zrrYe}aD^C+dF=M<{;>DPVlf)?7vqRgZ`g|%{)cBkJ;1DSFr&e2a4^?{sdO+;foXpv z8T0*hAAl)yFn@t5aWEY(!Jg;{J98?S8V55UjOVE9YcTl^X8%huejLoPV6q*{Ga5{? z?omwkOn04K2PWN7*TY~oIO=*6Oo4;h4rY5#GU4a!$Q+Q5b7B3K@!>`$6-<(Y84sqe zJDKqBsFJxBOlc1?CmNZJV3Lm`)7QuxG7B?OCo=vqOJs&5b2OMNwcT9T6<|sob-m)3 z)0a&6Ef8cHUxrz$kDVC~W<@VD=HHB-1!k^;Sq!G?7&7K{y2f7~t*!{gncs~}$gBpF zs(uc?%Yw`oVA9m~@UtgsdjaO~-gf2!Fda4K&D+H-VAeVMc`2B9ZC~cLuLF~#wus_`8DWmPi2f=O37=HF;ex&r3~`rY>Mv&m#qz@(*+3IDz)nW11ZwZ8WJJL!=( z&93!=M_>Nu-+I$5e-qV|AH-Z^a>jjQ3&b$&Md{;1e3dzn;@;Q=<BZk%#BxB<3)*>;q)*~6@sOwKLw7SejIeXi!F=A*HAsOPZo)trD3zDh(+Sk{? z*O8$$5J`>0nkk0XeMm|jZ?S$u46Rxus~lTO>+8wT8jNJkzIN*}F|-~+QtGfi6hmvT z8?cXa^hS3vw8kJ=qIQ`_?@eN8J%yy$VSOQnR^uYf;f?KM;{-9ZrXeYAVz(BHp|t@? zzN4<#8_Cc*8cFfKb}LH^tvN^v9oA|ww7x}BbO`tFmwKi%`lOr4(CULE+40`piC_{P zCEqHBC9gmd-^OlzE{0a4n{kBiSe~Q66ertD9xa9?Uxj4VBwFTo7OfLQD`5_{3&*=~ z&jeHAD7i!oORh$e_yDi=nBV9-{1!5_RwF6D-)b+h>3pFhd+A?>CnWOYVjw$?>+{JTbIZA}Q5# zf9Cf9{|=^ZfW72_cadSqvytq)lJopvFZiLgLkz8R=HZC3&~CjhhF15xG1Fdcw@Ss( z+IK#VX&rT4Duz}yl5&SNYylZs&mbA$Si%nXkfC)el2V7YTMVs93o+MSWw+iFL#tm2 z&T1XjBVuSZT@>rhaadQ2p|urBnPY5>zLyNGSCI5{ysfwKePn12L6Yov5Af|^nmbCa z62p=YEk(~CzE%$iNW z-{`wY46T=uOg+eM{VIl5mogl$s;+FKb(R=fS0brUUFP=yKO=_LHYDkPa_?z=TknAn zlcCieiKlzf&HLq1V9IveOD+(@k{2P_?s%{47BRFsK7v`x@gCsmU^X~PUMYqp|B58* zGW!;H_M>EItwgfU@lMozmyw}$7Lvkrdn+CUv&>O)ofwvU@_%Bz^=I1KeybQ-8~99F3qS_eLX zBgWo#>t->uyeCn+!zvI%>n9}J9ZNXnDKfM^MlxS@Mea-wS}7~Y(7GB)*;f1bsT4!2 z?bGgSc%;=0;LLVq!|a*%9xSPR6^T8pGumiaxvTgA|7{0xrO z9d&gPL+cbI33_(Gyms=%&{~2dNtSt!woVMKZ;-@k3C-^TZn26Ct&@@X?}o6oYo-`l z3z2M+WquFv8ZoqLkQ6)WN_dtGtu9Db$!c%3&JaT@&ri*k&KARxUqjN-VIA-y8Cqu`NpZZJ_Z~5{ zK1Gu5usT$bp_PLqQNJ8vemC!}VrV^%q^rYvUkt6Ek>oqxmwWt6WN2N5q}XA-Du!14 z%duXjYOaHju3BEqGBLDjkyK8yTgSal zhSn8Ga&l;G46u>Eo)x3IkZjWEz1a(XXmx#qjN0{ve-9O{$g>wgYmpdQ?;=TXywNxL zO)|8mAX(mqM;9l0rlX4+#Ly~5vMHX&b@v9?$X{{m$*5gOMyM|T{bSK}6^Wr$h9vt& zw#)qH$&bX)YV=mD*FLtM*yCGd!Bji$DeVhp?i_pV^TlYrBkAd=J@suI19Y<2ekGW$ zj<*MYB8Ij1cqi8D=cxU1Fomk!d}q;1U@9H&u>DyKYd>N`tpAFBYwah4@jBRR&jz#R zHhb+a|9`~23!EHPl|Np|BoH7Zn=FuBcH1WHq{@zX;Kd7&U5KqW;gVs(b66 zy0@zCtseK^pIym(>wC`kocq4@WE`sg+8@p|Rz#?0fU_$i_s4*<_U>@?6MjTFRJ{j~ zwg~mdfU`eB{SUxd_O5XC3w}&FRQ*Okj?4&G9|z7jyBD<9khQvpfKz`*xcc81hpKn& zg_$uT_fG(46YFvE+^2x^OvJm3mpw~4RQ+B+&WKR|32?SYsGt2DtO_FDRo>1xRDB&F zizC!G0;e{j-k$)@rrX2Sf5|vh{T0v8BroI-RbK?0+aq$n95}Ng-X2_L9I8G6NG`(j zQ-pJCxaVIp4)uKMzL`cP;(f4JG7hyG0%UK*`(U4C9BNhfUr;^~Zx7zUIMnKY0O^W& zd+>Qbp&V*;Js|ZFZx8-5<4~(t{dA^rAnKjNj6<#V0CMD>aI2H{Qx3Jd9FVq%w+F9d z9BTChAV(v{pJ#zH5i$P!894JJ-X8pxpHU7~{{kSpBCKBdbIPGs{eUctXf2xTE!| z*XEXCGfA2vj<5168K$cw^Zgo53P^*svGJ0ir7Edw`wfY_)yCdEn{33A9 zxGFrJnqN>3^?W)Y+as(R8HZY34M>K);ZwfjxS4UN)doOXt_siM3EhQy@P_>2`0V=_*0BSt-eLnBdlIz z9BOs^|AVy+yO)o=oj~j@-0CvM zp;m7NWF@nbzc07MIMixAAjLO@TRqG;)aomMG_MG^`U&Gut3Ly>rZwE^H7`&OwORtm z?g*`G8HZZ+0&*}y>o&%rR`&yP=M?QJzcyqmt4YS8R=)&f^cUe)C%i~G)apV&n%R4I z<>Od8<4~(2AQP>09Fw1sz85&%%(Hw%+QB%~^F9(`gw@{|hgzL^5d1tHo_j0fP^*4G z+P)KRwSjS{)fWLd{2%naY6qoOKV}?i^%7CPoR*mU9)`KUhTim_)U*6Oz>67&dcF#f z9p4SN>SG*gbsHdc|4yw^Gi2`peuQzT)pr0n@SSk0LySYM=Kf};v3?h|lD`MIm2s%m z7$D2O6K?ec<4~&?0J-mJYW0ZJ>bU=*9BOqAAS?eP-0E`1p;qM0z|M~%Yk`wtZ%C8( zrg6rhRu2L)&Q=BF%AICs7n-YLavz8HZYZ1dxqaQ!Dv9 zejjHXYPB1X+_m9W2N;K1y$r}=c5k!%?XL@8q8w_q5|C{dhg%gHhg#hWNPUFWQ;b8c zeh$b+_Uwt=>eSy+4(k`cBX8IXw;Ey`YPA`VV<&`LJ;ylIs^%~`BOPv)WE^U>7Ld&G z;Z_?Mhgy9Dkf{i(KQa!rI`{XmDmX6Os*7=`)vbVRnH_Gmjd7^ePXH;hwZ#I{8~tuLI6T=2bxT}jYD4zx5_XMD=|P;GONu}t8X(7 zwfY4h^*h6@X8nnBSjz-t{J8Me(#AN{>SjP{BU;P-z}a$Kc)fp{aj55mfJ{bMo%(0W zp;k?RJoBaSIyD)GTHOXncT0E{4+Ce%m%}}OmvN})mjGGB;*r<;8~;K%)aoWc=6^Zd zYAfTg5(A|8WO%)wbd++a)%k#|-4Slp#yHe!0FVO_@7?_><4~*Ff1PQ}jd;iJTNsD+ z0zei1=0Ic)hgw|; z$N^?`t<>sP#$hD}$ToH_`Y}WHw%*sypd4y-3n0e#XlXoT$jnJisx+&{=&q+$zmZxUVjOCfnhlwrOKZ6gK<{aGYIP6eu)F}7`&(Lu zEyu~;Cwzo)sMYI^t1))|3)Oo63|X7+WgKetDL`^_XFFcaOLm#eTi|X)s-jJ81=KL)qA8`PcRO(It@y6QH0ho<4~*b6J#c}I!UT^$tx&_ zT0I2FF4j}X`EXIocqQdfs~Z40%t~JVj^8gc4z)V@<)YK*Xk)=3f01Cdo^hzvHvrjka=6vYj6T78XisMXTf))>tnqE_U+2VzfolyRultIw#h-$3M8rDw_7#`_qD zTKy4_JFlQtbEFYg&ZHb_br_IC>?!O4Ll$ArS(HPqegMe2h`d_PrW|Uu6_BZm!Xvz> zmU5`oX8}2KSGd;c=THu{x&x5=+NjkXC&_xs@#j(wYlnbLM&xybaacP%uf{l*rdHoO zNtV|y7>8QjxUj}p`QdP_?=udyy5w~*d#<5YQzyy#@>7gMt(smBBT0nT7RI4g^WOlo z=cTl#{Gvv-g8c~NP^(iG)ff{isMX^zZg_8&q*falhgzL}evPq_J!AL_j_dvFKE|O| zCtLt+Y)QD)dl-jW9R;NAa%$CCBb)U`E~Ff4^?N`zTtcm$pDDA-FQy!7^#UMuw^FN1 zVSq{sR{a-I4z>CfAd5ajt$s5@HnP3#V#=Xby8+3t_tJcGrtIp{rEjDhYV|olc0|0b z_s7858NvB0aCS#LK$jaYFyB|1vBi=Cl58xbWpd9(zgBQVgus4Ep9dM>1-Y{GSPD{ia zhQCStu(z$s-}-wz>_m--w+FukINcF%5B>yjY9rnr{7c|WM7%xt{DvB%!pcWp7uNx& zD}plyoXLo{2X6w-M8w;JcLQf*#2agW37r0jxAoRE))?avoQ1&I9q~rrD}Zwb%U%9P z-(KJt5pVQ;jKmZ1M&HB0nHTX!-&31l438+E#lSht>O!9T)xcR3@kZZX;53K4t(U%A z)p^pEaQ^vk(A}l*2Hg!mqMW(-HeADdgYJTpXb)CRuC^%>w4-$<`A$lt)TpK<7H{vsgt5$Y#5Qx3IC0`<*f z#-Uap17zn#G{WO%$iCWi#UyaJ$BzhfL~^@gP|k~~SRPLx`u7>8PY z6p-6lUgUis;+pNdj6Ro{Bx|o(Txyw{M*Zm>Jp;q?;GWn+PEFJ;QR74ivU>xfCM}Uk*Wbq>7P^-THQp?)2 zye^J^6Xj5=Qvs=uXf4+=4z+q8AloA%{3hd2t3Ly>h_x1ZIbXPpa;VkY3Gx`V8l55g z4&7%Nhg$sskf{~4cE~L3T|=a`^E%j9?K+>9*s#>|jf_J*ZvbTcvT)Cz1kU!w;XU^` z#-W~1_*YnUe|~nT)ms^dT1@~lu{FGWo@E?rHTyDX310};x`c74)c_#NE(|ZRTNsC0 zy_fi5tJ7LTwi4a}obGcehrCloyplDm1+s|Xv;)V8c-G?`z?nKb+)oiWwYA}#+lW?z z=XgKL`4Vszv(*koJr14C=l_My=7#W_uGyUY$V|QIIofkugyVD;K9iq?P3Mj3+{@IB zZ$n;A%(a0t?5}{+O*xWGKVtBuN`BLoDb3p9Ey|Z#=RCkokY-kskrF4I#fFG5>={X0Cvk5pp^pqwqIwnOj-Q?13Tu;|BkW z*D~??(B`-+>fH(}>iw*rb_vI63(vC_-ZzvgWqj@1Fy6V8{wuhJAK*Fmf0LwqUYOyk zzuAz@)IE$tt?mM3-i#Ss%X}0NgUyxlcew2X&aU$)M}F?&^=vy%weDq`If@+DT4Su8 z!N>DPKq?41gKftt@|56t4OrcYtZoHlJIZSdAgm?W$a8?q>vrqiM*a%O6tbFsC0HR& zJs@jm@>;6^xvz#t-T}xVgxm~B%VJt$=NbHupHrN=Aey{(dM{ixXT;ItP!(6mCxj?5?6}dkVV^R;bpiEINhi5xqk$Z96}xiq&?zYuipaB z?a1nRKsGUiol!iEmf?`Wuj|M!UKvW-m|KP$X$|_$aM~QV44-9X*ptebm9e6gMGKrm zkj1WuGCaPm#@K^$KMRnSmhcj52F^ibbuA#q>HZSi#Y&8n4W2=DN^DVgbgSECRpoPlY(t#i0kQ~j&b|i5XT<3MWH&pSN zk9-@DT7>)okY%r>5t^o1N%xv{ZLj5HKId9kS@}7M9O7IHoP$52#j$bATT5sM$=Xi z51Qw9)ELdQb^>~LD{xkz8cYMyj*xLcTG$zBdE0mZIQx**R{`lhi%0$oko5>T3dlBu zyt)(oAf%q$hI2NLTnoq|gbV=Ej*#~PGJbh@%;f#z`;gUBfOOaL$n$`#N5~%m*@lpl zyTA`ZE(F9lheuWevIrqJ0n(0;_W?4BkcR=8K*%+{v?3|8%JL&05ICC!&bI{4{|cP1 zf%=AXdG%)j89xu@)#tZ5DtLZY;M^u4g?>LWPeA@AAdd>jZz00sLO#Od-vTSo*YU_X zfUJEzMd&Eu^c2!s&VmKxZ3h3-871nvqxU=8S??Yaj?>vKb3-M5H?tJ7 zSo4PP-u*V!HnG$mi7p$i&6|yc`bE`t@x4 zvJI~_&3Ub3d6D~(XQJaYuLr%n$aceb?g{4iBG*#_v=-g$?@jHH`?>^Q8bg5WMaU-r zS)AmNF9XtokV47td8dH<1gt8^>K}m2U&142z7={dLM{d58HBtQkVW-8atpCS$o+s6 z5wa7I%?SA^AUhCJvj)cb1|GQpkX$2=TnWhJ<+Ojvzq@1s=XPXuD0l;$O}XkL>>m9^}~{7n|K)o-STM$OVt zzLFheQ`oy9=G~Ws*UsI*IeLk|b{s3B-faY(?U^*DCyPBS3lh69tQrqNgp1x3p2c3^ zWd4=!xyRoCbIRpBk_2Ss75+>e&m_X9p;zXS*J;btZHF!MX*=9AQ{cFz@iT7r%;i!Q ze}UWxSscD1yfoemoO#Rn+#ds^86iIgWX*DaX*ixqgyel+_zc~&m4=(?|8SYw*WZ1a z{uLq|Uml+6nQw<3J<4l2AQK450kUWX8uQJjc3&)D6Uu75uZf4V+1(~kgF*BDNOl9*Iqao8+4iV0~GJ4E( zH~}-!G{^i(7IR-ZEs6PBh?)5@iWfW2r%f8Jy8YK$;M9iXMSca~v{Mc_uSK+sZCCp1 ztCr>dIfGxxke`^lcs4`KJ@^dp0+xHRYz<`!7nLlS*1ZC_4PxG-P+xmk%;df%+;(Zq zyNu}iYUz%yuUZy!x>O;vGS6}2F|MNVNc_Z#2akL<$Bk#v8GO%u0QKDIj%P(TjYpU+ zSUhiM@eJihviZzK<$>G)S4xkQ2(JontCPT)PdPTS2arVw`ENj$A><`M+7L41#u}p^ zA@cxPhmZsycOqmJAon4pACOH583$xDLN)@j6(NrU@{Ef(weod9=B?zBJ%Fr7$nOAI zyoyKWz5{yhn|Y)bkezSlwcZ5C%GEs51;{3Z+yqE%8;`69WWm)uvIUT>2zd&SW!Lye z39m){0465uU_-F9L^r zBdh-v&U=Yq|6U_I2fG%aT{E0_8$ge%;hzPjzbqVow%+-&Q_YOa@j}%7Rc4SkcQ|+2 z*35W$hD_^rfLaXax=PKATEpeGE<$TLJ><-CW&?u2G z{RO!PYI%=a%RzPVTi_g^92+?S{ES}9x0Z!~)GlzwVDD_as1!oR`Uu zw3f;%S!ZM}DNWTz3j>EvtkYr0eI}*SML^IA5woTGZ}Yv_+AU zz;}?6A8ApqzKpi0yQF?diyEq-EsC5!l((pEBf3S^y^6Ld{1guP(bn<-)>?W~H(3JB zF2mg)r)9X_@UP6tkJQBt^Jrb*vk>%0%K77`(sCX#gmR|$OSIGWgTGp6b2QpdS9kbm zL&|X62rfffK975Awn~5LBADiuB>9EFRnQBj+Qa9#G;of#^L=MMAYIq-$isk4Aml#) zIfRfyfaE%OWOg^q4hTsAGPjdQIss`zNCA)xLf#L^2828e$Rt8`0&)N$&jK>P%RgUC zu^ODHan34vzv-+&((3Z8)xA&3BCWUm6SVdI2u6T*fkRs6DX*d}^W8Io=8I*sY40X8 z2hNN9Nbi2Qh4$`~#O`l6z56$;cmGVPMOx;B5#GDWTyTWV1)>yfz29Z6H<#^!O-ItV z<2VR4I8JL&Ru^=C+C}Shj=-AkI{nirv`%jftkZKJrgi$IS^imu{79W{m{05UMI)$A z$yVE`(`G|f&ZJI1ekp+g6eeAh#s+5vJrb!I8N*IR}ppkN2t^F zZ;7r`heNbp`A@IYj#tq-y(X|upMQkb=@(}4Z|$HzQl}&TLhJOmMo^tLE7a-0Dq5%i z7Fee*D%9ze5nZQ~tWL*;RT-)H!c z#uH~V#8sb&rJfVi&k)p~5!7Frjd@1g8F_zeZElg zJ7TF<1oef2`d&eOrl39MhM3(pG!l^=l_S?>!*y!yc+7F zb8i}_?Pmr)BWrWq+*h*P%lTp{o3HfZMZn*?VUK@(_^xD5isN|ucUEE-8p3EiT_xsb z(Z#YDNtY^x!5-gA=5&bAc&ihk%#Z1sZFnocD_I0qhu`YY%ke|vd45LF{k_wb*E_tt z2Ccz#ag58$bfKv=(JM5EL$t(Q%XG)wk7MpH2{HGV>fRO|v%?`;7mJ)}j=6+m9xMtm z4;H%>V(w-!e@x^|bIj{d%!7qt3pe^Dq|M(D9katBTDOXvX^#006m!|C_{$lf4GJ-D zU@^Z=~*+w@zSrz08>OC*~!d zA5+T9JrCJU&$#;D>|t}<+&_hLM{|Rdd#^G1_UPQn+Sto|CCUBmLhf&;x!-F9<<9(6 znfp40+`quhDdbi;lzVzGRV4p7&GkcO5JED#*G9KqheOnt8$p>KGOBF7Zl)6~(;bFz zW!BB~D}1H}Ja?Kl1gm$2ytc8t#tg%^hn=>(+?c=3V(zIFM$$ND8-f|+#^{(G4$*=n z|H(1`n8iHUQxc*!j1K4*6E_C0Qpm3xIBUA;PQi2?)tUUdr3{>Y#v#8u$O;W{?gnHO z`N>&%V^6ogS5C0<`ACg(ro;Q`ln;w}hIoC9me0>w`3y@JqYpsLEveu-CBH2^hh^a) zME$)+HMP9HJGz#ChsVrJpRbmmN|9$C>9|3DPm|h-$m@C1HhTCPJP61XL(J0fwd5|z z_O#o6Y|c^OwDfF75A(>gfQ)b8krx4}y@yBs4oKa{{B`P-4=LwgooyJe zH~61er@^zQN}ZA?>zz8C0M^?v$F0)~Se*`L%l?55ekZ4EJS`hJ6A+SuSMrMhnUmr< z4TSTl@RqO=I2*fptLp*j{uEz^DL}>_=8-%g+aBio*E&FUBR_W#tIa&;UO*-h@+m+L zf0{==2T1K_C{nCzu-n)yl<8N1Gw}%P%f$w}F6IpI>i_mhI2TwwKO->-!$L~KzTyw`|P4!x)J4BDa= z3AIXFR0C^KebOd%3S?n?-pwMQZJZ69J)ajc{XETdzNqeII*(=QXLy+|p!Fr=xLI7r zvM3J?irvDv2qLWgLU0x|W`{$xzBYrl5XPD2n6LI?mX>@oX+PV-OMW?Uwmr_bx^_V7 zp5T!i0U1ZgAgQk>{PpE%k(kRf`ENjw-*o4`hUMOGjpkG6MoY8JEca)7E8SlVACcY( zSxkJPP)^)_dkW6rUddyDB@ zs$9hOjljPMYbye|n30uh*h7l|l;dzf98x4}V>ucD_zyei{}fZJ0A%F}t(O_?dK; zS!V?8g`Yl~_4kaK&1caWs{RT=jL9E|_xCB%GJou^9mk5OlY5qqLl)DWDS17NlPT__ zHizzs_PX(i>Y^6Arf{clO{#gO|C-c6!+%Zctl9o+Nh@QiZxz(n2PHQ~`t^c(cP#ZOLH$laeVLH^9|ZOOSnBr)>Mer$ zVIlWr)1c(IYIplL4C8Jz9p9WE z>YD`hHbH%X(CT)?Qr|16j|=K`g8CjI_sLl5i-eJOub_UrSn@*dyJM*z5^~=tsIL^% z=Lzb2VyQnPsE-Qjiv;zr3njlVmij`WYD}iEEZ5!AZ`_1akK z`-E0^yP#e#sP7Yc+@e_OX9&6P7Su-t^$!TS*Tqt=71W;*)Yl2>9~IP_W2x5*>QjRH z20{H9LA@oG`dmSMhoIgssCNtMD`TlI6Vwk1>Kg_1Ukd8&vDE7X_5FhSor3ze1obts z)E5Zqy9D)$pgu0BcgIqnC8%!`)Vl@sHw)_hvD7yTqshzcoS>c)>U}(x`gS4rZb5yXpnj*9yL(3Z zd3Hux{#@mVta%VTPKv*Vxh#I7E0{J zkP@TMJ9y`)>GKZUd2Ba}`&fw?!f)D2%*i52-a%rkhdl34Pa_O@-r;}|!g0&ziQ4Gr z9sUnKW zP+upgZx+-y$5L+*)Q<}4TLkqxX8F~(#!_D>sP7ll?-bMxL4A8H^<{$k5kY;kp#CmF zeP=B7HbH%sFdl9f)E^bpcg0elE2!@ha<2&L<3g)@CYJh2LER8?-zKPU5^~=gOTAf8 zKP==vA*kmC_5HEbX9?;%1@)YueuGf*2V$ukg8B|YyQ#Oa0Jse)Y|QdY7Pn zSeUzy#8R&paz7-fZxYmR5bFI{EcH2p`lO&<6x0WVlArZl9QAfVeU8xMb_nV_gxu%G zQa?jb-z(&PyP*CfA@}*Q)QfBxAw`!wz+1^Y|ciG%*?q-prST|98JbEXL`bd_J3Ws4mIJcEjXCW6*anuxY0Q>!rYnnqbcy_zMJTCL@>>Hj?}_-* zkOiEUIw#VZHnI+ob#r)R0+1=wiN`^n0%Vb!g@gPQkb~#*R%i5*_muL;Wq=&2=aIF5 zOkKkxn*gb8r-*6Z(6y>F!@i2{ssm>)Juhk_-vxxezr{hG2jn1%`LBQ&D8g6t)fhWp z$0JJtnP}t@6Oh`ocw{{w>yXw*0qI70{Tz@rSMbOY!a0vePU{EHwLJ1VK#U7{q#cks zvw36?5PF5htuH_hBIJXB+}FUDVP|K-sK1E!^Eu#jFXfTn0&+OPBXhDf23@Z@$eCHE zMSJzW7?6E#8*`910W!CnFZoVDx=}6n0dm2KJaQ`_Q|Iu=6M(EoZS1>%?75cZ)mySi zUv}>Jr7dADY?{`*p7(P;AV-m(s{lFlDxOmSWHW0Uiq}AGitp@0io}za*)}BHO3@DUIj=C z>T#Wb%tD-gK*mw-j{q`N%OlSZdSAVCkpCgb)qETKGa!3WUp_Yv5u(1+ly^$ZV91q# z(6=EuNEaY=m+@A&0WyV3bqgT3FXEA>0GU9g`V6r`W%vRhTi(EPPAJs4cbL@D5(A_b zwcZv$CRXssARq>c`8Gi48FFa7eO84$BfkUni;n_lAByLTfb2lX(?shEUh8Lo>_Hr( z2yJzMmb^(mIhilG_q|iCR|1Fb9USBhfY7_n9ApU~?FeZBr1olF{oR1{qdNTv@q_x# z&Z74XS@L}4Pz6$V@6)64d>=T*VpQ@s!@uY8edk<2x>xa>6@c`kmibmdcAU*4BY+f9 ziQPp!gRChFLo zM1CFwq#4bgUj$?$DvhHRe}r>}YK(ao^Hyg8LeD-q$WlP&bo1lbbwlL)gS^$P1VMg2 z21v`9Jn|WWpwjp%Alp!jdS=M!?_SKO4nu2ck6$TH^Z7 ztTBm3$V}#9(ce^jtD(Z9}c)JHVO$9FOb=@ zp)vEE5g19(+9n0aBw9nR17tm#86N;-7HV}n0HMzXILIzQ4Ai221IRp7swa-t7>m)` zW+5QE&^&03I<3XCx*L$asBL@!ko!;>ejAW( zmMf_WeP1Q@Tn|k0%S4r(*Vd+3(si>WD@NH1_4=##={Q+f@jZ%0jWco zeie`+D#K?1If7c$Zvk0{ICK6DTGShPq#lq7G>%;f$RU=y)55dH6yn?nocczd(+RuC z#i&J%17|y$&F=!Fy9KppK=z;rcL9<^rSSqF2I9QxT{ZT{B0S_WK$fBMxs7np7=8~R z3(@%VsB7ib*EaxJiIDFBas-VD{|(4| z{zI^8LGAf(fHb2lPQ4YfKy_LRh=KNc{ebL6edjhnwxU+|Ny0%R+f#sSL%Bb9D_`=? zY@RX3(a81!a2BG{co`7-9uEgO{x;~9sPDW9kfYxCY-Vyf)3lFxqr?rs*^ja)+*ae` z+z!ZMR6h3uGR1nF**j9oRxJ0~H(Jh50jCy~;ch^>-M<{<2p}zZo$wyuoWmo1?{Rh| zp4DT3)T7z_-vOybtDWZnX<5!AGj9jatNHfx3P9+cU~Vk~GS}d>E+tmy@_ya}NDJy0 z-vZ zp-(S5NX;FPDJrou0oj8%7Xs3KCC^z7NDgt@0a=O4*#e{%&9LtUq@{x|=SKmVM96;v zaxseM0ErNfkbscu2A=vW-dE#31yJiEuL0x$S}`trpL6!Wi|1W{%ty%N`~0);&k2Ig zi_Tc@jOw0MD$&p?+~cAmi7t-MYOa8%a+h&ZmJxp9FM} zCx{hVrTjY}8xZHmfYhUP-T#mX(cXOV`=Kt-y6(F7d*8-&kO4rZP&@n>AiGfRPXMw4 zmCv66X<5Q^{`CW(j@CaNfGj{YxE2t4f4GC(1jsmAAHENe!ziAufOMl)cNmZfw98I> z5b{E20@ngEj^@*Me$e|Ky@PB3WCD497LabVBb#|A{2Pq`mjki}mBuxIOriR^3y>o6 z{24$dP^;Sw$R(&>{1T8xgd8JQsGrWi3+5ekzV}=})*!83KqgU7`5++OXpQ}!fNb_= zPjh)kmw9zpOE+I)&jF|QTxws~;b zZ{oEc1fy~=}IgEPcV}R76_WU%lx`5SJu54L1(Qgyb`Z^4pZZ>W>*LSi;E#AZ4U1RJ+nZ5~- z{_}XG2as;0ehVPAXvH`I$bK{?d#kR6gsc|G$3=)O6KQ)96|L(UT8Xr&iB3%kZs87?SSk- zYotxY3T3eq5c>R}gFFMs4m6Ja43M3y2F+f36W~5COtUxwoI|LbPyQ(E-wnQ07Xz{x zsdodi4_OTpD>VLm9gt>JJ2O63W2{FzyVn5H&1MH@FPt^%P)oP~I4x+*yaJFZG+*=s zVqC|MQFj2c3GIbH`!Vu`dLB6l2z|qYgZv4QS?G+%+>JHt84U+Hd!sXEdhuKW$X>)* z1;}C4Q!;?GpdIVS0eJ?M;p2pZ`tm+NcB4}L6CjglB&ok2Y7mViZGg~ciXG$zK&H?* zHU!8x;@k#E3tE%hNjPY%`^x>!SsE|*J%H4rnEwO_`KPxspYw4*P@SF)$O5#pTMfu2 zl-CCUX+b^Z2|x~`xqCk#htMwjWkAN!8vC42!0d_oR}&x;XlBd+Qj6;A(N8$n6u4a* zAiGf(Q-G{QS^Nc%QPfuFZGtRN4Xy#?PVagy3@v0L97VlyBjKRh`3&)c&S&liWQR9K zIiEOi-*`j)ocTZvD+vdw2V`mmvw~TMoGWNY^`3gbe^qE0klknmcmR+IbWQ3TfSiH) z&i4W7N2PJQ?Vs!IaY$He;cWpGEanFGm4&uBv+I_B{ zmi$v-wF{Nu^Apas0H@?h`yuPPmB?!TL$J0%xnJ>+vrF>Y^L2nML=kpB3L_PMh*LoK72 z&jh3!jo6n1vH{iC9e_+B^^XFw5^+9H5H$9F3y@ zKL?o)NFDNXmd)YMSzQQ77itMt1491tIBy4}4fXDuiD#6>hXA3^0z1eiqJ{P{y8#(T zE14Go*@$*zFMry(zs2)>>1SY%hDyE@5Ce_RHxmSnkPiUTh3+2t#%G-UyBFd20NIVy ze*wrQl<84G_OnsKIdfYuj24EZdJ3fqeGeWj=axsHzRuzOycdvhr1eoiwjktDK$KL$&LH0km|^&TKLbt<_4hvj(v5o4{4KDXK<&8>koBm<)&jBsjlDyJgGR`^ z0HN>FagdJ#vIQZZ1;jwBlpg@njLrl629Oqn9RFEZU7&V&J|KJ0yweWIVzkOl0kRcw z-U-MN)H3e}WFy{x0Ycx=;UK#{OUs!eKLjL$a(@YsaXe~0>fER2X}uYcb?5P%3Lwi+ zrXK>Nh+A~=?$-~gXA3yB1|Q+wfb2ngkk0_J0%?5>kakq^Gd@>iANNMT(*UVO zqs^NDS$_qOT=zMr{diVAfE+{W{|3lLHhVhPPcz0Ox_){OaOgXW9OP4gtVO$q0wagCyLZ3l!kWGNJ zpb_bFfb^q2xEqiu#M%FOrwlzmzyG{*HOJ%3`~uVkT0@==$UIa#&4ARQ+&jMDoP+hU z7y@KInjJO*a^HD8^8GJ3ccIK=$f?`lD7w;j10XHv?8@*q=ZMlSgui)!_70e*b zs7}8^I4I_yZu7UOzX-_5k2_XWmB9`13wug^;@eF_51x z0J0Tvz5~dF!E=5M$Q0VG8&3doE{`Mt*@^tL05Va_bBciMKy~pLAT4OLc^Z&ORPw(B zgoLkmZv`UQX-Kw3?JB+BOE@;!QQ|CK72tx}~Q#nb*Jr^LM0@=-uq(AAu; z0n&xy`ENk>p%(Q=Kx)zWbNrLg#?X@jb%5+g>X!qu8O2;6$V|R2#-DWVSND*606B)V zHWMv0+B^-&LUd-}hfn&iJpK`oezeOz{mYO$TA^J^kWPM#S_=q$GRQ$nfQ+MSE)N1S zibm1xfE@MC^LOSftJqS%9hJr&;2c16({BOUa~_YJwgWOnoH{_-Q43!I$YRto*8;L1 zmDmG2Y7F{wkk0`!iL&^~4(I+=uWcMA9CSwL!mj{=Mu4{gvJd4x0LT$E0^AD7c2uVi z5% zyG+ymG(kEIgKJ;5T(L@S5H6ar{P=K+euxYfa@mY!=7%5<2sWGVyEs|b&}dUAgZ~#b zlNJMCK!HWVm4m;4edUk;B1LJMSG8Sx#pP|LxeBK6YnJrohZ2d@P^I8TxIEd~zB+vi zncq7rZOx{cE!bZ+Amr5oJ3ZW4ZXFIh*q(L|3ddF?0*@qvjx0~KcC7BKGXst$Lysm{ zTERJAOsd)%O)mT2s=pe1DnhM@j4X0cLgU)@<*O1|l6S664kY;U(i zZc8S5Qf135^qN*aUC01?IF%c+`r8u?=3DY3*?h)aUdY=|`q}hmGL>U4G^R?wN!;`g zw6E@OA8=x5DyB-{Iaki4%ziMkN}^9fPc(8Ar#0F34J3z(9kZ3Ml*S~)K_{lVbib9p z$t{L#A#aw8R$4;Gh0s2nBYh=3nljTV=mDAjLVLYfNi69h8B^zW{~8@N zi&m*z$ft7I%9vRmsN-#}Nz@U)qp6KjpLW_`xsu5i zT6>(QQWuim-C1rjuQo{zw7(;S5jnIy?MNVm_t*${$trpdJ%Fbz1vJ|O<8R($BFrCU z)`Aj8QMw3EYz8=&9n4l*2L>n=VLUmJASqEt!=-)gkJKD+`kNt11GV9ADsbXtKXW6Yq?{6fNCetz}L;pr)h5KE-ztfS1xWt~N z?E7_~`aQCE0Lhnn$?%kBS$F{Qo+PN5OThxG(96-q1IVn&KI$yY@&&)G{3vqJ=(!i| zr3Z0$x}4-~_QL|LL}vLkED=(x(yd;{3L*r%Nkq9x$lcgIHK2#fkD(^uGGHt#n>j0W zlg0Nh>A^traz6|`LFVkB5c(1zl%Xvl^}vIId4tO!0%URJb09hFcadylB4ijaQ&9Vi zKEQj6U<$F-*%MDM*UjWdm?6yCu!=lr+S=LVEKcLv28gd#^w2C**Dww$v~;03CNDJih}1A+!7x`CYsEb&__*9j zwp=Wftzaj<<7j9h4bEBXy0gl_06(z@9QMbtluYKZjIWTnToQ-$IO>`9cnhw*We5+6 zRB%%EQ5{I6rhPpB=(>a(fbq~O9^nm>sfsu6Ie(y8mKI$rU!p#gD@d}KBVTds%frYy zKv#`^lrtbpIj4v=_AT{K>rydwzy}9)>+z zbO;u;o%RF)^H!=l0=y0fuP5=TO*arivhb-4xfz@SpE-~FKJ1fb$-a=_4 zRm!kcn^{TqNh?sx0V+Pn66}(uzgi@RQ1J$v$`0X5>#QUi$?4~8DhHeSl9|hvE5H(3 zMg$L6x0=&P9*z_;5u)NS9Dztq29a$q12Wg*YLfc#)007Tu>o@11KD<<-Ptd6)(1CX zbq`!1-lLc5~v;$4E2JT~u&Uw#XFN|Z1`)M2x zW;Mnk104(topq!P6Om;oALuk3_y#&>L`sMyEFAF-a{-2uBf>ma_U|19SeWxf6F)3d z@w-P0hsN?y4>|ehEkQX%7Jy$Fd8>D~R@}bULpX2tHrd`B<_dYXS4XFFBuD)Y$X>3m zll!s9VpjTs?W^NS za(1{Fxa#&*wsR^7)gA|N)Kn+WqJQzNpPVQfsyOH5Xv6V=eAjNUPiGc$skCL5Q@v>a z9CBC^J?b4CB&UkZpb{DIdlj2Ml!NEe{ew@kp35RNG)fAAvgOC{sAC^&RaynWki}fb zv6KmO(PE4*uxy^(&!;BE3SZAiBIiZMBa(_7@K<;h;R~9oR=CA*?FAib0JE}srMX^o ztzrtsP?JcpF6I3#t6aWEBP@U{;Yz8vSNqT)0~sBqmd;tJ65CI)KlyQhTm~c;@k|)O zy^DMT%y&Zf5F>K{NAoTk2-gg_3+du@bnc!6@sl&Iw^gz8>A2E0Dc= zUVZoda`(^rk5HS?yLDHf@$m>DDX=1g1@wanatLt2qJfQ*I(Q&;Zv-NdpR?;%2c* z!Gs^2IyL#e2N5I%82mUuIC&NS%!O~5^l&k{i_>YbJ;>Ubui3-u-+i_v(loRkfgjpt zqWs80uzOjZQZJKv6uKC=@^vU%q;rW0dmKkfr9%aDRM1MND(U`K-y<^Z!vo@gC%Opj zGSc>;;#AgIWIT6hB?Bk9f7YF=D^~lJ!^5rak$Q5(d%}ku!p@-{nRP2?zLcSoh@h%G z$Glad&clfv_Y|8+o;o5ox%cG?J*iyT?1fq*R&Dk4(Y3ZjgVoQDXJBz?x9T8EKTe^N zRp~DkM(CgPj~m*OOHBJYChw^!a%v?%RD`L|eMqarN|ga$UdUMOQ1C9=>OD(DS81!g zMQyU)B-b?4L#2|HPg~@{znjPxa|$Ii5$hO8Wg4;7P(E5n$;4kt?o$YsZ$5@vr_5_i zSOZvtR;dr%j*%1c)+o1vRmqgCT$IUtXHzkf2NY5wvXG+a0YQbB>6TNSPC3=_ZAUF0 znLrd>B9VZ;RZbU*uqGsANmpj@k^!GDa7W~pfEv^6ym9mufc#}OQ%BBK-(Deq< zqW!=!8U34wU@ji&>*tQL0i3)h&z^88V4u8Y&<*@Uj!EvZ06PS7!J9t9%s&ii-y2Rs z^hmH6Zm@=-FkAiX#!)*@$Bq0*Ya`kD7K(z<68p}C!iYIiC}qm6*&ZP?=;uOu~%LWy5 z>GDCvaCtIbxJk7Vk`=E)2?d&|m5|I_sf47u(IpgUrXU$mx>>S`GgrZ|do8R224Umj zAFir!q!3m>4YW6!*#aEbj!xfS+#utWora^hVI`(3EV-k&VI`-zN<;lA1Q{?k#tu^7 zU;H5TD_Fx(+_0*sV10iILCRWWuTdNmD4ju`;i2BJqzq}$&=)*A#``&5I{$#5mc%`)iz+MBi;1t>W0}y zEV1Bd1MC;G_6t$0)L@Xw(&A80*{ZCBy}hlYKuFqyStlTw zY)Kg0v|`is9Y1(-DZjH)-wXd;m2I7-sH2=}hucIPkLBqbJYs@V6J>uP#-OmwxfwPl~maxX1tTj>kd_Z7J}EomC*%QaYW z^q7@?E%x;c4HjE9tB@LL%aMzKedLklCFEgZEm5CojG`@)6N%bIORe+;>x(g}k{apD zHCS=l<5PSL4(pb$J zrAcEAp%avj-*`bsEg`g{jdG|RW_^qWNqyYa$kK9uVPr6sAJbJthWfHY`HWTS%@sy; zWqCtw*@mGQlFUe3ZfTJ$D|*SAO|NevLv7jS!mwLJdaAsgwrFFyQYe>oTajm_E$BRg znbaHXnNg^mZ2!sc>PCXgRl!tST6fc?6PvE@_`yewld+DOY^hA`AfTh86p zjYMn+6-;9kZRCb9)Jk74azhwqq%Rk}Aq=(BuFJ>`VW^R|oV&3biPLVVowlgPhEUO5 zJA}rV%aq1y)+jm~H=Uq#{KgA9Y6+noZInapFrzkvVK&-gN*lsRLw#A54Pm6Awru2v zFw{s}j@#E&v?P(Cwyd|Y(^KW`v_%^uH-zC<+JccA!cZeB2ORPM3wdQ0vn)$Zv+Xhw z=iTP))kV|gOuICk*NthG1~bA>J1W`62r(Ha#H4=*ue@?0pIl-$RL3z3%}{o_A+i!e zjUp;RW*Z~Ks7eSm3a+Ja zZCU%Ily08PNL#M4Om?KYdY+Yb`*hntTC0sRBW*c_h7)0?Ey>ltUY5vETQ;)cgc@nf zMK_#qEA5uLLU%S;5jlQJt#oID6_MkotROn z2;U6J%%b)$ft#T?&a_LxTgmC(B*7cTk&SiR9dD=Iu$qfQJ=L9rlzY(5UM~=J585Tt zSSFus)}OGcm3HRQg5g%^$yc>#qike?_)%JI9jT36hZZ1r+jg^a+qV66*sy!I1D*`k zHLoTFrL(#*<5Tjj8oaE+G|Df`yqXY{a*P?Dl5f@EBWD1GAR~QL84Q|Gs&r9JD6+?C zv}{$yLl?GjZL1L%&L>stqsm~=S*9voR1*rimQsyArmtAtI4{Ho&fdf^?)N-@NlVQnHW;u@@V5)(I~0F=o8Fv(Q+! z@|Dt9dbp>R-d}^UsEI3NnrS4T<4D5(umbYExl~^{Y|_$mRBc$~GZ5wJ3C!=R%Fvog zo}{j-h{^L&WiYU%2T#S4mClykm%vVwrz!($Al^o*h{tu{btHi-o#41jy{dFg3AfKC zO>bz3VHZ!7AA9Tf(yN++uhSnrGCG@iLHHK#M zYICHNCEu4}w~P5f&4_qw?{NTqLoUh&`^E?H!krs$;9=2)cjpAQ<#5e(!(*$?MZ8e_ zImWc*3$J43az)nR*`K=cAvby^Tr}NYKFblz1!2;NoR1BgWiy*c-FnY%aHoo*|hYM<^`a zb{iO0)sDDgT?%u%^U2{=?W>20pF)>A7z7;SjLG?s)wDX?KQ!A2r!m@U4=7zaW0BNc zGXw~HR729HYf5lo_EeW;PZe4AXh_<0O$jc{!RoRctRl++4N04>FHzBxsKk&M)RP$0 zmEa0HS6yA@s;DcSU5HKBmniE=lw(Nb^dxfJv_L+_>e6X>>P|ZCt6@yfI+MfnxvOeI zh23fFIh5E|Dek^&sS4|=0;op5YVr65pVn>p4Y5upG)T`RD48xP4pqEoy44N50zszu$>Dx{3rHC;8mm+$;l(hdOowhLuKz!*>@=C9g0|e>2{Ea)mKb+XbGU^BHd+@dm{Ly zm$qSi*_fi$NT%XRrmB$ak0;q*g=G8cn0XSzYGh;PN(?nu9pY)G_?uDQfo2#v?qrsZ zfu@Xqu8g0nRYj(jhNN%KReTkui7xD9y{k1@-zAuA$+;ge%kJDph)7hr58KqX zkO)cc+zvR#j8}JN8~f6Qp?sy4-j>J#h$h~^h%s;8DMjvge9sXC-JCcbj;akydUN9R zxT-QV-_40t`lvD(>CK7L;;G8O_?r`}aUdB#DOonONG|tA(lsSYAvbud+r<-AxxqWO zo0uVm-QcZn&y9UbUi`zTrjfQ>$o=HXcBpH~*jgj4IbDvb4J&BKo(5M{h9(Z#)%d6~ zn4lrMdQVjb<{PqOJE$@Y*^L;};Yf3MlicPWN!OQ9z6228k8V)n9Ym3I=}qflR@JU9 z0@_H`j!;-?&gi+A6pKRFt_soqn4$}fC>)pej4Y)r)E9RZ`<&^c}%?8AxmPhcj3z25J zB`iL>5J~3}w(p|uV@b0=HKV|8^i23@$gSpmL3hjt9~NEs?{t^oxU;MGI#b_7vov)c zs*3MNGpO*osm?{bPy(N3(6jYsn&gQ7Z0XE3u`Ia;$ln2;b+4cLL5`lNGp{z`uTm;q zS=DY|aL9Jh)3Sj_IR~)K>}aQ*-u)xUzZK@*3i57o&aFV-nK0j(Am16zcP7wxZ5@7_S)V`09>f_#s0zQ+Q6kB0dk4e~w8`5q1Q-4o`!C&+gX=R3F^4u<(24Dvn5 z`5p}PoeT4w3-X=geCPZJv)sX~|6rLrSPqP8AS|kZpr{5o-vfcZD`CDXLB1=TZ~kV8 zEc$p}R{Shpw!!{vg|`r(e{z&2_ahVZ-XtF2Xw5LpWy*y?%X{Iw598w^2RNelH%D5+ zN47+WtE6*7mZ@*zNh!@R^o?8mCy#W^sH8Kq=W2Ll9qcT<;Oqi!KwkJNnjb?%XDjAEC7^8Nf7COY zuPGv)VW_I!2CAwz|8vgKd`%JYoJUpJR;tR@|HySTpNe$Gxl-TGZ)sy0S0&$3jXc^> zD;60#L8WD(DTGgS>6vIsvGZg8M@AKmH08LHY+7fYu$`u8eaSvyrzPmw=!)^@BD5?t zg?wj5G;K7+f=?>g7wU8xPo%5q4Q=`&ixn8OAnn4jZDNYW(26D1p`BGnyqt8Jw{YHF z$tvhXyKeId_alASBg~!rVGl)%RpbUB&OR%D*hA4fOq%Wh9d;C|R0ujF22H9~DD0hD}I4%6hqaKUKBX4M4r0 zDw}JDAbeskhMA^hcs~uZ&=gYbr)svL{Z!^6vY&<;h4xb&IW?oOeyXIVW5bIjmzZX{ zkg?Lk6*JWX)~R&GezIoONIDDEkjjmu#>!^CkS^qhJw07BHOX{5Nx7M3YfUymi%aFm z=i^~S$>u9oDWA&G_NUWbqC9C%cTw)tC%-69x+TVsf2wiCaHLyaal(q>NZMsXvTVwh z%|g-2OFFHZRhXbG{%FAnE6w&GdHN-iE`16l%u2U4gaj2x4-G2fP6nkUB+tu4(slC= zmI$P4N+gqH1qOqyRjQbk0y&XvcMO*UqNGdjpt}7uqBNRo~9U~$dPc<%Z>rwIK zYd&fwx(SCjplV!bhr%@>WxlpZQd1Oz|^Se zC2Ty^bQLhlYI@OZKOsAzK)SAk-gUmHosi5%ZzrVVA#^7sa}>T4l3QpdtF;r-@t_+> z@J=X@t}79|6AGm3juC2W*jO&YcR~uyN6kbxVWl-}EEn3LgzSWr+K`e_$WBP76@?DT zYON@ii}0P0dMk=B(M?#X6~%I)9ZJYfNT(G=1*<0#W1AAP6AGkjj;ImWA3{xZJ6_cF z2VJqy@{YRxpe&|P@XD8~6pb}E%=(*1T`#%;sqFeRB2#e}Cq%{Vo@S(qUNzfT<7m0h zB6kAmUDD^QGzFKI`wJt3sr;DUBQnTLvr-f!Bh54=Spn%?W9O_i1(y!xGww}fS~>D& zx-}Us8EHl(C2v3u8&N}EoE&M!B>VHtT83r}8_j7`woi_ths|KJDqj(@!U*Im)RWXU zx}E~fqUtGBPuC`-p2Bo==y8iM_$};_X0eJe5u*rWTz!GU~Go)K)sJMi04xW>G_KsGhEk?&?DCOlm9%y)&s%Ju7q%uQKH7teT>Y0>+F; z5$y;ShFql@Q#R7cES8Ao$8Iu_MS$RNH%}n2CmkS|Q6aQ8!VoN=YVC3wMN1nx;pF1LV?NqRBM- zD*d3AF$afW`Y&btE56ey~3lRjKxepZO-bw=puWGyY zip$$f^BObJ);Ky+%2uq_Y&-X~uiw7ed9>HGFM4J>lV%`O_Uy3Wtvu!yVS6LYgHXSu z!llmkhI{_Q%_>w4*G;8Nxss|_$^x8$hD?25p^#D5pll6+C03zV*}qHHa9?k~ zcuLhjWorn)(5hZOE?L8UqRtvkTg6JYkS{CC_>456TU)NAz82WEwKKgwoZsbzT&iO7~l)b3>5i z&Z4SZsE1OY&1WmoZ~U#+i+VuZy?rW7bmL=$fld@j53POQs>6vr;96D0GZ9g~W5C9+GAY(RZO9icSmBv{w&8 zb0?(lLOqm_J&ZX48rvFj zjZ5czl*3k^5gdyVv9!X->h7D;h2mK6V1<-$(o|FN*=W>9aAAe9)mxckkydM3l&tPP zs<0Gn(AD^eati$nQz#hoAJtU8Y+)quk$Da7ET#i5|1=|V0?UY{dZUOHIFTVp7~UMX=2Pn1(6 zzADka2~L_40`pEZRkDLtbkQd`n!IiZAtVszcyJtbgI2km>a)tBZEGa7ZAp&` zZA;Gb+Ll~{wyof!B)6dWoVF!b7Td!}blVD`NPI=NtpEzww&a0xZA(rN+E#!cj}}lj ztZjuI501lYTkdf-h9;WLPLnKzv#DJ67RxN;)AZVrzrfOTY|g@{>vyvRxnZZh+`~=j zT&fK7jns29b?o!$4)4j<0gN~H$6$oVt0Pz$qnY^mBL^)ovn=+OO#}oh)00L;{aB*b|#w;Pzl+lKIG=w?p#X_j|qnxYRQ{f9oy3li3W}xn(ob z`b#FcdE05`q056{eruvxgo%@Ba3Q2w=P$El0*W+WC=EJ2fqdquuTUCm&C1L}`i-C2 zz-r2E=KeOCkTvC`2YMAz&(*buS~p7^IBm!N%3L-Nd;MI_DUsIp)ud%P^*@`drqqp-fp9R@DG64TbVCUcMrk>z*l9sSMfnBVmaJk97|a&pWDcZ8OF1Lf zGF&^)l3ToseT`dxOFLpGX;fyVzf>48dr}#b%=g*MFy0X)>byg)Q6q1ZPL(S@lV*y$ z{3f1nf6!~#IRYJkJHk#~q0LyLfjxbVt$c-#Mt%@SByb|! z*M+$k$|+MAOl9+uauN>s%85T7;<7HtrF#Izf;u`Dl*h^yYtT9Ff3hISA9RP8rPMH6 zD4XO~tf7+CzB=t28=J||o>bXtaw+Z*NWRnPnESes&xNF;xek)l0q#qpy??;)h0k>< z(H4yizQMCJl((1T0j5jPaery^{YSLLJOzibJ*z5Tixkbp_U=>Xn~_8v zHB4Vg=L&tWN)9S%?x^n>3f%g9&sX45#&fTv@nLImmO_VxsRkXzvj&bBkEqxzBvCy4 zp<|MP2;1Tz0UhJl66grOWPr^~3bvLd%N)*@DnqH9J8~?w&qrkQy#@a^gFhycx$T9A zCZH*1%Vx1)e<{-}N;wTSrPQBosh;d`f-HUPov6w9 zt?lg+FZ_xcyRWm|!wN9nPnLfsm=B0Kdc$afe0H`t=3PZ8n^r;oyiZno(WT4msxwFR2tt1%7sc|vf|4DHl+DNK4yYP=K(!cBD{N4bNECGN={vy$qeyWMaG`51bqi9kU! zQ3s-x!cehjl_VLV!|iD@j|5O)*bejH9Ht)VIfqql1FLh+!jie8psR5q0ShCC&mUj4|TgW5y5D?2th9)|?*3KRf0Y!x%XqA$2WK0!Fuw{F! zzHDB_J7TK|kZiM7KBMBECXxgrYp_@us%?SjA)=Zwl++LMhdUC+-jz z4a#k@L9ab7QEZD#blPEKNjY4Ps^+@Bq!=(ID!MIu*9(=1YHk~yEwhSakE-Unc`!9< zsz%L|72T&(u&~Tl#+2N1WHt8|{QXx>Ln&W!adA;60sfQ2cOUMO8`&vy3hA$NX(L_zEq12m&?mMDTmmXEkbs|al zCT#P_NiZb|(L_?IU4+T3dTM$W066gt&9Zi~ux5LspZ;4H_}Qwe8koi@E&K-;j4+b3qy!XD ztS;cv)ga|LzUcYc8D`Lfx3bd?BIJRzlS=G`FHdU0CYG;Z32rHL&u&tsv-qEU-wahBEU@X0Oa?0f@HB*#a!qtgJnM%##OU6@-DX3ho zayvCqXXsYRj4{<5`=e5kkl3h+B~ulZGm{QY&1ExPShlLIM16dv1t_`1MQ(`bBcC=K zh`yTV=PQYj3tfYSVRAPNYr;BwWf6OCqanic)#{|ly9TA!8~p}xWOP;ZMVt<+mkzaw zC#El@)(q@(aOpxGww*(1=xgfd3}t3YlH>*uMH!B&<~phFI;rV8p}4PRL^ZcbRkukk zw+V&w9KO%`hKnn>ORBoFpOdq1mn28a&XCgC5M2m?hB0M30a+49)-{YN%RiAQImbnE zN|KXY&2d80aIO|U>guba+&kV|$xWbLCWzRLmfVxxTPTgBN*P8qE2+Nd^!}ORO6f08 zD64vsk$J`QsuplEj_b&PV|i5y*jLBUKwF_1gO{f1Z9M9ZmBNN9v^|2qM%6+TP1K~4 z`ck5anpA?kj;hgnh_+Dx*e{rM=NI(4^9yF(`31f1yKgAmjtm9KWx)D#mENC; zAB&#B{IFZWbqF3ifkSUNl6tpUm!k-%h0=(a7^h56=&uKve3(#vdi1sY89sguV=2_b z8V}Wp(OtOR$iOv-OpRjDzCwh+?g>$_bPr~IJhbP2+#^pRN3mdsn)cmGL`}Yw_B(KezwKv z;|quq^M+JwJjQ}kOmD#WV#bxxOF)D-A1G14{Sd*;bP}~U1223}c=T+iRtR9@$ppuu z`>Ke0Ro)Y#VA&-ZdR-+Wg_w&jS_KrFPhBMh1A!C;JsfCqQ=tHbtH=m46r^-*8byeL z?Jt=+iBNFjon{Oj3RJ#>jiW>YSL`M+X7UaUV1dHmZj}pRvw1kQqk5m7qnw8&lv)eXkVs`78e$=6VgU7oj zQD9wf@|FC|V=@^&9`kVewxC}Gxh|`srb@FnZ2Ko0aI{YF!|V3gGE38Q6k~S%h`+e4YtQXsrT~>wC1$<3fpLCtKDr1AhZU&Xs3BIXbaxAz? z>jF=f`@G1?`h|2ehe>2g7w}|9UsC`X&`9e7$N4}5r3)D419d_tEM}bOgf3VQ9|)0SSa^&UUmuwG_&_tU3m)qO zjkFkWY}>*t?q|een_3!^*gx7_YV@uC8YuB0=R8;1xcdy;CanSbJ#lz@vBI}r>A1YC9^2+pt|fr>$h z!~R&w-wTC`A&9$WzG^HOQaNZDOTg=-vw~tQZjEi{?Bkj8*RdbuPlSNwa;#$_bMr|Y ze3Z!MQ}+pO&j~_MXAFX*a3D|&ZIaR2sLnYMN0@l+^X`K8%=0t4q*|*>skOSOT8B%i zb-1WnKQE=$WyjX~QfjR)s@D6Z)Ox?DS|68E>*JzoEia|k@}g>$mr|>|s9M#f)T%D3 z*6Kx)4qR2?d z>vM=}h&Li3zn?=~LmUwa`Qseo8sdXU$mKc2HB69^kgIcuYnb>VAwPb7JBPp&Ruq|j zMVx*;zE303yVGQ%sk(i@X7)}K7XTcWx*9~XTf34b!&%N*=@px$RAQ=f7Rox`2x*eLh0VD*XfXu*OscS10F(51Bu-$g4*m?IsY#88 z<{CpyFNQJHOcKiWR8_x7B!%WYQq?e~QPgFh_hn%h+keOM9;NR8w&_MuQtenbBybP$n2Os=B67W;B}AZPr!OT|Zf$tu?Vi)`S?}6f62=(b@#vmqC?3 zks*RLHb@JBesqkBujgIba_ECrgR>>+2uD5IzBDEvvB+a6EzyX>j&t7qmSDwHN! zRvbQdRhHA&%k$#ENa+YZ)g>8ny^lgs{`KweKYss~We?e@9il{%=I|R`%y;w4Uq7fD z*YCcibvd&WB_^WaL);*gzuk2x@j#?r8n{~w0L743%P{I1@f5;nUZFvi0ZH()2ICAa zqb(d_61Xc5Pn^4mq<{&gmDpYrs%=>nZwHmGs3q2JLYcjlK1P~D5N;Gi3{leYqNFBK z{5!X1l|YCXqNr90gb*WlW6EC8*+SrkNnJ3CG=aWO5O)kh1VPf#f|x84(D@aM1R_Kb zBpoe?Vv*n(T(HSFj3~mS5ri>YCcwm+Wdbpx2%}jh5CazrOfa#)M1iwU-2$YWFves# zFdPLDV}?>i350M@EdwJ9K?ILJ@EL;;!I3J01R_N7U4tm&Frv5%O_)FoA;myOEm>Rh zOwPmUV^%-1Z+Nun0!lzr)PJrI%T@l;EV^8ScQp&kwX3d~rL&qiu+RqD?Rpz~RvI)U zgY>ko*-8!SD9@P+Gf(LAW>cz7lGUxwF@R!Zd!~IJX1UttT_)!7>nT#2#|1xF_U<)r zvSnV7ZZ9vFXA33eil*gj?C+-acfTlAAV84<=Om~2QE)|70|5;<`O0@I2UskXT!O^!k-*rLPMh)W`nRJ6Rh(;``OD71*f@*php zfe;8HR{0Ke5a%0~)Ipd5AQWJaO=XUrpT0h4IyjmfVi6cdV#J9BZ57>rfT2Z?01b$) zMSgCPoK*l;!LbiQrg+$P;UhEzD0~ELsF4k!id!s9EhNJvh@q*LC8$a;K~*A8Ya;u= zAOoRTEM%MD5qb|Gcm!m~Z;HWzTN*1lWE)|&cXO~&!wiJk8^yvx4=@=fYc~U!R!D~m zii){*fWkQlo~6jXBmWGLfmpuf0l31m~wS$t;7tb9$*m5Qgapc zpur6<><{%yn>bLha%NelaxzKmOw^MMCYsa^p{iZ&Z<8dQIV`2notXT=RpNWDSd8%XK^F%4`Jr#W!+#3mhF$04ydGix2YW)=lp za$3Y0s?J&9!7t1#_uF;$_Vkq)y`XmgFNJWCNKUK|Va$;wP^?6jI+c@2VrQa7mIj*C z4xz^V!g5cVr40pg>~BgKtMyU{P@BS4c5`zi2}uW%TO{*gVIzmN0Hn1^1#nlc9twp? zO264+fBsve0l^ab3b*w+a+O4cg1%Yf@v$NkIfjMD$CgawE*A8|IOq>W>BKhpiJy@m zatsTkksxvx3$&5U#MVw}e`a4LaW$tI5kcuP0S?$eDSGu!!UBssZf$XFCsN*Ff@qO! z6AWAJ{su^yV&K%cO>Y}5bhDAj2C?L;0U$NPvyr&Pp4(Cf4t*ST-FgHwch_}lZr9BT zkUHf1iRgh7%s85Oj3f1vUofI`9GTKGFr{-G8Im#vSL7N;5{Y#jsg^JRImVGh;uah3 zjuW^m(tz?n-c&YN4!)782JvEv~r376;re%o@mkXuEt|!~Dle*mU%0i{kLLtYvTc@(*vbU4ry35u39K}wqVNSYueP0W%`yB#pFkzoRD z*F~Xo@zFLX00MDD;a%oU^`B$DqAw^7j{^nP4ilgh(rKQxVmNx1&N<(Eye@cq+bg?z zrcwt$Vg)d4)~O_^6+oSCg^gmCT0OWQ!!pxBpc9%L!#&#t(~2saGS}>hG5YVBa@NVO zf;1kIEThMy+8O}NtXOFrL+eJEU)jU<^`>FL1HBmeP|XbQNS=!4!Tjgv6hSd)P*x+= zfN>)Tt=p))SZlzXA}9t~ZR}@AVB82oC)b0G>doQd!)T%LO@U<-K_$puW4~Sl<38nRFA6VPOVCp{f~QJ(RYo!}Tp zRTjxJin2n-S)5fvG^6vXRh>_fNPdx>zVZEN#8{sg#59V!H=;MrhtGl3^xJP|o(abA zj-vc+XZE%C$56(q9?m(6;?s`3?`LnusvXKVhSKaKhrGMJ)j9uIB~k|A^NIf-C5T~& z-rJP9#|NH9>K?{4s=Bm3nsY35y_jkdZUAF3yp}R%E(xBLwdJLGM^L`=su+7eeT-Dr zk5>fcH0vIGtUFHGal9ia?_=%5NM-$aMNlre6|CF7z=`2KZ$>H_&NqV6K31+qD(c7U z!pfBwRL-#Vb6$qa3o5sap`7OF);^wYoU-G1M^N6!+K+D|we@6nVfEG*)b2ci-^!=+ zj8k?T?+D8KSbH^6SwCJER&H@Y<&4Q~f0oH)=sZ&P)hWOb0R8`A9-(cuk@JogApWTJ z;vGSGpU(C^QdvJ<=jhmpSKo@CP7dSh+%d2SH&$%e;2qRZ>9Y4|C zE56(E;vGSGA6N2oq_Tdz`jhtG=cem>Q(~>v%u1D*slZDOcwz(cGjx_$A%Tx%;0Pxg zq48-ynPS{MEF;=3^qQW6X1TPFpwq2keh5n>aeWU|W@~x|NHxetyUC*qrQH+h3FhvO zGskuu3*kf~w0E3&)Q&^YLbo4eTi!7g+FV9iV|2@2R{srs8725!fDvYt<>ttt2Gi;N z$1&9Ao+e08v%9lJ@4CY(t0Nn0K@2*uD`s6{};% z>cMCOZ~|RZmv58a`jxshFp`yT6G+S~eFW1J+7cGUkTpeCyuas*`YoX!uzXwBS+UBS zCSzZ+tT)RoZDJC#9Ct(SpJ%jP6)IBj_Vj(8WXVm|(PsOqIj#;fJg1a#DnB-i zRc+=(ftuqY`&Dns8T%j`VLhK_^V_TyfXpHtgtr9ggh{X@(4PVdsSHbY(Z{h{PuZo8$m~%?5N$0ND`6}CO zNq8w-rNq!W!4I$7W0P;nCTpsl16-wbfPZ$p2BlNEq)psUY?&!tz}J}P!5~^EIOcgX zh}H$3EXn+tmGukp;trF@lrG>2QIntFvEs^vPFSKK4pt&`!O~@<$2c*OV_0~M78ALP z1wB26Zcm-q1%F+#hwV`2*Jv@|*tXSZZQzNA4>Zy`!I73bS-=Yr zI}r>A1W|S(2+pv`fQmr~+spTIF$8gEeTiQw2Q6a>Vx4qWP>jW`@#@^PBUeaK3|KD5 zFD5cKpTxmO{mv8L1n~3!f;wXmB!vTkVrY|$)<$*1fjGjvYM)m11CD27bV;@JL#bzD zbV;@Jt2k$4bV;@JQ$1&6bV;@JGw)|(bV;@JqoZeIbV;@J3yf!DbV;@J8$)MfbV;@J zTV7{lbV;@Jn|WtrbV;=gmz&PVNsZ(DmuzZO8i=4rrT#!Mv`I#5V~k4uaZHcY7y4UK zQ9#cnuKw6s6wq^ttH03~1@v6v>Tgm;0X>(v`ctM+K+h$v{sL|k&~u5aKc5^0^jzYa z-tmkCD~c?i`YhUKpGtcAvEAEiW{;0w`*-G%)J_KMpd^}sPHkhrzAD0GLUXZIaq5zj zwpsI?P?stiu?_w+uV58kp|SyfVrqWajUf|R)xYaVvwX4GS8p}3U}50+OTk8msmFcXsoNI*% z10f6p)gLK}Lh3*bgwO}7KTtAZvBP#>R(oM{E)H4@0YAU^zI8WJ2Y-gq)TG8kbB&>< z7sD88Cdo^{Bb_5v4PzQbU7D>6c#3tb!hvjKsLcA6*K5NgmGx&BLrr#!G^*>=0QI^3 zrIKf3G`KO88I5KNWr9JYs%r{mMx#mHroRJQ%%O3M)JmEd$Nd=2=Vlf1furFkEA9y`%+t0f~ z=7Nbu`2O-O(P;R3UIBk;526D=?+(JZ{t7doP6L2VU-RY_#*vC4C5f5sC@KX9BExW+ zWqDa<{0JQ(etgd6Nj9HkbTmGGCI6V;Fi;O_Nz$;?B$-hD)iR=Q#4y)Th;zWR1^8%Qp&^L@N$`0F;|v44EgWWa`0a_JsKsxoA_%3h!%i=W zKrCLc3*ZW!#NJLMvj%BnBnbqeMnS|7B^@tHY7)i2b8A)!goq)EYL!3;G43@cyu~jK z!vt=a)CHqR6X@#%amOG;5F{Nfh{+-WonNs?AVLH|($Rt_773og1)Ge+h$2iHK^U`T z0!*w~CJ-ZvFq&loG4Qd#@L_fYA#Q#bAnimkCd+}@D2Ny{lqyOfgnMck7+DA+c=UnK z7=#FpR1qW)A&T!BL>Y$>#a(E^1Y!t@0OAD53YceA9*U1yP1g3$bYV{y^^|}nc>i1< zmaF`wS#%iz?`js7Ygb(}OJ_B4V4)4P+x0f~tTbpy2I*;Evy~duQJymuW}alT*?gL@ z$Ij|j=NLd@PUeO=XM%Qfs>^CK>$9DDL5x(+v`@0MAE{w!micY=Sj;~~$le>biD#m5`PQc$G8`OqnT6kJi&KtO|8 z0+H+{^zVu|6OP5zOy~~?nb02zGNGDzbD73YFQ{xz>4~bS6p)C)bEiv}NWg;9!HBwb zf}tE{^zS-IGmZt;&FGH^n$aH$95DLUfy+S7D&nw#b|$2eqZ2{m1_tCVm7>53Y6s%! zrU?YHn$N%Upv*TGRyChL9$-FyAaH^f_Mu!hfoa8wRNL5+CP$$ZY|&v`#w8I*Dq3FM z<&ms86k5b-UzDav9E3m+vC4O#gE;pgw2Lc1D8L?@${amEeSOY!a5Oo@A~1}^h!YFi zD!TswLyH~(8W3HJ{M;frs{pKmV;_V}@v!Z}M`#F8_z2igBO5{$w^*23NQOxeLsKnF zP?cbUszjdFMD~F}212n|$TqSpKvZ?$CwoPu98^fa1O=$7X(3HffJl`mD3vF8l_w~bCwP@7D3vF=%7V9{C*SM- z#T4y#pi&A{N^O;dmsylwK`v$<@|8ou4>6&IYXRmmsB&tloVqFt_x;qLVSWHB`H^pf z6H+ffz!WZ^)CrX8K*Bu=Q*4P|Ht zWg#jyfvHHgKD19^s-3{Vs=3wj6t1coSt(ZsGhA*1NgW`jfoEjM_I0zIg;h;|CWRlpKXyKrNCbdJT!MdGN6|J2}dG-jRMY2sWY_$s?AZ3byQ-dwN18eb?jYKwx zCCLl`sbQIo#4YyRw%&K>U6#51e4e(ZpjMsb9^45uM}6 zluLmro#V)mNin!0*Eo_$tm858z+D+v*R4k|b9Y^*=62nj0Pr~C zr6Rz{XSbx4Qv|4(q9yS})7EAq@zQvrX}cW^?I5?6E5TV+fpgNiK@;tTASWFT6eDTk zBk2Sw>BKDQwA&d08yP0hvhfO?i;tGH1_-2)CEhTZ2rud^_uF;*rp}}B`6HNEgvSs1 zo9aKud_^Dd8D6aktQ{smDI|nEYsGL?Y_Wg72V7n7_O7LDCYeed0ErdAut%hlq*eeW z0=UVtU0xb3ahuI)*-W+qu|rYU9fQ!?VmAmpsdP&Q6~!-V`QahLVD!~EJGS13{SSz- z%Xb8Z-SH+u^49_Dy8dZ>B2ez#mt-78ZI-RT7i$feQv}5ztBw5(3yd2<=;V5^QN1}ld>Ab>zA3P5 zBB%t}YwXv1VB82os|I?%Ogn&VBB%t}YwSm#VB82os|H$MrX4^w5mbU#B5xzLupysO z@Ub5`gK;AWt+wpyG93tH6G0`&USq$F2jiYm=&|1)gmJ}a9NyEk#^k=$5G*HQEWv7G z(*)mJyX!me17l_CyHCP1)aPduU#;X)YS|b?QA_CZi}x~+Ilj(uzKqYYG+7J_%qZx&rhGuGfvrY zydx;@W9^?KmG$ElK{?I32OsN>Q+6Eh2+I3d`!G^jKVA`()2#d9W8HDej^iCcc^_+k zj8xW-R|MrW>%RL~cbu~0ct=p)$J*~BmG$E#Di?fMK?{4s=Bm3nsY35y_iN(w{t52 z-yj~Vb2#THicdTCzF(Ujt9B^gb0q49%_NryXGqlfF^{6YJclmqOx1mrv$MOriV+&s zmtTKf;rrZl&2CD6K2?QBZ{h-Wh2_HeHTf_VsmDHM!?~uxDO>gn22H9xWrgWjSOF2Ek9NEFazjWWgProBx58|yMk@cz6JX0(McLl36Y`-x-d%{_)5HM#Wk zsl>>1zurcmtE9b}CM)b1^z&{FKeizQ69H;Rx4Iu{Nlu_^>T*odYq?5+@fH71O?6n- ztJMSj%Gl>@-u?BQ&E`q>1$aA29|O(H;qq1~-P95wPHrwnl7S1c0qKBsk=0!zKAcpW zpX6K0XnH}F`$3g^vFQ12l5I$ggvRYI#0AysnZ9m5`_;@sDtX&D@w72x(s#;dWHp2B zOMX#N{YkOdKqvk!_SpWyW2wB8@;on%jJ5VGO-)rQtxzfkE(hBw^?mz^W(bdZVf{-s zsYfO6{w3Z<#nSsS>7G!zX-RvJPH2;C=EL0%G<2*VNIc0K0obP5hI=iaDx!3y#5nap z$^5H$w-x~I-&$56Z?QZ*;eCj^z4x5b?$s%6a5?v~Cw@R83RUirRoZW}c7#2hJR-1I zp9QQffb~H8uYg<<0c!ad0<%@4Dg<|_O4&6;pE`QY_p}0L;!?$gl<)BUJkFl1V7D)*MxGNzjJCG?&PES2^R9NZ-4*s z`?oB6Xq!orf_=_K`JF=PPpL`8#wvqnkbh70-_6f;%YnP8ih)G|u%N8(#piM5lGIdE zfOQJ6PR9r00`Y)22xnF9vg~DZ%!>DSy6W3k#c|)zcQe;VLUDWCkiqw>)7yhInPikM zU(|2Ow@-QTpJPpLy}yf1A>gHx0gaC7tlICld&v(WsAU<=RDI(*2~#W~kE%$t$Opmq zEJUg>tdoA4K2nG!P$T!z%nFjxp)y)bMj*rY_9XCo#;Gs7*hgW@*~ZBXz#2 z|6BFhMKTHvAa3d|^}?p8luVZNtsgQA9*aY^%MXWYznK-?vov!#Pjh049B~n7C{4lA z#9B9j>lRkNg_Un%b?K6|GOd&OkV4ekzC;j1& z??1A2wO&;F=C{6&b>Y(u`>s@SM|xygkq){2$cn5jnmzTsS0?^MyYGr1yGcJ&QWEPO zWLg@V@Pt${&H9J04%_VQp_;wXH*}seeVgoS%f?Wt45_qqRua6}w`5w7l9w&9Cd~;p zvkvv9A)b0uowC<_Q?9E0hl`vz#}!e1dV0+deb*a)SJE{<#4?>YH6idG z{grkS`ZL`!sY{uoSfcY3OHCD0GmgOdGyS>9n}f`@|5@kR7ipxap}LlJV6#ZZ+eFHe z8H$w5fK1WqAWw^F`ciGGJ(*Nx+9^Ac@n)=&G#|~OTEjJ1cWG&OscB07mQEEadLi_X zlj)!Lx?3)t9p^?RlYv;5QH+sZm(?;qt`1y{?WQCiX1kfyP?cm-kwD>%jPA{0R@2p4 za-&p6Rb@3Nyk=Pq422(I`AjB&nz8RMs3z1Cw@Ud0?tSJ!5R?lb2jpt0#Z?y6#Ykk0 zlVE11HVZKG89JZ3tt;M)KiOe`bthNH&+szg*R%#8M`jN6iuI8Q9zU zWwYJ){q$rs4nzqj+H4OX)n`I_NjgDqw4GYO9; zjf7@CH#up))2wAsJnA?C(Md05soSQj{&;}O4?1&ZhQpS)l4?JDJP`yt30QpG?OX^g ziJ_Q28X_!iPV2n+HRF-BOeQQC+3&(!*dDf0UXqn3SA_(unp$8daGCPFvsTO>U6$r( zO(=PihGd?wQ)6tbBsXNG+TJ7RUaxo(9l&F|Zl1FdS<5l5$YTS>>zFhCN_=BowEgq{Fe7i_N6PKw1#e zLL%)?!jR5IvtWneO%vLWf12ppx32k8maLW+!5^xZyHh7<|7bV>cIpoq*EL;rElmD=o>Ql;S1y#w%~gM#QA`$nS*`v>X6=6_ z>6OsISXZXiSKCFt%F4rb-^f1|-A|<7Uw^*M_}sg%XcmZ+UG19cSZ@Epe)z|VOh~`c zA@=Xhsos>?U)ABSC+W}oKYt(oo@>PqkIJ79o8?xjpiq1xQPYuVJKt4By{wBb#9v4R zPt^-qQ_c_h{xJOhC;7kGrdVwo(uw}0qoZBg4%H~mQ?>e|&5#ejKa;hi_WPG=RUN9? zdr|FLpk*Zr9ZMR^WW8b%IjvRmOZ}Gtg;~Gc3)Iw_XjULp4z4VYDMP>x|9{n z^YhzJsg_do@6DcAgDf5PO2HHGvm~EZry-$ZMiwAX)!~)Q#zXlZdGU*MTv1h_%2igZ z8`8I{GUFM5lI*uU)a#T6sSn&Wa=zh4y} zFKg1U|7c17LFW+GD>E|I_ap|{T&L|m2^n4=bYDv;Q#QY{cJs>!U@TJW_=u!MH^l8p&NLECUjK{qb4<9b_`^)>rvS--J=Hk;kP z-W=$&K^bkt(~ z_8a2tNKKkG{w>viO0MWXS(WCh>3^PFWpBEC!cR-mM$Lk_a9Ub#i1Ku~m3>L68ze?j zexNz%?S}Yn{x_Ake4+o`bzu#ezzg+n($5?5x0C5dB9Qp!yYe@gyu?4Nbxo@*=?L58 z8?A^%SK6{qkbQdhdU3t=bh{(P=8r?&qC*-I12gHp~waqrXw7Kz`|{=+McE zRh4g!J6>^LALdmd5On_>hVmaQAK$jYa$i++T4TS{KX}uuiQ~%4lK)w!3$cX%d$&E^ zh<~rxF%14!vEKDvp-w^V4k#RlT25IMb8mIH!ussEu7` zGEKsEg_%{_70O>f*cwIOXzY&7(3OvHbApC`#sl}JHGY@lottmFw0wHa^vgA;zW#72 zh4D9?)ra_JPyhb@{P3??_BfyY`^(?i)9l;d_u03H`7^cqoQ7!4VMcQ@|C|!?nsj;6 z8hI(3t=ni!sPXs?Be#wiDf8bj84#|y<5~ulW7r>@?zcO7nI@+vE?Hxe9!A#*GcG)_ zQnh*O&8l6*32Z?rpVz7>9kd}!TRIjYnU!MPd>iZv4Ra%_&<4*dV`Dw@|bXf*snHx5Xb2|?QAD3OHGikt1 zQ1W3f9YqoNhToLp-QRc_iEE%AFc^;Li6>atzCMq^`S}&j;;ujC37%gb8am*X4>N__ z!|zxRuj-dgR`FE_ClrpST{nl4Ol8Y@RY6Ckd-29unl@D>tbYu5gSx>KXa%uTm>u+Q zrz-#T8=1@A`c>LJ9ne+t8=a1eLYdmQl+c~azN5=?TGGvFERo11f*t2c>~2E(jl$5C zSVI#ge8B!C&HgDcQ2T1|OC%uXeKgeU9PN44kO}HXzB*R_{M@&1;I%dG zCAyi(<|KNLZ8)+qKTL^rH~mQ0j&PeNI?^iC(Y zwX{*mL4{euW_$T8lys~#`P{nm=3`UzJ{<~`8k!X+GLTM97k1k#NK-TMiE@a8OlmS%!VpRC}`SphB$kpJcV%92edG{9CneXkxD)e67o+`#W5qF_C{p zyW{&x7~u%ZVrI*bb-?eX)YBbrLFjXUEn4N{hPhQs4{4jUnUa}u$4=)~>)qjlG|`UO zXuGGUPq?O9d^z~0|EbIBo&Y~@|3%`WnmVX|UZ+=zk4=)i{CRBpu-WX&h-J;-(^& zU}tL5i^_qqvP8=k^$S@G^27;~ zgJu>pGL6#xr+!%V-MKeR@JN#)Ms*dyr(xPZwmc~>J3iWl3<24XQNdKJrE9?eH&GXh z_6z-?$8~e|*4aJh;hn8#rk^91Q0x7 zOE_VPT5JycRj)$$+Zl=;QyP#kA4+GBs?1I`>G*6u=@k<~pD#R-P2E4~UjN#b$5ppT z7p8=$EmZIpqOsX_Rnie4L}%TQRf87EBa?>cwIQ;UG)bH(t4+U26nT@W%^WSX>$Gq{ z+NJ%;(7rhptL;mVq8ta1d+aAMNy(}bd-U!DD?lf%a!jxH8>aM}_NWfeHH!9^PEtv? z_fFzy2=3JK%|ssfi5@g~tq1k}Y|-dTF5Y(Hdd?lk@HV_AaWnnNl4$Lc++D7YtPHBY zjmTtx^pun`NJd8xzc;)Krr zT7sW}+7swBs@&|hP2X|Mo~Y~l>WekPxUeTq#U-sRDp5`0TK@KtnE&#RM`DM1^C84K za^o$C(`^qRcQMeaVAI?#XHK{MkvNUbma8c@jOG*;^`SSl96hx@PdK~F>eD+x)a&wn z+a#r$74?Ss?ap479HM2``L66y^jeZ>?s2~@$ij!L0UH|c>%U~}!!5YYiZ(|cjGO_c4`Pt zdG$%2e(29lgP|D85b?LF-!+*~`xZDA&5Gx;=Hs7fQ&@fGok?P51F^Oj;h($vWGZs(TY4nsc~0zW^}N#Cas{Y=vj1LfL8 zy(VLcS!wA1q4QMVW03Zg9@KIYV=V|jx`nmK5dugQXb)ZaJEcbKZGq5It1$xiLS{k@0CiPX_Oj6 zlyxKvQc`vBL)x97zC^n5b4Aant@<~6*qV|Q@E%46?y2vFa<-j!=;C$HyP$e|i&qSG z!j^7Id!P^vGQ|uR3Piu)%sPn{y<2Rzt9-S4%?%9})N8r`DoRw-4U=h?w4${|KSTbe zZPi-_irRi4j-)U*61dqUY94GpgQV88FlvAK%)86bQ`Gx@LUMbAlES8>v#UwduOGjw z?u^V3XZ{FwiG%XO4Fpjk=eYyP`{yenhOvb8KEX_yqqvuk`3$|zUn#*snx~U(`}{^P zPH-GVR#LyyUC=J;E`}A(sMQvj8E)l@sWX33p=h?f`gYakx#Vpb+vY2CGEeP`L;VH- zyNtpej(UpDyNjDWHyF{)#qsNB8?Mj)kYE1X?&tO9WmWyX_(|fs;S@nr;|%gnXtWg#Kf2 zs@ez{B$cMuKA)z}c!1g}m?6>~&V9rCG^67$!$HY5zoqY2**gE=I(!bR84>~D$a@&E zv;taFJVe9>N8OxQ3-rTNm>qaB`S-(i{hc(y@7=s8_Mf}f!}8O}1IxB|@l%&wAu35o z^jgmfhaQ4;Gg*R-#eWckf~otDm- zE?7p9@DlPl4@UoBO7eme!9B8FCzd2H>oni0{LOekx66VXqRb!0c2!o|^4SGFGvw`W zl#ILg7;95{!?|ADH4RvXALA!re%wXc_7Ku5t|e4^a@Vlq<^1d#XJpyfS1&9n88Sbs zOXn&K2~5@`1gdWnVgK1R0?d(2&k_9z5-whZMLm?vl?OjdKLE#NhsAdn@eGG!LKApH z?}ARy@Tc^dC4vTpxIb>0g9lriPG_-Iw0X~Z7&PoYtL~G9(;ay!p2v{BT-DO{yPCYO z(A~;*R{%H?!>hVNRogM{2ahE|8#U2;Q|v;7_|PjaH6B~!=M1FmI5x>7HvCOSisvy^RQPG5{^y~o@m;4<#w_)l{Nj}Kht>n^C1 zHl+_xG8*MHzF*uYt|iD==p$iyt)(3N5wgbYWYj$~&*Ax%E^i)6;oP}!mPtBYC|<2; zlTwEvDRtPM*w!&Ed!XkC{>X(xe(*Q_GU0xXaHT-r;^Y}G^?5GA4#al+?2*A$gEOpo zuZghj4QFt#fumCn6;ut|s0F-ZVh9^-=~v4qKKbBTu8z%XucdHQR5YS|HBJm8M(u!N zj|bV#Z?tlY2k+$O8XPfr!cM=$%azn~WtP1(A?kt7nm(KKfS0I!Lf~b)9VUC0gauBL zbhk*`u}~e}NIMuiIA5(vyYJs+|8V<09Fh{FiDYuf7i1CKpJju_ws=t25{k>YU~&HZ zUw&=Ocz(`u9Yf3i_NgFd8PQA8%eeAUKX}W+I2e>o=g@Tnb`M5rq??yLnGi|IO1i|T zymL@UUPl|{Kj!*zR^-sM?}0KGr@o*e_U!9L_0q|J%S=JJKIO2t^~xzchxF?Q!?}32 zQK8)srYg6J+3yPT9AY(aQ4%0vxH<$+WNRi!;zoXk}~O&v|#|YS-uOc|mE3 z4z0a~R$}`fN@i%a%}e@X!YY4h^wX_(Y|IvXyQYnB$ZO9z5z*ad* zVqPix4eq|#50$V?F>gyji)A)K`^EC^&kfX|jxZ$dvPlUoScq>74U^fS1462aw;D{Q+4aZZ>3#)*n z1T`#hbQrr)WXk~#m+qLr3*?C)=oC6%Xsd_g{QRbLO4a2x_>60dQHD`J-4L=~VKr9P z-l;paW>Vg%GaM!`n-7qfFY5YZ-s}hE?BauVGY{SdVWUvIMdrTB+HMOC#uK(t{lE zt0t@^Lx;lEkeZWEgJO4GzXPW=#?3!yN5Mv!a2ThXht#=+4FD)(Oq0sj-IHC0yrGg8 d#mwSr%U<&<{DygKNINZuo8J%e3bIey{y&41<`@6~ literal 0 HcwPel00001 diff --git a/mingw/bin/libgettextlib-0-18-1.dll b/mingw/bin/libgettextlib-0-18-1.dll new file mode 100644 index 0000000000000000000000000000000000000000..42ddc077275629fe8f7251929bd01c58a78c0776 GIT binary patch literal 3272666 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