diff options
-rwxr-xr-x | bin/make_emptyhomes_welsh_po | 39 | ||||
-rw-r--r-- | perllib/Page.pm | 34 | ||||
-rw-r--r-- | templates/website/emptyhomes-header | 4 |
3 files changed, 48 insertions, 29 deletions
diff --git a/bin/make_emptyhomes_welsh_po b/bin/make_emptyhomes_welsh_po index 9f353f759..725dea487 100755 --- a/bin/make_emptyhomes_welsh_po +++ b/bin/make_emptyhomes_welsh_po @@ -14,27 +14,31 @@ open(INPO, shift) or die $!; my $state = 'start'; my $msgid = ''; +my $fuzzy = 0; my $msgstr; my %lookup; while (<INPO>) { - if (m/^#/) { + if (m/^#, fuzzy/) { + $fuzzy = 1; + } elsif (m/^#/) { # comment or blank line } elsif (m/^\s+$/) { # blank line separates translations - $msgid =~ s/"\n"//g; - $lookup{$msgid} = $msgstr; + $msgid =~ s/"\n"//g; + $lookup{$msgid} = [ $msgstr, $fuzzy ]; $state = 'msgid'; $msgid = ""; + $fuzzy = 0; } elsif ($state eq 'msgid' && (m/^msgstr "/ || m/^msgstr\[0\] "/)) { $msgstr = $_; - $state = 'msgstr'; + $state = 'msgstr'; } elsif ($state eq 'msgstr') { - $msgstr .= $_; + $msgstr .= $_; } elsif ($state eq 'msgid') { - $msgid .= $_; + $msgid .= $_; } } -$lookup{$msgid} = $msgstr; +$lookup{$msgid} = [ $msgstr, $fuzzy ]; close INPO; chdir("$FindBin::Bin/../../locale"); @@ -78,18 +82,21 @@ while(<MAINPO>) { print OUTPO $_; } elsif ($start && (m/^msgstr "/ || m/^msgstr\[0\] "/)) { # start of translated text - translate English into Empty Homes language + my $new_buffer = PoChange::fixmystreet_to_reportemptyhomes($buffer); + $new_buffer =~ s/"\n"//g; - print OUTPO $buffer; - - $buffer = PoChange::fixmystreet_to_reportemptyhomes($buffer); - $buffer =~ s/"\n"//g; - if ($lookup{$buffer}) { - print OUTPO $lookup{$buffer}; - } else { - print __LINE__ . "\n"; - die "Failed to find match with buffer: $buffer"; + if ($lookup{$new_buffer} && $lookup{$new_buffer}[1]) { + print OUTPO "#, fuzzy\n"; } + print OUTPO $buffer; + if ($lookup{$new_buffer}) { + print OUTPO $lookup{$new_buffer}[0]; + } else { + print __LINE__ . "\n"; + die "Failed to find match with buffer: $new_buffer"; + } + $buffer = ""; } elsif (!$start) { print OUTPO $_; diff --git a/perllib/Page.pm b/perllib/Page.pm index 32a7a5973..b31d7762a 100644 --- a/perllib/Page.pm +++ b/perllib/Page.pm @@ -6,7 +6,7 @@ # Copyright (c) 2006 UK Citizens Online Democracy. All rights reserved. # Email: matthew@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: Page.pm,v 1.145 2009-07-07 11:49:06 matthew Exp $ +# $Id: Page.pm,v 1.146 2009-07-10 12:37:52 matthew Exp $ # package Page; @@ -147,24 +147,36 @@ sub header ($%) { print $q->header(%head); my $html; + my $lang = $mySociety::Locale::lang; if ($q->{site} eq 'scambs' || $q->{site} eq 'emptyhomes' || $q->{site} eq 'guardian') { (my $file = __FILE__) =~ s{/[^/]*?$}{}; open FP, $file . '/../templates/website/' . $q->{site} . '-header'; $html = join('', <FP>); close FP; - my %vars = ( - 'report' => _('Report a problem'), - 'reports' => _('All reports'), - 'alert' => _('Local alerts'), - 'faq' => _('Help'), - 'about' => _('About us'), - 'title' => $title, - 'site_title' => _('Report Empty Homes'), - ); + my %vars; + if ($q->{site} eq 'emptyhomes') { + my $lang_url = mySociety::Config::get('BASE_URL'); + if ($lang eq 'en-gb') { + $lang_url =~ s{http://}{$&cy.}; + } else { + $lang_url =~ s{http://}{$&en.}; + } + %vars = ( + 'report' => _('Report a problem'), + 'reports' => _('All reports'), + 'alert' => _('Local alerts'), + 'faq' => _('Help'), + 'about' => _('About us'), + 'site_title' => _('Report Empty Homes'), + 'lang_code' => $lang, + 'lang' => $lang eq 'en-gb' ? 'Cymraeg' : 'English', + 'lang_url' => $lang_url, + ); + } + $vars{title} = $title; $html =~ s#{{ ([a-z_]+) }}#$vars{$1}#g; } else { my $fixmystreet = _('FixMyStreet'); - my $lang = $mySociety::Locale::lang; $html = <<EOF; <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="$lang"> diff --git a/templates/website/emptyhomes-header b/templates/website/emptyhomes-header index b499e3fd8..f3d7337e1 100644 --- a/templates/website/emptyhomes-header +++ b/templates/website/emptyhomes-header @@ -1,5 +1,5 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html lang="en-gb"> +<html lang="{{ lang_code }}"> <head> <title>{{ title }}{{ site_title }}</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> @@ -28,7 +28,7 @@ <li><a href="/alert">{{ alert }}</a></li> <li><a href="/faq">{{ faq }}</a></li> <li><a href="/about">{{ about }}</a></li> - {{ lang }} + <li><a href="{{ lang_url }}">{{ lang }}</a></li> </ul> </div> |