Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Dec 2002 15:20:04 +0100 (CET)
From:      Thierry Thomas <thierry@pompo.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   standards/46614: [i18n][patch] strftime and locales without variants.
Message-ID:  <20021229142004.2AC7C750D@graf.pompo.net>

next in thread | raw e-mail | index | archive | help

>Number:         46614
>Category:       standards
>Synopsis:       [i18n][patch] strftime and locales without variants.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-standards
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 29 06:30:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Thierry Thomas
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
Kabbale Eros
>Environment:
System: FreeBSD graf.pompo.net 4.7-STABLE FreeBSD 4.7-STABLE #0: Sun Dec 29 12:46:07 CET 2002 root@graf.pompo.net:/usr/obj/mntsrc/src/sys/GRAF020727 i386


	
>Description:
	Some applications don't expect to find variants in LC_TIME, and when
	LC_TIME is set to something like "fr_FR.ISO8859-15", they default to
	C, and strftime does not translate anything.

	If we define an alias from /usr/share/locale/xx_XX to
	/usr/share/locale/xx_XX.variant, this is fixed.

>How-To-Repeat:
	For example, install the ports mail/imp3 or better deskutils/kronolith,
	set a non-english environment, and look at the dates: they are not
	localized.

	Apply the following patches, rebuild world, and the dates will be
	translated.

	Remark: to test directly, just `ln -s fr_FR.ISO8859-15 fr_FR` in
	/usr/share/locale.

>Fix:

	The proposed patch adds aliases for languages with ISO-variant into
	/usr/src/etc/locale.alias. /usr/src/etc/nls.alias is not necessary,
	but I have patched it for coherence.

	For each language, the alias is set to the most complete variant.
	Nothing was made for asiatic languages, because I don't know them...


--- /usr/src/etc/locale.alias.orig	Wed Apr 17 23:31:14 2002
+++ /usr/src/etc/locale.alias	Sun Dec 29 00:13:17 2002
@@ -2,75 +2,112 @@
 
 ASCII                   en_US.US-ASCII
 US-ASCII                en_US.US-ASCII
+af_ZA                   af_ZA.ISO8859-15
 af_ZA.ISO_8859-1        af_ZA.ISO8859-1
 af_ZA.ISO_8859-15       af_ZA.ISO8859-15
+cs_CZ                   cs_CZ.ISO8859-2
 cs_CZ.ISO_8859-2        cs_CZ.ISO8859-2
+da_DK                   da_DK.ISO8859-15
 da_DK.ISO_8859-1        da_DK.ISO8859-1
 da_DK.ISO_8859-15       da_DK.ISO8859-15
+de_AT                   de_AT.ISO8859-15
 de_AT.ISO_8859-1        de_AT.ISO8859-1
 de_AT.ISO_8859-15       de_AT.ISO8859-15
+de_CH                   de_CH.ISO8859-15
 de_CH.ISO_8859-1        de_CH.ISO8859-1
 de_CH.ISO_8859-15       de_CH.ISO8859-15
+de_DE                   de_DE.ISO8859-15
 de_DE.ISO_8859-1        de_DE.ISO8859-1
 de_DE.ISO_8859-15       de_DE.ISO8859-15
+el_GR                   el_GR.ISO8859-7
 el_GR.ISO_8859-7        el_GR.ISO8859-7
+en_AU                   en_AU.ISO8859-15
 en_AU.ISO_8859-1        en_AU.ISO8859-1
 en_AU.ISO_8859-15       en_AU.ISO8859-15
+en_CA                   en_CA.ISO8859-15
 en_CA.ISO_8859-1        en_CA.ISO8859-1
 en_CA.ISO_8859-15       en_CA.ISO8859-15
+en_GB                   en_GB.ISO8859-15
 en_GB.ISO_8859-1        en_GB.ISO8859-1
 en_GB.ISO_8859-15       en_GB.ISO8859-15
+en_NZ                   en_NZ.ISO8859-15
 en_NZ.ISO_8859-1        en_NZ.ISO8859-1
 en_NZ.ISO_8859-15       en_NZ.ISO8859-15
+en_US                   en_US.ISO8859-15
 en_US.ISO_8859-1        en_US.ISO8859-1
 en_US.ISO_8859-15       en_US.ISO8859-15
