Beautiful night mon 23. jun 2003 23:46, I wrote: > I was thinking about adding to d::w::footer another section, I mean > translator(s). Very often DWN is translated by someone, who would like his > name mentioned, especially if he doesn't translate ordinary Debian webpages > but only DWN. > If no protests, I can do it, it would look much like editor(s) section. As I haven't noticed any protests, I send You a patch to comment. One thing interests me. You run it just as editor, it means: #use debian::weeklynews::footer translator="Mr. Foo the Foot<[EMAIL PROTECTED]>" And it should produce bla...bla..bla... <a href="mailto:[EMAIL PROTECTED]">Mr. Foo the Foot</a>. but it makes bla...bla...bla...<a href="mailto:foo.com">Mr.Foo the Foot</a>. This is of course wrong. I don't know where it loses "@". Right now You can just write: Mr. Foo the Foot<foot(at)foo.com> and (at) will be converted later to @. Any hints how to fix it? I won't commit it now, hope someone has got a clue :) Greetings Marek "TamCaP" Łaska, PL PS. Plural translators also possible, just separate them by a comma PPS. I have also added polish version of the list. OK with it?
--- footer.wml Wed Jun 18 17:39:38 2003 +++ footer_m.wml Tue Jun 24 22:20:14 2003 @@ -18,6 +18,77 @@ <gettext><void id="plural" />Debian Weekly News is edited by <a href="mailto:[EMAIL PROTECTED]">%s</a>.</gettext> </define-tag> +<define-tag translator_singular whitespace=delete> +# One translator only + <gettext><void id="singular" />This Debian Weekly News was translated by %s.</gettext> +</define-tag> + +<define-tag translator_plural whitespace=delete> +# Two ore more translators + <gettext><void id="plural" />This Debian Weekly News was translated by %s.</gettext> +</define-tag> + +<define-tag translator whitespace=delete> +<:{ + my $translator = "$(translator)"; + my $plural = 0; + my $email = ""; + my $name = ""; + my $translators = ""; + my $last = 0; + my $p =0; + if (length ($translator)) { + $translator =~ s/\(at\)/@/; + $plural = 1 if $translator =~ /,/; + do { + $email=""; + $name=""; + $translators=$translators.", " unless ($last == 0); + $p = index($translator,"<",$last); + $email = substr($translator,$p+1,index($translator,">",$p)-($p+1)) unless (index($translator,">",$p)==-1); + $name = substr($translator,$last,$p-$last); + if (length ($email)){ + $translators = $translators.'<a href="mailto:'.$email.'">'."$name</a>"; + }else{$translators = $name;} + $last = index($translator,",",$last+1); + }until ($last == -1); + if ($CUR_ISO_LANG eq 'en') { + $translators =~ s/,([^,]+)$/ and $1/; + $translators =~ s/,/, /g; + } elsif ($CUR_ISO_LANG eq 'de') { + $translators =~ s/,([^,]+)$/ und $1/; + $translators =~ s/,/, /g; + } elsif ($CUR_ISO_LANG eq 'sv') { + $translators =~ s/,([^,]+)$/ och $1/; + $translators =~ s/,/, /g; + $translators =~ s/'/"/g; + } elsif ($CUR_ISO_LANG eq 'no' || $CUR_ISO_LANG eq 'da') { + $translators =~ s/,([^,]+)$/ og $1/; + $translators =~ s/,/, /g; + } elsif ($CUR_ISO_LANG eq 'hr') { + $translators =~ s/,([^,]+)$/ i $1/; + $translators =~ s/,/, /g; + $translators =~ s/'/"/g; + } elsif ($CUR_ISO_LANG eq 'fr') { + $translators =~ s/,([^,]+)$/ et $1/; + $translators =~ s/,/, /g; + $translators =~ s/'([^',]+)'/Ť $1 ť/g; + } elsif ($CUR_ISO_LANG eq 'ru') { + $translators =~ s/,([^,]+)$/ É $1/; + $translators =~ s/,/, /g; + } elsif ($CUR_ISO_LANG eq 'pl') { + $translators =~ s/,([^,]+)$/ i $1/; + $translators =~ s/,/, /g; + } else { + # Fallback to the english style if there's no translation yet + $translators =~ s/,([^,]+)$/ and $1/; + $translators =~ s/,/, /g; + } + printf q{<translator_singular>}, $translators unless $plural; + printf q{<translator_plural>}, $translators if $plural;} +}:> +</define-tag> + <define-tag editor whitespace=delete> <:{ my $editor = "$(editor)"; @@ -78,6 +149,9 @@ } elsif ($CUR_ISO_LANG eq 'ru') { $editor =~ s/,([^,]+)$/ É $1/; $editor =~ s/,/, /g; + } elsif ($CUR_ISO_LANG eq 'pl') { + $editor =~ s/,([^,]+)$/ i $1/; + $editor =~ s/,/, /g; } else { # Fallback to the english style if there's no translation yet $editor =~ s/,([^,]+)$/ and $1/; @@ -100,3 +174,4 @@ <p> <editor/> +<br><translator/>