44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
name: Check locale
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- 'localization/**'
|
|
- ".github/workflows/check_locale.yml"
|
|
|
|
jobs:
|
|
check_translation:
|
|
name: Check translation
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install gettext
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y gettext
|
|
|
|
# don't call ./run_gentext.sh as most translators never sync with main branch...
|
|
- name: Check translation format
|
|
run: |
|
|
echo $PWD
|
|
pot_file="./localization/i18n/OrcaSlicer.pot"
|
|
for dir in ./localization/i18n/*/
|
|
do
|
|
dir=${dir%*/} # remove the trailing "/"
|
|
lang=${dir##*/} # extract the language identifier
|
|
|
|
if [ -f "$dir/OrcaSlicer_${lang}.po" ]; then
|
|
mkdir -p ./resources/i18n/${lang}/
|
|
msgfmt --check-format -o ./resources/i18n/${lang}/OrcaSlicer.mo $dir/OrcaSlicer_${lang}.po
|
|
# Check the exit status of the msgfmt command
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error encountered with msgfmt command for language ${lang}."
|
|
exit 1 # Exit the script with an error status
|
|
fi
|
|
fi
|
|
done
|
|
|