+es_ES                   es_ES.ISO8859-15
 es_ES.ISO_8859-1        es_ES.ISO8859-1
 es_ES.ISO_8859-15       es_ES.ISO8859-15
+et_EE                   et_EE.ISO8859-15
 et_EE.ISO_8859-15       et_EE.ISO8859-15
+fi_FI                   fi_FI.ISO8859-15
 fi_FI.ISO_8859-1        fi_FI.ISO8859-1
 fi_FI.ISO_8859-15       fi_FI.ISO8859-15
+fr_BE                   fr_BE.ISO8859-15
 fr_BE.ISO_8859-1        fr_BE.ISO8859-1
 fr_BE.ISO_8859-15       fr_BE.ISO8859-15
+fr_CA                   fr_CA.ISO8859-15
 fr_CA.ISO_8859-1        fr_CA.ISO8859-1
 fr_CA.ISO_8859-15       fr_CA.ISO8859-15
+fr_CH                   fr_CH.ISO8859-15
 fr_CH.ISO_8859-1        fr_CH.ISO8859-1
 fr_CH.ISO_8859-15       fr_CH.ISO8859-15
+fr_FR                   fr_FR.ISO8859-15
 fr_FR.ISO_8859-1        fr_FR.ISO8859-1
 fr_FR.ISO_8859-15       fr_FR.ISO8859-15
+hr_HR                   hr_HR.ISO8859-2
 hr_HR.ISO_8859-2        hr_HR.ISO8859-2
+hu_HU                   hu_HU.ISO8859-2
 hu_HU.ISO_8859-2        hu_HU.ISO8859-2
+is_IS                   is_IS.ISO8859-15
 is_IS.ISO_8859-1        is_IS.ISO8859-1
 is_IS.ISO_8859-15       is_IS.ISO8859-15
+it_CH                   it_CH.ISO8859-15
 it_CH.ISO_8859-1        it_CH.ISO8859-1
 it_CH.ISO_8859-15       it_CH.ISO8859-15
+it_IT                   it_IT.ISO8859-15
 it_IT.ISO_8859-1        it_IT.ISO8859-1
 it_IT.ISO_8859-15       it_IT.ISO8859-15
 ja_JP.EUC               ja_JP.eucJP
 ja_JP.Shift_JIS         ja_JP.SJIS
 ko_KR.EUC               ko_KR.eucKR
+la_LN                   la_LN.ISO8859-15
 la_LN.ASCII             la_LN.US-ASCII
 la_LN.ISO_8859-1        la_LN.ISO8859-1
 la_LN.ISO_8859-15       la_LN.ISO8859-15
 la_LN.ISO_8859-2        la_LN.ISO8859-2
 la_LN.ISO_8859-4        la_LN.ISO8859-4
+lt_LT                   lt_LT.ISO8859-4
 lt_LT.ISO_8859-4        lt_LT.ISO8859-4
+nl_BE                   nl_BE.ISO8859-15
 nl_BE.ISO_8859-1        nl_BE.ISO8859-1
 nl_BE.ISO_8859-15       nl_BE.ISO8859-15
+nl_NL                   nl_NL.ISO8859-15
 nl_NL.ISO_8859-1        nl_NL.ISO8859-1
 nl_NL.ISO_8859-15       nl_NL.ISO8859-15
+no_NO                   no_NO.ISO8859-15
 no_NO.ISO_8859-1        no_NO.ISO8859-1
 no_NO.ISO_8859-15       no_NO.ISO8859-15
+pl_PL                   pl_PL.ISO8859-2
 pl_PL.ISO_8859-2        pl_PL.ISO8859-2
+pt_PT                   pt_PT.ISO8859-15
 pt_PT.ISO_8859-1        pt_PT.ISO8859-1
 pt_PT.ISO_8859-15       pt_PT.ISO8859-15
-ru_SU.CP866             ru_RU.CP866
+ru_RU                   ru_RU.ISO8859-5
 ru_RU.ISO_8859-5        ru_RU.ISO8859-5
-ru_SU.ISO8859-5         ru_RU.ISO8859-5
+ru_SU                   ru_RU.ISO8859-5
+ru_SU.CP866             ru_RU.CP866
 ru_SU.ISO_8859-5        ru_RU.ISO8859-5
