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

לענות