sub populate_locales {
use Locale::Country;
- use Locale::SubCountry;
use FS::cust_main_county;
#cust_main_county
foreach my $country ( sort map uc($_), all_country_codes ) {
-
- my $subcountry = eval { new Locale::SubCountry($country) };
- my @states = $subcountry ? $subcountry->all_codes : undef;
-
- if ( !scalar(@states) || ( scalar(@states)==1 && !defined($states[0]) ) ) {
-
- _add_locale( 'country'=>$country );
-
- } else {
-
- if ( $states[0] =~ /^(\d+|\w)$/ ) {
- @states = map $subcountry->full_name($_), @states
- }
-
- foreach my $state ( @states ) {
- _add_locale( 'country'=>$country, 'state'=>$state);
- }
-
- }
+ _add_country($country);
}
}
my %addl = (
'US' => {
'FM' => 'Federated States of Micronesia',
- 'MH' => 'Federated States of Micronesia',
- 'PW' => 'Federated States of Micronesia',
+ 'MH' => 'Marshall Islands',
+ 'PW' => 'Palau',
'AA' => "Armed Forces Americas (except Canada)",
'AE' => "Armed Forces Europe / Canada / Middle East / Africa",
'AP' => "Armed Forces Pacific",
}
+sub _add_country {
+
+ use Locale::SubCountry;
+
+ my( $country ) = shift;
+
+ my $subcountry = eval { new Locale::SubCountry($country) };
+ my @states = $subcountry ? $subcountry->all_codes : undef;
+
+ if ( !scalar(@states) || ( scalar(@states)==1 && !defined($states[0]) ) ) {
+
+ _add_locale( 'country'=>$country );
+
+ } else {
+
+ if ( $states[0] =~ /^(\d+|\w)$/ ) {
+ @states = map $subcountry->full_name($_), @states
+ }
+
+ foreach my $state ( @states ) {
+ _add_locale( 'country'=>$country, 'state'=>$state);
+ }
+
+ }
+
+}
+
sub _add_locale {
my $cust_main_county = new FS::cust_main_county( { 'tax'=>0, @_ });
my $error = $cust_main_county->insert;