#!/bin/sh # $Id$ # Public domain. Originally written 2009, Norbert Preining. # # Update the master messages.pot catalog and merge the result into the # respective .po files. mydir=`cd \`dirname $0\` && /bin/pwd` Master=`cd $mydir/../.. && /bin/pwd` transdir=$Master/tlpkg/translations tmpfile=$Master/tlpkg/translations/shortdesc.pl cd $Master || exit 1 cp $transdir/messages.pot $transdir/messages.prev || exit 1 sed -n 's/^shortdesc \(.*\)/__("\1");/p' \ tlpkg/tlpsrc/scheme-*.tlpsrc \ tlpkg/tlpsrc/collection-*.tlpsrc \ >$tmpfile || exit 1 # cat install-tl >>$tmpfile # # rely on file extensions for source language identification xgettext -o tlpkg/translations/messages.pot \ --copyright-holder="TeX Live Team" \ --msgid-bugs-address=tex-live@tug.org \ --package-version=2021 \ --package-name="TeX Live" \ -k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2 -kN__ -k \ tlpkg/installer/tracked-install.pl \ tlpkg/installer/install-menu-wizard.pl \ tlpkg/installer/install-menu-perltk.pl \ texmf-dist/scripts/texlive/tlmgrgui.pl \ tlpkg/installer/install-tl-gui.tcl \ tlpkg/tltcl/tltcl.tcl \ texmf-dist/scripts/tlshell/tlshell.tcl \ $tmpfile || { echo "$0: xgettext failed, goodbye." >&2; exit 1; } cd $transdir || exit 1 failed=0 tmpa=`mktemp` tmpb=`mktemp` sed /POT-Creation-Date:/d $tmpa sed /POT-Creation-Date:/d $tmpb if cmp -s $tmpa $tmpb; then echo "$0: no msg changes." mv messages.prev messages.pot else # we get here only if there have been changes. for i in *.po; do printf "$i " msgmerge --backup=none --no-fuzzy-matching --update $i messages.pot if test $? -ne 0; then echo "$0: msgmerge failed: $i" >&2 failed=1 fi done fi rm $tmpfile $tmpa $tmpb test -r messages.prev && rm messages.prev if test "$failed" != 0; then echo "$0: exiting with bad status $failed." >&2 fi exit $failed