<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>iuttu &#187; internacionalización</title> <atom:link href="http://www.iuttu.com/tag/internacionalizacion/feed/" rel="self" type="application/rss+xml" /><link>http://www.iuttu.com</link> <description>Desarrollo web</description> <lastBuildDate>Mon, 23 Jan 2012 16:52:04 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Urls multiidioma en Zend Framework</title><link>http://www.iuttu.com/2008/12/urls-multiidioma-zend-framework/</link> <comments>http://www.iuttu.com/2008/12/urls-multiidioma-zend-framework/#comments</comments> <pubDate>Tue, 09 Dec 2008 14:05:45 +0000</pubDate> <dc:creator>iuttu</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programación]]></category> <category><![CDATA[internacionalización]]></category> <category><![CDATA[zend framework]]></category> <guid
isPermaLink="false">http://blog.iuttu.com/?p=77</guid> <description><![CDATA[Hoy en día es poco habitual realizar un desarrollo web en un único idioma. Para controlar el idioma a mostrar en nuestra página solemos utilizar parámetros en la url que permitan enlazarnos externamente en el idioma deseado. Si utilizas Zend Framework, la definición de routers te permitirá manejar este problema sin dificultades. Como ejemplo, trabajaremos [...]]]></description> <content:encoded><![CDATA[<p>Hoy en día es poco habitual realizar un desarrollo web en un único idioma. Para controlar el idioma a mostrar en nuestra página solemos utilizar parámetros en la url que permitan enlazarnos externamente en el idioma deseado.</p><p>Si utilizas Zend Framework, la definición de routers te permitirá manejar este problema sin dificultades. Como ejemplo, trabajaremos con un router que enlaza con la página principal, pero se puede replicar el ejemplo a los routers que desees o a un formato genérico tipo <code>:module/:controller/:action</code></p><p>Nuestro router tendría esta pinta:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$route</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Controller_Router_Route<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':language'</span><span style="color: #339933;">,</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$router</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addRoute</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'home'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$route</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div><p>En el init de nuestro action añadiremos estas líneas:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
</pre></td><td
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$language</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span> <span style="color: #339933;">-&gt;</span> _getParam<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'language'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$adapter</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Translate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'gettext'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'../languages/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$language</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.mo'</span><span style="color: #339933;">,</span><span style="color: #000088;">$language</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$adapter</span> <span style="color: #339933;">-&gt;</span> <span style="color: #990000;">setLocale</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$language</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Zend_Form<span style="color: #339933;">::</span><span style="color: #004000;">setDefaultTranslator</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$adapter</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div><p>Y listo. A partir de este momento si el parámetro indicado como language es &#8220;es&#8221; o &#8220;en&#8221; cargaremos el fichero de idioma indicado. Controlando el valor de $language podemos confirmar que el parámetro es uno de nuestros idiomas definidos (comprobando que forma parte de un array de idiomas, por ejemplo) o forzar un valor por defecto cuando el valor de $language es vacío.</p> ]]></content:encoded> <wfw:commentRss>http://www.iuttu.com/2008/12/urls-multiidioma-zend-framework/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 7/15 queries in 0.017 seconds using disk: basic

Served from: www.iuttu.com @ 2012-02-06 15:14:39 -->
