Yitzchak Gale wrote:
Hi Shachar,
Locale - LANG=en_US, LC_CTYPE=he_IL
In my opinion, those are the correct locale settings for a
speaker of U.S. English living in Israel.
Actually, the correct setting for a user who wishes to get English
interface and lives in Israel would be LANG=he_IL, LC_MESSAGES=en_US.
I am not an expert, but I don't think that is correct either.
LC_MESSAGES only defines certain very specific responses -
like "yes" or "no".
No, LC_MESSAGES defines the language in which messages are displayed. In
other words, LC_MESSAGES defines the language in which the program talks
to you.
LC_CTYPE only defines which letters are uppercase
and lowercase, officially.
No. LC_CTYPE defines the character encoding.
(see definitions in the Unix standard at www.unix.org)
Care to give a link actually pointing at the information you quote? I
got
http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap08.html
which 100% agrees with my interpretation.
LANG defines the language.
No. LANG defines the default value for the rest of them. The idea is
that an application, in order to decide what the value for, say,
LC_MESSAGES should be, checks the following environment variables in
order. LC_ALL, LC_MESSAGES, LC_LANG. The first on to be defined sets
what language (in the text's wording, "the language and cultural
conventions in which messages should be written").
If you have LANG=he_IL,
you should get the Hebrew UI, no matter what
LC_MESSAGES is set to.
Both LC_ALL and, to a lesser extent, LC_MESSAGES override LANG in that
respect.
Maybe what we really need is an "en_IL" locale,
which would mean "the language is English,
but use iso-8859-8 encoding and other Israeli
l10n stuff."
No need, the current settings already allow it.
Also, as UTF-8 and UTF-16 catch on more and
more, I think this issue will become less
important as time goes on. Not solved, but
less of a show-stopper.
UTF-8 is an encoding. When you define LANG to be en_US.UTF-8, the only
var that the "UTF-8" part affects is LC_CTYPE. This is how I read the
specs, and is also how actual programs behave.
There is no locale variable that officially
specifies the encoding, but traditionally most
apps use LC_CTYPE for this.
No, that's not what your specs say. "This environment variable
determines the interpretation of sequences of bytes of text data as
characters".
-Yitzchak
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html
--
Hebrew OpenOffice Mailing List [email protected]
To unsubscribe see: http://openoffice.org.il/mailman/listinfo/hebrew