Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin <spleefer90@gmail.com>2024-04-16 11:05:50 +0200
committerGitHub <noreply@github.com>2024-04-16 19:05:50 +1000
commit7011ac095f7a9e1b136579e7999d28e50a0e2b1c (patch)
tree17df375e5339a4b3dbe4860d54bc9d3cb4bbd46e
parent3f4fbed7b7988140d7b8c346893e8b1d86d90db2 (diff)
Fix up locale generator to exit on error instead of ignoring it, handle filenames better (#2422)
Don't mix tabs and spaces, use tabs, just like the main script
-rwxr-xr-xarchinstall/locales/locales_generator.sh51
1 files changed, 25 insertions, 26 deletions
diff --git a/archinstall/locales/locales_generator.sh b/archinstall/locales/locales_generator.sh
index 5386c3e6..80e3bd03 100755
--- a/archinstall/locales/locales_generator.sh
+++ b/archinstall/locales/locales_generator.sh
@@ -1,49 +1,48 @@
-#!/bin/bash
+#!/usr/bin/env bash
+set -euo pipefail
cd $(dirname "$0")/..
function update_lang() {
- file=$1
+ file=${1}
- echo "Updating: $file"
- path=$(dirname $file)
- msgmerge --quiet --no-location --width 512 --backup none --update $file locales/base.pot
- msgfmt -o $path/base.mo $file
+ echo "Updating: ${file}"
+ path=$(dirname "${file}")
+ msgmerge --quiet --no-location --width 512 --backup none --update "${file}" locales/base.pot
+ msgfmt -o "${path}/base.mo" "${file}"
}
function generate_all() {
- for file in $(find locales/ -name "base.po"); do
- update_lang "$file"
- done
+ for file in $(find locales/ -name "base.po"); do
+ update_lang "${file}"
+ done
}
function generate_single_lang() {
- lang_file="locales/$1/LC_MESSAGES/base.po"
+ lang_file="locales/${1}/LC_MESSAGES/base.po"
- if [ ! -f "$lang_file" ]; then
- echo "Language files not found: $lang_file"
- exit 1
- fi
+ if [ ! -f "${lang_file}" ]; then
+ echo "Language files not found: ${lang_file}"
+ exit 1
+ fi
- update_lang "$lang_file"
+ update_lang "${lang_file}"
}
-
-if [ $# -eq 0 ]
- then
- echo "Usage: locales_generator.sh <language_abbr>"
- exit 1
+if [ $# -eq 0 ]; then
+ echo "Usage: ${0} <language_abbr>"
+ echo "Special case 'all' for <language_abbr> builds all languages."
+ exit 1
fi
-lang=$1
+lang=${1}
-# Update the base file containing all translatable string
+# Update the base file containing all translatable strings
find . -type f -iname "*.py" | xargs xgettext --join-existing --no-location --omit-header -d base -o locales/base.pot
-case "$lang" in
- "all") generate_all
- ;;
- *) generate_single_lang "$lang"
+case "${lang}" in
+ "all") generate_all;;
+ *) generate_single_lang "${lang}"
esac