This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Locale-Codes to CPAN version 3.20
[perl5.git] / cpan / Locale-Codes / lib / Locale / Codes / Language.pm
index ff4e945..ef02140 100644 (file)
@@ -14,6 +14,7 @@ use Carp;
 use Locale::Codes;
 use Locale::Codes::Constants;
 use Locale::Codes::Language_Codes;
+use Locale::Codes::Language_Retired;
 
 #=======================================================================
 #       Public Global Variables
@@ -21,7 +22,7 @@ use Locale::Codes::Language_Codes;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.18';
+$VERSION='3.20';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2language
                 language2code
@@ -33,242 +34,56 @@ $VERSION='3.18';
                 LOCALE_LANG_TERM
                );
 
-sub _code {
-   my($code,$codeset) = @_;
-   $code = ""  if (! $code);
-
-   $codeset = LOCALE_LANG_DEFAULT  if (! defined($codeset)  ||  $codeset eq "");
-
-   if ($codeset =~ /^\d+$/) {
-      if      ($codeset ==  LOCALE_LANG_ALPHA_2) {
-         $codeset = "alpha2";
-      } elsif ($codeset ==  LOCALE_LANG_ALPHA_3) {
-         $codeset = "alpha3";
-      } elsif ($codeset ==  LOCALE_LANG_TERM) {
-         $codeset = "term";
-      } else {
-         return (1);
-      }
-   }
-
-   if      ($codeset eq "alpha2"  ||
-            $codeset eq "alpha3"  ||
-            $codeset eq "term") {
-      $code    = lc($code);
-   } else {
-      return (1);
-   }
-
-   return (0,$code,$codeset);
-}
-
-#=======================================================================
-#
-# code2language ( CODE [,CODESET] )
-#
-#=======================================================================
-
 sub code2language {
-   my($err,$code,$codeset) = _code(@_);
-   return undef  if ($err  ||
-                     ! defined $code);
-
-   return Locale::Codes::_code2name("language",$code,$codeset);
+   return Locale::Codes::_code2name('language',@_);
 }
 
-#=======================================================================
-#
-# language2code ( LANGUAGE [,CODESET] )
-#
-#=======================================================================
-
 sub language2code {
-   my($language,$codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err  ||
-                     ! defined $language);
-
-   return Locale::Codes::_name2code("language",$language,$codeset);
+   return Locale::Codes::_name2code('language',@_);
 }
 
-#=======================================================================
-#
-# language_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
 sub language_code2code {
-   (@_ == 3) or croak "language_code2code() takes 3 arguments!";
-   my($code,$inset,$outset) = @_;
-   my($err,$tmp);
-   ($err,$code,$inset) = _code($code,$inset);
-   return undef  if ($err);
-   ($err,$tmp,$outset) = _code("",$outset);
-   return undef  if ($err);
-
-   return Locale::Codes::_code2code("language",$code,$inset,$outset);
+   return Locale::Codes::_code2code('language',@_);
 }
 
-#=======================================================================
-#
-# all_language_codes ( [CODESET] )
-#
-#=======================================================================
-
 sub all_language_codes {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return ()  if ($err);
-
-   return Locale::Codes::_all_codes("language",$codeset);
+   return Locale::Codes::_all_codes('language',@_);
 }
 
-
-#=======================================================================
-#
-# all_language_names ( [CODESET] )
-#
-#=======================================================================
-
 sub all_language_names {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return ()  if ($err);
-
-   return Locale::Codes::_all_names("language",$codeset);
+   return Locale::Codes::_all_names('language',@_);
 }
 
-#=======================================================================
-#
-# rename_language ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
 sub rename_language {
-   my($code,$new_name,@args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_rename("language",$code,$new_name,$codeset,$nowarn);
+   return Locale::Codes::_rename('language',@_);
 }
 
-#=======================================================================
-#
-# add_language ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
 sub add_language {
-   my($code,$name,@args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_add_code("language",$code,$name,$codeset,$nowarn);
+   return Locale::Codes::_add_code('language',@_);
 }
 
-#=======================================================================
-#
-# delete_language ( CODE [,CODESET] )
-#
-#=======================================================================
-
 sub delete_language {
-   my($code,@args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code("language",$code,$codeset,$nowarn);
+   return Locale::Codes::_delete_code('language',@_);
 }
 
-#=======================================================================
-#
-# add_language_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
 sub add_language_alias {
-   my($name,$new_name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_add_alias("language",$name,$new_name,$nowarn);
+   return Locale::Codes::_add_alias('language',@_);
 }
 
-#=======================================================================
-#
-# delete_language_alias ( NAME )
-#
-#=======================================================================
-
 sub delete_language_alias {
-   my($name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_delete_alias("language",$name,$nowarn);
+   return Locale::Codes::_delete_alias('language',@_);
 }
 
-#=======================================================================
-#
-# rename_language_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
 sub rename_language_code {
-   my($code,$new_code,@args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_rename_code("language",$code,$new_code,$codeset,$nowarn);
+   return Locale::Codes::_rename_code('language',@_);
 }
 
-#=======================================================================
-#
-# add_language_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
 sub add_language_code_alias {
-   my($code,$new_code,@args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_add_code_alias("language",$code,$new_code,$codeset,$nowarn);
+   return Locale::Codes::_add_code_alias('language',@_);
 }
 
-#=======================================================================
-#
-# delete_language_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
 sub delete_language_code_alias {
-   my($code,@args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code_alias("language",$code,$codeset,$nowarn);
+   return Locale::Codes::_delete_code_alias('language',@_);
 }
 
 1;