| 1 |
#! /bin/bash
|
| 2 |
|
| 3 |
. `dirname $0`/../config.sh
|
| 4 |
|
| 5 |
gettextfiles="${scriptdir}/pages.pl ${scriptdir}/print_deps.pl ${scriptdir}/index_pages.pl ${scriptdir}/create_indexpages ${scriptdir}/create_newpkg ${libdir}/Packages/HTML.pm ${libdir}/Packages/Util.pm ${libdir}/Packages/Search.pm"
|
| 6 |
podomains="pdo sections langs"
|
| 7 |
|
| 8 |
# Update pot
|
| 9 |
#
|
| 10 |
# Common options for all calls
|
| 11 |
# On Sarge, we could add/use the following options
|
| 12 |
# --language=Perl --copyright-holder=foo
|
| 13 |
xgettext_opts="--language=C --foreign-user --add-comments"
|
| 14 |
|
| 15 |
xgettext $xgettext_opts -d pdo -o ${podir}/pdo.pot ${gettextfiles}
|
| 16 |
xgettext $xgettext_opts -a -d sections -o ${podir}/sections.pot ${scriptdir}/sections.pl
|
| 17 |
xgettext $xgettext_opts -a -d langs -o ${podir}/langs.pot ${libdir}/Packages/I18N/LanguageNames.pm
|
| 18 |
|
| 19 |
cd $podir
|
| 20 |
|
| 21 |
# normalize paths in .pot files
|
| 22 |
for domain in ${podomains}
|
| 23 |
do
|
| 24 |
perl -p -i -e "s,^#:\s*\Q${topdir}\E,#: .,go" ${domain}.pot
|
| 25 |
done
|
| 26 |
|
| 27 |
# Create missing po files
|
| 28 |
#
|
| 29 |
for lang in ${polangs}
|
| 30 |
do
|
| 31 |
for domain in ${podomains}
|
| 32 |
do
|
| 33 |
test -f ${domain}.${lang}.po || cp ${domain}.pot ${domain}.${lang}.po
|
| 34 |
done
|
| 35 |
done
|
| 36 |
|
| 37 |
# Update po
|
| 38 |
#
|
| 39 |
for lang in ${polangs}
|
| 40 |
do
|
| 41 |
for domain in ${podomains}
|
| 42 |
do
|
| 43 |
mv ${domain}.${lang}.po ${domain}.${lang}.po.tmp
|
| 44 |
msgmerge -q -F -o ${domain}.${lang}.po ${domain}.${lang}.po.tmp ${domain}.pot
|
| 45 |
rm ${domain}.${lang}.po.tmp
|
| 46 |
# normalize paths in .po files
|
| 47 |
perl -p -i -e "s,^#:\s*\Q${topdir}\E,#: .,go" ${domain}.${lang}.po
|
| 48 |
done
|
| 49 |
done
|
| 50 |
|
| 51 |
# Update mo
|
| 52 |
#
|
| 53 |
test -d ${localedir} || mkdir -p ${localedir}
|
| 54 |
for lang in ${polangs}
|
| 55 |
do
|
| 56 |
test -d ${localedir}/${lang}/LC_MESSAGES \
|
| 57 |
|| mkdir -p ${localedir}/${lang}/LC_MESSAGES
|
| 58 |
for domain in ${podomains}
|
| 59 |
do
|
| 60 |
msgfmt -o ${localedir}/${lang}/LC_MESSAGES/${domain}.mo ${domain}.${lang}.po
|
| 61 |
done
|
| 62 |
done
|