Hi, First, let me congratulate everyone for such a nice toolkit. This is much better than what I've been using previously.
I was a bit surprised though when I noticed that DateTime::Locale::load() doesn't accept standard RFC 3066 language tags. This is it expects underscores while the RFC uses dashes. So 'fr-CA' doesn't work while 'fr_CA' does. You'll find a small patch attached that simply converts dashes to underscores in the parameter that load() receives.
--- Locale.pm.bak 2005-05-05 11:17:14.000000000 -0400 +++ Locale.pm 2005-05-05 11:21:17.000000000 -0400 @@ -197,6 +197,9 @@ my $class = shift; my $name = shift; + # Support RFC 3066 language tags, which use '-' instead of '_'. + $name =~ tr/-/_/; + my $key = $name; return $LoadCache{$key} if exists $LoadCache{$key};