Add logic into i18n-update.pl to break on noticing a fatal error
in the .po file. That is needed especially for syncing with
i18n-sync script, where possibly all modules and applications are synced
and errors easily disappear from screen.
Example:
Updating ./applications/luci-app-keepalived/po/de/keepalived.po./applications/luci-app-keepalived/po/de/keepalived.po:928:40: invalid control sequence
./applications/luci-app-keepalived/po/de/keepalived.po:928:51: invalid control sequence
msgmerge: found 2 fatal errors
./build/i18n-update.pl: [] failed: 256
and
Updating modules/luci-base/po/zh_Hant/base.po modules/luci-base/po/zh_Hant/base.po:1169: duplicate message definition...
modules/luci-base/po/zh_Hant/base.po:1129: ...this is the location of the first definition
modules/luci-base/po/zh_Hant/base.po:1173: duplicate message definition...
modules/luci-base/po/zh_Hant/base.po:1133: ...this is the location of the first definition
msgmerge: found 2 fatal errors
./build/i18n-update.pl: [] failed: 256
Signed-off-by: Hannu Nyman <[email protected]>
(cherry picked from commit
6e9a7e12ca7ff7652bc3c0fda367134cf5c04d55)
my $head = read_header($file);
printf "Updating %-40s", $file;
- system("msgmerge", "-U", "-N", $file, "$dir/templates/$basename.pot");
+ system("msgmerge", "-U", "-N", $file, "$dir/templates/$basename.pot") == 0 || die "$0: [$cmd] failed: $?\n";
write_header($file, $head);
}