[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: i18n
From: |
David Bateman |
Subject: |
Re: i18n |
Date: |
Wed, 16 Jun 2004 10:09:00 +0200 |
User-agent: |
Mutt/1.4.1i |
Check the message
http://www.octave.org/mailing-lists/octave-maintainers/2003/195
where I started trying to address this issue...
D.
Daprès Paul Kienzle <address@hidden> (le 16/06/2004):
> On Jun 15, 2004, at 2:27 PM, Tomasv wrote:
>
> >- Translate software and documentation to spanish and portugues
>
> There is no work done on i18n for octave.
>
> Many tutorials exist already on the net. Finding a good set and
> linking to them from http://wiki.octave.org would be useful.
>
> If you wanted to maintain a portuguese or spanish version of the
> documentation, you could store it in octave-forge. Or you could
> store it at http://wiki.octave.org so that users can add to it when
> they need to.
>
> For the function descriptions, it is easy to replace help() so that it
> first looks for language specific help in a separate set of directories,
> or looks for help in the usual way if no translation exists.
>
> Making error messages to appear in your own language is harder.
> All messages go through error() and warning(). You can add
> a hash table loaded at runtime (Map lang<string,string>) depending
> on the environment variable LANG. error and warning can look up
> each message and use a language specific replacement if it exists.
>
> You will need tools to find all the message strings in C++.
> Maybe you could look for the first argument after error and warning.
> That won't work if they are variables, so you might need a macro to
> mark them. E.g.,
>
> #define _(A) A
> ...
> char *msg = _("text");
>
> Then we can look for _("msg"), error("msg") and warning("msg"),
> returning anything which is a string.
>
> We can provide a _() command for use in m-files too. This would return
> the
> translated string for things like plot labels and output strings which
> are not
> warnings or errors. Warnings and error messages will use the lookup
> table
> in the warning() and error() functions.
>
> Translation strings need to be associated with the toolbox rather than
> stored in a central database. I suggest a local file (e.g., i18n.xx)
> which
> stores the table for each directory. When that directory is added to
> the
> search path octave can add the strings in i18n.xx for the particular
> LANG=xx to its master table. I'm ignoring the problem of removing a
> directory from a path.
>
> We need tools listing which strings have changed since they were last
> translated.
>
> Paul Kienzle
> address@hidden
--
David Bateman address@hidden
Motorola CRM +33 1 69 35 48 04 (Ph)
Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax)
91193 Gif-Sur-Yvette FRANCE
The information contained in this communication has been classified as:
[x] General Business Information
[ ] Motorola Internal Use Only
[ ] Motorola Confidential Proprietary
- i18n, Paul Kienzle, 2004/06/15
- Re: i18n,
David Bateman <=