diff --git a/share/colldef/Makefile b/share/colldef/Makefile index 66487fb76984..f7e24446342d 100644 --- a/share/colldef/Makefile +++ b/share/colldef/Makefile @@ -1,157 +1,158 @@ # $FreeBSD$ +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_COLLATE .SUFFIXES: .src .LC_COLLATE MAPLOC= ${.CURDIR}/../../tools/tools/locale/etc/final-maps CLDR_VERSION= "34.0" .include .src.LC_COLLATE: localedef ${LOCALEDEF_ENDIAN} -D -U -i ${.IMPSRC} \ -V ${CLDR_VERSION} \ -f ${MAPLOC}/map.${.TARGET:T:R:E:C/@.*//} ${.OBJDIR}/${.IMPSRC:T:R} LOCALES_MAPPED+= af_ZA.ISO8859-1 af_ZA.ISO8859-15 LOCALES_MAPPED+= be_BY.ISO8859-5 be_BY.CP1251 LOCALES_MAPPED+= be_BY.ISO8859-5 be_BY.CP1131 LOCALES_MAPPED+= ru_RU.KOI8-R ru_RU.ISO8859-5 LOCALES_MAPPED+= ru_RU.KOI8-R ru_RU.CP866 LOCALES_MAPPED+= ru_RU.KOI8-R ru_RU.CP1251 LOCALES_MAPPED+= ru_RU.KOI8-R bg_BG.CP1251 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_IT.ISO8859-1 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_FR.ISO8859-15 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_FR.ISO8859-1 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_ES.ISO8859-15 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_ES.ISO8859-1 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_AD.ISO8859-15 LOCALES_MAPPED+= ca_IT.ISO8859-15 ca_AD.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 pt_PT.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 pt_BR.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 nl_NL.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 nl_NL.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 nl_BE.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 nl_BE.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 it_IT.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 it_IT.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 it_CH.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 it_CH.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 fr_FR.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 fr_FR.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 fr_CH.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 fr_CH.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 fr_BE.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 fr_BE.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 eu_ES.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 eu_ES.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_ZA.US-ASCII LOCALES_MAPPED+= pt_PT.ISO8859-15 en_ZA.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_ZA.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_US.US-ASCII LOCALES_MAPPED+= pt_PT.ISO8859-15 en_US.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_US.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_SG.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_NZ.US-ASCII LOCALES_MAPPED+= pt_PT.ISO8859-15 en_NZ.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_NZ.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_IE.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_IE.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_HK.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_GB.US-ASCII LOCALES_MAPPED+= pt_PT.ISO8859-15 en_GB.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_GB.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_CA.US-ASCII LOCALES_MAPPED+= pt_PT.ISO8859-15 en_CA.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_CA.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_AU.US-ASCII LOCALES_MAPPED+= pt_PT.ISO8859-15 en_AU.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 en_AU.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 de_DE.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 de_DE.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 de_CH.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 de_CH.ISO8859-1 LOCALES_MAPPED+= pt_PT.ISO8859-15 de_AT.ISO8859-15 LOCALES_MAPPED+= pt_PT.ISO8859-15 de_AT.ISO8859-1 LOCALES_MAPPED+= es_MX.ISO8859-1 es_ES.ISO8859-15 LOCALES_MAPPED+= es_MX.ISO8859-1 es_ES.ISO8859-1 LOCALES_MAPPED+= es_MX.ISO8859-1 es_AR.ISO8859-1 LOCALES_MAPPED+= et_EE.ISO8859-15 et_EE.ISO8859-1 LOCALES_MAPPED+= fi_FI.ISO8859-15 fi_FI.ISO8859-1 LOCALES_MAPPED+= fr_CA.ISO8859-15 fr_CA.ISO8859-1 LOCALES_MAPPED+= is_IS.ISO8859-15 is_IS.ISO8859-1 LOCALES_MAPPED+= sv_SE.ISO8859-15 sv_SE.ISO8859-1 LOCALES_MAPPED+= sv_SE.ISO8859-15 sv_FI.ISO8859-15 LOCALES_MAPPED+= sv_SE.ISO8859-15 sv_FI.ISO8859-1 LOCALES_MAPPED+= uk_UA.KOI8-U uk_UA.ISO8859-5 LOCALES_MAPPED+= uk_UA.KOI8-U uk_UA.CP1251 LOCALES+= ko_KR.eucKR LOCALES+= lt_LT.ISO8859-13 LOCALES+= lv_LV.ISO8859-13 LOCALES+= pl_PL.ISO8859-2 LOCALES+= ro_RO.ISO8859-2 LOCALES+= sl_SI.ISO8859-2 LOCALES+= sv_SE.ISO8859-15 LOCALES+= tr_TR.ISO8859-9 LOCALES+= uk_UA.KOI8-U LOCALES+= ja_JP.SJIS LOCALES+= is_IS.ISO8859-15 LOCALES+= hy_AM.ARMSCII-8 LOCALES+= hi_IN.ISCII-DEV LOCALES+= fr_CA.ISO8859-15 LOCALES+= fi_FI.ISO8859-15 LOCALES+= et_EE.ISO8859-15 LOCALES+= es_MX.ISO8859-1 LOCALES+= af_ZA.ISO8859-1 LOCALSE+= be_BY.ISO8859-5 LOCALES+= pt_PT.ISO8859-15 LOCALES+= el_GR.ISO8859-7 LOCALES+= ru_RU.KOI8-R LOCALES+= cs_CZ.ISO8859-2 LOCALES+= da_DK.ISO8859-1 LOCALES+= da_DK.ISO8859-15 LOCALES+= hr_HR.ISO8859-2 LOCALES+= hu_HU.ISO8859-2 LOCALES+= nb_NO.ISO8859-1 LOCALES+= nb_NO.ISO8859-15 LOCALES+= sk_SK.ISO8859-2 LOCALES+= sr_RS.ISO8859-2 LOCALES+= sr_RS.ISO8859-5 LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.eucCN LOCALES+= zh_TW.Big5 LOCALES+= zh_CN.GB18030 LOCALES+= zh_CN.GBK LOCALES+= ja_JP.eucJP LOCALES+= nn_NO.ISO8859-15 LOCALES+= nn_NO.ISO8859-1 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.LC_COLLATE/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.LC_COLLATE= ${LOCALEDIR}/${f} .endfor .for f t in ${LOCALES_MAPPED} FILES+= $t.LC_COLLATE FILESDIR_$t.LC_COLLATE= ${LOCALEDIR}/$t $t.LC_COLLATE: ${.CURDIR}/$f.src localedef ${LOCALEDEF_ENDIAN} -D -U -i ${.ALLSRC} \ -V ${CLDR_VERSION} \ -f ${MAPLOC}/map.${.TARGET:T:R:E:C/@.*//} \ ${.OBJDIR}/${.TARGET:T:R} .endfor .include diff --git a/share/colldef_unicode/Makefile b/share/colldef_unicode/Makefile index ea895d8e388e..f76a7a94805c 100644 --- a/share/colldef_unicode/Makefile +++ b/share/colldef_unicode/Makefile @@ -1,128 +1,130 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_COLLATE .SUFFIXES: .src .LC_COLLATE MAPLOC= ${.CURDIR}/../../tools/tools/locale/etc/final-maps CLDR_VERSION= "39.0" .include .src.LC_COLLATE: localedef ${LOCALEDEF_ENDIAN} -D -U -i ${.IMPSRC} \ -V ${CLDR_VERSION} \ -f ${MAPLOC}/map.${.TARGET:T:R:E:C/@.*//} ${.OBJDIR}/${.IMPSRC:T:R} LOCALES+= af_ZA.UTF-8 LOCALES+= am_ET.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.UTF-8 LOCALES+= ca_AD.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= da_DK.UTF-8 LOCALES+= el_GR.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= es_MX.UTF-8 LOCALES+= et_EE.UTF-8 LOCALES+= fa_AF.UTF-8 LOCALES+= fa_IR.UTF-8 LOCALES+= fi_FI.UTF-8 LOCALES+= fr_CA.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.UTF-8 LOCALES+= ja_JP.UTF-8 LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= lt_LT.UTF-8 LOCALES+= lv_LV.UTF-8 LOCALES+= nn_NO.UTF-8 LOCALES+= pl_PL.UTF-8 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_RS.UTF-8 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.UTF-8 LOCALES+= zh_TW.UTF-8 LOCALES_MAPPED+= sr_RS.UTF-8@latin hr_HR.UTF-8 SAME+= ar_SA.UTF-8 ar_QA.UTF-8 SAME+= ar_SA.UTF-8 ar_MA.UTF-8 SAME+= ar_SA.UTF-8 ar_JO.UTF-8 SAME+= ar_SA.UTF-8 ar_EG.UTF-8 SAME+= ar_SA.UTF-8 ar_AE.UTF-8 SAME+= ru_RU.UTF-8 mn_MN.UTF-8 SAME+= ru_RU.UTF-8 bg_BG.UTF-8 SAME+= ca_AD.UTF-8 ca_IT.UTF-8 SAME+= ca_AD.UTF-8 ca_FR.UTF-8 SAME+= ca_AD.UTF-8 ca_ES.UTF-8 SAME+= en_US.UTF-8 pt_PT.UTF-8 SAME+= en_US.UTF-8 pt_BR.UTF-8 SAME+= en_US.UTF-8 nl_NL.UTF-8 SAME+= en_US.UTF-8 nl_BE.UTF-8 SAME+= en_US.UTF-8 it_IT.UTF-8 SAME+= en_US.UTF-8 it_CH.UTF-8 SAME+= en_US.UTF-8 ga_IE.UTF-8 SAME+= en_US.UTF-8 fr_FR.UTF-8 SAME+= en_US.UTF-8 fr_CH.UTF-8 SAME+= en_US.UTF-8 fr_BE.UTF-8 SAME+= en_US.UTF-8 eu_ES.UTF-8 SAME+= en_US.UTF-8 en_ZA.UTF-8 SAME+= en_US.UTF-8 en_SG.UTF-8 SAME+= en_US.UTF-8 en_PH.UTF-8 SAME+= en_US.UTF-8 en_NZ.UTF-8 SAME+= en_US.UTF-8 en_IE.UTF-8 SAME+= en_US.UTF-8 en_HK.UTF-8 SAME+= en_US.UTF-8 en_GB.UTF-8 SAME+= en_US.UTF-8 en_CA.UTF-8 SAME+= en_US.UTF-8 en_AU.UTF-8 SAME+= en_US.UTF-8 de_DE.UTF-8 SAME+= en_US.UTF-8 de_CH.UTF-8 SAME+= en_US.UTF-8 de_AT.UTF-8 SAME+= es_MX.UTF-8 es_ES.UTF-8 SAME+= es_MX.UTF-8 es_CR.UTF-8 SAME+= es_MX.UTF-8 es_AR.UTF-8 SAME+= nn_NO.UTF-8 nb_NO.UTF-8 SAME+= se_NO.UTF-8 se_FI.UTF-8 SAME+= sv_SE.UTF-8 sv_FI.UTF-8 SAME+= zh_TW.UTF-8 zh_HK.UTF-8 FILES= ${LOCALES:S/$/.LC_COLLATE/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.LC_COLLATE= ${LOCALEDIR}/${f} .endfor .for f t in ${LOCALES_MAPPED} FILES+= $t.LC_COLLATE FILESDIR_$t.LC_COLLATE= ${LOCALEDIR}/$t $t.LC_COLLATE: ${.CURDIR}/$f.src localedef ${LOCALEDEF_ENDIAN} -D -U -i ${.ALLSRC} \ -V ${CLDR_VERSION} \ -f ${MAPLOC}/map.${.TARGET:T:R:E:C/@.*//} \ ${.OBJDIR}/${.TARGET:T:R} .endfor .include diff --git a/share/ctypedef/Makefile b/share/ctypedef/Makefile index 1a57cfeb1444..912b4e6f4757 100644 --- a/share/ctypedef/Makefile +++ b/share/ctypedef/Makefile @@ -1,253 +1,260 @@ # $FreeBSD$ +PACKAGE= locales +FILESGROUPS= FILES ALWAYS +ALWAYSPACKAGE= runtime LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_CTYPE .SUFFIXES: .src .LC_CTYPE MAPLOC= ${.CURDIR}/../../tools/tools/locale/etc/final-maps .include .include .src.LC_CTYPE: localedef ${LOCALEDEF_ENDIAN} -D -U -c -w ${MAPLOC}/widths.txt \ -f ${MAPLOC}/map.${.IMPSRC:T:R:E} \ -i ${.IMPSRC} ${.OBJDIR}/${.IMPSRC:T:R} || true LOCALES+= C.UTF-8 .if ${MK_LOCALES} != no LOCALES+= be_BY.CP1131 LOCALES+= ca_IT.ISO8859-1 LOCALES+= ca_IT.ISO8859-15 LOCALES+= el_GR.ISO8859-7 LOCALES+= en_US.ISO8859-1 LOCALES+= en_US.ISO8859-15 LOCALES+= en_US.US-ASCII LOCALES+= hi_IN.ISCII-DEV LOCALES+= hy_AM.ARMSCII-8 LOCALES+= ja_JP.SJIS LOCALES+= ja_JP.eucJP LOCALES+= ko_KR.eucKR LOCALES+= lv_LV.ISO8859-13 LOCALES+= ru_RU.CP1251 LOCALES+= ru_RU.CP866 LOCALES+= ru_RU.ISO8859-5 LOCALES+= ru_RU.KOI8-R LOCALES+= sr_RS.ISO8859-2 LOCALES+= tr_TR.ISO8859-9 LOCALES+= uk_UA.CP1251 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= zh_CN.GB18030 LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.GBK LOCALES+= zh_CN.eucCN LOCALES+= zh_TW.Big5 SAME+= C.UTF-8 en_US.UTF-8 SAME+= C.UTF-8 ru_RU.UTF-8 SAME+= C.UTF-8 zh_TW.UTF-8 SAME+= C.UTF-8 zh_HK.UTF-8 SAME+= C.UTF-8 zh_CN.UTF-8 SAME+= C.UTF-8 uk_UA.UTF-8 SAME+= C.UTF-8 tr_TR.UTF-8 SAME+= C.UTF-8 sv_SE.UTF-8 SAME+= C.UTF-8 sv_FI.UTF-8 SAME+= C.UTF-8 sr_RS.UTF-8@latin SAME+= C.UTF-8 sr_RS.UTF-8 SAME+= C.UTF-8 sl_SI.UTF-8 SAME+= C.UTF-8 sk_SK.UTF-8 SAME+= C.UTF-8 se_NO.UTF-8 SAME+= C.UTF-8 se_FI.UTF-8 SAME+= C.UTF-8 ro_RO.UTF-8 SAME+= C.UTF-8 pt_PT.UTF-8 SAME+= C.UTF-8 pt_BR.UTF-8 SAME+= C.UTF-8 pl_PL.UTF-8 SAME+= C.UTF-8 nn_NO.UTF-8 SAME+= C.UTF-8 nl_NL.UTF-8 SAME+= C.UTF-8 nl_BE.UTF-8 SAME+= C.UTF-8 nb_NO.UTF-8 SAME+= C.UTF-8 mn_MN.UTF-8 SAME+= C.UTF-8 lv_LV.UTF-8 SAME+= C.UTF-8 lt_LT.UTF-8 SAME+= C.UTF-8 ko_KR.UTF-8 SAME+= C.UTF-8 kk_KZ.UTF-8 SAME+= C.UTF-8 ja_JP.UTF-8 SAME+= C.UTF-8 it_IT.UTF-8 SAME+= C.UTF-8 it_CH.UTF-8 SAME+= C.UTF-8 is_IS.UTF-8 SAME+= C.UTF-8 hy_AM.UTF-8 SAME+= C.UTF-8 hu_HU.UTF-8 SAME+= C.UTF-8 hr_HR.UTF-8 SAME+= C.UTF-8 hi_IN.UTF-8 SAME+= C.UTF-8 he_IL.UTF-8 SAME+= C.UTF-8 ga_IE.UTF-8 SAME+= C.UTF-8 fa_AF.UTF-8 SAME+= C.UTF-8 fa_IR.UTF-8 SAME+= C.UTF-8 fr_FR.UTF-8 SAME+= C.UTF-8 fr_CH.UTF-8 SAME+= C.UTF-8 fr_CA.UTF-8 SAME+= C.UTF-8 fr_BE.UTF-8 SAME+= C.UTF-8 fi_FI.UTF-8 SAME+= C.UTF-8 eu_ES.UTF-8 SAME+= C.UTF-8 et_EE.UTF-8 SAME+= C.UTF-8 es_MX.UTF-8 SAME+= C.UTF-8 es_ES.UTF-8 SAME+= C.UTF-8 es_CR.UTF-8 SAME+= C.UTF-8 es_AR.UTF-8 SAME+= C.UTF-8 en_ZA.UTF-8 SAME+= C.UTF-8 en_SG.UTF-8 SAME+= C.UTF-8 en_PH.UTF-8 SAME+= C.UTF-8 en_NZ.UTF-8 SAME+= C.UTF-8 en_IE.UTF-8 SAME+= C.UTF-8 en_HK.UTF-8 SAME+= C.UTF-8 en_GB.UTF-8 SAME+= C.UTF-8 en_CA.UTF-8 SAME+= C.UTF-8 en_AU.UTF-8 SAME+= C.UTF-8 el_GR.UTF-8 SAME+= C.UTF-8 de_DE.UTF-8 SAME+= C.UTF-8 de_CH.UTF-8 SAME+= C.UTF-8 de_AT.UTF-8 SAME+= C.UTF-8 da_DK.UTF-8 SAME+= C.UTF-8 cs_CZ.UTF-8 SAME+= C.UTF-8 ca_IT.UTF-8 SAME+= C.UTF-8 ca_FR.UTF-8 SAME+= C.UTF-8 ca_ES.UTF-8 SAME+= C.UTF-8 ca_AD.UTF-8 SAME+= C.UTF-8 bg_BG.UTF-8 SAME+= C.UTF-8 be_BY.UTF-8 SAME+= C.UTF-8 ar_SA.UTF-8 SAME+= C.UTF-8 ar_QA.UTF-8 SAME+= C.UTF-8 ar_MA.UTF-8 SAME+= C.UTF-8 ar_JO.UTF-8 SAME+= C.UTF-8 ar_EG.UTF-8 SAME+= C.UTF-8 ar_AE.UTF-8 SAME+= C.UTF-8 am_ET.UTF-8 SAME+= C.UTF-8 af_ZA.UTF-8 SAME+= en_US.ISO8859-1 sv_SE.ISO8859-1 SAME+= en_US.ISO8859-1 sv_FI.ISO8859-1 SAME+= en_US.ISO8859-1 pt_PT.ISO8859-1 SAME+= en_US.ISO8859-1 pt_BR.ISO8859-1 SAME+= en_US.ISO8859-1 nn_NO.ISO8859-1 SAME+= en_US.ISO8859-1 nl_NL.ISO8859-1 SAME+= en_US.ISO8859-1 nl_BE.ISO8859-1 SAME+= en_US.ISO8859-1 nb_NO.ISO8859-1 SAME+= en_US.ISO8859-1 it_IT.ISO8859-1 SAME+= en_US.ISO8859-1 it_CH.ISO8859-1 SAME+= en_US.ISO8859-1 is_IS.ISO8859-1 SAME+= en_US.ISO8859-1 fr_FR.ISO8859-1 SAME+= en_US.ISO8859-1 fr_CH.ISO8859-1 SAME+= en_US.ISO8859-1 fr_CA.ISO8859-1 SAME+= en_US.ISO8859-1 fr_BE.ISO8859-1 SAME+= en_US.ISO8859-1 fi_FI.ISO8859-1 SAME+= en_US.ISO8859-1 eu_ES.ISO8859-1 SAME+= en_US.ISO8859-1 et_EE.ISO8859-1 SAME+= en_US.ISO8859-1 es_MX.ISO8859-1 SAME+= en_US.ISO8859-1 es_ES.ISO8859-1 SAME+= en_US.ISO8859-1 es_AR.ISO8859-1 SAME+= en_US.ISO8859-1 en_ZA.ISO8859-1 SAME+= en_US.ISO8859-1 en_SG.ISO8859-1 SAME+= en_US.ISO8859-1 en_NZ.ISO8859-1 SAME+= en_US.ISO8859-1 en_IE.ISO8859-1 SAME+= en_US.ISO8859-1 en_HK.ISO8859-1 SAME+= en_US.ISO8859-1 en_GB.ISO8859-1 SAME+= en_US.ISO8859-1 en_CA.ISO8859-1 SAME+= en_US.ISO8859-1 en_AU.ISO8859-1 SAME+= en_US.ISO8859-1 de_DE.ISO8859-1 SAME+= en_US.ISO8859-1 de_CH.ISO8859-1 SAME+= en_US.ISO8859-1 de_AT.ISO8859-1 SAME+= en_US.ISO8859-1 da_DK.ISO8859-1 SAME+= en_US.ISO8859-1 af_ZA.ISO8859-1 SAME+= en_US.ISO8859-15 en_GB.ISO8859-15 SAME+= en_US.ISO8859-15 sv_SE.ISO8859-15 SAME+= en_US.ISO8859-15 sv_FI.ISO8859-15 SAME+= en_US.ISO8859-15 pt_PT.ISO8859-15 SAME+= en_US.ISO8859-15 nn_NO.ISO8859-15 SAME+= en_US.ISO8859-15 nl_NL.ISO8859-15 SAME+= en_US.ISO8859-15 nl_BE.ISO8859-15 SAME+= en_US.ISO8859-15 nb_NO.ISO8859-15 SAME+= en_US.ISO8859-15 it_IT.ISO8859-15 SAME+= en_US.ISO8859-15 it_CH.ISO8859-15 SAME+= en_US.ISO8859-15 is_IS.ISO8859-15 SAME+= en_US.ISO8859-15 fr_FR.ISO8859-15 SAME+= en_US.ISO8859-15 fr_CH.ISO8859-15 SAME+= en_US.ISO8859-15 fr_CA.ISO8859-15 SAME+= en_US.ISO8859-15 fr_BE.ISO8859-15 SAME+= en_US.ISO8859-15 fi_FI.ISO8859-15 SAME+= en_US.ISO8859-15 eu_ES.ISO8859-15 SAME+= en_US.ISO8859-15 et_EE.ISO8859-15 SAME+= en_US.ISO8859-15 es_ES.ISO8859-15 SAME+= en_US.ISO8859-15 en_ZA.ISO8859-15 SAME+= en_US.ISO8859-15 en_NZ.ISO8859-15 SAME+= en_US.ISO8859-15 en_IE.ISO8859-15 SAME+= en_US.ISO8859-15 en_CA.ISO8859-15 SAME+= en_US.ISO8859-15 en_AU.ISO8859-15 SAME+= en_US.ISO8859-15 de_DE.ISO8859-15 SAME+= en_US.ISO8859-15 de_CH.ISO8859-15 SAME+= en_US.ISO8859-15 de_AT.ISO8859-15 SAME+= en_US.ISO8859-15 da_DK.ISO8859-15 SAME+= en_US.ISO8859-15 af_ZA.ISO8859-15 SAME+= ru_RU.CP1251 bg_BG.CP1251 SAME+= ru_RU.CP1251 be_BY.CP1251 SAME+= ru_RU.ISO8859-5 sr_RS.ISO8859-5 SAME+= ru_RU.ISO8859-5 be_BY.ISO8859-5 SAME+= ca_IT.ISO8859-1 ca_FR.ISO8859-1 SAME+= ca_IT.ISO8859-1 ca_ES.ISO8859-1 SAME+= ca_IT.ISO8859-1 ca_AD.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_FR.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_ES.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_AD.ISO8859-15 SAME+= sr_RS.ISO8859-2 sl_SI.ISO8859-2 SAME+= sr_RS.ISO8859-2 sk_SK.ISO8859-2 SAME+= sr_RS.ISO8859-2 ro_RO.ISO8859-2 SAME+= sr_RS.ISO8859-2 pl_PL.ISO8859-2 SAME+= sr_RS.ISO8859-2 hu_HU.ISO8859-2 SAME+= sr_RS.ISO8859-2 hr_HR.ISO8859-2 SAME+= sr_RS.ISO8859-2 cs_CZ.ISO8859-2 SAME+= en_US.US-ASCII en_ZA.US-ASCII SAME+= en_US.US-ASCII en_NZ.US-ASCII SAME+= en_US.US-ASCII en_GB.US-ASCII SAME+= en_US.US-ASCII en_CA.US-ASCII SAME+= en_US.US-ASCII en_AU.US-ASCII SAME+= lv_LV.ISO8859-13 lt_LT.ISO8859-13 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) .endif -FILES= ${LOCALES:S/$/.LC_CTYPE/} +# C.UTF-8 is the default locale, so it should always been installed. +ALWAYS= C.UTF-8.LC_CTYPE +FILES= ${LOCALES:NC.UTF-8:S/$/.LC_CTYPE/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.LC_CTYPE= ${LOCALEDIR}/${f} .endfor +FILESDIR_C.UTF-8.LC_CTYPEPACKAGE= runtime SYMPAIRS+= zh_CN.eucCN.src zh_CN.GB18030.src SYMPAIRS+= zh_CN.eucCN.src zh_CN.GB2312.src SYMPAIRS+= zh_CN.eucCN.src zh_CN.GBK.src SYMPAIRS+= en_US.ISO8859-1.src en_US.ISO8859-15.src SYMPAIRS+= en_US.ISO8859-1.src en_US.US-ASCII.src SYMPAIRS+= en_US.ISO8859-1.src lv_LV.ISO8859-13.src SYMPAIRS+= en_US.ISO8859-1.src sr_RS.ISO8859-2.src SYMPAIRS+= en_US.ISO8859-1.src tr_TR.ISO8859-9.src SYMPAIRS+= ca_IT.ISO8859-1.src ca_IT.ISO8859-15.src SYMPAIRS+= uk_UA.CP1251.src uk_UA.ISO8859-5.src SYMPAIRS+= uk_UA.CP1251.src uk_UA.KOI8-U.src SYMPAIRS+= ja_JP.eucJP.src ja_JP.SJIS.src SYMPAIRS+= be_BY.CP1131.src ru_RU.CP1251.src SYMPAIRS+= be_BY.CP1131.src ru_RU.CP866.src SYMPAIRS+= be_BY.CP1131.src ru_RU.ISO8859-5.src SYMPAIRS+= be_BY.CP1131.src ru_RU.KOI8-R.src .for s t in ${SYMPAIRS} ${t:S/src$/LC_CTYPE/}: $s localedef ${LOCALEDEF_ENDIAN} -D -U -c -w ${MAPLOC}/widths.txt \ -f ${MAPLOC}/map.${.TARGET:T:R:C/^.*\.//} \ -i ${.ALLSRC} ${.OBJDIR}/${.TARGET:T:R} || true .endfor .include diff --git a/share/monetdef/Makefile b/share/monetdef/Makefile index bec0b78d9433..dd1732bd87c6 100644 --- a/share/monetdef/Makefile +++ b/share/monetdef/Makefile @@ -1,143 +1,145 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_MONETARY .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= be_BY.CP1131 LOCALES+= be_BY.ISO8859-5 LOCALES+= bg_BG.CP1251 LOCALES+= cs_CZ.ISO8859-2 LOCALES+= en_GB.ISO8859-15 LOCALES+= en_GB.US-ASCII LOCALES+= en_IE.ISO8859-1 LOCALES+= en_IE.ISO8859-15 LOCALES+= en_ZA.ISO8859-15 LOCALES+= en_ZA.US-ASCII LOCALES+= fr_CA.ISO8859-15 LOCALES+= fr_CH.ISO8859-15 LOCALES+= hi_IN.ISCII-DEV LOCALES+= hu_HU.ISO8859-2 LOCALES+= hy_AM.ARMSCII-8 LOCALES+= it_CH.ISO8859-15 LOCALES+= it_IT.ISO8859-15 LOCALES+= ja_JP.SJIS LOCALES+= ja_JP.eucJP LOCALES+= ko_KR.eucKR LOCALES+= nb_NO.ISO8859-15 LOCALES+= nl_BE.ISO8859-1 LOCALES+= nl_BE.ISO8859-15 LOCALES+= nl_NL.ISO8859-1 LOCALES+= nl_NL.ISO8859-15 LOCALES+= nn_NO.ISO8859-15 LOCALES+= pl_PL.ISO8859-2 LOCALES+= ru_RU.CP866 LOCALES+= ru_RU.ISO8859-5 LOCALES+= ru_RU.KOI8-R LOCALES+= sl_SI.ISO8859-2 #LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_FI.ISO8859-1 LOCALES+= sv_FI.ISO8859-15 LOCALES+= sv_SE.ISO8859-15 LOCALES+= tr_TR.ISO8859-9 LOCALES+= uk_UA.CP1251 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.GBK LOCALES+= zh_CN.eucCN LOCALES+= zh_TW.Big5 LOCALES+= da_DK.ISO8859-15 LOCALES+= en_AU.US-ASCII LOCALES+= en_CA.US-ASCII LOCALES+= en_HK.ISO8859-1 LOCALES+= en_SG.ISO8859-1 LOCALES+= en_NZ.US-ASCII LOCALES+= en_US.US-ASCII LOCALES+= es_AR.ISO8859-1 LOCALES+= es_MX.ISO8859-1 LOCALES+= hr_HR.ISO8859-2 LOCALES+= is_IS.ISO8859-15 LOCALES+= pt_BR.ISO8859-1 LOCALES+= ro_RO.ISO8859-2 LOCALES+= sr_RS.ISO8859-2 SAME+= en_ZA.ISO8859-15 en_ZA.ISO8859-1 SAME+= en_ZA.ISO8859-15 af_ZA.ISO8859-15 SAME+= en_ZA.ISO8859-15 af_ZA.ISO8859-1 SAME+= be_BY.ISO8859-5 be_BY.CP1251 SAME+= sl_SI.ISO8859-2 it_IT.ISO8859-1 SAME+= sl_SI.ISO8859-2 eu_ES.ISO8859-1 SAME+= sl_SI.ISO8859-2 es_ES.ISO8859-1 SAME+= sl_SI.ISO8859-2 de_DE.ISO8859-1 SAME+= sl_SI.ISO8859-2 ca_IT.ISO8859-1 SAME+= sl_SI.ISO8859-2 ca_FR.ISO8859-1 SAME+= sl_SI.ISO8859-2 ca_ES.ISO8859-1 SAME+= sl_SI.ISO8859-2 ca_AD.ISO8859-1 SAME+= it_IT.ISO8859-15 eu_ES.ISO8859-15 SAME+= it_IT.ISO8859-15 es_ES.ISO8859-15 SAME+= it_IT.ISO8859-15 el_GR.ISO8859-7 SAME+= it_IT.ISO8859-15 de_DE.ISO8859-15 SAME+= it_IT.ISO8859-15 ca_IT.ISO8859-15 SAME+= it_IT.ISO8859-15 ca_FR.ISO8859-15 SAME+= it_IT.ISO8859-15 ca_ES.ISO8859-15 SAME+= it_IT.ISO8859-15 ca_AD.ISO8859-15 SAME+= da_DK.ISO8859-15 da_DK.ISO8859-1 SAME+= nl_BE.ISO8859-1 de_AT.ISO8859-1 SAME+= nl_BE.ISO8859-15 de_AT.ISO8859-15 SAME+= it_CH.ISO8859-15 it_CH.ISO8859-1 SAME+= it_CH.ISO8859-15 de_CH.ISO8859-15 SAME+= it_CH.ISO8859-15 de_CH.ISO8859-1 SAME+= en_AU.US-ASCII en_AU.ISO8859-15 SAME+= en_AU.US-ASCII en_AU.ISO8859-1 SAME+= en_CA.US-ASCII en_CA.ISO8859-15 SAME+= en_CA.US-ASCII en_CA.ISO8859-1 SAME+= en_GB.ISO8859-15 en_GB.ISO8859-1 SAME+= en_NZ.US-ASCII en_NZ.ISO8859-15 SAME+= en_NZ.US-ASCII en_NZ.ISO8859-1 SAME+= en_US.US-ASCII en_US.ISO8859-15 SAME+= en_US.US-ASCII en_US.ISO8859-1 SAME+= sv_FI.ISO8859-1 sk_SK.ISO8859-2 SAME+= sv_FI.ISO8859-1 pt_PT.ISO8859-1 SAME+= sv_FI.ISO8859-1 lv_LV.ISO8859-13 SAME+= sv_FI.ISO8859-1 lt_LT.ISO8859-13 SAME+= sv_FI.ISO8859-1 fr_FR.ISO8859-1 SAME+= sv_FI.ISO8859-1 fr_BE.ISO8859-1 SAME+= sv_FI.ISO8859-1 fi_FI.ISO8859-1 SAME+= sv_FI.ISO8859-1 et_EE.ISO8859-1 SAME+= sv_FI.ISO8859-15 pt_PT.ISO8859-15 SAME+= sv_FI.ISO8859-15 fr_FR.ISO8859-15 SAME+= sv_FI.ISO8859-15 fr_BE.ISO8859-15 SAME+= sv_FI.ISO8859-15 fi_FI.ISO8859-15 SAME+= sv_FI.ISO8859-15 et_EE.ISO8859-15 SAME+= fr_CA.ISO8859-15 fr_CA.ISO8859-1 SAME+= fr_CH.ISO8859-15 fr_CH.ISO8859-1 SAME+= is_IS.ISO8859-15 is_IS.ISO8859-1 SAME+= nb_NO.ISO8859-15 nb_NO.ISO8859-1 SAME+= nn_NO.ISO8859-15 nn_NO.ISO8859-1 SAME+= ru_RU.ISO8859-5 ru_RU.CP1251 SAME+= sr_RS.ISO8859-2 sr_RS.ISO8859-5 SAME+= sv_SE.ISO8859-15 sv_SE.ISO8859-1 SAME+= zh_CN.GBK zh_CN.GB18030 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/monetdef_unicode/Makefile b/share/monetdef_unicode/Makefile index 2fa073f3981d..2ab442ad51b4 100644 --- a/share/monetdef_unicode/Makefile +++ b/share/monetdef_unicode/Makefile @@ -1,110 +1,112 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_MONETARY .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= am_ET.UTF-8 LOCALES+= ar_AE.UTF-8 LOCALES+= ar_EG.UTF-8 LOCALES+= ar_JO.UTF-8 LOCALES+= ar_MA.UTF-8 LOCALES+= ar_QA.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.UTF-8 LOCALES+= bg_BG.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= da_DK.UTF-8 LOCALES+= de_AT.UTF-8 LOCALES+= en_AU.UTF-8 LOCALES+= en_CA.UTF-8 LOCALES+= en_GB.UTF-8 LOCALES+= en_NZ.UTF-8 LOCALES+= en_PH.UTF-8 LOCALES+= en_SG.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= en_ZA.UTF-8 LOCALES+= es_AR.UTF-8 LOCALES+= es_CR.UTF-8 LOCALES+= es_MX.UTF-8 LOCALES+= fa_AF.UTF-8 LOCALES+= fa_IR.UTF-8 LOCALES+= fr_CA.UTF-8 LOCALES+= fr_CH.UTF-8 LOCALES+= fr_FR.UTF-8 LOCALES+= ga_IE.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= hr_HR.UTF-8 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.UTF-8 LOCALES+= it_CH.UTF-8 LOCALES+= it_IT.UTF-8 LOCALES+= ja_JP.UTF-8 LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= mn_MN.UTF-8 LOCALES+= nb_NO.UTF-8 LOCALES+= nl_NL.UTF-8 LOCALES+= pl_PL.UTF-8 LOCALES+= pt_BR.UTF-8 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_FI.UTF-8 LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.UTF-8 LOCALES+= zh_HK.UTF-8 LOCALES+= zh_TW.UTF-8 SAME+= en_ZA.UTF-8 af_ZA.UTF-8 SAME+= it_IT.UTF-8 es_ES.UTF-8 SAME+= it_IT.UTF-8 el_GR.UTF-8 SAME+= it_IT.UTF-8 de_DE.UTF-8 SAME+= it_IT.UTF-8 ca_IT.UTF-8 SAME+= it_IT.UTF-8 ca_FR.UTF-8 SAME+= it_IT.UTF-8 ca_ES.UTF-8 SAME+= it_IT.UTF-8 ca_AD.UTF-8 SAME+= it_CH.UTF-8 de_CH.UTF-8 SAME+= zh_HK.UTF-8 en_HK.UTF-8 SAME+= ga_IE.UTF-8 en_IE.UTF-8 SAME+= sv_FI.UTF-8 se_FI.UTF-8 SAME+= sv_FI.UTF-8 lt_LT.UTF-8 SAME+= sv_FI.UTF-8 fi_FI.UTF-8 SAME+= sv_FI.UTF-8 et_EE.UTF-8 SAME+= sl_SI.UTF-8 eu_ES.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 SAME+= sk_SK.UTF-8 pt_PT.UTF-8 SAME+= sk_SK.UTF-8 lv_LV.UTF-8 SAME+= nl_NL.UTF-8 nl_BE.UTF-8 SAME+= se_NO.UTF-8 nn_NO.UTF-8 SAME+= sr_RS.UTF-8@latin sr_RS.UTF-8 FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/msgdef/Makefile b/share/msgdef/Makefile index a176d30c01fc..4cc6a45b46c6 100644 --- a/share/msgdef/Makefile +++ b/share/msgdef/Makefile @@ -1,136 +1,138 @@ # $FreeBSD$ +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_MESSAGES .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= be_BY.CP1131 LOCALES+= be_BY.CP1251 LOCALES+= be_BY.ISO8859-5 LOCALES+= bg_BG.CP1251 LOCALES+= el_GR.ISO8859-7 LOCALES+= es_MX.ISO8859-1 LOCALES+= fi_FI.ISO8859-15 LOCALES+= hi_IN.ISCII-DEV LOCALES+= hy_AM.ARMSCII-8 LOCALES+= is_IS.ISO8859-15 LOCALES+= it_IT.ISO8859-15 LOCALES+= ja_JP.SJIS LOCALES+= ja_JP.eucJP LOCALES+= ko_KR.eucKR LOCALES+= lv_LV.ISO8859-13 LOCALES+= pt_PT.ISO8859-15 LOCALES+= ru_RU.CP1251 LOCALES+= ru_RU.CP866 LOCALES+= ru_RU.ISO8859-5 LOCALES+= ru_RU.KOI8-R LOCALES+= sk_SK.ISO8859-2 LOCALES+= sr_RS.ISO8859-5 LOCALES+= tr_TR.ISO8859-9 LOCALES+= uk_UA.CP1251 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.GBK LOCALES+= zh_TW.Big5 LOCALES+= nl_NL.ISO8859-15 LOCALES+= cs_CZ.ISO8859-2 LOCALES+= sv_SE.ISO8859-15 LOCALES+= de_DE.ISO8859-15 LOCALES+= en_US.US-ASCII LOCALES+= et_EE.ISO8859-15 LOCALES+= eu_ES.ISO8859-15 LOCALES+= fr_FR.ISO8859-15 LOCALES+= hu_HU.ISO8859-2 LOCALES+= ro_RO.ISO8859-2 LOCALES+= nb_NO.ISO8859-15 LOCALES+= lt_LT.ISO8859-13 LOCALES+= pl_PL.ISO8859-2 SAME+= nl_NL.ISO8859-15 nl_NL.ISO8859-1 SAME+= nl_NL.ISO8859-15 af_ZA.ISO8859-15 SAME+= nl_NL.ISO8859-15 af_ZA.ISO8859-1 SAME+= es_MX.ISO8859-1 es_ES.ISO8859-15 SAME+= es_MX.ISO8859-1 es_ES.ISO8859-1 SAME+= es_MX.ISO8859-1 es_AR.ISO8859-1 SAME+= es_MX.ISO8859-1 ca_IT.ISO8859-15 SAME+= es_MX.ISO8859-1 ca_IT.ISO8859-1 SAME+= es_MX.ISO8859-1 ca_FR.ISO8859-15 SAME+= es_MX.ISO8859-1 ca_FR.ISO8859-1 SAME+= es_MX.ISO8859-1 ca_ES.ISO8859-15 SAME+= es_MX.ISO8859-1 ca_ES.ISO8859-1 SAME+= es_MX.ISO8859-1 ca_AD.ISO8859-15 SAME+= es_MX.ISO8859-1 ca_AD.ISO8859-1 SAME+= sv_SE.ISO8859-15 sv_SE.ISO8859-1 SAME+= sv_SE.ISO8859-15 sv_FI.ISO8859-15 SAME+= sv_SE.ISO8859-15 sv_FI.ISO8859-1 SAME+= sv_SE.ISO8859-15 da_DK.ISO8859-15 SAME+= sv_SE.ISO8859-15 da_DK.ISO8859-1 SAME+= de_DE.ISO8859-15 de_DE.ISO8859-1 SAME+= de_DE.ISO8859-15 de_CH.ISO8859-15 SAME+= de_DE.ISO8859-15 de_CH.ISO8859-1 SAME+= de_DE.ISO8859-15 de_AT.ISO8859-15 SAME+= de_DE.ISO8859-15 de_AT.ISO8859-1 SAME+= en_US.US-ASCII en_ZA.US-ASCII SAME+= en_US.US-ASCII en_ZA.ISO8859-15 SAME+= en_US.US-ASCII en_ZA.ISO8859-1 SAME+= en_US.US-ASCII en_US.ISO8859-15 SAME+= en_US.US-ASCII en_US.ISO8859-1 SAME+= en_US.US-ASCII en_SG.ISO8859-1 SAME+= en_US.US-ASCII en_NZ.US-ASCII SAME+= en_US.US-ASCII en_NZ.ISO8859-15 SAME+= en_US.US-ASCII en_NZ.ISO8859-1 SAME+= en_US.US-ASCII en_IE.ISO8859-15 SAME+= en_US.US-ASCII en_IE.ISO8859-1 SAME+= en_US.US-ASCII en_HK.ISO8859-1 SAME+= en_US.US-ASCII en_GB.US-ASCII SAME+= en_US.US-ASCII en_GB.ISO8859-15 SAME+= en_US.US-ASCII en_GB.ISO8859-1 SAME+= en_US.US-ASCII en_CA.US-ASCII SAME+= en_US.US-ASCII en_CA.ISO8859-15 SAME+= en_US.US-ASCII en_CA.ISO8859-1 SAME+= en_US.US-ASCII en_AU.US-ASCII SAME+= en_US.US-ASCII en_AU.ISO8859-15 SAME+= en_US.US-ASCII en_AU.ISO8859-1 SAME+= et_EE.ISO8859-15 et_EE.ISO8859-1 SAME+= eu_ES.ISO8859-15 eu_ES.ISO8859-1 SAME+= fi_FI.ISO8859-15 fi_FI.ISO8859-1 SAME+= fr_FR.ISO8859-15 fr_FR.ISO8859-1 SAME+= fr_FR.ISO8859-15 fr_CH.ISO8859-15 SAME+= fr_FR.ISO8859-15 fr_CH.ISO8859-1 SAME+= fr_FR.ISO8859-15 fr_CA.ISO8859-15 SAME+= fr_FR.ISO8859-15 fr_CA.ISO8859-1 SAME+= fr_FR.ISO8859-15 fr_BE.ISO8859-15 SAME+= fr_FR.ISO8859-15 fr_BE.ISO8859-1 SAME+= sr_RS.ISO8859-2 sl_SI.ISO8859-2 SAME+= is_IS.ISO8859-15 is_IS.ISO8859-1 SAME+= it_IT.ISO8859-15 it_IT.ISO8859-1 SAME+= it_IT.ISO8859-15 it_CH.ISO8859-15 SAME+= it_IT.ISO8859-15 it_CH.ISO8859-1 SAME+= nb_NO.ISO8859-15 nb_NO.ISO8859-1 SAME+= nn_NO.ISO8859-15 nn_NO.ISO8859-15 SAME+= nn_NO.ISO8859-15 nn_NO.ISO8859-1 SAME+= pt_PT.ISO8859-15 pt_PT.ISO8859-1 SAME+= pt_PT.ISO8859-15 pt_BR.ISO8859-1 SAME+= zh_CN.GBK zh_CN.GB18030 SAME+= zh_CN.GBK zh_CN.eucCN SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/msgdef_unicode/Makefile b/share/msgdef_unicode/Makefile index 34f8b30ff733..608ba8860afb 100644 --- a/share/msgdef_unicode/Makefile +++ b/share/msgdef_unicode/Makefile @@ -1,110 +1,112 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_MESSAGES .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= am_ET.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= de_DE.UTF-8 LOCALES+= el_GR.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= es_MX.UTF-8 LOCALES+= et_EE.UTF-8 LOCALES+= eu_ES.UTF-8 LOCALES+= fa_IR.UTF-8 LOCALES+= fi_FI.UTF-8 LOCALES+= fr_FR.UTF-8 LOCALES+= ga_IE.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.UTF-8 LOCALES+= it_IT.UTF-8 LOCALES+= ja_JP.UTF-8 LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= lt_LT.UTF-8 LOCALES+= lv_LV.UTF-8 LOCALES+= mn_MN.UTF-8 LOCALES+= nb_NO.UTF-8 LOCALES+= nl_NL.UTF-8 LOCALES+= nn_NO.UTF-8 LOCALES+= pl_PL.UTF-8 LOCALES+= pt_PT.UTF-8 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.UTF-8 LOCALES+= sr_RS.UTF-8 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.UTF-8 LOCALES+= zh_TW.UTF-8 SAME+= nl_NL.UTF-8 nl_BE.UTF-8 SAME+= nl_NL.UTF-8 af_ZA.UTF-8 SAME+= ar_SA.UTF-8 ar_QA.UTF-8 SAME+= ar_SA.UTF-8 ar_MA.UTF-8 SAME+= ar_SA.UTF-8 ar_JO.UTF-8 SAME+= ar_SA.UTF-8 ar_EG.UTF-8 SAME+= ar_SA.UTF-8 ar_AE.UTF-8 SAME+= sr_RS.UTF-8 bg_BG.UTF-8 SAME+= es_MX.UTF-8 es_ES.UTF-8 SAME+= es_MX.UTF-8 es_CR.UTF-8 SAME+= es_MX.UTF-8 es_AR.UTF-8 SAME+= es_MX.UTF-8 ca_IT.UTF-8 SAME+= es_MX.UTF-8 ca_FR.UTF-8 SAME+= es_MX.UTF-8 ca_ES.UTF-8 SAME+= es_MX.UTF-8 ca_AD.UTF-8 SAME+= sv_SE.UTF-8 sv_FI.UTF-8 SAME+= sv_SE.UTF-8 da_DK.UTF-8 SAME+= de_DE.UTF-8 de_CH.UTF-8 SAME+= de_DE.UTF-8 de_AT.UTF-8 SAME+= en_US.UTF-8 en_ZA.UTF-8 SAME+= en_US.UTF-8 en_SG.UTF-8 SAME+= en_US.UTF-8 en_PH.UTF-8 SAME+= en_US.UTF-8 en_NZ.UTF-8 SAME+= en_US.UTF-8 en_IE.UTF-8 SAME+= en_US.UTF-8 en_HK.UTF-8 SAME+= en_US.UTF-8 en_GB.UTF-8 SAME+= en_US.UTF-8 en_CA.UTF-8 SAME+= en_US.UTF-8 en_AU.UTF-8 SAME+= fa_IR.UTF-8 fa_AF.UTF-8 SAME+= fr_FR.UTF-8 fr_CH.UTF-8 SAME+= fr_FR.UTF-8 fr_CA.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 SAME+= sr_RS.UTF-8@latin sl_SI.UTF-8 SAME+= sr_RS.UTF-8@latin hr_HR.UTF-8 SAME+= it_IT.UTF-8 it_CH.UTF-8 SAME+= pt_PT.UTF-8 pt_BR.UTF-8 SAME+= se_NO.UTF-8 se_FI.UTF-8 SAME+= zh_TW.UTF-8 zh_HK.UTF-8 FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/numericdef/Makefile b/share/numericdef/Makefile index da04535aa4c9..90e2551570b5 100644 --- a/share/numericdef/Makefile +++ b/share/numericdef/Makefile @@ -1,139 +1,141 @@ # $FreeBSD$ +PACKAGE= locale LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_NUMERIC .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= en_ZA.US-ASCII LOCALES+= it_CH.ISO8859-15 LOCALES+= ru_RU.CP866 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.eucCN LOCALES+= en_US.US-ASCII LOCALES+= tr_TR.ISO8859-9 LOCALES+= hi_IN.ISCII-DEV SAME+= uk_UA.ISO8859-5 uk_UA.CP1251 SAME+= uk_UA.ISO8859-5 sv_SE.ISO8859-15 SAME+= uk_UA.ISO8859-5 sv_SE.ISO8859-1 SAME+= uk_UA.ISO8859-5 sv_FI.ISO8859-15 SAME+= uk_UA.ISO8859-5 sv_FI.ISO8859-1 SAME+= uk_UA.ISO8859-5 sk_SK.ISO8859-2 SAME+= uk_UA.ISO8859-5 ru_RU.ISO8859-5 SAME+= uk_UA.ISO8859-5 ru_RU.CP1251 SAME+= uk_UA.ISO8859-5 pt_PT.ISO8859-15 SAME+= uk_UA.ISO8859-5 pt_PT.ISO8859-1 SAME+= uk_UA.ISO8859-5 pl_PL.ISO8859-2 SAME+= uk_UA.ISO8859-5 nn_NO.ISO8859-15 SAME+= uk_UA.ISO8859-5 nn_NO.ISO8859-1 SAME+= uk_UA.ISO8859-5 nb_NO.ISO8859-15 SAME+= uk_UA.ISO8859-5 nb_NO.ISO8859-1 SAME+= uk_UA.ISO8859-5 lv_LV.ISO8859-13 SAME+= uk_UA.ISO8859-5 lt_LT.ISO8859-13 SAME+= uk_UA.ISO8859-5 hy_AM.ARMSCII-8 SAME+= uk_UA.ISO8859-5 hu_HU.ISO8859-2 SAME+= uk_UA.ISO8859-5 fr_FR.ISO8859-15 SAME+= uk_UA.ISO8859-5 fr_FR.ISO8859-1 SAME+= uk_UA.ISO8859-5 fr_CH.ISO8859-15 SAME+= uk_UA.ISO8859-5 fr_CH.ISO8859-1 SAME+= uk_UA.ISO8859-5 fr_CA.ISO8859-15 SAME+= uk_UA.ISO8859-5 fr_CA.ISO8859-1 SAME+= uk_UA.ISO8859-5 fr_BE.ISO8859-15 SAME+= uk_UA.ISO8859-5 fr_BE.ISO8859-1 SAME+= uk_UA.ISO8859-5 fi_FI.ISO8859-15 SAME+= uk_UA.ISO8859-5 fi_FI.ISO8859-1 SAME+= uk_UA.ISO8859-5 et_EE.ISO8859-15 SAME+= uk_UA.ISO8859-5 et_EE.ISO8859-1 SAME+= uk_UA.ISO8859-5 en_ZA.ISO8859-15 SAME+= uk_UA.ISO8859-5 en_ZA.ISO8859-1 SAME+= uk_UA.ISO8859-5 de_AT.ISO8859-15 SAME+= uk_UA.ISO8859-5 de_AT.ISO8859-1 SAME+= uk_UA.ISO8859-5 cs_CZ.ISO8859-2 SAME+= uk_UA.ISO8859-5 bg_BG.CP1251 SAME+= uk_UA.ISO8859-5 be_BY.ISO8859-5 SAME+= uk_UA.ISO8859-5 be_BY.CP1251 SAME+= uk_UA.ISO8859-5 af_ZA.ISO8859-15 SAME+= uk_UA.ISO8859-5 af_ZA.ISO8859-1 SAME+= en_US.US-ASCII zh_CN.GBK SAME+= en_US.US-ASCII zh_CN.GB18030 SAME+= en_US.US-ASCII ko_KR.eucKR SAME+= en_US.US-ASCII ja_JP.SJIS SAME+= en_US.US-ASCII ja_JP.eucJP SAME+= en_US.US-ASCII es_MX.ISO8859-1 SAME+= en_US.US-ASCII en_US.ISO8859-15 SAME+= en_US.US-ASCII en_US.ISO8859-1 SAME+= en_US.US-ASCII en_SG.ISO8859-1 SAME+= en_US.US-ASCII en_NZ.US-ASCII SAME+= en_US.US-ASCII en_NZ.ISO8859-15 SAME+= en_US.US-ASCII en_NZ.ISO8859-1 SAME+= en_US.US-ASCII en_IE.ISO8859-15 SAME+= en_US.US-ASCII en_IE.ISO8859-1 SAME+= en_US.US-ASCII en_HK.ISO8859-1 SAME+= en_US.US-ASCII en_GB.US-ASCII SAME+= en_US.US-ASCII en_GB.ISO8859-15 SAME+= en_US.US-ASCII en_GB.ISO8859-1 SAME+= en_US.US-ASCII en_CA.US-ASCII SAME+= en_US.US-ASCII en_CA.ISO8859-15 SAME+= en_US.US-ASCII en_CA.ISO8859-1 SAME+= en_US.US-ASCII en_AU.US-ASCII SAME+= en_US.US-ASCII en_AU.ISO8859-15 SAME+= en_US.US-ASCII en_AU.ISO8859-1 SAME+= tr_TR.ISO8859-9 sr_RS.ISO8859-2 SAME+= tr_TR.ISO8859-9 sr_RS.ISO8859-5 SAME+= tr_TR.ISO8859-9 sl_SI.ISO8859-2 SAME+= tr_TR.ISO8859-9 ro_RO.ISO8859-2 SAME+= tr_TR.ISO8859-9 pt_BR.ISO8859-1 SAME+= tr_TR.ISO8859-9 nl_NL.ISO8859-15 SAME+= tr_TR.ISO8859-9 nl_NL.ISO8859-1 SAME+= tr_TR.ISO8859-9 nl_BE.ISO8859-15 SAME+= tr_TR.ISO8859-9 nl_BE.ISO8859-1 SAME+= tr_TR.ISO8859-9 it_IT.ISO8859-15 SAME+= tr_TR.ISO8859-9 it_IT.ISO8859-1 SAME+= tr_TR.ISO8859-9 is_IS.ISO8859-15 SAME+= tr_TR.ISO8859-9 is_IS.ISO8859-1 SAME+= tr_TR.ISO8859-9 hr_HR.ISO8859-2 SAME+= tr_TR.ISO8859-9 eu_ES.ISO8859-15 SAME+= tr_TR.ISO8859-9 eu_ES.ISO8859-1 SAME+= tr_TR.ISO8859-9 es_ES.ISO8859-15 SAME+= tr_TR.ISO8859-9 es_ES.ISO8859-1 SAME+= tr_TR.ISO8859-9 es_AR.ISO8859-1 SAME+= tr_TR.ISO8859-9 el_GR.ISO8859-7 SAME+= tr_TR.ISO8859-9 de_DE.ISO8859-15 SAME+= tr_TR.ISO8859-9 de_DE.ISO8859-1 SAME+= tr_TR.ISO8859-9 da_DK.ISO8859-15 SAME+= tr_TR.ISO8859-9 da_DK.ISO8859-1 SAME+= tr_TR.ISO8859-9 ca_IT.ISO8859-15 SAME+= tr_TR.ISO8859-9 ca_IT.ISO8859-1 SAME+= tr_TR.ISO8859-9 ca_FR.ISO8859-15 SAME+= tr_TR.ISO8859-9 ca_FR.ISO8859-1 SAME+= tr_TR.ISO8859-9 ca_ES.ISO8859-15 SAME+= tr_TR.ISO8859-9 ca_ES.ISO8859-1 SAME+= tr_TR.ISO8859-9 ca_AD.ISO8859-15 SAME+= tr_TR.ISO8859-9 ca_AD.ISO8859-1 SAME+= ru_RU.CP866 be_BY.CP1131 SAME+= it_CH.ISO8859-15 it_CH.ISO8859-1 SAME+= it_CH.ISO8859-15 de_CH.ISO8859-15 SAME+= it_CH.ISO8859-15 de_CH.ISO8859-1 SAME+= uk_UA.KOI8-U ru_RU.KOI8-R SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/numericdef_unicode/Makefile b/share/numericdef_unicode/Makefile index 07290250c6b5..6b7af4799efe 100644 --- a/share/numericdef_unicode/Makefile +++ b/share/numericdef_unicode/Makefile @@ -1,110 +1,112 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_NUMERIC .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= en_US.UTF-8 LOCALES+= fa_IR.UTF-8 LOCALES+= fr_FR.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= it_CH.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 SAME+= uk_UA.UTF-8 sv_SE.UTF-8 SAME+= uk_UA.UTF-8 sv_FI.UTF-8 SAME+= uk_UA.UTF-8 sk_SK.UTF-8 SAME+= uk_UA.UTF-8 se_NO.UTF-8 SAME+= uk_UA.UTF-8 se_FI.UTF-8 SAME+= uk_UA.UTF-8 ru_RU.UTF-8 SAME+= uk_UA.UTF-8 pt_PT.UTF-8 SAME+= uk_UA.UTF-8 pl_PL.UTF-8 SAME+= uk_UA.UTF-8 nn_NO.UTF-8 SAME+= uk_UA.UTF-8 nb_NO.UTF-8 SAME+= uk_UA.UTF-8 lv_LV.UTF-8 SAME+= uk_UA.UTF-8 lt_LT.UTF-8 SAME+= uk_UA.UTF-8 kk_KZ.UTF-8 SAME+= uk_UA.UTF-8 hy_AM.UTF-8 SAME+= uk_UA.UTF-8 hu_HU.UTF-8 SAME+= uk_UA.UTF-8 fr_CA.UTF-8 SAME+= uk_UA.UTF-8 fi_FI.UTF-8 SAME+= uk_UA.UTF-8 et_EE.UTF-8 SAME+= uk_UA.UTF-8 es_CR.UTF-8 SAME+= uk_UA.UTF-8 en_ZA.UTF-8 SAME+= uk_UA.UTF-8 de_AT.UTF-8 SAME+= uk_UA.UTF-8 cs_CZ.UTF-8 SAME+= uk_UA.UTF-8 bg_BG.UTF-8 SAME+= uk_UA.UTF-8 be_BY.UTF-8 SAME+= uk_UA.UTF-8 af_ZA.UTF-8 SAME+= en_US.UTF-8 zh_TW.UTF-8 SAME+= en_US.UTF-8 zh_HK.UTF-8 SAME+= en_US.UTF-8 zh_CN.UTF-8 SAME+= en_US.UTF-8 mn_MN.UTF-8 SAME+= en_US.UTF-8 ko_KR.UTF-8 SAME+= en_US.UTF-8 ja_JP.UTF-8 SAME+= en_US.UTF-8 he_IL.UTF-8 SAME+= en_US.UTF-8 ga_IE.UTF-8 SAME+= en_US.UTF-8 es_MX.UTF-8 SAME+= en_US.UTF-8 en_SG.UTF-8 SAME+= en_US.UTF-8 en_PH.UTF-8 SAME+= en_US.UTF-8 en_NZ.UTF-8 SAME+= en_US.UTF-8 en_IE.UTF-8 SAME+= en_US.UTF-8 en_HK.UTF-8 SAME+= en_US.UTF-8 en_GB.UTF-8 SAME+= en_US.UTF-8 en_CA.UTF-8 SAME+= en_US.UTF-8 en_AU.UTF-8 SAME+= en_US.UTF-8 am_ET.UTF-8 SAME+= fa_IR.UTF-8 fa_AF.UTF-8 SAME+= fa_IR.UTF-8 ar_SA.UTF-8 SAME+= fa_IR.UTF-8 ar_QA.UTF-8 SAME+= fa_IR.UTF-8 ar_JO.UTF-8 SAME+= fa_IR.UTF-8 ar_EG.UTF-8 SAME+= fa_IR.UTF-8 ar_AE.UTF-8 SAME+= tr_TR.UTF-8 sr_RS.UTF-8@latin SAME+= tr_TR.UTF-8 sr_RS.UTF-8 SAME+= tr_TR.UTF-8 sl_SI.UTF-8 SAME+= tr_TR.UTF-8 ro_RO.UTF-8 SAME+= tr_TR.UTF-8 pt_BR.UTF-8 SAME+= tr_TR.UTF-8 nl_NL.UTF-8 SAME+= tr_TR.UTF-8 nl_BE.UTF-8 SAME+= tr_TR.UTF-8 it_IT.UTF-8 SAME+= tr_TR.UTF-8 is_IS.UTF-8 SAME+= tr_TR.UTF-8 hr_HR.UTF-8 SAME+= tr_TR.UTF-8 eu_ES.UTF-8 SAME+= tr_TR.UTF-8 es_ES.UTF-8 SAME+= tr_TR.UTF-8 es_AR.UTF-8 SAME+= tr_TR.UTF-8 el_GR.UTF-8 SAME+= tr_TR.UTF-8 de_DE.UTF-8 SAME+= tr_TR.UTF-8 da_DK.UTF-8 SAME+= tr_TR.UTF-8 ca_IT.UTF-8 SAME+= tr_TR.UTF-8 ca_FR.UTF-8 SAME+= tr_TR.UTF-8 ca_ES.UTF-8 SAME+= tr_TR.UTF-8 ca_AD.UTF-8 SAME+= tr_TR.UTF-8 ar_MA.UTF-8 SAME+= it_CH.UTF-8 de_CH.UTF-8 SAME+= fr_FR.UTF-8 fr_CH.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/timedef/Makefile b/share/timedef/Makefile index df16c038ba4c..c33461ff36bd 100644 --- a/share/timedef/Makefile +++ b/share/timedef/Makefile @@ -1,222 +1,224 @@ # $FreeBSD$ +PACKAGE= locales LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_TIME .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= af_ZA.UTF-8 LOCALES+= am_ET.UTF-8 LOCALES+= ar_JO.UTF-8 LOCALES+= ar_MA.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.CP1131 LOCALES+= be_BY.CP1251 LOCALES+= be_BY.ISO8859-5 LOCALES+= be_BY.UTF-8 LOCALES+= bg_BG.CP1251 LOCALES+= bg_BG.UTF-8 LOCALES+= ca_IT.ISO8859-15 LOCALES+= ca_IT.UTF-8 LOCALES+= cs_CZ.ISO8859-2 LOCALES+= cs_CZ.UTF-8 LOCALES+= da_DK.ISO8859-15 LOCALES+= da_DK.UTF-8 LOCALES+= de_AT.ISO8859-15 LOCALES+= de_AT.UTF-8 LOCALES+= de_DE.ISO8859-15 LOCALES+= de_DE.UTF-8 LOCALES+= el_GR.ISO8859-7 LOCALES+= el_GR.UTF-8 LOCALES+= en_CA.UTF-8 LOCALES+= en_GB.UTF-8 LOCALES+= en_IE.UTF-8 LOCALES+= en_PH.UTF-8 LOCALES+= en_SG.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= en_ZA.UTF-8 LOCALES+= es_AR.ISO8859-1 LOCALES+= es_CR.UTF-8 LOCALES+= es_ES.ISO8859-15 LOCALES+= es_ES.UTF-8 LOCALES+= es_MX.ISO8859-1 LOCALES+= es_MX.UTF-8 LOCALES+= et_EE.ISO8859-15 LOCALES+= et_EE.UTF-8 LOCALES+= eu_ES.UTF-8 LOCALES+= fa_AF.UTF-8 LOCALES+= fa_IR.UTF-8 LOCALES+= fi_FI.ISO8859-15 LOCALES+= fi_FI.UTF-8 LOCALES+= fr_BE.ISO8859-15 LOCALES+= fr_BE.UTF-8 LOCALES+= fr_CA.ISO8859-15 LOCALES+= fr_CA.UTF-8 LOCALES+= fr_CH.ISO8859-15 LOCALES+= fr_CH.UTF-8 LOCALES+= fr_FR.ISO8859-15 LOCALES+= fr_FR.UTF-8 LOCALES+= ga_IE.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.ISCII-DEV LOCALES+= hi_IN.UTF-8 LOCALES+= hr_HR.ISO8859-2 LOCALES+= hr_HR.UTF-8 LOCALES+= hu_HU.ISO8859-2 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.ARMSCII-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.ISO8859-15 LOCALES+= is_IS.UTF-8 LOCALES+= it_CH.ISO8859-15 LOCALES+= it_CH.UTF-8 LOCALES+= it_IT.ISO8859-15 LOCALES+= it_IT.UTF-8 LOCALES+= ja_JP.SJIS LOCALES+= ja_JP.UTF-8 LOCALES+= ja_JP.eucJP LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= ko_KR.eucKR LOCALES+= lt_LT.ISO8859-13 LOCALES+= lt_LT.UTF-8 LOCALES+= lv_LV.ISO8859-13 LOCALES+= lv_LV.UTF-8 LOCALES+= mn_MN.UTF-8 LOCALES+= nb_NO.ISO8859-15 LOCALES+= nb_NO.UTF-8 LOCALES+= nl_BE.UTF-8 LOCALES+= nl_NL.UTF-8 LOCALES+= nn_NO.ISO8859-15 LOCALES+= nn_NO.UTF-8 LOCALES+= pl_PL.ISO8859-2 LOCALES+= pl_PL.UTF-8 LOCALES+= pt_BR.ISO8859-1 LOCALES+= pt_BR.UTF-8 LOCALES+= pt_PT.ISO8859-15 LOCALES+= pt_PT.UTF-8 LOCALES+= ro_RO.ISO8859-2 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.CP1251 LOCALES+= ru_RU.CP866 LOCALES+= ru_RU.ISO8859-5 LOCALES+= ru_RU.KOI8-R LOCALES+= ru_RU.UTF-8 LOCALES+= se_FI.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.ISO8859-2 LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.ISO8859-2 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_RS.ISO8859-5 LOCALES+= sr_RS.UTF-8 LOCALES+= sr_RS.ISO8859-2 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_FI.ISO8859-15 LOCALES+= sv_FI.UTF-8 LOCALES+= sv_SE.ISO8859-15 LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.ISO8859-9 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.CP1251 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.GBK LOCALES+= zh_CN.UTF-8 LOCALES+= zh_CN.eucCN LOCALES+= zh_HK.UTF-8 LOCALES+= zh_TW.Big5 LOCALES+= zh_TW.UTF-8 SAME+= af_ZA.UTF-8 af_ZA.ISO8859-15 SAME+= af_ZA.UTF-8 af_ZA.ISO8859-1 SAME+= ar_SA.UTF-8 ar_QA.UTF-8 SAME+= ar_SA.UTF-8 ar_EG.UTF-8 SAME+= ar_SA.UTF-8 ar_AE.UTF-8 SAME+= ca_IT.ISO8859-15 ca_IT.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_FR.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_FR.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_ES.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_ES.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_AD.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_AD.ISO8859-1 SAME+= ca_IT.UTF-8 ca_FR.UTF-8 SAME+= ca_IT.UTF-8 ca_ES.UTF-8 SAME+= ca_IT.UTF-8 ca_AD.UTF-8 SAME+= da_DK.ISO8859-15 da_DK.ISO8859-1 SAME+= de_AT.ISO8859-15 de_AT.ISO8859-1 SAME+= de_DE.ISO8859-15 de_DE.ISO8859-1 SAME+= de_DE.ISO8859-15 de_CH.ISO8859-15 SAME+= de_DE.ISO8859-15 de_CH.ISO8859-1 SAME+= de_DE.UTF-8 de_CH.UTF-8 SAME+= en_PH.UTF-8 en_HK.UTF-8 SAME+= en_PH.UTF-8 en_HK.ISO8859-1 SAME+= en_PH.UTF-8 en_AU.UTF-8 SAME+= en_PH.UTF-8 en_AU.US-ASCII SAME+= en_PH.UTF-8 en_AU.ISO8859-15 SAME+= en_PH.UTF-8 en_AU.ISO8859-1 SAME+= en_CA.UTF-8 en_CA.US-ASCII SAME+= en_CA.UTF-8 en_CA.ISO8859-15 SAME+= en_CA.UTF-8 en_CA.ISO8859-1 SAME+= en_GB.UTF-8 en_GB.US-ASCII SAME+= en_GB.UTF-8 en_GB.ISO8859-15 SAME+= en_GB.UTF-8 en_GB.ISO8859-1 SAME+= en_IE.UTF-8 en_IE.ISO8859-15 SAME+= en_IE.UTF-8 en_IE.ISO8859-1 SAME+= en_SG.UTF-8 en_SG.ISO8859-1 SAME+= en_SG.UTF-8 en_NZ.UTF-8 SAME+= en_SG.UTF-8 en_NZ.US-ASCII SAME+= en_SG.UTF-8 en_NZ.ISO8859-15 SAME+= en_SG.UTF-8 en_NZ.ISO8859-1 SAME+= en_US.UTF-8 en_US.US-ASCII SAME+= en_US.UTF-8 en_US.ISO8859-15 SAME+= en_US.UTF-8 en_US.ISO8859-1 SAME+= en_ZA.UTF-8 en_ZA.US-ASCII SAME+= en_ZA.UTF-8 en_ZA.ISO8859-15 SAME+= en_ZA.UTF-8 en_ZA.ISO8859-1 SAME+= es_CR.UTF-8 es_AR.UTF-8 SAME+= es_ES.ISO8859-15 es_ES.ISO8859-1 SAME+= et_EE.ISO8859-15 et_EE.ISO8859-1 SAME+= eu_ES.UTF-8 eu_ES.ISO8859-15 SAME+= eu_ES.UTF-8 eu_ES.ISO8859-1 SAME+= fi_FI.ISO8859-15 fi_FI.ISO8859-1 SAME+= fr_BE.ISO8859-15 fr_BE.ISO8859-1 SAME+= fr_CA.ISO8859-15 fr_CA.ISO8859-1 SAME+= fr_CH.ISO8859-15 fr_CH.ISO8859-1 SAME+= fr_FR.ISO8859-15 fr_FR.ISO8859-1 SAME+= is_IS.ISO8859-15 is_IS.ISO8859-1 SAME+= it_CH.ISO8859-15 it_CH.ISO8859-1 SAME+= it_IT.ISO8859-15 it_IT.ISO8859-1 SAME+= nb_NO.ISO8859-15 nb_NO.ISO8859-1 SAME+= nl_BE.UTF-8 nl_BE.ISO8859-15 SAME+= nl_BE.UTF-8 nl_BE.ISO8859-1 SAME+= nl_NL.UTF-8 nl_NL.ISO8859-15 SAME+= nl_NL.UTF-8 nl_NL.ISO8859-1 SAME+= nn_NO.ISO8859-15 nn_NO.ISO8859-1 SAME+= pt_PT.ISO8859-15 pt_PT.ISO8859-1 SAME+= sv_FI.ISO8859-15 sv_FI.ISO8859-1 SAME+= sv_SE.ISO8859-15 sv_SE.ISO8859-1 SAME+= zh_CN.GBK zh_CN.GB18030 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} DIRS+= LOCALEDIR_$t LOCALEDIR_$t= ${LOCALEDIR}/$t +LOCALEDIR_$tPACKAGE= locales SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/tools/tools/locale/tools/cldr2def.pl b/tools/tools/locale/tools/cldr2def.pl index 78b2634b6250..e65ec30fa6d5 100755 --- a/tools/tools/locale/tools/cldr2def.pl +++ b/tools/tools/locale/tools/cldr2def.pl @@ -1,1099 +1,1101 @@ #!/usr/local/bin/perl -wC # SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2009 Edwin Groothuis # Copyright 2015 John Marino # Copyright 2020 Hiroki Sato # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # $FreeBSD$ use strict; use File::Copy; use XML::Parser; use Tie::IxHash; use Text::Iconv; #use Data::Dumper; use Getopt::Long; use Digest::SHA qw(sha1_hex); require "charmaps.pm"; if ($#ARGV < 2) { print "Usage: $0 --unidir= --etc= --type=\n"; exit(1); } my $DEFENCODING = "UTF-8"; my $UNIDIR = undef; my $ETCDIR = undef; my $TYPE = undef; my $CLDR_VERSION = undef; my $result = GetOptions ( "unidir=s" => \$UNIDIR, "etc=s" => \$ETCDIR, "type=s" => \$TYPE, ); my %convertors = (); my %ucd = (); my %values = (); my %hashtable = (); my %languages = (); my %translations = (); my %alternativemonths = (); get_languages(); my %utfmap = (); $utfmap{'UTF-8'} = {}; $utfmap{'UTF-32'} = {}; get_utfmap("$UNIDIR/posix/$DEFENCODING.cm", $utfmap{'UTF-8'}); get_utfmap("$UNIDIR/posix/UTF-32.cm", $utfmap{'UTF-32'}); my %keys = (); tie(%keys, "Tie::IxHash"); tie(%hashtable, "Tie::IxHash"); my %FILESNAMES = ( "monetdef" => "LC_MONETARY", "timedef" => "LC_TIME", "msgdef" => "LC_MESSAGES", "numericdef" => "LC_NUMERIC", "colldef" => "LC_COLLATE", "ctypedef" => "LC_CTYPE" ); my %callback = ( mdorder => \&callback_mdorder, altmon => \&callback_altmon, cformat => \&callback_cformat, dformat => \&callback_dformat, dtformat => \&callback_dtformat, cbabmon => \&callback_abmon, cbampm => \&callback_ampm, data => undef, ); my %DESC = ( # numericdef "decimal_point" => "decimal_point", "thousands_sep" => "thousands_sep", "grouping" => "grouping", # monetdef "int_curr_symbol" => "int_curr_symbol (last character always " . "SPACE)", "currency_symbol" => "currency_symbol", "mon_decimal_point" => "mon_decimal_point", "mon_thousands_sep" => "mon_thousands_sep", "mon_grouping" => "mon_grouping", "positive_sign" => "positive_sign", "negative_sign" => "negative_sign", "int_frac_digits" => "int_frac_digits", "frac_digits" => "frac_digits", "p_cs_precedes" => "p_cs_precedes", "p_sep_by_space" => "p_sep_by_space", "n_cs_precedes" => "n_cs_precedes", "n_sep_by_space" => "n_sep_by_space", "p_sign_posn" => "p_sign_posn", "n_sign_posn" => "n_sign_posn", # msgdef "yesexpr" => "yesexpr", "noexpr" => "noexpr", "yesstr" => "yesstr", "nostr" => "nostr", # timedef "abmon" => "Short month names", "mon" => "Long month names (as in a date)", "abday" => "Short weekday names", "day" => "Long weekday names", "t_fmt" => "X_fmt", "d_fmt" => "x_fmt", "c_fmt" => "c_fmt", "am_pm" => "AM/PM", "d_t_fmt" => "date_fmt", "altmon" => "Long month names (without case ending)", "md_order" => "md_order", "t_fmt_ampm" => "ampm_fmt", ); if ($TYPE eq "colldef") { transform_collation(); make_makefile(); } if ($TYPE eq "ctypedef") { transform_ctypes(); make_makefile(); } if ($TYPE eq "numericdef") { %keys = ( "decimal_point" => "s", "thousands_sep" => "s", "grouping" => "ai", ); get_fields(); print_fields(); make_makefile(); } if ($TYPE eq "monetdef") { %keys = ( "int_curr_symbol" => "s", "currency_symbol" => "s", "mon_decimal_point" => "s", "mon_thousands_sep" => "s", "mon_grouping" => "ai", "positive_sign" => "s", "negative_sign" => "s", "int_frac_digits" => "i", "frac_digits" => "i", "p_cs_precedes" => "i", "p_sep_by_space" => "i", "n_cs_precedes" => "i", "n_sep_by_space" => "i", "p_sign_posn" => "i", "n_sign_posn" => "i" ); get_fields(); print_fields(); make_makefile(); } if ($TYPE eq "msgdef") { %keys = ( "yesexpr" => "s", "noexpr" => "s", "yesstr" => "s", "nostr" => "s" ); get_fields(); print_fields(); make_makefile(); } if ($TYPE eq "timedef") { %keys = ( "abmon" => " "as", "abday" => "as", "day" => "as", "t_fmt" => "s", "d_fmt" => " " " " " " "s", ); get_fields(); print_fields(); make_makefile(); } sub callback_ampm { my $s = shift; my $nl = $callback{data}{l} . "_" . $callback{data}{c}; my $enc = $callback{data}{e}; if ($nl eq 'ru_RU') { if ($enc eq 'UTF-8') { $s = 'дп;пп'; } else { my $converter = Text::Iconv->new("utf-8", "$enc"); $s = $converter->convert("дп;пп"); } } return $s; } sub callback_cformat { my $s = shift; my $nl = $callback{data}{l} . "_" . $callback{data}{c}; if ($nl eq 'ko_KR') { $s =~ s/(> )(%p)/$1%A $2/; } $s =~ s/\.,/\./; $s =~ s/ %Z//; $s =~ s/ %z//; $s =~ s/^"%e\./%A %e/; $s =~ s/^"(%B %e, )/"%A, $1/; $s =~ s/^"(%e %B )/"%A $1/; return $s; }; sub callback_dformat { my $s = shift; $s =~ s/(%m(|[-.]))%e/$1%d/; $s =~ s/%e((|[-.])%m)/%d$1/; return $s; }; sub callback_dtformat { my $s = shift; my $nl = $callback{data}{l} . "_" . $callback{data}{c}; if ($nl eq 'ja_JP') { $s =~ s/(> )(%H)/$1%A $2/; } elsif ($nl eq 'ko_KR' || $nl eq 'zh_CN' || $nl eq 'zh_TW') { if ($nl ne 'ko_KR') { $s =~ s/%m/%_m/; } $s =~ s/(> )(%p)/$1%A $2/; } $s =~ s/\.,/\./; $s =~ s/^"%e\./%A %e/; $s =~ s/^"(%B %e, )/"%A, $1/; $s =~ s/^"(%e %B )/"%A $1/; return $s; }; sub callback_mdorder { my $s = shift; return undef if (!defined $s); $s =~ s/[^dem]//g; $s =~ s/e/d/g; return $s; }; sub callback_altmon { # if the language/country is known in %alternative months then # return that, otherwise repeat mon my $s = shift; if (defined $alternativemonths{$callback{data}{l}}{$callback{data}{c}}) { my @altnames = split(";",$alternativemonths{$callback{data}{l}}{$callback{data}{c}}); my @cleaned; foreach (@altnames) { $_ =~ s/^\s+//; $_ =~ s/\s+$//; push @cleaned, $_; } return join(";",@cleaned); } return $s; } sub callback_abmon { # for specified CJK locales, pad result with a space to enable # columns to line up (style established in FreeBSD in 2001) my $s = shift; my $nl = $callback{data}{l} . "_" . $callback{data}{c}; if ($nl eq 'ja_JP' || $nl eq 'ko_KR' || $nl eq 'zh_CN' || $nl eq 'zh_HK' || $nl eq 'zh_TW') { my @monthnames = split(";", $s); my @cleaned; foreach (@monthnames) { if ($_ =~ /^"<(two|three|four|five|six|seven|eight|nine)>/ || ($_ =~ /^"/ && $_ !~ /^"(||)/)) { $_ =~ s/^"/"/; } push @cleaned, $_; } return join(";",@cleaned); } return $s; } ############################ sub get_utfmap { my ($file, $db) = @_; open(FIN, $file); my @lines = ; close(FIN); chomp(@lines); my $prev_k = undef; my $prev_v = ""; my $incharmap = 0; foreach my $l (@lines) { chomp($l); next if ($l =~ /^\#/); next if ($l eq ""); if ($l eq "CHARMAP") { $incharmap = 1; next; } next if (!$incharmap); last if ($l eq "END CHARMAP"); $l =~ /^<([^\s]+)>\s+(.*)/; my $k = $1; my $v = $2; $v =~ s/\\x//g; # UTF-8 char code $db->{$k} = $v; # print STDERR "UTF $k = $v\n"; # XXX: no longer needed # $db_alias->{$k} = $prev_k if ($prev_v eq $v); $prev_v = $v; $prev_k = $k; } } sub resolve_enc_addition { my $ret = ''; foreach my $t (split(/\+/, $_[0])) { $t =~ s/^0[xX]//; $ret .= $t; } return $ret; } sub get_languages { my %data = get_xmldata($ETCDIR); %languages = %{$data{L}}; %translations = %{$data{T}}; %alternativemonths = %{$data{AM}}; } sub transform_ctypes { # Add the C.UTF-8 $languages{"C"}{"x"}{data}{"x"}{$DEFENCODING} = undef; foreach my $l (sort keys(%languages)) { foreach my $f (sort keys(%{$languages{$l}})) { foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if (defined $languages{$l}{$f}{definitions} && $languages{$l}{$f}{definitions} !~ /$TYPE/); $languages{$l}{$f}{data}{$c}{$DEFENCODING} = 0; # unread my $file = $l; $file .= "_" . $f if ($f ne "x"); $file .= "_" . $c if ($c ne "x"); my $actfile = $file; my $filename = "$UNIDIR/posix/xx_Comm_C.UTF-8.src"; if (! -f $filename) { print STDERR "Cannot open $filename\n"; next; } open(FIN, "$filename"); print "Reading from $filename for ${l}_${f}_${c}\n"; $languages{$l}{$f}{data}{$c}{$DEFENCODING} = 1; # read my @lines; my $shex; my $uhex; while () { push @lines, $_; } close(FIN); $shex = sha1_hex(join("\n", @lines)); $languages{$l}{$f}{data}{$c}{$DEFENCODING} = $shex; $hashtable{$shex}{"${l}_${f}_${c}.$DEFENCODING"} = 1; open(FOUT, ">$TYPE.draft/$actfile.$DEFENCODING.src"); print FOUT @lines; close(FOUT); foreach my $enc (sort keys(%{$languages{$l}{$f}{data}{$c}})) { next if ($enc eq $DEFENCODING); $filename = "$UNIDIR/posix/$file.$DEFENCODING.src"; if ($file eq 'ja_JP') { # Override $filename for ja_JP because # its CTYPE is not compatible with UTF-8. $filename = "$UNIDIR/posix/$file.eucJP.src"; } if (! -f $filename) { print STDERR "Cannot open $filename\n"; next; } @lines = (); open(FIN, "$filename"); while () { if ((/^comment_char\s/) || (/^escape_char\s/)){ push @lines, $_; } if (/^LC_CTYPE/../^END LC_CTYPE/) { push @lines, $_; } } close(FIN); $uhex = sha1_hex(join("\n", @lines) . $enc); $languages{$l}{$f}{data}{$c}{$enc} = $uhex; $hashtable{$uhex}{"${l}_${f}_${c}.$enc"} = 1; open(FOUT, ">$TYPE.draft/$actfile.$enc.src"); print FOUT <) { if ((/^comment_char\s/) || (/^escape_char\s/)){ push @lines, $_; } if (/^LC_COLLATE/../^END LC_COLLATE/) { $_ =~ s/[ ]+/ /g; push @lines, $_; } } close(FIN); $shex = sha1_hex(join("\n", @lines)); $languages{$l}{$f}{data}{$c}{$DEFENCODING} = $shex; $hashtable{$shex}{"${l}_${f}_${c}.$DEFENCODING"} = 1; open(FOUT, ">$TYPE.draft/$actfile.$DEFENCODING.src"); print FOUT <$TYPE.draft/$actfile.$enc.src"; my $order_start = 0; my $print_p = 0; # # %c_elem: collation elements # # undef: not defined # 1: defined # 2: invalid in this encoding # my %c_elem = (); while () { # XXX: this loop should be refactored. chomp; $print_p = 1; if ($order_start) { $order_start = 0 if (m/^order_end/); if (m/^<([^>]+)>/) { if (not defined $c_elem{$1}) { # print STDERR "$1:\n"; my $u32 = $utfmap{'UTF-32'}->{$1}; die "order, $1\n" if (not defined $u32); # print STDERR "u32 for $1 = $u32\n"; if (not defined $convertors{$enc}{$u32}) { # print STDERR "$1 - $u32 not defined in $enc\n"; $print_p = 0; } } elsif ($c_elem{$1} == 2) { # print STDERR "$1 is marked as invalid in $enc\n"; $print_p = 0; } } } elsif (m/^collating-element/) { my ($elem, $l); if (m/<([^>]+)> from (.+)/) { ($elem, $l) = ($1, $2); } # print STDERR "$elem: enter ($print_p, $l,)\n"; while ($print_p and defined $l and $l =~ m/<([^>]+)>/g) { # print STDERR "$elem: $1\n"; my $u32 = $utfmap{'UTF-32'}->{$1}; die "collating-element, $1\n" if (not defined $u32); # print STDERR "u32 for $1 = $u32\n"; if (not $convertors{$enc}{$u32}) { # print STDERR "$1 - $u32 not defined in $enc\n"; $print_p = 0; # print STDERR "Mark $elem as invalid\n"; $c_elem{$elem} = 2; } } if ($print_p) { # print STDERR "Add $elem\n"; $c_elem{$elem} = 1; } } elsif (m/^collating-symbol <([^>]+)>/) { # print STDERR "Add $1\n"; $c_elem{$1} = 1; } elsif (m/^order_start/) { $order_start = 1; # do nothing } print FOUT $_, "\n" if ($print_p); } close FOUT; close FIN; $languages{$l}{$f}{data}{$c}{$enc} = $shex; $hashtable{$shex}{"${l}_${f}_${c}.$enc"} = 1; } } } } } sub get_fields { foreach my $l (sort keys(%languages)) { foreach my $f (sort keys(%{$languages{$l}})) { foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if (defined $languages{$l}{$f}{definitions} && $languages{$l}{$f}{definitions} !~ /$TYPE/); $languages{$l}{$f}{data}{$c}{$DEFENCODING} = 0; # unread my $file; $file = $l . "_"; $file .= $f . "_" if ($f ne "x"); $file .= $c; my $filename = "$UNIDIR/posix/$file.$DEFENCODING.src"; $filename = "$ETCDIR/$file.$DEFENCODING.src" if (! -f $filename); if (! -f $filename && defined $languages{$l}{$f}{fallback}) { $file = $languages{$l}{$f}{fallback}; $filename = "$UNIDIR/posix/$file.$DEFENCODING.src"; } $filename = "$UNIDIR/posix/$file.$DEFENCODING.src" if (! -f $filename); if (! -f $filename) { print STDERR "Cannot open $file.$DEFENCODING.src or fallback\n"; next; } open(FIN, "$filename"); print "Reading from $filename for ${l}_${f}_${c}\n"; $languages{$l}{$f}{data}{$c}{$DEFENCODING} = 1; # read my @lines = ; chomp(@lines); close(FIN); my $continue = 0; foreach my $k (keys(%keys)) { foreach my $line (@lines) { $line =~ s/\r//; next if (!$continue && $line !~ /^$k\s/); if ($continue) { $line =~ s/^\s+//; } else { $line =~ s/^$k\s+//; } $values{$l}{$f}{$c}{$k} = "" if (!defined $values{$l}{$f}{$c}{$k}); $continue = ($line =~ /\/$/); $line =~ s/\/$// if ($continue); # while ($line =~ /_/) { # $line =~ # s/\<([^>_]+)_([^>]+)\>/<$1 $2>/; # } # die "_ in data - $line" if ($line =~ /_/); $values{$l}{$f}{$c}{$k} .= $line; last if (!$continue); } } } } } } sub decodecldr { my $e = shift; my $s = shift; my $v = undef; if ($e eq "UTF-8") { # # Conversion to UTF-8 can be done from the Unicode name to # the UTF-8 character code. # $v = $utfmap{'UTF-8'}->{$s}; die "Cannot convert $s in $e (charmap)" if (!defined $v); } else { # # Conversion to these encodings can be done from the Unicode # name to Unicode code to the encodings code. # # hex - hex or string attr # unicode - unicode attr # ucc - ucc attr my $hex = $translations{$e}{$s}{hex}; my $ucc = $utfmap{'UTF-32'}->{$s}; my $ucc_attr = $translations{$e}{$s}{ucc}; my $unicode = $translations{$e}{$s}{unicode}; if (defined $hex) { # hex is in local encoding $v = $hex; } elsif (defined $unicode) { # unicode is in name $v = $convertors{$e}{$utfmap{'UTF-32'}->{$unicode}}; } elsif (defined $ucc_attr) { # ucc is in code point if (defined $ucc) { # print STDERR "INFO: ucc=$ucc_attr ", # "overrides $ucc in UTF-32\n"; } # normalize $ucc_attr = sprintf("%08X", hex($ucc_attr)); # print STDERR "convert $ucc_attr into $e\n"; $v = $convertors{$e}{$ucc_attr}; } elsif (defined $ucc) { # normalize $ucc = sprintf("%08X", hex($ucc)); # print STDERR "convert $ucc into $e\n"; $v = $convertors{$e}{$ucc}; } die "Cannot convert $s in $e" if (!defined $v); } # XXX: length = 8 is not supported yet. $v =~ s/^[0]+//g; $v = "0" . $v if (length($v) % 2); return pack("C", hex($v)) if (length($v) == 2); return pack("CC", hex(substr($v, 0, 2)), hex(substr($v, 2, 2))) if (length($v) == 4); return pack("CCC", hex(substr($v, 0, 2)), hex(substr($v, 2, 2)), hex(substr($v, 4, 2))) if (length($v) == 6); die "Cannot convert $s in $e (length = " . length($v) . "\n"; } sub translate { my $enc = shift; my $v = shift; return $translations{$enc}{$v} if (defined $translations{$enc}{$v}); return undef; } sub print_fields { foreach my $l (sort keys(%languages)) { foreach my $f (sort keys(%{$languages{$l}})) { foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if (defined $languages{$l}{$f}{definitions} && $languages{$l}{$f}{definitions} !~ /$TYPE/); foreach my $enc (sort keys(%{$languages{$l}{$f}{data}{$c}})) { if ($languages{$l}{$f}{data}{$c}{$DEFENCODING} eq "0") { print "Skipping ${l}_" . ($f eq "x" ? "" : "${f}_") . "${c} - not read\n"; next; } my $file = $l; $file .= "_" . $f if ($f ne "x"); $file .= "_" . $c; print "Writing to $file in $enc\n"; if ($enc ne $DEFENCODING && !defined $convertors{$enc}) { print "Failed! Cannot convert to $enc.\n"; next; }; open(FOUT, ">$TYPE.draft/$file.$enc.new"); my $okay = 1; my $output = ""; print FOUT </) { $k = substr($g, 1); $g = $keys{$k}; } # Callback function if ($g =~ /^\(.*)/) { my $p1 = $1; $cm = $2; my $p3 = $3; my $rv = decodecldr($enc, $cm); # $rv = translate($enc, $cm) # if (!defined $rv); if (!defined $rv) { print STDERR "Could not convert $k ($cm) from $DEFENCODING to $enc\n"; $okay = 0; next; } $v = $p1 . $rv . $p3; } $output .= "$v\n"; next; } if ($g eq "as") { foreach my $v (split(/;/, $v)) { $v =~ s/^"//; $v =~ s/"$//; my $cm = ""; while ($v =~ /^(.*?)<(.*?)>(.*)/) { my $p1 = $1; $cm = $2; my $p3 = $3; my $rv = decodecldr($enc, $cm); # $rv = translate($enc, # $cm) # if (!defined $rv); if (!defined $rv) { print STDERR "Could not convert $k ($cm) from $DEFENCODING to $enc\n"; $okay = 0; next; } $v = $1 . $rv . $3; } $output .= "$v\n"; } next; } die("$k is '$g'"); } $languages{$l}{$f}{data}{$c}{$enc} = sha1_hex($output); $hashtable{sha1_hex($output)}{"${l}_${f}_${c}.$enc"} = 1; print FOUT "$output# EOF\n"; close(FOUT); if ($okay) { rename("$TYPE.draft/$file.$enc.new", "$TYPE.draft/$file.$enc.src"); } else { rename("$TYPE.draft/$file.$enc.new", "$TYPE.draft/$file.$enc.failed"); } } } } } } sub make_makefile { print "Creating Makefile for $TYPE\n"; my $SRCOUT; my $SRCOUT2; my $SRCOUT3 = ""; my $SRCOUT4 = ""; my $MAPLOC; if ($TYPE eq "colldef") { # In future, we might want to try to put the CLDR version into # the .src files with some new syntax, instead of the makefile. $SRCOUT = "localedef \${LOCALEDEF_ENDIAN} -D -U " . "-i \${.IMPSRC} \\\n" . "\t-V \${CLDR_VERSION} \\\n" . "\t-f \${MAPLOC}/map.\${.TARGET:T:R:E:C/@.*//} " . "\${.OBJDIR}/\${.IMPSRC:T:R}"; $MAPLOC = "MAPLOC=\t\t\${.CURDIR}/../../tools/tools/" . "locale/etc/final-maps\n"; $SRCOUT2 = "LC_COLLATE"; $SRCOUT3 = "" . ".for f t in \${LOCALES_MAPPED}\n" . "FILES+=\t\$t.LC_COLLATE\n" . "FILESDIR_\$t.LC_COLLATE=\t\${LOCALEDIR}/\$t\n" . "\$t.LC_COLLATE: \${.CURDIR}/\$f.src\n" . "\tlocaledef \${LOCALEDEF_ENDIAN} -D -U " . "-i \${.ALLSRC} \\\n" . "\t-V \${CLDR_VERSION} \\\n" . "\t\t-f \${MAPLOC}/map.\${.TARGET:T:R:E:C/@.*//} \\\n" . "\t\t\${.OBJDIR}/\${.TARGET:T:R}\n" . ".endfor\n\n"; $SRCOUT4 = "## LOCALES_MAPPED\n"; } elsif ($TYPE eq "ctypedef") { $SRCOUT = "localedef \${LOCALEDEF_ENDIAN} -D -U -c " . "-w \${MAPLOC}/widths.txt \\\n" . "\t-f \${MAPLOC}/map.\${.IMPSRC:T:R:E} " . "\\\n\t-i \${.IMPSRC} \${.OBJDIR}/\${.IMPSRC:T:R} " . " || true"; $SRCOUT2 = "LC_CTYPE"; $MAPLOC = "MAPLOC=\t\t\${.CURDIR}/../../tools/tools/" . "locale/etc/final-maps\n"; $SRCOUT3 = "## SYMPAIRS\n\n" . ".for s t in \${SYMPAIRS}\n" . "\${t:S/src\$/LC_CTYPE/}: " . "\$s\n" . "\tlocaledef \${LOCALEDEF_ENDIAN} -D -U -c " . "-w \${MAPLOC}/widths.txt \\\n" . "\t-f \${MAPLOC}/map.\${.TARGET:T:R:C/^.*\\.//} " . "\\\n\t-i \${.ALLSRC} \${.OBJDIR}/\${.TARGET:T:R} " . " || true\n" . ".endfor\n\n"; } else { $SRCOUT = "grep -v -E '^(\#\$\$|\#[ ])' < \${.IMPSRC} > \${.TARGET}"; $SRCOUT2 = "out"; $MAPLOC = ""; } open(FOUT, ">$TYPE.draft/Makefile"); print FOUT < EOF } print FOUT < 0) { my $link = shift(@files); $link =~ s/_x_x//; # special case for C $link =~ s/_x_/_/; # strip family if none there foreach my $file (@files) { my @a = split(/_/, $file); my @b = split(/\./, $a[-1]); $file =~ s/_x_/_/; print FOUT "SAME+=\t\t$link $file\n"; undef($languages{$a[0]}{$a[1]}{data}{$b[0]}{$b[1]}); } } } foreach my $l (sort keys(%languages)) { foreach my $f (sort keys(%{$languages{$l}})) { foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if (defined $languages{$l}{$f}{definitions} && $languages{$l}{$f}{definitions} !~ /$TYPE/); if (defined $languages{$l}{$f}{data}{$c}{$DEFENCODING} && $languages{$l}{$f}{data}{$c}{$DEFENCODING} eq "0") { print "Skipping ${l}_" . ($f eq "x" ? "" : "${f}_") . "${c} - not read\n"; next; } foreach my $e (sort keys(%{$languages{$l}{$f}{data}{$c}})) { my $file = $l; $file .= "_" . $f if ($f ne "x"); $file .= "_" . $c if ($c ne "x"); next if (!defined $languages{$l}{$f}{data}{$c}{$e}); print FOUT "LOCALES+=\t$file.$e\n"; } if (defined $languages{$l}{$f}{nc_link}) { foreach my $e (sort keys(%{$languages{$l}{$f}{data}{$c}})) { my $file = $l . "_"; $file .= $f . "_" if ($f ne "x"); $file .= $c; print FOUT "SAME+=\t\t$file.$e $languages{$l}{$f}{nc_link}.$e\t# legacy (lang/country change)\n"; } } if (defined $languages{$l}{$f}{e_link}) { foreach my $el (split(" ", $languages{$l}{$f}{e_link})) { my @a = split(/:/, $el); my $file = $l . "_"; $file .= $f . "_" if ($f ne "x"); $file .= $c; print FOUT "SAME+=\t\t$file.$a[0] $file.$a[1]\t# legacy (same charset)\n"; } } } } } print FOUT < EOF close(FOUT); }