diff options
Diffstat (limited to 'libre/icedove-l10n/updatelanglist.sh')
-rw-r--r-- | libre/icedove-l10n/updatelanglist.sh | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/libre/icedove-l10n/updatelanglist.sh b/libre/icedove-l10n/updatelanglist.sh index 1d9ad9583..840cac697 100644 --- a/libre/icedove-l10n/updatelanglist.sh +++ b/libre/icedove-l10n/updatelanglist.sh @@ -17,13 +17,26 @@ echo "_sha512sums=(" > "sha512sums.$CARCH.pkgnew" mkdir -p src +# prepare list of translated language names from en-US locale +curl -s -o src/en-US.xpi "${url%/}/en-US.xpi" +unzip -p src/en-US.xpi localization/en-US/toolkit/intl/{languageNames,regionNames}.ftl > src/langnames + +# prepare list of translations for lang in $(curl -sL "$url" | grep '\.xpi' | cut -d'"' -f2 | rev | cut -d'/' -f1 | cut -d'.' -f2 | rev | sort); do printf "\r %-3s..." "${lang%%-*}" curl -s -o src/"$lang.xpi" "${url%/}/$lang.xpi" sha512sum="$(sha512sum "src/$lang.xpi" | cut -d' ' -f1)" - name="$(unzip -p "src/$lang.xpi" manifest.json | grep " \"name" | cut -d':' -f2- | cut -d'"' -f2)" - printf " '%-5s \"%s\"'\n" "$lang" "$name" \ + native_name="$(unzip -p "src/$lang.xpi" manifest.json | grep " \"name" | cut -d':' -f2- | cut -d'"' -f2)" + english_name="$(grep "^language-name-${lang%-*} =" src/langnames | cut -d' ' -f3-)" + if [ "$lang" != "${lang#*-}" ]; then + english_name+=" ($(grep -i "^region-name-${lang#*-} =" src/langnames | cut -d' ' -f3-))" + fi + english_name+=" Language Pack" + + #printf " '%-5s \"%s\"'\n" "$lang" "$native_name" \ + # >> "languages.$CARCH.pkgnew" + printf " '%-5s \"%s\"'\n" "$lang" "$english_name" \ >> "languages.$CARCH.pkgnew" printf " '%s'\n" "$sha512sum" \ >> "sha512sums.$CARCH.pkgnew" |