X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FLocales.pm;h=d1f3eed229da5b580db4109e36e5b92614818a2a;hb=09af85fc0e7a48392c930c9672a99448cf9630d4;hp=692bb935f5574e4c1d589cc91b85d442a2a3ed0c;hpb=96e68d6b1cbd2a9f28bbea9a810b4404735c071b;p=freeside.git diff --git a/FS/FS/Locales.pm b/FS/FS/Locales.pm index 692bb935f..d1f3eed22 100644 --- a/FS/FS/Locales.pm +++ b/FS/FS/Locales.pm @@ -28,8 +28,15 @@ Returns a list of the available locales. =cut tie our %locales, 'Tie::IxHash', - 'en_CA', { name => 'English', country => 'Canada', }, 'en_US', { name => 'English', country => 'United States', }, + 'en_AU', { name => 'English', country => 'Australia', }, + 'en_CA', { name => 'English', country => 'Canada', }, + 'es_ES', { name => 'Spanish', country => 'Spain', }, + 'es_AR', { name => 'Spanish', country => 'Argentina', }, + 'es_CU', { name => 'Spanish', country => 'Cuba', }, + 'es_MX', { name => 'Spanish', country => 'Mexico', }, + 'es_PA', { name => 'Spanish', country => 'Panama', }, + 'es_US', { name => 'Spanish', country => 'United States', }, 'fr_CA', { name => 'French', country => 'Canada', }, 'fr_FR', { name => 'French', country => 'France', }, 'fr_HT', { name => 'French', country => 'Haiti', }, @@ -37,6 +44,9 @@ tie our %locales, 'Tie::IxHash', 'iw_IL', { name => 'Hebrew', country => 'Israel', rtl=>1, }, ; +$_->{label} = $_->{name} . ' (' . $_->{country} . ')' + foreach values %locales; + sub locales { keys %locales; } @@ -49,7 +59,13 @@ Returns a hash of information about a locale. sub locale_info { my($class, $locale) = @_; - %{ $locales{$locale} }; + if (!$locale) { + return (); + } elsif (exists $locales{$locale}) { + return %{ $locales{$locale} }; + } else { + die "unsupported locale '$locale'\n"; + } } =item description LOCALE