1 package Packages::I18N::Locale;
9 our @ISA = qw( Exporter );
10 our @EXPORT = qw( get_locale get_charset _g _ N_ );
13 my %lang2loc = ( en => "en_US",
22 # most of them can probably changed to UTF-8 in Sarge
23 # as there are more available UTF-8 locales then
34 return "$lang2loc{default}.".get_charset() unless $lang;
36 if ( length($lang) == 2 ) {
37 $locale = $lang2loc{$lang} || ( "${lang}_" . uc $lang );
38 } elsif ( $lang !~ /^[a-z][a-z]_[A-Z][A-Z]$/ ) {
39 warn "get_locale: couldn't determine locale\n";
42 $locale .= ".".get_charset($lang);
49 return $lang2charset{default} unless $lang;
50 return $lang2charset{$lang} || $lang2charset{default};
53 sub _ { return gettext( $_[0] ) }
54 sub _g { return gettext( $_[0] ) }
55 sub N_ { return $_[0] }