Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jun 2014 22:48:00 +1100
From:      Dima Panov <fluffy@FreeBSD.org>
To:        Polytropon <freebsd@edvax.de>, ddddd dddd <sin_jen@hotmail.com>
Cc:        "freebsd-questions@freebsd.org" <freebsd-questions@FreeBSD.org>
Subject:   Re: Language in FreeBSD
Message-ID:  <53A17C70.6030901@FreeBSD.org>
In-Reply-To: <20140618045740.df8739e7.freebsd@edvax.de>
References:  <SNT147-W915FFBB6335269217953EA85160@phx.gbl> <20140616135108.40d4ac41@kalimero.tijl.coosemans.org> <SNT147-W65CDB00D2CC7B8F5A53C2E85110@phx.gbl> <20140618045740.df8739e7.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

18.06.14, 13:57, Polytropon ?????:
> On Tue, 17 Jun 2014 22:23:04 +0200, ddddd dddd wrote:
>>> Programs usually support the LC_* variables (LC_MESSAGES for 
>>> example, LC_ALL to override) as well as LANG. You can try to 
>>> set those in your ~/.login if the C shell is your login shell, 
>>> or in ~/.login_conf, for example like this:
>>> 
>>> me:\ :charset=iso-8859-1:\ :lang=de_DE.ISO8859-1:
>>> 
>>> Note that you probably will use UTF-8 instead of ISO-8859-1 if
>>> you want to be "future-proof". :-)
>> Well, I tried :lang=no_NO with ISO8859-1, ISO8859-15 and UTF-8, 
>> the $LANG variable were always empty.
> 
> According to "man login.conf", setting lang= will set $LANG, but it
> will not set any of the LC_* variables. If I remember correctly,
> $LANG has precedence.
> 
> If you want to set LC_* variables via ~/.login_conf, you can use
> the setenv= parameter.
> 

For setting LC_* directly from .login_conf I use a small hack on all
my boxes :)

Index: lib/libutil/login_class.c
===================================================================
- --- lib/libutil/login_class.c   (revision 267346)
+++ lib/libutil/login_class.c   (working copy)
@@ -131,6 +131,13 @@
 }, envars[] = {
     { "lang",           "LANG",       NULL, 1},
     { "charset",        "MM_CHARSET", NULL, 1},
+    { "lc_all",         "LC_ALL",     NULL, 1},
+    { "lc_collate",     "LC_COLLATE", NULL, 1},
+    { "lc_ctype",       "LC_CTYPE",   NULL, 1},
+    { "lc_messages",    "LC_MESSAGES",NULL, 1},
+    { "lc_monetary",    "LC_MONETARY",NULL, 1},
+    { "lc_numeric",     "LC_NUMERIC", NULL, 1},
+    { "lc_time",        "LC_TIME",    NULL, 1},
     { "timezone",       "TZ",         NULL, 1},
     { "term",           "TERM",       NULL, 0},
     { NULL,             NULL,         NULL, 0}


Or grab it from http://people.freebsd.org/~fluffy/patches/libutil.diff

And my .login_conf looks like this:

me:\
        :charset=UTF-8:\
        :lang=ru_RU.UTF-8:\
        :lc_all=:\
        :lc_collate=ru_RU.UTF-8:\
        :lc_ctype=ru_RU.UTF-8:\
        :lc_messages=en_GB.UTF-8:\
        :lc_monetary=en_GB.UTF-8:\
        :lc_numeric=en_GB.UTF-8:\
        :lc_time=en_GB.UTF-8:
        :tc=default:

> 
> 
>>> Maybe you can add some C shell specific environmental
>>> settings. Here are some examples:
>>> 
>>> # german input, english messages setenv LC_ALL en_US.ISO8859-1 
>>> setenv LC_MESSAGES en_US.ISO8859-1 setenv LC_COLLATE
>>> de_DE.ISO8859-1 setenv LC_CTYPE de_DE.ISO8859-1 setenv
>>> LC_MONETARY de_DE.ISO8859-1 setenv LC_NUMERIC de_DE.ISO8859-1 
>>> setenv LC_TIME de_DE.ISO8859-1 unsetenv LANG
>>> 
>>> # german with Euro sign setenv LC_ALL de_DE.ISO8859-15 setenv
>>> LC_COLLATE de_DE.ISO8859-15 setenv LC_CTYPE de_DE.ISO8859-15 
>>> setenv LC_MESSAGES de_DE.ISO8859-15 setenv LC_MONETARY
>>> de_DE.ISO8859-15 setenv LC_NUMERIC de_DE.ISO8859-15 setenv
>>> LC_TIME de_DE.ISO8859-15
>>> 
>>> # german with UTF-8 ("more international") setenv LC_ALL
>>> en_US.UTF-8 setenv LC_MESSAGES en_US.UTF-8 setenv LC_COLLATE
>>> de_DE.UTF-8 setenv LC_CTYPE de_DE.UTF-8 setenv LC_MONETARY
>>> de_DE.UTF-8 setenv LC_NUMERIC de_DE.UTF-8 setenv LC_TIME
>>> de_DE.UTF-8 setenv LANG de_DE.UTF-8
>>> 
>>> Maybe this this can help with testing and inspiration. :-)
>> 
>> In what file?
> 
> Set those in /etc/csh.cshrc for global effect, or in your own 
> ~/.cshrc for your user. Note that there's also a precedence of 
> LC_ALL over the other LC_* settings, if I remember correctly.
> 
> 
> 
> 


- -- 
Dima Panov (fluffy@FreeBSD.org)
(KDE, Office)@FreeBSD team

Facebook: http://www.facebook.com/fluffy.khv
IRC: fluffy@EFNet, fluffykhv@FreeNode
twitter: fluffy_khv | skype: dima.panov
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.20 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQIcBAEBAgAGBQJToXxuAAoJEPuLoJ3VOY8pCocP/2GQ5+Dvfkc5d+IKtmdjCLn8
h1dSltBxEaNzE80PXm0Fp563LZD7jw3qL0EvVH5GaiR9EoX4n+Zc4UVIduiljYT0
Z7FDyC7MfMM5Ww2gq8IYGhC+1B7EduwGtfx8/W4ZuBCOIXB11GLVWffGkgR3Imz5
S3n1eV2UOuZrO75RRQlexrQZkRHNzHTxxOwHJOOrFKQgJd4XUy6jXLvvMswgmVW8
aKTmliz7PRRHvjFKfuwaxAAkitYjCfhpGQzbwhf1m1fe0aKnT4jxNziIKM6FQkl1
cTLHm4LOGBAOvm400oSPEDM8NU4S6tjce0XxlpTnMIv9W/uR/YHmXz/Avm7bNnR9
tQjJwRXeMPt1FOQGuaeVUS+HYdzg5tvKMm+l6QE+4tMou9TH3nPfNTvLljcsxIMY
1eF0N6SBSmbFnmNCT+kM35oTmo7bEOt9vFAqJX+Y3uDrRMbRc5ynwQ51Y8kBU12d
TBQyxEbOP+5CfkOHAFp5o0vxMakWig8Cty9FFdNBMyCY8r4xrEAIY069XCczXWgK
Od269gLRbQUhMnetRzc7TgxT1jbG9dPeijVFfQyJdyP9PTtbrqIyD4t2wBI6JhXD
TMgnQ21bAwy9jQVhiLBT6x+JzePz/PBt0bp1jNaxuu9GQpiWH+OAVLiFdIfAVNS+
iw629LAmbnWk5wDrtt3U
=MfXb
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53A17C70.6030901>