comp.lang.ada
 help / color / mirror / Atom feed
From: Michael Rohan <michael@zanyblue.com>
Subject: Re: Ada.Locales pseudo-string types
Date: Mon, 6 Aug 2012 10:37:00 -0700 (PDT)
Date: 2012-08-06T10:37:00-07:00	[thread overview]
Message-ID: <a6439817-c750-4c5e-a0db-2c37331b474e@googlegroups.com> (raw)
In-Reply-To: <78707b6e-88a3-453a-a37c-840f7a62e703@googlegroups.com>

On Monday, August 6, 2012 9:45:46 AM UTC-7, Marius Amado-Alves wrote:
> Ada 2012 has this new Ada.Locales package (annex A.19) containing
> 
> 
> 
>    type Language_Code is array (1 .. 3) of Character range 'a' .. 'z';
> 
>    type Country_Code  is array (1 .. 2) of Character range 'A' .. 'Z';
> 
> 
> 
>    Language_Unknown : constant Language_Code := "und";
> 
>    Country_Unknown  : constant Country_Code := "ZZ";
> 
> 
> 
>    function Language return Language_Code;
> 
>    function Country return Country_Code;
> 
> 
> 
> Now how does one print the darn codes? Should not Ada.Text_IO.Put for String work? Should not the types be convertible to String?
> 
> Thanks a lot.

Hi,

It this really the all that's defined for Locales!  At least the language code is of the correct length 1 .. 3, however the country code should also be 1 .. 3, 

On Monday, August 6, 2012 9:45:46 AM UTC-7, Marius Amado-Alves wrote:
> Ada 2012 has this new Ada.Locales package (annex A.19) containing
> 
> 
> 
>    type Language_Code is array (1 .. 3) of Character range 'a' .. 'z';
> 
>    type Country_Code  is array (1 .. 2) of Character range 'A' .. 'Z';
> 
> 
> 
>    Language_Unknown : constant Language_Code := "und";
> 
>    Country_Unknown  : constant Country_Code := "ZZ";
> 
> 
> 
>    function Language return Language_Code;
> 
>    function Country return Country_Code;
> 
> 
> 
> Now how does one print the darn codes? Should not Ada.Text_IO.Put for String work? Should not the types be convertible to String?
> 
> Thanks a lot.

Hi,

Looks like this probably needs to be adjusted Language 1 .. 3 is OK, but Country should really be Territory 1 .. 3, e.g., Latin America has the code "419".  It is also missing a definition for the Script, e.g., Simplified Chinese as spoken in China is zh_Hans_CN, and Serbian has two variants for the same territory:

sr_Cyrl_SR, Serbian as spoken in Serbia using the Cyrillic script
sr_Latn_SR, Serbian as spoken in Serbia using the Latin script

So the locales package should be adjusted to include

    type Script_Code is array (1 .. 4) of Character; -- 'a' .. 'z' + 'A' .. 'Z'
    function Script return Script_Code;

There's nothing here to adjust locale, etc.  I guess this is start on making Ada locale aware but it looks like there's a lot of additional work needed.

I've done some work in this area with my ZanyBlue library (http://zanyblue.sourceforge.net) and it would be good to see a more globalization friendly Ada.

Take care,
Michael



  parent reply	other threads:[~2012-08-13  9:02 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-06 16:45 Ada.Locales pseudo-string types Marius Amado-Alves
2012-08-06 17:10 ` Marius Amado-Alves
2012-08-06 19:15   ` J-P. Rosen
2012-08-06 19:34     ` Simon Wright
2012-08-06 20:07       ` Marius Amado-Alves
2012-08-06 20:57         ` Simon Wright
2012-08-06 21:09           ` Vasiliy Molostov
2012-08-06 23:07             ` Adam Beneschan
2012-08-06 23:23               ` Vasiliy Molostov
2012-08-06 23:46                 ` Adam Beneschan
2012-08-07  1:17                   ` Vasiliy Molostov
2012-08-07  7:20               ` Dmitry A. Kazakov
2012-08-07  7:43               ` Jacob Sparre Andersen
2012-08-09 20:47                 ` Randy Brukardt
2012-08-07  8:44               ` Marius Amado-Alves
2012-08-07 13:14                 ` Marius Amado-Alves
2012-08-07 15:42                   ` Adam Beneschan
2012-08-07 18:22                     ` Marius Amado-Alves
2012-08-07 20:10                       ` Adam Beneschan
2012-08-07 20:42                         ` Marius Amado-Alves
2012-08-07 21:38                           ` Adam Beneschan
2012-08-08  7:04                           ` Niklas Holsti
2012-08-08  7:18                             ` Dmitry A. Kazakov
2012-08-08  7:37                               ` Niklas Holsti
2012-08-08  8:09                                 ` Dmitry A. Kazakov
2012-08-08 11:14                                   ` Niklas Holsti
2012-08-08 11:59                                     ` Dmitry A. Kazakov
2012-08-08 14:01                                       ` Niklas Holsti
2012-08-09  7:48                                         ` Dmitry A. Kazakov
2012-08-09  8:31                                           ` Niklas Holsti
2012-08-09 12:17                                             ` Dmitry A. Kazakov
2012-08-09 15:25                                               ` Niklas Holsti
2012-08-09 16:43                                                 ` Dmitry A. Kazakov
2012-08-08  8:28                                 ` J-P. Rosen
2012-08-08 11:35                                   ` Niklas Holsti
2012-08-08 14:05                                     ` Georg Bauhaus
2012-08-08  7:32                             ` J-P. Rosen
2012-08-08  8:17                               ` Niklas Holsti
2012-08-08  8:33                                 ` J-P. Rosen
2012-08-08 11:44                                   ` Niklas Holsti
2012-08-09 21:00                                   ` Randy Brukardt
2012-08-08  8:35                                 ` Dmitry A. Kazakov
2012-08-08  9:32                                   ` Marius Amado-Alves
2012-08-08 10:11                                     ` Dmitry A. Kazakov
2012-08-08 11:28                                       ` Marius Amado-Alves
2012-08-08 11:30                                         ` Marius Amado-Alves
2012-08-08 11:35                                       ` Marius Amado-Alves
2012-08-08 12:24                                         ` Dmitry A. Kazakov
2012-08-08 11:52                                   ` Niklas Holsti
2012-08-08 13:21                                     ` Dmitry A. Kazakov
2012-08-08  9:07                             ` Marius Amado-Alves
2012-08-07 20:43                         ` Marius Amado-Alves
2012-08-07 21:59                   ` Robert A Duff
2012-08-07 22:19                     ` Adam Beneschan
2012-08-08  0:37                       ` Robert A Duff
2012-08-07 15:26                 ` Adam Beneschan
2012-08-07 18:07                   ` Marius Amado-Alves
2012-08-07 17:51       ` Simon Wright
2012-08-06 20:00     ` Marius Amado-Alves
2012-08-06 19:49   ` Jacob Sparre Andersen
2012-08-06 20:11     ` Marius Amado-Alves
2012-08-06 17:37 ` Michael Rohan [this message]
2012-08-06 18:23   ` Marius Amado-Alves
2012-08-06 19:36     ` Michael Rohan
2012-08-09 21:15   ` Randy Brukardt
2012-08-07  5:57 ` Jeffrey R. Carter
2012-08-07 15:46   ` Adam Beneschan
2012-08-07 17:51     ` Jeffrey R. Carter
2012-08-09 21:17       ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox