diff options
Diffstat (limited to 'scripts/sync-translations.sh')
-rwxr-xr-x | scripts/sync-translations.sh | 11 |
1 files changed, 9 insertions, 2 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 |