Zend Framework Currency issue

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Voor een nieuw project ben ik begonnen met het gebruik van Zend Framework.
Na lang wikken en wegen heb ik de keuze voor dit framework gemaakt en begin het nu aardig te leren kennen.
Ik loop echter tegen het volgende aan.

De taal en valuta moeten door de bezoeker los van elkaar te kiezen zijn.
Nu hebben we heel mooi Zend_Locale welke te taal selecteert.
Hierbij hoort direct een valuta. Deze valuta is niet te overschrijven.
Als oplossing heb ik hiervoor het volgende:
PHP:
1
2
3
4
$currency = new Zend_Currency(array('currency'  => 'USD',
                                    'format'    => 'nl',
                                    'value'     => 109.85), 'nl_NL');
echo $currency . '<br />';

De waarde 'nl' kan ik uit de locale instance trekken.
In de database zet ik de beschikbare valuta waaraan ik een bijbehorende locale koppel.
In dit voor de euro is dit dus 'nl_NL'. Voor dollars bijvoorbeeld 'en_US'.
Op deze manier wordt de output geformat volgens mijn gekozen taal, en maar met de symbolen/teksten van de gekozen valuta.
Dit geheel gooi ik natuurlijk nog in een view helper om het OOP te houden.
Indien mensen hier een betere oplossing voor hebben hoor ik dit graag.

Nu is het probleem vooral het volgende:
Het systeem dat ik ontwikkel zal onder andere op de Antillen gebruikt gaan worden.
Hier gebruikt men de valuta 'ANG'. De bijbehorende locale lijkt mij vanzelfsprekend 'pap_AN'.
Papiamentu als taal. AN voor de Antillen.Zend Framework ken deze locale echter niet.
Nu hoef ik niet specifiek deze locale te hebben. De taal pap zullen we vooralsnog niet gebruiken dus de gegevens hiervoor komen uit de gekozen taal. Echter wil ik op de Antillen wel de valuta 'ANG' gebruiken.
Wanneer ik in de bestanden van het Framework zoek is dit een bekende valuta maar ik krijg hem met geen mogelijkheid in gebruik.
Zijn er mensen die weten hoe dit te realiseren?

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:45

MueR

Admin Tweakers Discord

is niet lief

Zend Framework doet weinig met locales hoor, dat is de server die de locale niet kent. Je zal dus je locales op de server moeten configureren.

Anyone who gets in between me and my morning coffee should be insecure.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
offtopic:
Zou je voortaan
de tekstomloop
aan 't forum willen
overlaten? Het leest
nogal vervelend als
je na elke zin op
enter ramt ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 12:39
MueR schreef op donderdag 06 september 2012 @ 19:06:
Zend Framework doet weinig met locales hoor, dat is de server die de locale niet kent. Je zal dus je locales op de server moeten configureren.
Nouja, ZF1 shipt anders wel een shitload aan locale data, in Zend/Locale/_data/ iirc. Deze data komt bij CLDR wat weer een subdivisie is van het unicode consortium. Hier kan je de ruwe data vinden: http://framework.zend.com...library/Zend/Locale/Data/

Mocht de door jouw gewenste locale er niet bij staan (misschien heet 'ie anders?) dan kan je kijken of CLDR hem wel heeft. Als zij deze ook niet hebben, dan kan je een issue aanmaken, en eventueel zelf bij hen contributen. Hebben zij een nieuwe zinvolle versie dan zorg ik voor een nieuwe zf1.12 release ;)

Overigens, al die ruwe xml bestanden zorgen er voor dat alles wat iets met locales doet nooit een prijs voor het snelste component zal worden. Daarnaast is de lijst van cldr wel dusdanig compleet dat de kans dat jouw data er niet bij zit vrij klein is.

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.