-
-
Notifications
You must be signed in to change notification settings - Fork 318
/
update_translations.sh
executable file
·50 lines (40 loc) · 1.11 KB
/
update_translations.sh
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
#!/bin/bash
cf_token=
# Load secrets
if [ -f ".env" ]; then
. ".env"
fi
[ -z "$cf_token" ] && cf_token=$CF_API_KEY
declare -A locale_files=(
["WeakAuras"]="WeakAuras_Main.lua"
["WeakAuras/Options"]="WeakAuras_Options.lua"
["WeakAuras/Templates"]="WeakAuras_Templates.lua"
)
tempfile=$( mktemp )
trap 'rm -f $tempfile' EXIT
do_import() {
namespace="$1"
file="$2"
: > "$tempfile"
echo -n "Importing $namespace..."
result=$( curl -sS -0 -X POST -w "%{http_code}" -o "$tempfile" \
-H "X-Api-Token: $CF_API_KEY" \
-F "metadata={ language: \"enUS\", namespace: \"$namespace\", \"missing-phrase-handling\": \"DeletePhrase\" }" \
-F "localizations=<$file" \
"https://legacy.curseforge.com/api/projects/65387/localization/import"
) || exit 1
case $result in
200) echo "done." ;;
*)
echo "error! ($result)"
[ -s "$tempfile" ] && grep -q "errorMessage" "$tempfile" | jq --raw-output '.errorMessage' "$tempfile"
exit 1
;;
esac
}
lua babelfish.lua || exit 1
echo
for namespace in "${!locale_files[@]}"; do
do_import "$namespace" "${locale_files[$namespace]}"
done
exit 0