Sadahiro Tomoyuki wrote:

<snip>

> I write Unicode::Collate::Locale (tentatively) for linguistic tailoring
> of UCA. To use it, Unicode::Collate should search allkeys.txt
> from any directories in @iNC (at present it searchs table files
> only under the directory where it locates.)
> So Unicode::Collate::Locale should require Unicode::Collate 0.40 or later,
> which is not released yet, but a prerelease is available as shown below.
> 
> [tarball]
>
http://homepage1.nifty.com/nomenclator/perl/Unicode-Collate-Locale-0.01.tar.gz
> [doc]
> http://homepage1.nifty.com/nomenclator/perl/Unicode-Collate-Locale.html
>    Sorry, now tailoring of only few languages are implemented.
>    It may be enhanced sooner or later...
> 
> [prerelease] This will be released *after* Perl 5.8.4 (or its RC) will be
> [out.
> http://homepage1.nifty.com/nomenclator/perl/Unicode-Collate-0.40.tar.gz

Thank you and Jarkko for your replies.

I now realise that some per-language tailoring would be needed for sensible
results. Unicode::Collate::Locale seems like the kind of think I was
looking for, and any tailoring is better than none :)

Using the multi-lingual server scenario I was initially discussing, would
one of the following usages be correct (yes, it's just pseudocode and
exists in a world where no errors ever occur!):

1)

 my %collators;

 for ( $server_loop )
 {
   my $lang_tag = Server->requested_lang_tag;

   my $collator   = $collators{$lang_tag} 
                ||= Unicode::Collate::Locale->new(locale => $lang_tag);

   ...
 }


2)

  my $prev_lang;
  my $collator;

  for ( $server_loop )
  {
    my $lang_tag = Server->requested_lang_tag;

    unless ( $lang_tag eq $prev_lang )
    {
      $prev_lang = $lang;
      $collator  = Unicode::Collator::Locale->new(locale => $lang_tag);
    }

    ...
  }


Which would be the preferred way of handling this (or are both wrong)?

Again, thanks for your replies.
-- 
Rich
[EMAIL PROTECTED]

Reply via email to