Why is our testing fixtures such a mess? It took me half an hour to find a useable node. And I'm still not sure if it's ok, since I want to get to bed. kthxbye
also [17832].
This commit can be reviewed in a sane manner by looking at
attachment🎫2305:first-translatewiki-patch.patch.gz
I've manually gone through it and searched for errors. I didn't find
any.
* Don't delete a singular form if the plural form exists in the source language (en)
* Don't nuke site.key.table.entry singularls when the source language (en) has an array
avar@aoeu:~/src/osm/sites/rails_port/config/locales$ perl ../../script/locale/diff --dump-flat de.yml|egrep "Nähe|Uni"
message.inbox.people_mapping_nearby: Mappern in deiner Nähe
message.outbox.people_mapping_nearby: Mappern in deiner Nähe
- "Universit\xC3\xA4t"
user.friend_map.nearby mapper: "Mapper in der Nähe: [[nearby_user]]"
user.view.nearby users: "Benutzer in der Nähe:"
user.view.no nearby users: Es gibt bisher keine Benutzer, die einen Standort in deiner Nähe angegeben haben.
avar@aoeu:~/src/osm/sites/rails_port/config/locales$ perl ../../script/locale/diff --dump-flat de.yml|egrep "Nähe|Uni"
message.inbox.people_mapping_nearby: Mappern in deiner Nähe
message.outbox.people_mapping_nearby: Mappern in deiner Nähe
- Universität
user.friend_map.nearby mapper: "Mapper in der Nähe: [[nearby_user]]"
user.view.nearby users: "Benutzer in der Nähe:"
user.view.no nearby users: Es gibt bisher keine Benutzer, die einen Standort in deiner Nähe angegeben haben.
Fixed with:
{{{
for i in $(file *|grep ISO|awk '{print $1}'|sed s/://); do cat $i | iconv -f iso-8859-1 -t utf-8 > $i.utf8;done
for i in *yml; do mv $i.utf8 $i; done
}}}
I used this script:
{{{
#!/usr/bin/env perl
use feature ':5.10';
use strict;
use warnings;
use YAML::Syck qw(Load LoadFile Dump DumpFile);
use File::Slurp qw(slurp);
use Data::Dump 'dump';
use Encode qw(decode);
use autodie;
$YAML::Syck::Headless = 1;
$YAML::Syck::SortKeys = 1;
$YAML::Syck::ImplicitUnicode = 1;
my %lang;
chdir 'locales';
my @yml = glob "*.yml";
my @lang = map { s/\.yml//; $_ } @yml;
for my $lang (@lang) {
say "Loading $lang";
$lang{$lang} = LoadFile("$lang.yml")->{$lang};
}
for my $lang (grep { $_ ne 'en' } @lang) {
while (my ($k, $v) = each %{ $lang{ $lang } }) {
if ($lang{ $lang }->{$k} eq $lang{ en }->{$k}
or (exists $lang{ $lang }->{$k} and not exists $lang{ en }->{$k})) {
delete $lang{ $lang }->{$k};
}
}
}
for my $lang (@lang) {
DumpFile("$lang.yml", { $lang => $lang{$lang} }) or die "arghl";
}
}}}
it easier for Translatewiki).
Here's the program I used to convert it:
{{{
#!/usr/bin/env perl
use feature ':5.10';
use strict;
use warnings;
use YAML::Syck qw(Load LoadFile Dump DumpFile);
use File::Slurp qw(slurp);
use Data::Dump 'dump';
use Encode qw(decode);
use autodie;
$YAML::Syck::Headless = 1;
$YAML::Syck::SortKeys = 1;
$YAML::Syck::ImplicitUnicode = 1;
my %lang;
chdir 'locales';
my @yml = glob "*.yml";
my @lang = map { s/\.yml//; $_ } @yml;
for my $lang (@lang) {
say "Loading $lang";
my $file = "$lang.yml";
$lang{$lang} = LoadFile($file);
if (-f "$lang.html") {
$lang{$lang}->{"help_html"} = slurp("$lang.html")
}
DumpFile("$lang.yml.new", { $lang => $lang{$lang} }) or die "arghl";
}
}}}