Author: bapt Date: Mon Jun 20 06:45:42 2016 New Revision: 302026 URL: https://svnweb.freebsd.org/changeset/base/302026
Log: Fix generation of locales with multiple variants Serbian locales have triple components to represent the 2 variations of the locale: Latin and Cyrillic. Previously the tools generatic the locale were appending both definitions instead of differentiating them. Reported by: ache Approved by: re (gjb) Added: head/share/msgdef/sr_Cyrl_RS.UTF-8.src (contents, props changed) head/share/timedef/sr_Cyrl_RS.UTF-8.src (contents, props changed) Deleted: head/share/msgdef/bg_BG.UTF-8.src head/share/msgdef/sl_SI.UTF-8.src head/share/msgdef/sr_Latn_RS.ISO8859-2.src head/share/numericdef/sr_Latn_RS.UTF-8.src head/share/timedef/en_HK.UTF-8.src Modified: head/share/monetdef/sr_Latn_RS.UTF-8.src head/share/msgdef/Makefile head/share/msgdef/sr_Cyrl_RS.ISO8859-5.src head/share/msgdef/sr_Latn_RS.UTF-8.src head/share/numericdef/Makefile head/share/timedef/Makefile head/share/timedef/sr_Cyrl_RS.ISO8859-5.src head/share/timedef/sr_Latn_RS.ISO8859-2.src (contents, props changed) head/share/timedef/sr_Latn_RS.UTF-8.src (contents, props changed) head/tools/tools/locale/tools/cldr2def.pl Modified: head/share/monetdef/sr_Latn_RS.UTF-8.src ============================================================================== --- head/share/monetdef/sr_Latn_RS.UTF-8.src Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/monetdef/sr_Latn_RS.UTF-8.src Mon Jun 20 06:45:42 2016 (r302026) @@ -4,47 +4,47 @@ # ----------------------------------------------------------------------------- # # int_curr_symbol (last character always SPACE) -RSD ""RSD +RSD # # currency_symbol -RSD""RSD +RSD # # mon_decimal_point -,"", +, # # mon_thousands_sep -."". +. # # mon_grouping -33 +3 # # positive_sign -"" + # # negative_sign --""- +- # # int_frac_digits -00 +0 # # frac_digits -00 +0 # # p_cs_precedes -00 +0 # # p_sep_by_space -11 +1 # # n_cs_precedes -00 +0 # # n_sep_by_space -11 +1 # # p_sign_posn -11 +1 # # n_sign_posn -11 +1 # EOF Modified: head/share/msgdef/Makefile ============================================================================== --- head/share/msgdef/Makefile Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/msgdef/Makefile Mon Jun 20 06:45:42 2016 (r302026) @@ -16,7 +16,6 @@ LOCALES+= be_BY.CP1251 LOCALES+= be_BY.ISO8859-5 LOCALES+= be_BY.UTF-8 LOCALES+= bg_BG.CP1251 -LOCALES+= bg_BG.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= de_DE.UTF-8 LOCALES+= el_GR.ISO8859-7 @@ -64,9 +63,8 @@ LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.ISO8859-2 LOCALES+= sk_SK.UTF-8 -LOCALES+= sl_SI.UTF-8 LOCALES+= sr_Cyrl_RS.ISO8859-5 -LOCALES+= sr_Latn_RS.ISO8859-2 +LOCALES+= sr_Cyrl_RS.UTF-8 LOCALES+= sr_Latn_RS.UTF-8 LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.ISO8859-9 @@ -97,6 +95,7 @@ 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_Cyrl_RS.UTF-8 bg_BG.UTF-8 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 @@ -179,9 +178,11 @@ SAME+= fr_FR.UTF-8 fr_CA.ISO8859-1 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.ISO8859-15 SAME+= fr_FR.UTF-8 fr_BE.ISO8859-1 -SAME+= sl_SI.UTF-8 sl_SI.ISO8859-2 -SAME+= sl_SI.UTF-8 hr_HR.UTF-8 -SAME+= sl_SI.UTF-8 hr_HR.ISO8859-2 +SAME+= sr_Latn_RS.UTF-8 sr_Latn_RS.ISO8859-2 +SAME+= sr_Latn_RS.UTF-8 sl_SI.UTF-8 +SAME+= sr_Latn_RS.UTF-8 sl_SI.ISO8859-2 +SAME+= sr_Latn_RS.UTF-8 hr_HR.UTF-8 +SAME+= sr_Latn_RS.UTF-8 hr_HR.ISO8859-2 SAME+= hu_HU.UTF-8 hu_HU.ISO8859-2 SAME+= is_IS.ISO8859-15 is_IS.ISO8859-1 SAME+= it_IT.ISO8859-15 it_IT.ISO8859-1 @@ -199,7 +200,6 @@ SAME+= pt_PT.ISO8859-15 pt_BR.ISO8859-1 SAME+= pt_PT.UTF-8 pt_BR.UTF-8 SAME+= ro_RO.UTF-8 ro_RO.ISO8859-2 SAME+= se_NO.UTF-8 se_FI.UTF-8 -SAME+= sr_Latn_RS.UTF-8 sr_Cyrl_RS.UTF-8 SAME+= zh_Hans_CN.GBK zh_Hans_CN.GB18030 SAME+= zh_Hans_CN.GBK zh_Hans_CN.eucCN SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) Modified: head/share/msgdef/sr_Cyrl_RS.ISO8859-5.src ============================================================================== --- head/share/msgdef/sr_Cyrl_RS.ISO8859-5.src Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/msgdef/sr_Cyrl_RS.ISO8859-5.src Mon Jun 20 06:45:42 2016 (r302026) @@ -4,14 +4,14 @@ # ----------------------------------------------------------------------------- # # yesexpr -^(([Դ]([а])?)|([Դ])|([yY]([eE][sS])?)|([yY]))""^(([dD]([aA])?)|([dD])|([yY]([eE][sS])?)|([yY])) +^(([Դ]([а])?)|([Դ])|([yY]([eE][sS])?)|([yY])) # # noexpr -^(([ݽ]([յ])?)|([ݽ])|([nN]([oO])?)|([nN]))""^(([nN]([eE])?)|([nN])|([nN]([oO])?)|([nN])) +^(([ݽ]([յ])?)|([ݽ])|([nN]([oO])?)|([nN])) # # yesstr -��:�:��:�:yes:y:YES:Y""da:d:DA:D:yes:y:YES:Y +��:�:��:�:yes:y:YES:Y # # nostr -��:�:��:�:no:n:NO:N""ne:n:NE:N:no:n:NO:N +��:�:��:�:no:n:NO:N # EOF Added: head/share/msgdef/sr_Cyrl_RS.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/msgdef/sr_Cyrl_RS.UTF-8.src Mon Jun 20 06:45:42 2016 (r302026) @@ -0,0 +1,17 @@ +# Warning: Do not edit. This file is automatically generated from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +# +# yesexpr +^(([дД]([аА])?)|([дД])|([yY]([eE][sS])?)|([yY])) +# +# noexpr +^(([нН]([еЕ])?)|([нН])|([nN]([oO])?)|([nN])) +# +# yesstr +да:д:ДА:Д:yes:y:YES:Y +# +# nostr +не:н:НЕ:Н:no:n:NO:N +# EOF Modified: head/share/msgdef/sr_Latn_RS.UTF-8.src ============================================================================== --- head/share/msgdef/sr_Latn_RS.UTF-8.src Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/msgdef/sr_Latn_RS.UTF-8.src Mon Jun 20 06:45:42 2016 (r302026) @@ -4,14 +4,14 @@ # ----------------------------------------------------------------------------- # # yesexpr -^(([дД]([аА])?)|([дД])|([yY]([eE][sS])?)|([yY]))""^(([dD]([aA])?)|([dD])|([yY]([eE][sS])?)|([yY])) +^(([dD]([aA])?)|([dD])|([yY]([eE][sS])?)|([yY])) # # noexpr -^(([нН]([еЕ])?)|([нН])|([nN]([oO])?)|([nN]))""^(([nN]([eE])?)|([nN])|([nN]([oO])?)|([nN])) +^(([nN]([eE])?)|([nN])|([nN]([oO])?)|([nN])) # # yesstr -да:д:ДА:Д:yes:y:YES:Y""da:d:DA:D:yes:y:YES:Y +da:d:DA:D:yes:y:YES:Y # # nostr -не:н:НЕ:Н:no:n:NO:N""ne:n:NE:N:no:n:NO:N +ne:n:NE:N:no:n:NO:N # EOF Modified: head/share/numericdef/Makefile ============================================================================== --- head/share/numericdef/Makefile Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/numericdef/Makefile Mon Jun 20 06:45:42 2016 (r302026) @@ -18,7 +18,6 @@ LOCALES+= hi_IN.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= it_CH.UTF-8 LOCALES+= ru_RU.CP866 -LOCALES+= sr_Latn_RS.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U @@ -133,6 +132,10 @@ 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+= tr_TR.UTF-8 tr_TR.ISO8859-9 +SAME+= tr_TR.UTF-8 sr_Latn_RS.UTF-8 +SAME+= tr_TR.UTF-8 sr_Latn_RS.ISO8859-2 +SAME+= tr_TR.UTF-8 sr_Cyrl_RS.UTF-8 +SAME+= tr_TR.UTF-8 sr_Cyrl_RS.ISO8859-5 SAME+= tr_TR.UTF-8 sl_SI.UTF-8 SAME+= tr_TR.UTF-8 sl_SI.ISO8859-2 SAME+= tr_TR.UTF-8 ro_RO.UTF-8 @@ -199,9 +202,6 @@ SAME+= fr_CH.ISO8859-15 fr_CH.ISO8859-1 SAME+= hi_IN.UTF-8 hi_IN.ISCII-DEV SAME+= hy_AM.UTF-8 hy_AM.ARMSCII-8 SAME+= uk_UA.KOI8-U ru_RU.KOI8-R -SAME+= sr_Latn_RS.UTF-8 sr_Latn_RS.ISO8859-2 -SAME+= sr_Latn_RS.UTF-8 sr_Cyrl_RS.UTF-8 -SAME+= sr_Latn_RS.UTF-8 sr_Cyrl_RS.ISO8859-5 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.out/} Modified: head/share/timedef/Makefile ============================================================================== --- head/share/timedef/Makefile Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/timedef/Makefile Mon Jun 20 06:45:42 2016 (r302026) @@ -34,7 +34,6 @@ LOCALES+= el_GR.ISO8859-7 LOCALES+= el_GR.UTF-8 LOCALES+= en_CA.UTF-8 LOCALES+= en_GB.UTF-8 -LOCALES+= en_HK.UTF-8 LOCALES+= en_IE.UTF-8 LOCALES+= en_PH.UTF-8 LOCALES+= en_SG.UTF-8 @@ -111,6 +110,7 @@ LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.ISO8859-2 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_Cyrl_RS.ISO8859-5 +LOCALES+= sr_Cyrl_RS.UTF-8 LOCALES+= sr_Latn_RS.ISO8859-2 LOCALES+= sr_Latn_RS.UTF-8 LOCALES+= sv_FI.ISO8859-15 @@ -154,11 +154,12 @@ 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_HK.UTF-8 en_HK.ISO8859-1 -SAME+= en_HK.UTF-8 en_AU.UTF-8 -SAME+= en_HK.UTF-8 en_AU.US-ASCII -SAME+= en_HK.UTF-8 en_AU.ISO8859-15 -SAME+= en_HK.UTF-8 en_AU.ISO8859-1 +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 @@ -198,7 +199,6 @@ 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+= sr_Latn_RS.UTF-8 sr_Cyrl_RS.UTF-8 SAME+= sv_FI.ISO8859-15 sv_FI.ISO8859-1 SAME+= sv_SE.ISO8859-15 sv_SE.ISO8859-1 SAME+= zh_Hans_CN.GBK zh_Hans_CN.GB18030 Modified: head/share/timedef/sr_Cyrl_RS.ISO8859-5.src ============================================================================== --- head/share/timedef/sr_Cyrl_RS.ISO8859-5.src Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/timedef/sr_Cyrl_RS.ISO8859-5.src Mon Jun 20 06:45:42 2016 (r302026) @@ -15,18 +15,7 @@ ��� ��� ��� -���""jan -feb -mar -apr -maj -jun -jul -avg -sep -okt -nov -dec +��� # # Long month names (as in a date) ������ @@ -40,18 +29,7 @@ dec ��������� ������� �������� -��������""januar -februar -mart -april -maj -jun -jul -avgust -septembar -oktobar -novembar -decembar +�������� # # Short weekday names ��� @@ -60,13 +38,7 @@ decembar ��� ��� ��� -���""ned -pon -uto -sre -cet -pet -sub +��� # # Long weekday names ������ @@ -75,30 +47,23 @@ sub ����� �������� ����� -������""nedelja -ponedeljak -utorak -sreda -cetvrtak -petak -subota +������ # # X_fmt -%H.%M.%S""%H.%M.%S +%H.%M.%S # # x_fmt -%d.%m.%y.""%e.%m.%y. +%d.%m.%y. # # c_fmt -%d. %B %Y. %H.%M.%S""%d. %B %Y. %H.%M.%S %Z +%d. %B %Y. %H.%M.%S # # AM/PM ��� ����� -�� �����""pre podne -po podne +�� ����� # # date_fmt -%d. %B %Y. %H.%M.%S %Z""%d. %B %Y. %H.%M.%S %Z +%d. %B %Y. %H.%M.%S %Z # # Long month names (without case ending) ������ @@ -112,22 +77,11 @@ po podne ��������� ������� �������� -��������""januar -februar -mart -april -maj -jun -jul -avgust -septembar -oktobar -novembar -decembar +�������� # # md_order -dmdm +dm # # ampm_fmt -%I.%M.%S %p""%I.%M.%S %p +%I.%M.%S %p # EOF Added: head/share/timedef/sr_Cyrl_RS.UTF-8.src ============================================================================== Binary file. No diff available. Modified: head/share/timedef/sr_Latn_RS.ISO8859-2.src ============================================================================== --- head/share/timedef/sr_Latn_RS.ISO8859-2.src Mon Jun 20 06:40:58 2016 (r302025) +++ head/share/timedef/sr_Latn_RS.ISO8859-2.src Mon Jun 20 06:45:42 2016 (r302026) @@ -4,18 +4,7 @@ # ----------------------------------------------------------------------------- # # Short month names -jah -feb -mar -apr -maj -juh -jul -abg -cep -okt -hob -dec""jan +jan feb mar apr @@ -29,18 +18,7 @@ nov dec # # Long month names (as in a date) -jahuar -februar -mart -aprjl -maj -juh -jul -abguct -ceptembar -oktobar -hobembar -decembar""januar +januar februar mart april @@ -54,13 +32,7 @@ novembar decembar # # Short weekday names -hed -poh -uto -cre -�et -pet -cub""ned +ned pon uto sre @@ -69,13 +41,7 @@ pet sub # # Long weekday names -hedelja -pohedeljak -utorak -creda -�etbrtak -petak -cubota""nedelja +nedelja ponedeljak utorak sreda @@ -84,35 +50,23 @@ petak subota # # X_fmt -%H.%M.%S""%H.%M.%S +%H.%M.%S # # x_fmt -%d.%m.%y.""%d.%m.%y. +%d.%m.%y. # # c_fmt -%d. %B %Y. %H.%M.%S""%d. %B %Y. %H.%M.%S %Z +%d. %B %Y. %H.%M.%S # # AM/PM -pre podhe -po podhe""pre podne +pre podne po podne # # date_fmt -%d. %B %Y. %H.%M.%S %Z""%d. %B %Y. %H.%M.%S %Z +%d. %B %Y. %H.%M.%S %Z # # Long month names (without case ending) -jahuar -februar -mart -aprjl -maj -juh -jul -abguct -ceptembar -oktobar -hobembar -decembar""januar +januar februar mart april @@ -126,8 +80,8 @@ novembar decembar # # md_order -dmdm +dm # # ampm_fmt -%I.%M.%S %p""%I.%M.%S %p +%I.%M.%S %p # EOF Modified: head/share/timedef/sr_Latn_RS.UTF-8.src ============================================================================== Binary file (source and/or target). No diff available. Modified: head/tools/tools/locale/tools/cldr2def.pl ============================================================================== --- head/tools/tools/locale/tools/cldr2def.pl Mon Jun 20 06:40:58 2016 (r302025) +++ head/tools/tools/locale/tools/cldr2def.pl Mon Jun 20 06:45:42 2016 (r302026) @@ -595,8 +595,8 @@ sub get_fields { $line =~ s/^$k\s+//; } - $values{$l}{$c}{$k} = "" - if (!defined $values{$l}{$c}{$k}); + $values{$l}{$f}{$c}{$k} = "" + if (!defined $values{$l}{$f}{$c}{$k}); $continue = ($line =~ /\/$/); $line =~ s/\/$// if ($continue); @@ -606,7 +606,7 @@ sub get_fields { s/\<([^>_]+)_([^>]+)\>/<$1 $2>/; } die "_ in data - $line" if ($line =~ /_/); - $values{$l}{$c}{$k} .= $line; + $values{$l}{$f}{$c}{$k} .= $line; last if (!$continue); } @@ -723,7 +723,7 @@ sub print_fields { # ----------------------------------------------------------------------------- EOF foreach my $k (keys(%keys)) { - my $f = $keys{$k}; + my $g = $keys{$k}; die("Unknown $k in \%DESC") if (!defined $DESC{$k}); @@ -731,37 +731,38 @@ EOF $output .= "#\n# $DESC{$k}\n"; # Replace one row with another - if ($f =~ /^>/) { - $k = substr($f, 1); - $f = $keys{$k}; + if ($g =~ /^>/) { + $k = substr($g, 1); + $g = $keys{$k}; } # Callback function - if ($f =~ /^\</) { + if ($g =~ /^\</) { $callback{data}{c} = $c; $callback{data}{k} = $k; + $callback{data}{f} = $f; $callback{data}{l} = $l; $callback{data}{e} = $enc; - my @a = split(/\</, substr($f, 1)); + my @a = split(/\</, substr($g, 1)); my $rv = - &{$callback{$a[0]}}($values{$l}{$c}{$a[1]}); - $values{$l}{$c}{$k} = $rv; - $f = $a[2]; + &{$callback{$a[0]}}($values{$l}{$f}{$c}{$a[1]}); + $values{$l}{$f}{$c}{$k} = $rv; + $g = $a[2]; $callback{data} = (); } - my $v = $values{$l}{$c}{$k}; + my $v = $values{$l}{$f}{$c}{$k}; $v = "undef" if (!defined $v); - if ($f eq "i") { + if ($g eq "i") { $output .= "$v\n"; next; } - if ($f eq "ai") { + if ($g eq "ai") { $output .= "$v\n"; next; } - if ($f eq "s") { + if ($g eq "s") { $v =~ s/^"//; $v =~ s/"$//; my $cm = ""; @@ -785,7 +786,7 @@ EOF $output .= "$v\n"; next; } - if ($f eq "as") { + if ($g eq "as") { foreach my $v (split(/;/, $v)) { $v =~ s/^"//; $v =~ s/"$//; @@ -815,7 +816,7 @@ EOF next; } - die("$k is '$f'"); + die("$k is '$g'"); }
_______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"