GNAT: internationalization of error diagnosis messages

Geert Bosch
Tue Apr 22 22:43:00 GMT 2003

On Tuesday, Apr 22, 2003, at 16:51 America/New_York, Vadim Godunko 
> Attached patch and new files allow internationalization for gnat 
> diagnosis messages.

Hi Vadim,

Before undertaking work to implement major new features or
infrastructure, it would be a good idea to first post a
somewhat more high-level description of what exactly you
want to achieve and how you think that can best be done.

Proper translation of all GNAT messages would be a huge job
requiring large ongoing maintenance efforts. Also, translation
of these messages is a job that requires a detailed knowledge of
the Ada language, English and the foreign target language.
The messages in GNAT have been continuously improved and tweaked
over the last ten years based on thousands of feedback reports
of students, teachers and programmers all around the world.
Also the extensive use of terms defined in the Ada standard
(which is a publicly available and quite readable document)
would mean that translated diagnostics would require access
to a translated version of the standard. Because of this, I
think no internationalization would be better than partial

I believe that your patch only addresses the internationalization
of one specific kind of messages. The biggest issue however
is that there are no comments at all to document the code.
In GNAT, every package needs comments describing the interface
at a sufficiently high level.

There are also issues with the code itself, such as the
confusing use of Message as the internationalized version
of Msg and the interface of Intl, which should not require
returning unconstrained strings.

Maybe a good first step would be to propose a package spec
for GNAT.Internationalization or GNAT.Intl, which allows for
efficient internationalization of programs written in Ada.
Combined with Ada-aware versions of xgettext and related
utilities, this would be a very useful extension to allow
people to write programs that can be internationalized.

Then, if there is sufficient demand of Ada users, we
could use this code in the compiler itself.


More information about the Gcc-patches mailing list