5a18f00fa6
As the previous commit shows, just checking source files isn't enough. Extending the existing check to .ui files should make sure that we catch that kind of breakage in the future before it hits translators. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2173>
35 lines
794 B
Bash
Executable File
35 lines
794 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
srcdirs="src subprojects/extensions-tool"
|
|
uidirs="js subprojects/extensions-app"
|
|
|
|
# find source files that contain gettext keywords
|
|
files=$(grep -lR --include='*.c' '\(gettext\|[^I_)]_\)(' $srcdirs)
|
|
|
|
# find ui files that contain translatable string
|
|
files="$files "$(grep -lRi --include='*.ui' 'translatable="[ty1]' $uidirs)
|
|
|
|
# filter out excluded files
|
|
if [ -f po/POTFILES.skip ]; then
|
|
files=$(for f in $files; do ! grep -q ^$f po/POTFILES.skip && echo $f; done)
|
|
fi
|
|
|
|
# find those that aren't listed in POTFILES.in
|
|
missing=$(for f in $files; do ! grep -q ^$f po/POTFILES.in && echo $f; done)
|
|
|
|
if [ ${#missing} -eq 0 ]; then
|
|
exit 0
|
|
fi
|
|
|
|
cat >&2 <<EOT
|
|
|
|
The following files are missing from po/POTFILES.po:
|
|
|
|
EOT
|
|
for f in $missing; do
|
|
echo " $f" >&2
|
|
done
|
|
echo >&2
|
|
|
|
exit 1
|