ZF-5858: Locale issue with en_NG

Description

Hi,

I'm busy developing a site with multilingual support and different locales. If however I change my locale to en_NG (English Nigeria), which is already specified within the en.xml file.

Dump of fatal error:

Fatal error: Uncaught exception 'Zend_Currency_Exception' with message 'No region found within the locale 'en_NG'' in /var/www/skeleton/lib/Zend/Zend/Currency.php:256 Stack trace: #0 /var/www/skeleton/lib/Zend/Zend/Currency.php(312): Zend_Currency->_checkParams(NULL, 'en_NG') #1 /var/www/skeleton/lib/Zend/Zend/Currency.php(500): Zend_Currency->getShortName(NULL, 'en_NG') #2 /var/www/skeleton/application/default/controllers/LocaleController.php(36): Zend_Currency->setLocale('en_NG') #3 /var/www/skeleton/lib/Zend/Zend/Controller/Action.php(503): LocaleController->indexAction() #4 /var/www/skeleton/lib/Zend/Zend/Controller/Dispatcher/Standard.php(285): Zend_Controller_Action->dispatch('indexAction') #5 /var/www/skeleton/lib/Zend/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #6 /var/www/skeleton/html/index.php(43): Zend_Controller_Front->dispatch() #7 {main} thrown in /var/www/skeleton/lib/Zend/Zend/Currency.php on line 256

Could anyone possible direct me in the right direction as to add different locales, as we are heavily developing for Africa and would like to extend this feature as far as possible.

Thanks Dewald Botha

Comments

English is no known official language for Nigeria.

Please read the manual about which locales are available: http://framework.zend.com/manual/en/…

Hi,

I saw the list you have for the Zend Locale appendix - my issue however is that it is recorded in http://unicode.org/cldr/data/… as an official language for Nigeria and that in your en.xml file in your locale data directory you have specific entries for Nigeria.

Now, I might be wrong about it, but then there must be some other way of adding a xml file to add locale capability to the data. So I'm guessing my question would be, what xml files/entries would I have to make/change in order to add en_NG as an option?

Thanks Dewald Botha

First: You are referring to a draft which was never accepted by Unicode. Within the actual CLDR 1.6.1 this locale has not been accepted.

Second: You can download the CLDR yourself and will see that this locale does not exist.

Third: As you may have mentioned this is Zend Framework and not Unicode. When you have a problem with the data from Unicode please ask at Unicode and not at Zend.

Forth: We are not allowed to change this data because we are deploying it to other people. Doing so would be a legal problem.

Fifth: As you may already imagine, I will not tell you how you can change Unicode's data as this also would be a legal problem. When you do this yourself it's on you :-)

Instead of adding irregular data, which would be deleted with the next update, you should simply refer to the correct locale. Use 'en' for translation but 'ha_NG' for example for currency.

Closing as non-issue