Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavy Defaud <davy.defaud@free.fr>2019-07-28 18:20:53 +0300
committerDavy Defaud <davy.defaud@free.fr>2019-07-28 18:20:53 +0300
commit0c62af664bc86583640e876546073603e2456ce9 (patch)
tree7a0099f5fcaa9206a986073571057800f0513822 /scripts
parent5c26f0d66edfdd1f1864312468494ee2b2e56bc4 (diff)
Add a script to extract the last translators for each language
This generate a CSV file containing the name of the last translator of each language, with his e-mail address and the (ISO) date of his last translation.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/gettranslator.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/scripts/gettranslator.sh b/scripts/gettranslator.sh
new file mode 100644
index 000000000..e36bbe928
--- /dev/null
+++ b/scripts/gettranslator.sh
@@ -0,0 +1,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 -a -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