| =pod |
| |
| =head1 NAME |
| |
| Locale::Codes::Changes - details changes to Locale::Codes |
| |
| =head1 SYNOPSIS |
| |
| This describes the changes made to modules in the Locale-Codes |
| distribution. Major changes are marked with asterisks (*). For the |
| most part, all modules have remained backward compatible at every |
| release, but occasionally a change is made which is backward |
| incompatible. These are marked with an exclamation mark (!). |
| |
| As of 3.00, the codes are autogenerated from the standards. With each |
| release, codes will be re-generated and tested to see if any code |
| changed. Any time there are any changes to the codes, it will be |
| flagged below with a change: NEW CODE(s). |
| |
| I intend to check for new codes four times a year (March, June, |
| September, December). I will also check on request, so if a code |
| changes that you use, feel free to contact me. Any time there are new |
| codes, I will add them to the module and release a new version. |
| |
| =head1 VERSION 3.22 (yyyy-mm-dd; sbeck) |
| |
| =head1 VERSION 3.21 (2012-03-01; sbeck) |
| |
| NEW CODE(s) |
| |
| =head1 VERSION 3.20 (2011-12-01; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Added limited support for deprecated codes> |
| |
| The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions |
| now support retired codes. RT 71124 |
| |
| =item B<Fixed capitalization> |
| |
| The 'South Sudan' country was all caps. RT 71024 |
| |
| =item B<Pod tests off by default> |
| |
| The pod tests will not run at install time. RT 71122 |
| |
| =item B<Codesets may be specified by name> |
| |
| All codesets may be specified by a constant or by their name now. Previously, |
| they were specified only by a constant. |
| |
| =item B<alias_code deprecated> |
| |
| The alias_code function exists for backward compatibility. It has been replaced |
| by rename_country_code . The alias_code function will be removed sometime |
| after September, 2013 . |
| |
| =item B<Code cleanup> |
| |
| All work is now done in the central module (Locale::Codes). Previously, some |
| was still done in the wrapper modules (Locale::Codes::*) but that is gone now. |
| |
| =item B<Added LangFam module> |
| |
| Added Language Family codes (langfam) as defined in ISO 639-5. |
| |
| =back |
| |
| =head1 VERSION 3.18 (2011-08-31; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<No longer use CIA data> |
| |
| The CIA world added non-standard values, so I no longer use it as |
| a source of data. Based on a report by Michiel Beijen. |
| |
| =back |
| |
| =head1 VERSION 3.17 (2011-06-28; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Added new types of codes> |
| |
| Added Language Extension codes (langext) and Language Variation codes |
| (langvar) as defined in the IANA language registry. |
| |
| =item B<Added new codeset(s)> |
| |
| Added language codes from ISO 639-5 |
| |
| Added language/script codes from the IANA language subtag |
| registry |
| |
| =item B<Bug fixes> |
| |
| Fixed an uninitialized value warning. RT 67438 |
| |
| Fixed the return value for the all_XXX_codes and all_XXX_names functions. RT 69100 |
| |
| =item B<Reorganized code> |
| |
| Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to |
| allow for cleaner future additions. The original four modules (Locale::Language, |
| Locale::Currency, Locale::Country, Locale::Script) will continue to work, but |
| all new sets of codes will be added in the Locale::Codes namespace. |
| |
| =back |
| |
| =head1 VERSION 3.16 (2011-03-01; sbeck) |
| |
| NEW CODE(s) |
| |
| =head1 VERSION 3.15 (2010-12-02; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Minor fixes> |
| |
| Added version number to Makefile.PL/Build.PL requirement |
| for POD testing modules. RT 62247 |
| |
| Changed 'use vars' to 'our' |
| |
| =back |
| |
| =head1 VERSION 3.14 (2010-09-28; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Bug fixes> |
| |
| Stripped out some HTML that got included with some codes. |
| |
| =back |
| |
| =head1 VERSION 3.13 (2010-06-04; sbeck) |
| |
| NEW CODE(s) |
| |
| =head1 VERSION 3.12 (2010-04-06; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Reorganized code> |
| |
| Renamed test.pl to testfunc.pl to avoid causing an error |
| when built as part of perl. |
| |
| =back |
| |
| =head1 VERSION 3.11 (2010-03-01; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Added new codeset(s)> |
| |
| Added the IANA domain names to Country |
| |
| =item B<Bug fixes> |
| |
| Fixed a problem that produced warnings with perl 5.11.5. |
| Jerry D. Hedden |
| |
| =back |
| |
| =head1 VERSION 3.10 (2010-02-18; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<Reorganized code> |
| |
| Moved support files into the Locale::Codes namespace. |
| |
| The work done in each of the Locale::XXX modules was virtually |
| identical to each other. It has all been moved to a central module and |
| the Locale::XXX modules are now just wrappers. |
| |
| =item B<(!) Changed XXX_code2code behavior slightly> |
| |
| In previous versions, passing in the same code set for both code set |
| arguments would automatically return undef. For example: |
| |
| country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2); |
| => undef |
| |
| This doesn't seem like reasonable behavior, so it has been changed |
| to allow the same code set: |
| |
| country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2); |
| => 'bo' |
| |
| Note that if an invalid code is passed in, undef will still be |
| returned: |
| |
| country_code2code('bol',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2); |
| => undef |
| |
| =item B<Added many semi-private routines> |
| |
| Previous versions had only two semi-private routines: rename_country |
| and alias_code which had the ability to modify the internal data in |
| a couple very limited ways. It was requested (in an anonymous posting |
| by someone named Steve and also by Steve Hay) that better support |
| for modifying internal data, so a full set of routines were added. |
| |
| The full set of routines includes: |
| |
| rename_country |
| rename_language |
| rename_currency |
| rename_script |
| |
| add_country |
| add_language |
| add_currency |
| add_script |
| |
| delete_country |
| delete_language |
| delete_currency |
| delete_script |
| |
| add_country_alias |
| add_language_alias |
| add_currency_alias |
| add_script_alias |
| |
| delete_country_alias |
| delete_language_alias |
| delete_currency_alias |
| delete_script_alias |
| |
| rename_country_code |
| rename_language_code |
| rename_currency_code |
| rename_script_code |
| |
| add_country_code_alias |
| add_language_code_alias |
| add_currency_code_alias |
| add_script_code_alias |
| |
| delete_country_code_alias |
| delete_language_code_alias |
| delete_currency_code_alias |
| delete_script_code_alias |
| |
| =item B<New aliases> |
| |
| Added "UK" alias. Steve Hay |
| |
| =back |
| |
| =head1 VERSION 3.01 (2010-02-15; sbeck) |
| |
| =over 4 |
| |
| =item B<Fixed Makefile.PL and Build.PL> |
| |
| They now install as core modules as they are supposed to. Reported in |
| RT 54526 |
| |
| =back |
| |
| =head1 VERSION 3.00 (2010-02-10; sbeck) |
| |
| NEW CODE(s) |
| |
| =over 4 |
| |
| =item B<New maintainer> |
| |
| From 1997 to 2004, Locale::Codes was maintained by Neil |
| Bowers. Unfortunately, no updates were made from June 2004 to January |
| 2010. During that time, a number of changes have been made to the |
| standards since then, so the data included was out-of-date. |
| |
| I contacted Neil to get his permission to assume maintenance of |
| the module, and he kindly agreed. |
| |
| =item B<(*) (!) All codes are generated from standards> |
| |
| All of the values returned by the various functions are now values |
| directly from the standards. This means that the values returned in |
| the 2.xx series are not necessarily the same as the values returned |
| here. |
| |
| As an example, the ISO 3166 standard which lists country codes refers |
| to the country associated with the code "bo" as "Bolivia, |
| Plurinational State of", so that is what is returned. In the 2.xx |
| series, "Bolivia" was returned. Also, the country names vary from one |
| standard to another. So the code "bol" which is maintained by the |
| United Nations returns the name of the country as "Bolivia |
| (Plurinational State of)". Some common aliases have been added, so you |
| can still request a code associated with a county name "Bolivia". |
| |
| Since the data comes from the standards, some "incorrect" values are |
| no longer supported. For example, 2.07 treated "Zaire" as an alias for |
| "Congo", but the country changed it's name, and "Zaire" is not in the |
| standard, so it has been dropped in 3.00. |
| |
| =item B<Added new codeset(s)> |
| |
| FIPS 10 country codes (requested in RT 1755) |
| |
| Alpha-3 and Term language codes (requested in RT 11730) |
| |
| Numeric currency codes (requested in RT 18797) |
| |
| =item B<(*) (!) Locale::Script changed> |
| |
| In 2.xx, Locale::Script assigned scripts to country codes, which is NOT |
| how it is done currently in the standards. It appears that an older version |
| of ISO 15924 did this, but I haven't found an old version to confirm |
| that, and in any case, that is not the case in the current standards. |
| |
| As a result, the Locale::Script module is completely incompatible with |
| the 2.xx version with respect to the types of codes it supports. None of |
| the old codes will work. |
| |
| =item B<Added missing functions> |
| |
| I've added in some functions which were "missing" previously (since there was |
| only one set of codes supported, the code2code functions didn't apply): |
| |
| language_code2code |
| currency_code2code |
| |
| so the interfaces for each type of codes are consistent. |
| |
| =item B<(!) Dropped support for _alias_code> |
| |
| In Locale::Country, _alias_code was an allowed, but deprecated function |
| which was documented to be supported in the 2.xx series. I've removed it. |
| |
| =item B<(!) All functions return the standard value> |
| |
| code2country (and other equivalent functions) now returns the name of |
| the country specified in the standard (if the different standards |
| refer to the country by different variations in the name, the results |
| will differ based on the CODESET) |
| |
| =item B<(!) rename_country function altered> |
| |
| The rename_country function from 2.07 would guess the CODESET (unlike |
| all other functions which used a default of LOCALE_CODE_ALPHA_2). The |
| guess can cause problems since (with the addition of FIPS) codes may |
| appear in different codesets for different countries. The behavior has |
| been changed to be the same as other functions (default to |
| LOCALE_CODE_ALPHA_2). |
| |
| =back |
| |
| =head1 VERSION 2.07 (2004-06-10; neilb) |
| |
| Made $_ local in the initialization code for each module |
| change back-propagated from Perl distribution |
| |
| Removed two non ISO-8859-1 characters from language names |
| change back-propagated from Perl distribution |
| |
| Added the following aliases, with a test case for each |
| - Burma added to Myanmar |
| - French Southern and Antarctic Lands to |
| French Southern Territories |
| patch from TJ Mather |
| |
| "Canadian Dollar" was misspelled as "Candian Dollar" |
| - noted by Nick Cabatoff, patch from Michael Hennecke |
| |
| Changes to Locale::Country reflecting changes in ISO 3166 |
| - added Aland Islands (ax, ala, 248) |
| - YUGOSLAVIA is now SERBIA AND MONTENEGRO |
| YU => CS |
| YUG => SCG |
| 891 => 891 (unchanged) |
| (YUGOSLAVIA retained as an alias) |
| - EAST TIMOR changed to TIMOR-LESTE |
| (old name retained as an alias) |
| - three letter code for Romania changed from ROM to ROU |
| |
| ZAIRE is now CONGO, THE DEMOCRATIC REPUBLIC OF THE |
| ZR => CD |
| ZAR => COD |
| 180 => 180 (unchanged) |
| (ZAIRE retained as alias) |
| |
| =head1 VERSION 2.06 (2002-07-15; neilb) |
| |
| The four modules which have data after __DATA__ weren't closing the |
| DATA filehandle after reading from it, which they should. Bug and |
| patch from Steve Hay. |
| |
| =head1 VERSION 2.05 (2002-07-08; neilb) |
| |
| Added three letter codes for the countries that were missing |
| them. Patch from TJ Mather. |
| |
| Documentation bug: one of the examples used => where the |
| lvalue was a constant, which isn't allowed, unless you |
| put the () with the constant to force the right interpretation. |
| Pointed out by TJ Mather and MYT. |
| |
| Updated the URL for the appendix in the CIA world factbook. |
| Patch from TJ Mather. |
| |
| =head1 VERSION 2.04 (2002-05-23; neilb) |
| |
| Updated according to changes in ISO 3166-1 described |
| in ISO 3166-1 newsletters V-4 and V-5, dated 2002-05-20: |
| - Kazakstan is now "Kazakhstan" |
| - Macau is now "Macao" |
| The old names are retained as aliases. |
| |
| The alpha-2 and alpha-3 codes for East Timor have changed: |
| tp -> tl |
| tmp -> tls |
| the numeric code stays 626. If you want to support the old |
| codes, you can use the semi-private function alias_code(). |
| |
| =head1 VERSION 2.03 (2002-03-24; neilb) |
| |
| Fixed a typo in the alias for the Vatican, reported (with patch) |
| by Philip Newton. |
| |
| Added "Moldova" as an alias for "Moldova, Republic of" |
| |
| Updated Makefile.PL to include AUTHOR and ABSTRACT |
| |
| =head1 VERSION 2.02 (2002-03-09; neilb) |
| |
| Added semi-private routine rename_country() to Locale::Country, |
| based on a patch from Iain Chalmers. |
| |
| Added test rename.t for the above function. |
| |
| Renamed _alias_code to be alias_code. Have retained the old |
| name for backwards compatibility. Will remove it when the |
| major version number next changes. |
| |
| =head1 VERSION 2.01 (2002-02-18; neilb) |
| |
| Split the documentation for all modules into separate pod files. |
| |
| Made sure all =over were =over 4; some were other values. |
| |
| The code2code() methods had one more shift than was needed. |
| |
| =head1 VERSION 2.00 (2002-02-17; neilb) |
| |
| Created Locale::Script which provides an interface to the ISO codes |
| for identification of scripts (writing scripts, rather than perl style |
| scripts). The codes are defined by ISO 15924, which is currently in |
| final draft. Thanks to Jarkko for pointing out this new standard. |
| All three code sets are supported, and a test-suite added. |
| |
| Added support for country name variants to Locale::Country, |
| so that |
| country2code('USA') |
| country2code('United States') |
| country2code('United States of America') |
| will all return 'us'. This had been in the LIMITATIONS section since |
| the first version. Patch from TJ Mather with additional variants from |
| me. Added test-cases for these. |
| |
| Added VERSION to Locale::Constants. Thanks to Jarkko for |
| pointing that it was missing. |
| |
| Should really have bumped major version with previous release, |
| since there was a change to the API. |
| |
| =head1 VERSION 1.06 (2001-03-04; neilb) |
| |
| Added Locale::Constants, which defines three symbols for identifying |
| which codeset is being used: |
| |
| LOCALE_CODE_ALPHA_2 |
| LOCALE_CODE_ALPHA_3 |
| LOCALE_CODE_NUMERIC |
| |
| Updated Locale::Country to support all three code sets defined by ISO |
| 3166. This was requested by Keith Wall. I haven't added multiple |
| codeset support to the other modules yet - I'll wait until someone |
| asks for them. |
| |
| =head1 VERSION 1.05 (2001-02-13; neilb) |
| |
| Added Locale::Currency, contribution from Michael Hennecke. |
| |
| Added test suite for it (t/currency.t) and added test cases |
| to t/all.t for the all_* functions. |
| |
| =head1 VERSION 1.04 (2000-12-21; neilb) |
| |
| Fixed very minor typos from 1.03! |
| |
| =head1 VERSION 1.03 (2000-12-??; neilb) |
| |
| Updated Locale::Country: |
| - fixed spelling of a few countries |
| - added link to a relevant page from CIA world factbook |
| |
| Updated Locale::Language: |
| - fixed typo in the documentation (ISO 939 should be 639) |
| |
| =head1 VERSION 1.02 (2000-05-04; neilb) |
| |
| Updated Locale::Country and Locale::Language to reflect changes in the |
| relevant ISO standards. These mainly reflect languages which are new |
| to the relevant standard, and changes in the spelling of some country |
| names. |
| |
| Added official URLs for the standards to the SEE ALSO sections of the |
| doc for each module. |
| |
| Thanks to Jarkko Hietaniemi for pointing me at the pages with latest |
| versions of ISO 3166 and 639. |
| |
| =head1 VERSION 1.00 (1998-03-09; neilb) |
| |
| Added Locale::Country::_alias_code() so that 'uk' can be added as the |
| code for "United Kingdom", if you want it. This was prompted by Ed |
| Jordan. |
| |
| Added a new test suite for handling this case, and extended the |
| existing test-suite to include testing of the case where 'uk' hasn't |
| been defined as a valid code. |
| |
| =head1 VERSION 0.003 (1997-05-09; neilb) |
| |
| First public release to CPAN |
| |
| =head1 SEE ALSO |
| |
| Locale::Codes |
| |
| =head1 AUTHOR |
| |
| See Locale::Codes for full author history. |
| |
| Currently maintained by Sullivan Beck (sbeck@cpan.org). |
| |
| =head1 COPYRIGHT |
| |
| Copyright (c) 2001-2010 Neil Bowers |
| Copyright (c) 2010-2012 Sullivan Beck |
| |
| This module is free software; you can redistribute it and/or |
| modify it under the same terms as Perl itself. |
| |
| =cut |