all repos — tint2 @ 405c2c9286a719481de59bda030dd1ee99a5f994

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

src/tint2conf/po/update-translations.sh (raw)

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
#!/bin/bash

set -e
set -x

find .. -name '*.c' | sort -r | xargs xgettext --keyword=_ --language=C --output=tint2conf.pot -
sed -i "s/PACKAGE VERSION/tint2conf $(../../../get_version.sh | head -n1)/g" tint2conf.pot
sed -i "s/CHARSET/UTF-8/g" tint2conf.pot

for f in *.po
do
  lang=$(basename $f .po)
  echo $lang
  msgmerge -i -o $lang.pox $lang.po tint2conf.pot
  cat ${lang}.pox > ${lang}.po
  rm ${lang}.pox
done

set +e
set +x
echo "Status:"
for f in *.po
do
  lang=$(basename $f .po)
  fuzzy=$(cat ${lang}.po | grep -A2 "#, fuzzy")
  missing=$(cat ${lang}.po | grep -B1 'msgstr  ""')
  if [ -z "$fuzzy" ] && [ -z "$missing" ]
  then
    echo $lang ": Up to date"
  else
    count=$(( $(echo -e "$fuzzy" "\n" "$missing" | grep "^--$" | wc -l) + 1))
    echo "${lang}: Translation incomplete: ${count} strings to be updated. See ${lang}.todo"
    echo "$fuzzy" > ${lang}.todo
    echo "$missing" >> ${lang}.todo
  fi
done