On Mon, 23 Nov 2009 12:42:43 +0000
Hugo Monteiro <hugo.monte...@fct.unl.pt> wrote:

> Hello all,
> 
Hallo Hugo,


> I believe it would be a good thing (tm) to change the language dirs into 
> their respective locale names, such as en_US, de_DE, fr_FR, etc.
> I'm predicting that, not far from now, there will be submissions of 
> different language variations and it's my opinion that they all should 
> be well accommodated.
> 
> Any thoughts on this matter?
> 
yes. We don't do anything. Not because I think it is not needed but because the 
quick and dirty code I added for making the language detection already has what 
you are looking for (you should know me by now. I always aim to make things as 
flexible as possible but not more flexible then needed):
------------------
# Determine if templates are available for the current
# HTTP_ACCEPT_LANGUAGE (see RFC 4646 for more info).
my $langlist = lc($ENV{'HTTP_ACCEPT_LANGUAGE'})||'';
my $langpat = qr'[a-zA-Z]{1,8}(\-[a-zA-Z]{1,8})?';
my $qvalpat = qr'(0(\.\d{0,3})?)|(1(\.0{0,3})?)';
my $q = -1.0;
my $templates = '';
for my $langpref (split /,\s*/, $langlist) {
  $langpref =~ /^([^;]+)(;q=)?(.*)?/;
  my $lang = $1 || '';
  my $qval = $3 || 1.0;
  my $langcode = '';
  if ($lang =~ /^($langpat)|(x\-$langpat)|\*$/ && $qval =~ /^($qvalpat)$/) {
    if ($q lt $qval) {
      $lang =~ s/^x\-//;
      if ($lang =~ /^(.*)\-.+$/) {
        $langcode = $1;
      }
      if ($lang ne '' && $lang ne '*' && -e $CONFIG{'TEMPLATES'} . '/' . $lang 
. '/nav_performance.html') {
        $q = $qval;
        $templates = $CONFIG{'TEMPLATES'} . '/' . $lang;
      } elsif ($langcode ne '' && -e $CONFIG{'TEMPLATES'} . '/' . $langcode . 
'/nav_performance.html') {
        $q = $qval;
        $templates = $CONFIG{'TEMPLATES'} . '/' . $langcode;
      }
    }
  }
}
if ($templates ne '') {
  $CONFIG{'TEMPLATES'} = $templates;
}
------------------

See the part with $lang and the other with $langcode? So the check is as this:

en_US:
1) check for <TEMPLATE DIR>/en_us/nav_performance.html [found=use it,not 
found=continue checking]
2) check for <TEMPLATE DIR>/en/nav_performance.html [found=use it,not 
found=continue checking]

de_DE:
1) check for <TEMPLATE DIR>/de_de/nav_performance.html [found=use it,not 
found=continue checking]
2) check for <TEMPLATE DIR>/de/nav_performance.html [found=use it,not 
found=continue checking]

fr_FR:
1) check for <TEMPLATE DIR>/fr_fr/nav_performance.html [found=use it,not 
found=continue checking]
2) check for <TEMPLATE DIR>/fr/nav_performance.html [found=use it,not 
found=continue checking]


For simplicity I added the translations currently available in the repo only 
with they language code (the characters before the "-") but the code is 
prepared to handle anything. Even things like en_US, en_GB, whatever... and 
nothing in the current code needs to be changed for handling that :)

It's nice to have a easy structue on the language directories following the 
principle that the more verbose the request is the higher their weight is. So 
if for example we would have this here:
./fr-ca/.....
./fr-ch/.....
./fr-be/....
./fr/....

And now someone comes with fr-mc then it's nice to know that the user will at 
least see a French interface since he/she will fall back to ./fr/... because 
there is no fr-mc but at least there is a fr.


> Regards,
> 
Kind Regards from Switzerland,


> Hugo Monteiro.
> 
Stevan Bajić

> -- 
> ci.fct.unl.pt:~# cat .signature
> 
> Hugo Monteiro
> Email  : hugo.monte...@fct.unl.pt
> Telefone : +351 212948300 Ext.15307
> Web      : http://hmonteiro.net
> 
> Centro de Informática
> Faculdade de Ciências e Tecnologia da
>                  Universidade Nova de Lisboa
> Quinta da Torre   2829-516 Caparica   Portugal
> Telefone: +351 212948596   Fax: +351 212948548
> www.ci.fct.unl.pt           ap...@fct.unl.pt
> 
> ci.fct.unl.pt:~# _
> 
> 
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
> trial. Simplify your report design, integration and deployment - and focus on 
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Dspam-devel mailing list
> Dspam-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspam-devel
> 

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Dspam-devel mailing list
Dspam-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-devel

Reply via email to