-
Notifications
You must be signed in to change notification settings - Fork 92
/
cf_translations.sh
executable file
·48 lines (41 loc) · 1.25 KB
/
cf_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
#!/bin/bash
# Source from: https://github.com/WeakAuras/WeakAuras2
declare -A LOC_FILES=(
["Base Namespace"]="Global.lua"
["Collections"]="Collections.lua"
["Crafting"]="Crafting.lua"
["DungeonsAndRaids"]="DungeonsAndRaids.lua"
["DungeonsAndRaidsTBC"]="DungeonsAndRaidsTBC.lua"
["DungeonsAndRaidsWrath"]="DungeonsAndRaidsWrath.lua"
["PvP"]="PvP.lua"
["Options"]="Options.lua"
["Factions"]="Factions.lua"
)
tempfile=$( mktemp )
trap 'rm -f $tempfile' EXIT
do_import() {
namespace="$1"
file="$2"
: > "$tempfile"
echo -n "Importing $namespace..."
result=$( curl -sS -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://wow.curseforge.com/api/projects/326516/localization/import"
) || exit 1
case $result in
200) echo "done." ;;
*)
echo "error! ($result)"
[ -s "$tempfile" ] && grep -q "errorMessage" "$tempfile" && cat "$tempfile" | jq --raw-output '.errorMessage'
exit 1
;;
esac
}
lua babelfish.lua || exit 1
echo
for namespace in "${!LOC_FILES[@]}"; do
do_import "$namespace" "${LOC_FILES[$namespace]}"
done
exit 0