blob: 80b189d89e2dbc2962e9e5e4ea66c6304aa63652 (
plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/bin/bash -
#===============================================================================
#
# FILE: gettranslator.sh
#
# USAGE: ./gettranslator.sh [language]
#
# DESCRIPTION: Get last translator and last translation date for all languages
# or a given language specified as first argument
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Davy Defaud (DevDef), davy.defaud@free.fr
# ORGANIZATION: Remmina
# CREATED: 2019-06-23
# LICENSE: GPLv2
# REVISION: ---
#===============================================================================
PODIR="$( cd $(dirname "$0")/../po ; pwd -P )"
last_translator_field="Last-Translator"
last_translation_field="PO-Revision-Date"
function getFieldOfFile () {
fieldname="$1"
filename="$2"
regex="^\"$fieldname: (.*)\\\n\"\$"
field_line=$( grep -E "$regex" "$filename" )
if [[ "$field_line" =~ $regex ]]; then
echo -n "${BASH_REMATCH[1]}"
fi
}
if [ $# -eq 0 ]; then
languages=$(cat "$PODIR/LINGUAS")
else
languages="$1"
fi
is_header=1
for lang in $languages; do
if [ $is_header -eq 1 ] && [ -f "$PODIR/$lang.po" ]; then
echo "language;last_translator;last_translator_email;last_translation"
is_header=0
fi
last_translator=$( getFieldOfFile "$last_translator_field" "$PODIR/$lang.po" )
last_translation=$( getFieldOfFile "$last_translation_field" "$PODIR/$lang.po" )
last_translator_email=${last_translator##*<}
last_translator_email=${last_translator_email%>*}
if [[ "$last_translator_email" =~ ^(EMAIL@ADDRESS|[^@]+)$ ]]; then
last_translator_email=''
fi
echo "$lang;$last_translator;$last_translator_email;$last_translation"
done
|