diff options
Diffstat (limited to '')
-rwxr-xr-x | scripts/sync-translations.sh | 11 | ||||
-rwxr-xr-x | tests.sh | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/scripts/sync-translations.sh b/scripts/sync-translations.sh index 67d3609..149c7ff 100755 --- a/scripts/sync-translations.sh +++ b/scripts/sync-translations.sh @@ -16,12 +16,19 @@ for f in $(find . -type f -name '*.md' | grep -v '^./vendor' | grep -v '^./_site fi done -for f in $(find . -type f -name '*.md' | grep -v '^./vendor/' | grep -v '^./_site/' | grep -v './drafts/' | grep -v './templates/'); do +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$' {} \;) - echo po2md "$FROM" --pofiles "locale/$l/LC_MESSAGES/$ref.po" --quiet --save "$f" + 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 @@ -10,4 +10,4 @@ set -x ./scripts/assert-todos.sh ./scripts/assert-content.sh -./scripts/sync-translations.sh +./scripts/sync-translations.sh --check |