+ru_SU.ISO8859-5         ru_RU.ISO8859-5
 ru_SU.KOI8-R            ru_RU.KOI8-R
+sk_SK                   sk_SK.ISO8859-2
 sk_SK.ISO_8859-2        sk_SK.ISO8859-2
+sl_SI                   sl_SI.ISO8859-2
 sl_SI.ISO_8859-2        sl_SI.ISO8859-2
+sv_SE                   sv_SE.ISO8859-15
 sv_SE.ISO_8859-1        sv_SE.ISO8859-1
 sv_SE.ISO_8859-15       sv_SE.ISO8859-15
+tr_TR                   tr_TR.ISO8859-9
 tr_TR.ISO_8859-9        tr_TR.ISO8859-9
 zh_CN.EUC               zh_CN.eucCN



--- /usr/src/etc/nls.alias.orig	Wed Apr 17 23:31:14 2002
+++ /usr/src/etc/nls.alias	Sat Dec 28 23:53:36 2002
@@ -3,76 +3,113 @@
 ASCII                   C
 POSIX                   C
 US-ASCII                C
+af_ZA                   af_ZA.ISO8859-15
 af_ZA.ISO_8859-1        af_ZA.ISO8859-1
 af_ZA.ISO_8859-15       af_ZA.ISO8859-15
+cs_CZ                   cs_CZ.ISO8859-2
 cs_CZ.ISO_8859-2        cs_CZ.ISO8859-2
+da_DK                   da_DK.ISO8859-15
 da_DK.ISO_8859-1        da_DK.ISO8859-1
 da_DK.ISO_8859-15       da_DK.ISO8859-15
+de_AT                   de_AT.ISO8859-15
 de_AT.ISO_8859-1        de_AT.ISO8859-1
 de_AT.ISO_8859-15       de_AT.ISO8859-15
+de_CH                   de_CH.ISO8859-15
 de_CH.ISO_8859-1        de_CH.ISO8859-1
 de_CH.ISO_8859-15       de_CH.ISO8859-15
+de_DE                   de_DE.ISO8859-15
 de_DE.ISO_8859-1        de_DE.ISO8859-1
 de_DE.ISO_8859-15       de_DE.ISO8859-15
+el_GR                   el_GR.ISO8859-7
 el_GR.ISO_8859-7        el_GR.ISO8859-7
+en_AU                   en_AU.ISO8859-15
 en_AU.ISO_8859-1        en_AU.ISO8859-1
 en_AU.ISO_8859-15       en_AU.ISO8859-15
+en_CA                   en_CA.ISO8859-15
 en_CA.ISO_8859-1        en_CA.ISO8859-1
 en_CA.ISO_8859-15       en_CA.ISO8859-15
+en_GB                   en_GB.ISO8859-15
 en_GB.ISO_8859-1        en_GB.ISO8859-1
 en_GB.ISO_8859-15       en_GB.ISO8859-15
+en_NZ                   en_NZ.ISO8859-15
 en_NZ.ISO_8859-1        en_NZ.ISO8859-1
 en_NZ.ISO_8859-15       en_NZ.ISO8859-15
+en_US                   en_US.ISO8859-15
 en_US.ISO_8859-1        en_US.ISO8859-1
 en_US.ISO_8859-15       en_US.ISO8859-15
 en_US.US-ASCII          C
+es_ES                   es_ES.ISO8859-15
 es_ES.ISO_8859-1        es_ES.ISO8859-1
 es_ES.ISO_8859-15       es_ES.ISO8859-15
+et_EE                   et_EE.ISO8859-15
 et_EE.ISO_8859-15       et_EE.ISO8859-15
+fi_FI                   fi_FI.ISO8859-15
 fi_FI.ISO_8859-1        fi_FI.ISO8859-1
 fi_FI.ISO_8859-15       fi_FI.ISO8859-15
+fr_BE                   fr_BE.ISO8859-15
 fr_BE.ISO_8859-1        fr_BE.ISO8859-1
 fr_BE.ISO_8859-15       fr_BE.ISO8859-15
