Browse Source

Bug 25305: Translation process - Open all files specifying the utf8 encoding

To test:
1) Create translation files for a new language
( cd misc/translator; ./translate create xx-YY)
A new language means one that isn't already in Koha, xx-YY=>something you
invent.
2) Verify double encoding
egrep "Aix-Marseille|Jean Prunier|periodika|Bokm" misc/translator/po/xx-YY-*
check strange strings
3) Apply the patch
4) Create po files again
( cd misc/translator; rm -f po/xx-YY*; ./translate create xx-YY)
5) Verify no more double encoding
egrep "Aix-Marseille|Jean Prunier|periodika|Bokm" misc/translator/po/xx-YY-*
check normal string

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Didier Gautheron <didier.gautheron@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
20.05.x
Jonathan Druart 3 years ago
committed by Martin Renvoize
parent
commit
83c65d975f
Signed by: martin.renvoize GPG Key ID: 422B469130441A0F
  1. 3
      C4/TTParser.pm
  2. 6
      misc/translator/xgettext.pl

3
C4/TTParser.pm

@ -64,7 +64,8 @@ sub build_tokens{
# $self->handler(default => "default", "self, line, text, is_cdata"); # anything else
$self->marked_sections(1); #treat anything inside CDATA tags as text, should really make it a C4::TmplTokenType::CDATA
$self->unbroken_text(1); #make contiguous whitespace into a single token (can span multiple lines)
$self->parse_file($filename);
open(my $fh, "<:encoding(utf8)", $filename) || die "Cannot open $filename ($!)";
$self->parse_file($fh);
return $self;
}

6
misc/translator/xgettext.pl

@ -255,7 +255,7 @@ EOF
###############################################################################
sub convert_translation_file {
open(my $INPUT, '<', $convert_from) || die "$convert_from: $!\n";
open(my $INPUT, '<:encoding(utf-8)', $convert_from) || die "$convert_from: $!\n";
VerboseWarnings::set_input_file_name $convert_from;
while (<$INPUT>) {
chomp;
@ -367,7 +367,7 @@ usage_error('You cannot specify both --convert-from and --files-from')
if (defined $output && $output ne '-') {
print STDERR "$0: Opening output file \"$output\"\n" if $verbose_p;
open($OUTPUT, '>:encoding(utf-8)', $output) || die "$output: $!\n";
open($OUTPUT, '>:encoding(utf-8)', $output) || die "$output: $!\n";
} else {
print STDERR "$0: Outputting to STDOUT...\n" if $verbose_p;
open($OUTPUT, ">&STDOUT");
@ -375,7 +375,7 @@ if (defined $output && $output ne '-') {
if (defined $files_from) {
print STDERR "$0: Opening input file list \"$files_from\"\n" if $verbose_p;
open(my $INPUT, '<', $files_from) || die "$files_from: $!\n";
open(my $INPUT, '<:encoding(utf-8)', $files_from) || die "$files_from: $!\n";
while (<$INPUT>) {
chomp;
my $input = /^\//? $_: "$directory/$_";

Loading…
Cancel
Save