aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/apply-translations.sh14
-rwxr-xr-xscripts/extract-translations.sh17
-rwxr-xr-xscripts/sync-translations.sh34
3 files changed, 31 insertions, 34 deletions
diff --git a/scripts/apply-translations.sh b/scripts/apply-translations.sh
new file mode 100755
index 0000000..2620638
--- /dev/null
+++ b/scripts/apply-translations.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+cd ../
+
+for f in $(find _tils -type f -name '*.md' | grep -v '^./vendor/' | grep -v '^./_site/' | grep -v './drafts/' | grep -v './templates/'); do
+ l="$(grep '^lang: ..$' "$f" | awk '{print $2}')"
+ if [[ "$l" != 'en' ]]; then
+ ref="$(grep '^ref: ' "$f" | awk '{print $2}')"
+ # shellcheck disable=2046
+ FROM=$(find $(find . -name '*.md' -exec grep -l "^ref: $ref$" {} \;) -exec grep -l '^lang: en$' {} \;)
+ po2md "$FROM" --pofiles "locale/$l/LC_MESSAGES/${FROM%.md}.po" --quiet --save "$f"
+ fi
+done
diff --git a/scripts/extract-translations.sh b/scripts/extract-translations.sh
new file mode 100755
index 0000000..e6d2071
--- /dev/null
+++ b/scripts/extract-translations.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+set -Eeuo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+cd ../
+
+TRANSLATIONS=(pt fr eo)
+
+for f in $(find . -type f -name '*.md' | grep -v '^./vendor' | grep -v '^./_site' | grep -v '^./drafts/' | grep -v './templates/'); do
+ file_lang="$(grep '^lang: ..$' "$f" | awk '{print $2}')"
+ if [[ "$file_lang" = 'en' ]]; then
+ for l in "${TRANSLATIONS[@]}"; do
+ OUT="locale/$l/LC_MESSAGES/${f%.md}.po"
+ mkdir -p "$(dirname "$OUT")"
+ md2po "$f" --quiet --save --po-filepath "$OUT"
+ done
+ fi
+done
diff --git a/scripts/sync-translations.sh b/scripts/sync-translations.sh
deleted file mode 100755
index 149c7ff..0000000
--- a/scripts/sync-translations.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env bash
-set -Eeuo pipefail
-cd "$(dirname "${BASH_SOURCE[0]}")"
-cd ../
-
-TRANSLATIONS=(pt fr eo)
-
-for f in $(find . -type f -name '*.md' | grep -v '^./vendor' | grep -v '^./_site' | grep -v '^./drafts/' | grep -v './templates/'); do
- file_lang="$(grep '^lang: ..$' "$f" | awk '{print $2}')"
- if [[ "$file_lang" = 'en' ]]; then
- for l in "${TRANSLATIONS[@]}"; do
- OUT="locale/$l/LC_MESSAGES/${f%.md}.po"
- mkdir -p "$(dirname "$OUT")"
- md2po "$f" --quiet --save --po-filepath "$OUT"
- done
- fi
-done
-
-for f in $(find _tils -type f -name '*.md' | grep -v '^./vendor/' | grep -v '^./_site/' | grep -v './drafts/' | grep -v './templates/'); do
- l="$(grep '^lang: ..$' "$f" | awk '{print $2}')"
- if [[ "$l" != 'en' ]]; then
- ref="$(grep '^ref: ' "$f" | awk '{print $2}')"
- # shellcheck disable=2046
- FROM=$(find $(find . -name '*.md' -exec grep -l "^ref: $ref$" {} \;) -exec grep -l '^lang: en$' {} \;)
- po2md "$FROM" --pofiles "locale/$l/LC_MESSAGES/$ref.po" --quiet --save "$f"
- fi
-done
-
-if [[ "${1:-}" = '--check' ]]; then
- git diff --quiet || {
- echo 'Translations are not in sync.'
- exit 1
- }
-fi