From owner-svn-src-user@FreeBSD.ORG Tue Aug 11 08:19:16 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B4FF1065674; Tue, 11 Aug 2009 08:19:16 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A6858FC15; Tue, 11 Aug 2009 08:19:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7B8JF6t023160; Tue, 11 Aug 2009 08:19:16 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7B8JFlN023156; Tue, 11 Aug 2009 08:19:15 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200908110819.n7B8JFlN023156@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 11 Aug 2009 08:19:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196095 - user/edwin/locale/tools X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Aug 2009 08:19:16 -0000 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" /> + countries="LN" definitions="timedef" /> 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 = ; 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 "";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "" + +day "";/ + "";/ + "";/ + "";/ + "";/ + "";/ + "" + +abmon "";/ + "";/ + "";/ + "

";/ + "";/ + "";/ + "";/ + "";/ + "

";/ + "";/ + "";/ + "" + +mon "";/ + "";/ + "";/ + "

";/ + "";/ + "";/ + "";/ + "";/ + "

";/ + "";/ + "";/ + ""; + +d_fmt "%d.%m.%y" + +d_t_fmt "%a %e %b %Y:%X %Z" + +t_fmt "%H:%M:%S" + +am_pm "";"

" + +t_fmt_ampm "" + +END LC_TIME