Date: Tue, 11 Aug 2009 08:19:15 +0000 (UTC) From: Edwin Groothuis <edwin@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r196095 - user/edwin/locale/tools Message-ID: <200908110819.n7B8JFlN023156@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: edwin Date: Tue Aug 11 08:19:15 2009 New Revision: 196095 URL: http://svn.freebsd.org/changeset/base/196095 Log: Be able to specify for which defitions (msgdef, numericdef etc) the locale has to be build. This is to accomodate for the la_LN which doesn't exist in the CLDR but does do in the FreeBSD locale directory (Why?!?!?!?) and then only in the timedef directory. I demand an ancient Brabants locale :-) Added: user/edwin/locale/tools/la_LN.UTF-8.src Modified: user/edwin/locale/tools/charmaps.pm user/edwin/locale/tools/charmaps.xml user/edwin/locale/tools/cldr2def.pl Modified: user/edwin/locale/tools/charmaps.pm ============================================================================== --- user/edwin/locale/tools/charmaps.pm Mon Aug 10 22:22:32 2009 (r196094) +++ user/edwin/locale/tools/charmaps.pm Tue Aug 11 08:19:15 2009 (r196095) @@ -55,12 +55,14 @@ sub h_start { my $nc_link = $attrs{namecountry_link}; my $e_link = $attrs{encoding_link}; my $fallback = $attrs{fallback}; + my $definitions = $attrs{definitions}; $d{L}{$name}{$f}{fallback} = $fallback; $d{L}{$name}{$f}{e_link} = $e_link; $d{L}{$name}{$f}{nc_link} = $nc_link; $d{L}{$name}{$f}{family} = $family; $d{L}{$name}{$f}{encoding} = $encoding; + $d{L}{$name}{$f}{definitions} = $definitions; $d{L}{$name}{$f}{countries} = $countries; foreach my $c (split(" ", $countries)) { if (defined $encoding) { Modified: user/edwin/locale/tools/charmaps.xml ============================================================================== --- user/edwin/locale/tools/charmaps.xml Mon Aug 10 22:22:32 2009 (r196094) +++ user/edwin/locale/tools/charmaps.xml Tue Aug 11 08:19:15 2009 (r196095) @@ -12,6 +12,8 @@ by space fallback = read this file if name_countries doesn't exist - \ only one + definitions = only use in these definitions (msgdef, timedef, \ + numericdef, monetdef) By default, the name of the input file is name_countries. If family is defined, the name of the input file will be \ @@ -107,7 +109,7 @@ countries="KR" /> <language name="la" encoding="ISO8859-1 ISO8859-2 ISO8859-4 ISO8859-15 US-ASCII" - countries="LN" /> + countries="LN" definitions="timedef" /> <language name="lt" encoding="ISO8859-4 ISO8859-13" countries="LT" /> Modified: user/edwin/locale/tools/cldr2def.pl ============================================================================== --- user/edwin/locale/tools/cldr2def.pl Mon Aug 10 22:22:32 2009 (r196094) +++ user/edwin/locale/tools/cldr2def.pl Tue Aug 11 08:19:15 2009 (r196095) @@ -305,28 +305,32 @@ sub get_fields { foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if ($#filter == 2 && ($filter[0] ne $l || $filter[1] ne $f || $filter[2] ne $c)); + 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; - if (!open(FIN, "$CLDRDIR/posix/$file.$DEFENCODING.src")) { - if (!defined $languages{$l}{$f}{fallback}) { - print STDERR - "Cannot open $file.$DEFENCODING.src\n"; - next; - } + + my $filename = "$CLDRDIR/posix/$file.$DEFENCODING.src"; + $filename = "$XMLDIR/$file.$DEFENCODING.src" + if (! -f $filename); + if (! -f $filename + && defined $languages{$l}{$f}{fallback}) { $file = $languages{$l}{$f}{fallback}; - if (!open(FIN, - "$CLDRDIR/posix/$file.$DEFENCODING.src")) { - print STDERR - "Cannot open fallback " . - "$file.$DEFENCODING.src\n"; - next; - } + $filename = "$CLDRDIR/posix/$file.$DEFENCODING.src"; + } + $filename = "$CLDRDIR/posix/$file.$DEFENCODING.src" + if (! -f $filename); + if (! -f $filename) { + print STDERR + "Cannot open $file.$DEFENCODING.src or fallback\n"; + next; } - print "Reading from $file.$DEFENCODING.src for ${l}_${f}_${c}\n"; + open(FIN, "$filename"); + print "Reading from $filename for ${l}_${f}_${c}\n"; $languages{$l}{$f}{data}{$c}{$DEFENCODING} = 1; # read my @lines = <FIN>; chomp(@lines); @@ -440,6 +444,8 @@ sub print_fields { foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if ($#filter == 2 && ($filter[0] ne $l || $filter[1] ne $f || $filter[2] ne $c)); + 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}_" . @@ -628,6 +634,8 @@ EOF foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) { next if ($#filter == 2 && ($filter[0] ne $l || $filter[1] ne $f || $filter[2] ne $c)); + 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}_") . Added: user/edwin/locale/tools/la_LN.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/tools/la_LN.UTF-8.src Tue Aug 11 08:19:15 2009 (r196095) @@ -0,0 +1,68 @@ +comment_char * +escape_char / + +******************************************************************************** +* POSIX Locale * +* Locale Name : la_LN Codeset : UTF-8 +* +* This is Latin. The week with seven days was introduced in the +* Roman Empire 321 AD. (Konstantin I) +******************************************************************************** + +************* +LC_TIME +************* + +abday "<S><o><l>";/ + "<L><u><n>";/ + "<M><a><r>";/ + "<M><e><r>";/ + "<I><o><v>";/ + "<V><e><n>";/ + "<S><a><t>" + +day "<d><i><e><s><SPACE><S><o><l><i><s>";/ + "<d><i><e><s><SPACE><L><u><n><a><e>";/ + "<d><i><e><s><SPACE><M><a><r><t><i><s>";/ + "<d><i><e><s><SPACE><M><e><r><c><u><r><i><i>";/ + "<d><i><e><s><SPACE><I><o><v><i><s>";/ + "<d><i><e><s><SPACE><V><e><n><e><r><i><s>";/ + "<d><i><e><s><SPACE><S><a><t><u><r><n><i>" + +abmon "<I><a><n>";/ + "<F><e><b>";/ + "<M><a><r>";/ + "<A><p><r>";/ + "<M><a><i>";/ + "<I><u><n>";/ + "<I><u><l>";/ + "<A><u><g>";/ + "<S><e><p>";/ + "<O><c><t>";/ + "<N><o><v>";/ + "<D><e><c>" + +mon "<I><a><n><u><a><r><i><u><s>";/ + "<F><e><b><r><u><a><r><i><u><s>";/ + "<M><a><r><t><i><u><s>";/ + "<A><p><r><i><l><i><s>";/ + "<M><a><i><u><s>";/ + "<I><u><n><i><u><s>";/ + "<I><u><l><i><u><s>";/ + "<A><u><g><u><s><t><u><s>";/ + "<S><e><p><t><e><m><b><e><r>";/ + "<O><c><t><o><b><e><r>";/ + "<N><o><v><e><m><b><e><r>";/ + "<D><e><c><e><m><b><e><r>"; + +d_fmt "%d.%m.%y" + +d_t_fmt "%a %e %b %Y:%X %Z" + +t_fmt "%H:%M:%S" + +am_pm "<A><M>";"<P><M>" + +t_fmt_ampm "" + +END LC_TIME
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908110819.n7B8JFlN023156>