diff --git a/misc/translator/tmpl_process3.pl b/misc/translator/tmpl_process3.pl index 988e18b2f9..cb69117e7c 100755 --- a/misc/translator/tmpl_process3.pl +++ b/misc/translator/tmpl_process3.pl @@ -35,14 +35,21 @@ sub find_translation ($) { my($s) = @_; my $key = $s; if ($s =~ /\S/s) { - $key = TmplTokenizer::string_canon($key); - $key = TmplTokenizer::charset_convert($key, $charset_in, $charset_out); - $key = TmplTokenizer::quote_po($key); + $key = TmplTokenizer::string_canon($key); + $key = TmplTokenizer::charset_convert($key, $charset_in, $charset_out); + $key = TmplTokenizer::quote_po($key); + } + if (defined $href->{$key} && !$href->{$key}->fuzzy && length Locale::PO->dequote($href->{$key}->msgstr)){ + if ($s =~ /^(\s+)/){ + return $1 . Locale::PO->dequote($href->{$key}->msgstr); + } + else { + return Locale::PO->dequote($href->{$key}->msgstr); + } + } + else { + return $s; } - return defined $href->{$key} - && !$href->{$key}->fuzzy - && length Locale::PO->dequote($href->{$key}->msgstr)? - Locale::PO->dequote($href->{$key}->msgstr): $s; } sub text_replace_tag ($$) {