From 9713bddf71b3f400d2685fc279d853e59ff5e1d0 Mon Sep 17 00:00:00 2001 From: Florent Revest Date: Sat, 4 Mar 2017 18:00:57 +0100 Subject: Makes .desktop file translatable --- i18n/asteroid-stopwatch.de.ts | 12 ++++++++ i18n/asteroid-stopwatch.desktop.h | 5 ++++ i18n/asteroid-stopwatch.es.ts | 12 ++++++++ i18n/asteroid-stopwatch.fa.ts | 12 ++++++++ i18n/asteroid-stopwatch.fr.ts | 12 ++++++++ i18n/asteroid-stopwatch.ko.ts | 12 ++++++++ i18n/asteroid-stopwatch.nl.ts | 12 ++++++++ i18n/asteroid-stopwatch.pl.ts | 12 ++++++++ i18n/asteroid-stopwatch.pt_BR.ts | 12 ++++++++ i18n/asteroid-stopwatch.ru.ts | 12 ++++++++ i18n/asteroid-stopwatch.sv.ts | 12 ++++++++ i18n/asteroid-stopwatch.uk.ts | 12 ++++++++ i18n/generate-desktop.sh | 61 +++++++++++++++++++++++++++++++++++++++ 13 files changed, 198 insertions(+) create mode 100644 i18n/asteroid-stopwatch.de.ts create mode 100644 i18n/asteroid-stopwatch.desktop.h create mode 100644 i18n/asteroid-stopwatch.es.ts create mode 100644 i18n/asteroid-stopwatch.fa.ts create mode 100644 i18n/asteroid-stopwatch.fr.ts create mode 100644 i18n/asteroid-stopwatch.ko.ts create mode 100644 i18n/asteroid-stopwatch.nl.ts create mode 100644 i18n/asteroid-stopwatch.pl.ts create mode 100644 i18n/asteroid-stopwatch.pt_BR.ts create mode 100644 i18n/asteroid-stopwatch.ru.ts create mode 100644 i18n/asteroid-stopwatch.sv.ts create mode 100644 i18n/asteroid-stopwatch.uk.ts create mode 100755 i18n/generate-desktop.sh (limited to 'i18n') diff --git a/i18n/asteroid-stopwatch.de.ts b/i18n/asteroid-stopwatch.de.ts new file mode 100644 index 0000000..d6bc113 --- /dev/null +++ b/i18n/asteroid-stopwatch.de.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Stoppuhr + + + diff --git a/i18n/asteroid-stopwatch.desktop.h b/i18n/asteroid-stopwatch.desktop.h new file mode 100644 index 0000000..8f642d6 --- /dev/null +++ b/i18n/asteroid-stopwatch.desktop.h @@ -0,0 +1,5 @@ +/* This dummy header is just used to generate a translatable Qt string that + * will be integrated to i18n/.ts files, translated on Weblate and then merged + * back with the .desktop.template file into a single .desktop file. */ + +QObject::tr("Stopwatch"); diff --git a/i18n/asteroid-stopwatch.es.ts b/i18n/asteroid-stopwatch.es.ts new file mode 100644 index 0000000..d2aac15 --- /dev/null +++ b/i18n/asteroid-stopwatch.es.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Cronometro + + + diff --git a/i18n/asteroid-stopwatch.fa.ts b/i18n/asteroid-stopwatch.fa.ts new file mode 100644 index 0000000..708781b --- /dev/null +++ b/i18n/asteroid-stopwatch.fa.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + کﺭﻮﻧﻮﻤﺗﺭ + + + diff --git a/i18n/asteroid-stopwatch.fr.ts b/i18n/asteroid-stopwatch.fr.ts new file mode 100644 index 0000000..14ba06e --- /dev/null +++ b/i18n/asteroid-stopwatch.fr.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Chronomètre + + + diff --git a/i18n/asteroid-stopwatch.ko.ts b/i18n/asteroid-stopwatch.ko.ts new file mode 100644 index 0000000..2d682b9 --- /dev/null +++ b/i18n/asteroid-stopwatch.ko.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + 초시계 + + + diff --git a/i18n/asteroid-stopwatch.nl.ts b/i18n/asteroid-stopwatch.nl.ts new file mode 100644 index 0000000..6a0379c --- /dev/null +++ b/i18n/asteroid-stopwatch.nl.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Stopwatch + + + diff --git a/i18n/asteroid-stopwatch.pl.ts b/i18n/asteroid-stopwatch.pl.ts new file mode 100644 index 0000000..5690963 --- /dev/null +++ b/i18n/asteroid-stopwatch.pl.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Stoper + + + diff --git a/i18n/asteroid-stopwatch.pt_BR.ts b/i18n/asteroid-stopwatch.pt_BR.ts new file mode 100644 index 0000000..3e38b75 --- /dev/null +++ b/i18n/asteroid-stopwatch.pt_BR.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Cronômetro + + + diff --git a/i18n/asteroid-stopwatch.ru.ts b/i18n/asteroid-stopwatch.ru.ts new file mode 100644 index 0000000..7025f1d --- /dev/null +++ b/i18n/asteroid-stopwatch.ru.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + секундомер + + + diff --git a/i18n/asteroid-stopwatch.sv.ts b/i18n/asteroid-stopwatch.sv.ts new file mode 100644 index 0000000..787f727 --- /dev/null +++ b/i18n/asteroid-stopwatch.sv.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Tidtagarur + + + diff --git a/i18n/asteroid-stopwatch.uk.ts b/i18n/asteroid-stopwatch.uk.ts new file mode 100644 index 0000000..bffce44 --- /dev/null +++ b/i18n/asteroid-stopwatch.uk.ts @@ -0,0 +1,12 @@ + + + + + QObject + + + Stopwatch + Секундомір + + + diff --git a/i18n/generate-desktop.sh b/i18n/generate-desktop.sh new file mode 100755 index 0000000..f4c8a3e --- /dev/null +++ b/i18n/generate-desktop.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# This script is used to extract the translated app names found inevery .ts file +# and gather those strings with the .desktop.template file in a single .desktop + +if [ "$#" -ne 2 ]; then + echo "usage: $0 src_directory output.desktop" + exit 1 +fi + +SRC_DIR=$1 +OUTPUT_DESKTOP_FILE=$2 +if [ ! -f "${SRC_DIR}/${OUTPUT_DESKTOP_FILE}.template" ]; then + echo "${SRC_DIR}/${OUTPUT_DESKTOP_FILE}.template not found" + exit 2 +fi +if [ ! -f "${SRC_DIR}/i18n/${OUTPUT_DESKTOP_FILE}.h" ]; then + echo "${SRC_DIR}/i18n/${OUTPUT_DESKTOP_FILE}.h not found" + exit 2 +fi + +DEFAULT_NAME=`grep -oP 'QObject::tr\("\K[^"]+(?="\);)' ${SRC_DIR}/i18n/${OUTPUT_DESKTOP_FILE}.h` +if [ -z "$DEFAULT_NAME" ]; then + echo "Default name can not be found in ${SRC_DIR}/i18n/${OUTPUT_DESKTOP_FILE}.h" + exit 3 +fi + +cat ${SRC_DIR}/${OUTPUT_DESKTOP_FILE}.template > ${OUTPUT_DESKTOP_FILE} +echo "Name=$DEFAULT_NAME" >> $OUTPUT_DESKTOP_FILE + +for FILE in ${SRC_DIR}/i18n/*.ts; do + echo "Processing $FILE..." + + PROCESSED_LANG=`grep -oP 'language="\K[^"]+(?=")' $FILE` + if [ -z "$PROCESSED_LANG" ]; then + echo "> Couldn't find a corresponding language id, aborting" + continue + fi + echo "> Language: $PROCESSED_LANG detected" + + TRANSLATION_LINE=`grep -A 2 ' Couldn't find a corresponding desktop.h translation, aborting" + continue + fi + + LINE_IS_UNFINISHED=`echo $TRANSLATION_LINE | grep unfinished` + if [ ! -z "$LINE_IS_UNFINISHED" ]; then + echo "> Translation line has been found but is marked as unfinished, aborting" + continue + fi + + TRANSLATED_NAME=`echo $TRANSLATION_LINE | grep -oP '>\K[^<]*(?=)'` + if [ -z "$TRANSLATED_NAME" ]; then + echo "> Translation is empty, aborting" + continue + fi + echo "> Translation '$TRANSLATED_NAME' found, filling $OUTPUT_DESKTOP_FILE" + + echo "Name[$PROCESSED_LANG]=$TRANSLATED_NAME" >> $OUTPUT_DESKTOP_FILE +done -- cgit v1.2.3-54-g00ecf