+fr_CA                   fr_CA.ISO8859-15
 fr_CA.ISO_8859-1        fr_CA.ISO8859-1
 fr_CA.ISO_8859-15       fr_CA.ISO8859-15
+fr_CH                   fr_CH.ISO8859-15
 fr_CH.ISO_8859-1        fr_CH.ISO8859-1
 fr_CH.ISO_8859-15       fr_CH.ISO8859-15
+fr_FR                   fr_FR.ISO8859-15
 fr_FR.ISO_8859-1        fr_FR.ISO8859-1
 fr_FR.ISO_8859-15       fr_FR.ISO8859-15
+hr_HR                   hr_HR.ISO8859-2
 hr_HR.ISO_8859-2        hr_HR.ISO8859-2
+hu_HU                   hu_HU.ISO8859-2
 hu_HU.ISO_8859-2        hu_HU.ISO8859-2
+is_IS                   is_IS.ISO8859-15
 is_IS.ISO_8859-1        is_IS.ISO8859-1
 is_IS.ISO_8859-15       is_IS.ISO8859-15
+it_CH                   it_CH.ISO8859-15
 it_CH.ISO_8859-1        it_CH.ISO8859-1
 it_CH.ISO_8859-15       it_CH.ISO8859-15
+it_IT                   it_IT.ISO8859-15
 it_IT.ISO_8859-1        it_IT.ISO8859-1
 it_IT.ISO_8859-15       it_IT.ISO8859-15
 ja_JP.EUC               ja_JP.eucJP
 ja_JP.Shift_JIS         ja_JP.SJIS
 ko_KR.EUC               ko_KR.eucKR
+la_LN                   la_LN.ISO8859-15
 la_LN.ASCII             la_LN.US-ASCII
 la_LN.ISO_8859-1        la_LN.ISO8859-1
 la_LN.ISO_8859-15       la_LN.ISO8859-15
 la_LN.ISO_8859-2        la_LN.ISO8859-2
 la_LN.ISO_8859-4        la_LN.ISO8859-4
+lt_LT                   lt_LT.ISO8859-4
 lt_LT.ISO_8859-4        lt_LT.ISO8859-4
+nl_BE                   nl_BE.ISO8859-15
 nl_BE.ISO_8859-1        nl_BE.ISO8859-1
 nl_BE.ISO_8859-15       nl_BE.ISO8859-15
+nl_NL                   nl_NL.ISO8859-15
 nl_NL.ISO_8859-1        nl_NL.ISO8859-1
 nl_NL.ISO_8859-15       nl_NL.ISO8859-15
+no_NO                   no_NO.ISO8859-15
 no_NO.ISO_8859-1        no_NO.ISO8859-1
 no_NO.ISO_8859-15       no_NO.ISO8859-15
+pl_PL                   pl_PL.ISO8859-2
 pl_PL.ISO_8859-2        pl_PL.ISO8859-2
+pt_PT                   pt_PT.ISO8859-15
 pt_PT.ISO_8859-1        pt_PT.ISO8859-1
 pt_PT.ISO_8859-15       pt_PT.ISO8859-15
+ru_RU                   ru_RU.ISO8859-5
 ru_RU.ISO_8859-5        ru_RU.ISO8859-5
+ru_SU                   ru_RU.ISO8859-5
 ru_SU.CP866             ru_RU.CP866
 ru_SU.ISO_8859-5        ru_RU.ISO8859-5
 ru_SU.ISO8859-5         ru_RU.ISO8859-5
 ru_SU.KOI8-R            ru_RU.KOI8-R
+sk_SK                   sk_SK.ISO8859-2
 sk_SK.ISO_8859-2        sk_SK.ISO8859-2
+sl_SI                   sl_SI.ISO8859-2
 sl_SI.ISO_8859-2        sl_SI.ISO8859-2
+sv_SE                   sv_SE.ISO8859-15
 sv_SE.ISO_8859-1        sv_SE.ISO8859-1
 sv_SE.ISO_8859-15       sv_SE.ISO8859-15
+tr_TR                   tr_TR.ISO8859-9
 tr_TR.ISO_8859-9        tr_TR.ISO8859-9
 zh_CN.EUC               zh_CN.eucCN
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-standards" in the body of the message




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