comp.lang.ada
 help / color / mirror / Atom feed
From: Michael R <michael@zanyblue.com>
Subject: ANN: ZanyBlue.Text, Localization Support for Ada
Date: Mon, 22 Nov 2010 02:19:05 -0800 (PST)
Date: 2010-11-22T02:19:05-08:00	[thread overview]
Message-ID: <3ab4e227-e87a-4df1-85ad-aabee2690de0@w2g2000yqb.googlegroups.com> (raw)

Hi Folks,

This is the first release of the ZanyBlue Ada packages.  This release
includes the Text package which support localization of Ada
applications
with Java style message formatting and .properties files.  The
released
files are available at

http://sourceforge.net/projects/zanyblue/files/

There are two downloadable files:

1) The core release files: zanyblue-0.1.0b-r1663.tar.gz
2) Support files for testing (AUnit) and regneration of the built-in
   localizations (CLDR) zanyblue-0.1.0b-r1663-libs3rd.tar.gz

The primary dev environment is Unix but has been tested on Windows.

Take care,
Michael.

The readme is:

The ZanyBlue.Text Package
-------------------------

ZanyBlue.Text is an Ada 2005 package supporting localization support
in Ada
by allowing the externalization of application messages into a
properties
file which can be localized into additional languages, similar to
Java.
The localized files include the locale string in the file name, e.g.,
the
file "zbmcompile.properties" is localized to
"zbmcompile_fr.properties" in
French.

The locale string is

* A language abbreviation (2 or 3 alpha-numeric characters), e.g.,
"en" for
  English, "zh" for Chinese, "cop" for Coptic, etc.
* A script abbreviation (4 alpha-numeric characters), e.g., "Latn" for
Latin,
  "Hant" for Traditional Han, "Hebr" for Hebrew, etc.
* A territory abbreviation (2 or 3 alpha-numeric characters), e.g.,
"US" for
  US, "CN" for China, "142" for Asia, etc.

All components are optional, giving locale strings "" for the base
locale,
"en" for English, "zh_Hant" for Traditional Chinese, "zh_TW" for
Chinese
in Taiwan (also Traditional Chinese), and "zh_Hant_TW".

The externalized .properties files are compiled to an Ada 2005 package
containing the application strings (including localized strings) to be
compiled into an application.  The selection of locale by
ZanyBlue.Text
is based on a locale argument which defaults to the locale string
value
of the environment variable "ZB_LANG", or, if it's not defined,
"LANG".
This allows applications to automatically switch the display language
(provided the application was localized into the selected locale).
E.g., the example application "moons" defaults to displaying English
but can be changed to using German, French or Spanish, e.g.,  to
display
is German:

    $ export ZB_LANG=de
    $ moons

The externalization of messages into a .properties files allows the
embedding
of parameters references via index (also similar to Java), e.g., the
message
to print the value of a number, the message could be defined as

    00001=The value of the counter is {0} ticks.

The ZanyBlue.Text package supports the "passing" of argument values by
"boxing" the values into ZanyBlue.Text objects.  This particular
message
could be printed, with an argument of 1904 as,

    Print_Line ("myapp", "00001", +1904);

The unitary "+" operator is overloaded by the ZanyBlue.Text package to
create
the "boxed" object.  See the ZanyBlue documentation for details on the
types
supported by the package.

Building
--------

The ZanyBlue packages have been build primarily on Unix systems using
a
recent GCC (GCC 4.4) or on Windows using GNAT GPL 2010.  The GCC
version
4.5.0, however, gives an internal compiler error when building the
test
application.

The build is make based.  To build on Unix:

   $ cd src
   $ make

The build will also build the needed files from Dmitry Kazakov's
components
v3.8 open source package used to format real values.  To run the
ZanyBlue
tests for the Text package, use the "check" build target.  The
ZanyBlue tests
use AdaCore's AUnit testing environment (also included in the src/
libs3rd
directory), which is compiled as part of the test application build,
i.e.,

    $ make check

All the examples, except the "gtk" example, do not require additional
packages
beyond the ZanyBlue library.  The "gtk" example requires the GtkAda
package
from AdaCore.

http://www.unicode.org/repos/cldr/tags/release-1-8-d03/common   cldr

Contact
-------

For additional information contact Michael Rohan
<michael@zanyblue.com>



             reply	other threads:[~2010-11-22 10:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-22 10:19 Michael R [this message]
2010-11-26  7:00 ` ANN: ZanyBlue.Text, Localization Support for Ada Michael R
replies disabled

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