-
Notifications
You must be signed in to change notification settings - Fork 2
/
update-po.sh
executable file
·43 lines (35 loc) · 1.4 KB
/
update-po.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
set -x
# Copyright (C) 2017 by Mike Gabriel <[email protected]>
#
# This package 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; version 3 of the License.
#
# This package 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 <http://www.gnu.org/licenses/>
GETTEXT_DOMAIN=$(cat CMakeLists.txt | grep 'set.*(.*GETTEXT_PACKAGE' | sed -r -e 's/.*\"([^"]+)\"\)/\1/')
cp po/${GETTEXT_DOMAIN}.pot po/${GETTEXT_DOMAIN}.pot~
cd po/
cat LINGUAS | while read lingua; do
if [ ! -e ${lingua}.po ]; then
msginit --input=${GETTEXT_DOMAIN}.pot --locale=${lingua} --no-translator --output-file=$lingua.po
else
intltool-update --gettext-package ${GETTEXT_DOMAIN} $(basename ${lingua})
fi
sed -E \
-e 's/\.xml\.in\.h:/.xml.in:/g' \
-e 's/\.ini\.in\.h:/.ini.in:/g' \
-e 's/\.xml\.h:/.xml:/g' \
-e 's/\.ini\.h:/.ini:/g' \
-e 's@^#: \.\./@#: @g' \
-e 's@(:[0-9]+) \.\./@\1 @g' \
-i ${lingua}.po
done
cd - 1>/dev/null
mv po/${GETTEXT_DOMAIN}.pot~ po/${GETTEXT_DOMAIN}.pot