Fix skin translations overriding llng.ini messages (#2773)

This commit is contained in:
Maxime Besson 2022-07-12 10:18:12 +02:00
parent 84d3ca2b89
commit ec1a1c11b8
1 changed files with 15 additions and 2 deletions

View File

@ -891,8 +891,21 @@ sub getTrOver {
my ($lang) = ( $file =~ /^(\w+)\.json/ );
$self->logger->debug("Use $file to override messages");
if ( open my $json, "<", $templateDir . "/" . $file ) {
local $/ = undef;
$trOverMessages->{$lang} = JSON::from_json(<$json>);
my $trdata;
eval {
local $/ = undef;
$trdata = JSON::from_json(<$json>);
};
if ($@) {
$self->logger->warn("Ignoring $file because of error: $@");
}
if ( ref($trdata) eq "HASH" ) {
for my $msg ( keys %$trdata ) {
# lemonldap-ng.ini has priority
$trOverMessages->{$lang}->{$msg} //= $trdata->{$msg};
}
}
}
else {
$self->logger->error("Unable to read $file");