comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: gettext for Ada
Date: Thu, 23 Nov 2017 08:02:49 -0800 (PST)
Date: 2017-11-23T08:02:49-08:00	[thread overview]
Message-ID: <6b0dde52-4f23-451a-ae8f-9199299c3a0a@googlegroups.com> (raw)
In-Reply-To: <ov60m1$91f$1@dont-email.me>

On Thursday, November 23, 2017 at 1:25:50 AM UTC-7, G. B. wrote:
> Shark8 wrote:
> 
> > Er... "The strings come from a freely available ISO standard, so they will never change"
> > 
> > So why not enumerate the strings, that way proper cases can be done on
> > either languages and/or locales?
> 
> 
> The set of locales may grow. ‘Last etc. would change.

Why would you use 'Last or 'Succ on languages? -- If you're talking about setting up a generic-system, you'd make special values formal parameters:

Generic
  Type Language is (<>);
  Default,
  Unknown : in Language;
Package Translation_Base is
 --...
End Translation_Base;


Using enumerations also means that you can leverage discriminated records, making a solid foundation for true multilingual applications:

Type Language_String( Language : Ada.Locale.Language; Length : Natural ) is record
  Data : String( 1..Length );
end record;

--...

Package Language_String_Vector is new Ada.Containers.Indefinite_Vectors(
    Index   => Positive,
    Element => Language_String
  );

Subtype Multi_Lingual_Text is Language_String_Vector.Vector;

--...

Procedure Render( Text : Multi_Lingual_Text; Display : Some_Text_Device );


  reply	other threads:[~2017-11-23 16:02 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-19 20:40 gettext for Ada Victor Porton
2017-11-20 15:40 ` Shark8
2017-11-20 19:28   ` Jacob Sparre Andersen
2017-11-20 19:59     ` Shark8
2017-11-20 20:33       ` Dmitry A. Kazakov
2017-11-21 19:15         ` Jacob Sparre Andersen
2017-11-21 20:54           ` Dmitry A. Kazakov
2017-11-23  9:15             ` Jacob Sparre Andersen
2017-11-23  9:47               ` Dmitry A. Kazakov
2017-11-23 10:03                 ` Jacob Sparre Andersen
2017-11-23 10:37                   ` Dmitry A. Kazakov
2017-11-23 12:14                     ` Jacob Sparre Andersen
2017-11-23 13:23                       ` Dmitry A. Kazakov
2017-11-21 19:22       ` Jacob Sparre Andersen
2017-11-20 22:43   ` Randy Brukardt
2017-11-21  0:28     ` Shark8
2017-11-21  8:29       ` G. B.
2017-11-21 13:48         ` J-P. Rosen
2017-11-22  1:10       ` Randy Brukardt
2017-11-22 15:38         ` Shark8
2017-11-23  0:30           ` Randy Brukardt
2017-11-23  3:08             ` Shark8
2017-11-28  0:48               ` Randy Brukardt
2017-11-28 16:47                 ` Simon Wright
2017-11-28 17:03                 ` Dmitry A. Kazakov
2017-11-28 22:41                   ` Randy Brukardt
2017-11-29  9:09                     ` Dmitry A. Kazakov
2017-11-23  8:25           ` G. B.
2017-11-23 16:02             ` Shark8 [this message]
2017-11-23 18:55               ` G. B.
2017-11-23 20:24                 ` Shark8
2017-11-28  0:55                   ` Randy Brukardt
2017-11-22 21:36 ` Blady
replies disabled

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