print "<p style=\"font-size: smaller;\">";
- my $q = $dbh->prepare('SELECT spraak, kultur FROM fotballspraak WHERE nyestesesong <> -1 ORDER BY id');
+ my $q = $dbh->prepare('SELECT spraak, kultur FROM fotballspraak WHERE nyestesesong <> -1 AND length(kultur)=5 ORDER BY id');
$q->execute;
my @languages = ();
if ($ref->{'kultur'} eq $locale) {
$lang{'lang-with-link'} = '';
- $lang{'lang-no-link'} = $ref->{'spraak'};
+ $lang{'lang-no-link'} = Encode::decode_utf8($ref->{'spraak'});
} else {
- $lang{'a'} = $ref->{'spraak'};
+ $lang{'a'} = Encode::decode_utf8($ref->{'spraak'});
$lang{'a/href'} = sprintf "/%s/%s", $ref->{'kultur'}, $url;
$lang{'lang-no-link'} = '';
}
return \@languages;
}
-sub print_navbar {
- my ($cgi, $dbh, $locale) = @_;
- my $url = $cgi->url(-relative => 1);
-
- print "<p style=\"font-size: smaller;\">";
-
- my $q = $dbh->prepare('SELECT spraak, kultur FROM fotballspraak WHERE nyestesesong <> -1 ORDER BY id');
- $q->execute;
-
- my $first = 1;
- while (my $ref = $q->fetchrow_hashref) {
- if (!$first) {
- print " :: ";
- }
- $first = 0;
-
- if ($ref->{'kultur'} eq $locale) {
- printf "%s ", $ref->{'spraak'};
- } else {
- printf "<a href=\"/%s/%s\">%s</a> ", $ref->{'kultur'}, $url, $ref->{'spraak'};
- }
- }
- print "</p>\n";
-}
-
# mapping from locale to translation to use (if not found, "en" is used)
my %translation_mapping = (
'nb-NO' => 'no',
print $doc->toString;
}
+sub get_ordinal {
+ my ($num, $locale) = @_;
+ my $translation = $translation_mapping{$locale} // 'en';
+
+ if ($translation eq 'no') {
+ return $num . ".";
+ } elsif ($translation eq 'en') {
+ # http://en.wikipedia.org/wiki/English_numerals#Ordinal_numbers
+ my $units = $num % 10;
+ my $tens = (($num - $units) / 10) % 10;
+ if ($tens == 1) {
+ return $num . "th";
+ } elsif ($units == 1) {
+ return $num . "st";
+ } elsif ($units == 2) {
+ return $num . "nd";
+ } elsif ($units == 3) {
+ return $num . "rd";
+ } else {
+ return $num . "th";
+ }
+ } else {
+ die "Missing ordinal strategy for locale $locale";
+ }
+}
+
+sub find_all_locales {
+ my $dbh = shift;
+ my $q = $dbh->prepare('SELECT kultur FROM fotballspraak WHERE nyestesesong <> -1 AND length(kultur)=5');
+ $q->execute;
+
+ my @locales = ();
+ while (my $ref = $q->fetchrow_hashref) {
+ push @locales, $ref->{'kultur'};
+ }
+
+ return @locales;
+}
+
1;