You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
979 B
Bash
26 lines
979 B
Bash
|
2 years ago
|
#!/bin/bash
|
||
|
|
|
||
|
|
# 1. Define DeepL credentials
|
||
|
|
DEEPL_AUTH_KEY=$(awk -F "=" '/DEEPL_AUTH_KEY/ {print $2}' ./.credentials)
|
||
|
|
DEEPL_API_URL="https://api.deepl.com/v2/translate"
|
||
|
|
TARGET_LANG="es"
|
||
|
|
|
||
|
|
# 2. Extract missing translation keys
|
||
|
|
MISSING_KEYS=$(jq -r '.es[]' ../needed-translations.txt)
|
||
|
|
|
||
|
|
# 3. Get English copy for missing keys and translate them
|
||
|
|
for key in $MISSING_KEYS; do
|
||
|
|
EN_COPY=$(jq -r ".[\"$key\"]" ../assets/l10n/intl_en.arb)
|
||
|
|
|
||
|
|
# 4. Call DeepL for the translations
|
||
|
|
TRANSLATED_TEXT=$(curl -s -X POST "${DEEPL_API_URL}" \
|
||
|
|
-H "Authorization: DeepL-Auth-Key ${DEEPL_AUTH_KEY}" \
|
||
|
|
-d "text=${EN_COPY}" \
|
||
|
|
-d "target_lang=${TARGET_LANG}" | jq -r '.translations[0].text')
|
||
|
|
|
||
|
|
# 5. Save them to the Spanish translation file
|
||
|
|
jq ".[\"$key\"] = \"$TRANSLATED_TEXT\"" ../assets/l10n/intl_es.arb > temp.json && mv temp.json ../assets/l10n/intl_$TARGET_LANG.arb
|
||
|
|
echo "Translated $key: $TRANSLATED_TEXT"
|
||
|
|
done
|
||
|
|
|
||
|
|
echo "Translations saved to ../assets/l10n/intl_$TARGET_LANG.arb"
|