phpmyadmin/scripts/update-po
Michal Čihař f7d2997d79 Use php for fixing line information in the Gettext files
The debug information actually maps ranges, not individual lines, so it
needs more logic.

Also the sed was really slow (as it had to replace all lines).

Issue #13344

Signed-off-by: Michal Čihař <michal@cihar.com>
2017-11-02 14:00:00 +01:00

68 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
# vim: expandtab sw=4 ts=4 sts=4:
export LC_ALL=C
# Do not run as CGI
if [ -n "$GATEWAY_INTERFACE" ] ; then
echo 'Can not invoke as CGI!'
exit 1
fi
# Exit on failure
set -e
# Generate Twig template cache in clean dir
rm -rf twig-templates/
php ./scripts/generate-twig-cache
# Update pot (template), ensure that advisor is at the end
LOCS=`ls po/*.po | sed 's@.*/\(.*\)\.po@\1@'`
xgettext \
-d phpmyadmin \
--msgid-bugs-address=translators@phpmyadmin.net \
-o po/phpmyadmin.pot \
--language=PHP \
--add-comments=l10n \
--add-location \
--debug \
--from-code=utf-8 \
--keyword=__ --keyword=_gettext --keyword=_pgettext:1c,2 --keyword=_ngettext:1,2 \
--copyright-holder="phpMyAdmin devel team" \
`find \( -name '*.php' -o -name '*.phtml' \) -not -path './test/*' -not -path './po/*' -not -path './tmp/*' -not -path './release/*' -not -path './vendor/*' | sort`
# Fixup filenames for Twig templates
php scripts/fix-po-twig
# Remote twig templates
rm -rf twig-templates/
# Generate PHP code for advisor rules
php ./scripts/advisor2po >> po/phpmyadmin.pot
ver=`sed -n "/PMA_VERSION', '/ s/.*PMA_VERSION', '\(.*\)'.*/\1/p" libraries/classes/Config.php`
sed -i '
s/SOME DESCRIPTIVE TITLE/phpMyAdmin translation/;
s/PACKAGE/phpMyAdmin/;
s/(C) YEAR/(C) 2003 - '`date +%Y`'/;
s/VERSION/'$ver'/;
' po/phpmyadmin.pot
# Update po files (translations)
for loc in $LOCS ; do
sed -i '
s/SOME DESCRIPTIVE TITLE/phpMyAdmin translation/;
s/PACKAGE/phpMyAdmin/;
s/(C) YEAR/(C) 2003 - '`date +%Y`'/;
s/VERSION/'$ver'/;
s/Project-Id-Version: phpMyAdmin .*/Project-Id-Version: phpMyAdmin '$ver'\\n"/;
' po/$loc.po
msgmerge --previous -U po/$loc.po po/phpmyadmin.pot
done
# Commit changes
git add po/*.po po/phpmyadmin.pot
git commit -s -m 'Update po files
[CI skip]'