sesión 13 i18n & l10n zend_locale zend_date zend_translate zend_currency instructor: ing....
TRANSCRIPT
![Page 1: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/1.jpg)
Sesión 13I18n & L10nZend_LocaleZend_Date
Zend_TranslateZend_Currency
Instructor: Ing. Ernesto Anaya Ruiz
Desarrollo Web Profesionalcon PHP y Zend Framework
![Page 2: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/2.jpg)
i18n & l10n
![Page 3: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/3.jpg)
Ejemplo
![Page 4: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/4.jpg)
i18n
La internacionalización es el proceso de diseñar software de manera tal que pueda adaptarse a diferentes idiomas y regiones sin la necesidad de realizar cambios de ingeniería ni en el código
![Page 5: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/5.jpg)
l10n
La localización es el proceso de adaptar el software para una región específica mediante la adición de componentes específicos de un locale y la traducción de los textos, por lo que también se le puede denominar regionalización
![Page 6: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/6.jpg)
I N T E R N A T I O N A L I Z A T I O N
i 1 8 n
L O C A L I Z A T I O N
l 1 0 n
![Page 7: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/7.jpg)
Zend_Locale
![Page 8: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/8.jpg)
Zend_Locale
Zend_Locale es la respuesta de Zend Framework a la pregunta: ¿Cómo podría la misma aplicación ser usada en el mundo entero?No basta solo con traducir los textos, ya que en diferentes partes del mundo se usan diferentes convenciones para fechas, medidas, moneda, etc.
![Page 9: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/9.jpg)
Creando un objeto de la clase Zend_Locale
<?php // Especificando la localidad (locale) $locale = new Zend_Locale('de_DE'); // Idioma Alemán _ Alemania ?>
![Page 10: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/10.jpg)
<? $l = new Zend_Locale(); ?> default: <?=$l;?><br />
<? $l = new Zend_Locale(Zend_Locale::BROWSER); ?> Zend_Locale::BROWSER: <?=$l;?><br />
<? $l = new Zend_Locale(Zend_Locale::ENVIRONMENT); ?> Zend_Locale::ENVIRONMENT: <?=$l;?><br />
<? $l = new Zend_Locale(Zend_Locale::ZFDEFAULT); ?> Zend_Locale::FRAMEWORK: <?=$l;?><br />
default: en_USZend_Locale::BROWSER: en_USZend_Locale::ENVIRONMENT: es_PEZend_Locale::FRAMEWORK: en
Capturando el Locale del contexto
![Page 11: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/11.jpg)
<? $l = new Zend_Locale('es'); // Solo idioma ?> <?=$l;?><br />
<? $l = new Zend_Locale('es_PE'); // Idioma y Región ?> <?=$l;?><br />
eses_PE
Idioma y Región
![Page 12: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/12.jpg)
<? Zend_Locale::setDefault('es_PE'); ?> <? $l2 = new Zend_Locale(Zend_Locale::ZFDEFAULT); ?> (default cambiado) : <?=$l2;?><br /> (idioma) : <?=$l2->getLanguage();?><br /> (region) : <?=$l2->getRegion();?><br />
(default cambiado) : es_PE(idioma) : es(region) : PE
Obteniendo el Idioma y Región
![Page 13: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/13.jpg)
<? $l3 = new Zend_Locale(Zend_Locale::getLocaleToTerritory('MX'));?> (idioma) : <?=$l3->getLanguage();?><br /> (region) : <?=$l3->getRegion();?><br />
<? $l4 = new Zend_Locale(Zend_Locale::getLocaleToTerritory('JP'));?> (idioma) : <?=$l4->getLanguage();?><br /> (region) : <?=$l4->getRegion();?><br />
(idioma) : es(region) : MX
(idioma) : ja(region) : JP
Locale de un Territorio
![Page 14: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/14.jpg)
<?=Zend_Locale_Format::getNumber('123,789', array('locale'=>'es_ES')); ?><br />
<?=Zend_Locale_Format::getNumber('123.789', array('locale'=>'es_ES')); ?><br />
<?=Zend_Locale_Format::getNumber('123.789', array('locale'=>'es_PE')); ?><br />
<?=Zend_Locale_Format::getNumber('123,789', array('locale'=>'es_PE')); ?><br />
<?=Zend_Locale_Format::getNumber('123.789', array('locale'=>'it_IT')); ?><br />
<?=Zend_Locale_Format::getNumber('123.789', array('locale'=>'en_US')); ?><br />
<?=Zend_Locale_Format::getNumber('123,789', array('locale'=>'fr_FR')); ?><br />
<?=Zend_Locale_Format::getNumber('123.789', array('locale'=>'es_AR')); ?><br /> <?=Zend_Locale_Format::getNumber('123,789', array('locale'=>‘ja_JP')); ?><br />
123.789123789123.789123789123789123.789123.789123789123789
Ejemplo de uso:
Más ejemplos con Zend_Currency, Zend_Translate, Zend_Date, etc.
![Page 15: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/15.jpg)
Zend_Date
![Page 16: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/16.jpg)
Zend_Date
El componente Zend_Date ofrece una API detallada pero a la vez simple para manipular fechas y horas. Sus métodos aceptan una amplia variedad de tipos de información, incluyendo partes de fechas, en varias combinaciones.
![Page 17: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/17.jpg)
Inicializando Zend_Date
<? $d = new Zend_Date();?> <?=$d?>
Apr 5, 2011 12:48:02 PM
Zend_Date implementa el método toString()
![Page 18: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/18.jpg)
Getters
<?=$d?><br /> <?=$d->get()?><br /> <?=$d->get(Zend_Date::DATETIME)?><br /> <?=$d->get(Zend_Date::DATETIME_FULL)?><br />
<?=$d->get(Zend_Date::ATOM)?><br /> <?=$d->get(Zend_Date::DAY_OF_YEAR)?><br /> <?=$d->get(Zend_Date::DAY)?><br /> <?=$d->get(Zend_Date::WEEK)?><br />
Apr 5, 2011 1:09:57 PM1302026997Apr 5, 2011 1:09:57 PMTuesday, April 5, 2011 1:09:57 PM America/Lima2011-04-05T13:09:57-05:00940514
![Page 19: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/19.jpg)
Setters
<? $d->set('16:00:00',Zend_Date::TIMES); ?> <?=$d?><br />
<? $d->set(44,Zend_Date::SECOND); ?> <?=$d?><br /> <? $d->set(1986,Zend_Date::YEAR); ?> <?=$d?><br /> <? $d->set(2,Zend_Date::MONTH); ?> <?=$d?><br /> <? $d->set(23,Zend_Date::DAY); ?> <?=$d?><br /> <?=$d->get(Zend_Date::DATETIME_FULL)?> <br />
Apr 5, 2011 4:00:00 PMApr 5, 2011 4:00:44 PMApr 5, 1986 4:00:44 PMFeb 5, 1986 4:00:44 PMFeb 23, 1986 4:00:44 PMSunday, February 23, 1986 4:00:44 PM America/Lima
![Page 20: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/20.jpg)
Incrementado y Decrementando
<?=$d?><br />
<? $d->add('02:30:00',Zend_Date::TIMES); ?> <? $d->add(1,Zend_Date::MONTH); ?> <?=$d?><br />
<? $d->sub(3,Zend_Date::HOUR); ?> <? $d->sub(1,Zend_Date::YEAR); ?> <?=$d?><br />
Feb 23, 1986 4:00:44 PMMar 23, 1986 6:30:44 PMMar 23, 1985 2:30:44 PM
![Page 21: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/21.jpg)
Comparación: mayor, menor o igual
<? $d = new Zend_Date();?> <?=$d?><br /><? $h = 23; ?> <? $c = $d->compare($h,Zend_Date::HOUR); ?> <?= $c==0 ? "Son las $h horas“ : ( $c==-1 ? "Aun no son las $h horas“ : "Ya son mas de las $h horas“ )?><br />
Apr 5, 2011 1:28:47 PMAun no son las 23 horas
![Page 22: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/22.jpg)
Comparación: igualdad o desigualdad
<? $d = new Zend_Date();?> <?=$d?><br /><? $h = 23; ?>
<?= $d->equals($h,Zend_Date::HOUR) ? "Son las $h horas“ : "No son las $h horas“?><br />
Apr 5, 2011 1:28:47 PMNo son las 23 horas
![Page 23: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/23.jpg)
Usando Zend_Locale
<? $es = new Zend_Locale('es_PE'); ?> <? $d1 = new Zend_Date('1 de abril del 2011',Zend_Date::DATE_LONG,$es);?> <?=$d1?><br />
<? $d2 = new Zend_Date('April 2, 2011');?> <?=$d2?><br />
<? $d3 = new Zend_Date(‘5 avril 2011',Zend_Date::DATE_LONG,'fr');?> <?=$d3?><br />
01/04/2011 00:00:00Apr 2, 2011 12:00:00 AM5 avr. 2011 00:00:00
![Page 24: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/24.jpg)
Otros métodos de Zend_Date
"<?=$d1?>" <?=$d1->isEarlier($d2)?'es':'no es'?> anterior a "<?=$d2?>"<br /> "<?=$d1?>" <?=$d1->isLater($d2)?'es':'no es'?> posterior a "<?=$d2?>"<br /> "<?=$d1?>" <?=$d1->isTomorrow()?'es':'no es'?> mañana<br /> "<?=$d2?>" <?=$d2->isYesterday()?'fue':'no fue'?> ayer<br /> "<?=$d3?>" <?=$d3->isToday()?'es':'no es'?> hoy<br /> "<?=$d1?>" <?=$d1->isLeapYear()?'es':'no es'?> año bisiesto<br /> <? $d1->add(1,Zend_Date::YEAR); ?> "<?=$d1?>" <?=$d1->isLeapYear()?'es':'no es'?> año bisiesto<br />
"01/04/2011 00:00:00" es anterior a "Apr 2, 2011 12:00:00 AM""01/04/2011 00:00:00" no es posterior a "Apr 2, 2011 12:00:00 AM""01/04/2011 00:00:00" no es mañana"Apr 2, 2011 12:00:00 AM" no fue ayer"5 avr. 2011 00:00:00" es hoy"01/04/2011 00:00:00" no es año bisiesto"01/04/2012 00:00:00" es año bisiesto
![Page 25: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/25.jpg)
Creando una fecha de un UNIX timestamp
// SELECT UNIX_TIMESTAMP(my_datetime_column) FROM my_table $unixtimestamp = 1101491890; $d = new Zend_Date($unixtimestamp, Zend_Date::TIMESTAMP); echo $d."<br />";
Nov 26, 2004 12:58:10 PM
![Page 26: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/26.jpg)
Creando una fecha de un date (db)
// SELECT datecolumn FROM my_table $datecolumn = '1998-09-24'; $d = new Zend_Date($datecolumn, Zend_Date::ISO_8601); echo $d."<br />";
Sep 24, 1998 12:00:00 AM
![Page 27: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/27.jpg)
Creando una fecha de un array
// Array $datearray = array('year' => 2006, 'month' => 4, 'day' => 18, 'hour' => 12, 'minute' => 3, 'second' => 10); $d = new Zend_Date($datearray); echo $d."<br />";
Apr 18, 2006 12:03:10 PM
![Page 28: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/28.jpg)
Zend_Translate
![Page 29: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/29.jpg)
Zend_Translate
Zend_Translate es la solución de Zend Framework para construir aplicaciones multi-idioma.
![Page 30: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/30.jpg)
Inicializando Zend_Translate en el bootstrapprotected function _initTranslation(){// Bootstrap $regT = Zend_Registry::get('t'); $lang = isset($regT->lang)?$regT->lang:'es'; $es = array( 'message1' => 'Mensaje 1', 'message2' => 'Mensaje 2', 'message3' => 'Mensaje 3'); $en = array( 'message1' => 'Message 1', 'message2' => 'Message 2', 'message3' => 'Message 3'); $de = array( 'message1' => 'Nachricht 1', 'message2' => 'Nachricht 2', 'message3' => 'Nachricht 3'); $t = new Zend_Translate(array( 'adapter' => 'array', 'content' => $$lang, 'locale' => $lang )); $regT->t = $t; }
![Page 31: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/31.jpg)
Uso en las vistas
<?$regT = Zend_Registry::get('t');$t = $regT->t;?>
<?=$t->_("message1")?><br /> <?=$t->_("message2")?><br /> <?=$t->_("message3")?><br />
![Page 32: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/32.jpg)
Cambiar de Idioma:
public function changeLangAction(){ $regT = Zend_Registry::get('t'); $regT->lang = $this->_getParam('lang'); $this->_redirect($_SERVER['HTTP_REFERER']); }
![Page 33: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/33.jpg)
Zend_Currency
![Page 34: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/34.jpg)
Zend_Currency
Zend_Currency es parte del fuerte soporte para i18n que brinda Zend Framework. Maneja varias operaciones relacionadas con divisas, representación de monedas, formato, intercambio, etc.
![Page 35: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/35.jpg)
Inicialización
<? $c = new Zend_Currency(); ?> <? $c->setValue(100); ?>
<?=$c?> <br />
$100.00
![Page 36: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/36.jpg)
i18n & l10ndefault: <?=$c?> <br /> Perú: <?$c->setLocale('es_PE');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Japón: <?$c->setLocale('ja_JP');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> México: <?$c->setLocale('es_MX');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Francia: <?$c->setLocale('fr_FR');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Italia: <?$c->setLocale('it_IT');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Costa Rica: <?$c->setLocale('es_CR');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Gran Bretaña:<?$c->setLocale('en_GB');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Rusia: <?$c->setLocale('ru_RU');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> Canadá: <?$c->setLocale('en_CA');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br /> USA: <?$c->setLocale('en_US');?> <?=$c?> (<?=$c->getName()?>,<?=$c->getShortName()?>) <br />
default: $100.00 Perú: S/. 100.00 (nuevo sol peruano,PEN) Japón: ¥ 100.00 (日本円 ,JPY) México: $ 100.00 (peso mexicano,MXN) Francia: 100,00 € (euro,EUR) Italia: € 100,00 (Euro,EUR) Costa Rica: ₡ 100,00 (colón costarricense,CRC) Gran Bretaña: £100.00 (British Pound Sterling,GBP) Rusia: 100,00 руб. (Российский рубль,RUB) Canadá: $100.00 (Canadian Dollar,CAD) USA: $100.00 (US Dollar,USD)
![Page 37: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/37.jpg)
Algunos métodos<? $c->setValue(5100); ?> <?=$c?> <br /> <? $c->add(123.456); ?> <?=$c?> <br /> <? $c->div(13); ?> <?=$c?> <br /> <?= $c->isMore(5000)?'es’:'no es‘;?> mayor que 5000
$5,100.00 $5,223.46 $401.80 no es mayor que 5000
![Page 38: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/38.jpg)
Cambio de Divisas
class My_TasaCambio implements Zend_Currency_CurrencyInterface { public function getRate($from, $to){ if ($from !== "USD" && $from !== "PEN" ) { throw new Exception('Solo se cambia USD, PEN'); } switch ($from) { case 'USD': switch ($to) { case 'PEN': return 2.8; } case 'PEN': switch ($to) { case 'USD': return 0.3571; } } throw new Exception("No se cambia a $to"); } }
![Page 39: Sesión 13 I18n & L10n Zend_Locale Zend_Date Zend_Translate Zend_Currency Instructor: Ing. Ernesto Anaya Ruiz Desarrollo Web Profesional con PHP y Zend](https://reader033.vdocuments.net/reader033/viewer/2022061300/54d125b0497959a0198b4cdd/html5/thumbnails/39.jpg)
Cambio de Divisas
<? $c1 = new Zend_Currency(); ?> <? $tc = new My_TasaCambio(); ?> <? $c1->setService($tc) ?> <? $c1->setValue(1000,'PEN'); ?> <?=$c1;?> <br />
<? $c1 = new Zend_Currency('es_PE'); ?> <? $tc = new My_TasaCambio(); ?> <? $c1->setService($tc) ?> <? $c1->setValue(1000,'USD'); ?> <?=$c1;?>
$357.10S/. 2,800.00