<?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>Open Minded &#187; Código Experimental</title>
	<atom:link href="http://nacho.larrateguy.com.ar/category/investigacion/experimental-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://nacho.larrateguy.com.ar</link>
	<description>lo que pueda decir, que no se haya dicho ya...</description>
	<lastBuildDate>Wed, 09 Nov 2011 13:35:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Traducir un archivo PO con Google Translator y Python</title>
		<link>http://nacho.larrateguy.com.ar/2010/02/22/traducir-archivo-po-python/</link>
		<comments>http://nacho.larrateguy.com.ar/2010/02/22/traducir-archivo-po-python/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 12:27:30 +0000</pubDate>
		<dc:creator>nacho</dc:creator>
				<category><![CDATA[Código Experimental]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://nacho.larrateguy.com.ar/?p=400</guid>
		<description><![CDATA[Mediante el uso de POedit, uno puedo crear traducciones para internacionalización sobre un archivo base, el cuál contiene las cadenas de texto de cierto software. Sin embargo si las cadenas son muchas, podemos hacer uso de alguna herramienta de traducción, y limitarnos a luego revisar y encontrar la traducción más adecuada para el contexto en [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://nacho.larrateguy.com.ar/wp-content/uploads/HLIC/e4a68e0fa541a98b68c918e92ada95bc.jpg" alt="" width="263" height="245" />Mediante el uso de POedit, uno puedo crear traducciones para internacionalización sobre un archivo base, el cuál contiene las cadenas de texto de cierto software. Sin embargo si las cadenas son muchas, podemos hacer uso de alguna herramienta de traducción, y limitarnos a luego revisar y encontrar la traducción más adecuada para el contexto en el que se encuentra cada texto.</p>
<p>Particularmente necesitaba traducir un tema de WordPress que traía su propio archivo .po en inglés (en-EN.po). Hice un pequeño script en Python que hace uso de <a href="http://code.google.com/p/py-gtranslate">py-translate</a>. Este módulo hace uso de la API de Google Translate. Quizá a alguno le resulte útil o pueda adaptarlo a sus necesidades (ya que está todo harcodeado dentro <img src='http://nacho.larrateguy.com.ar/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> ).</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># coding=utf-8</span>
<span style="color: #ff7700;font-weight:bold;">import</span> gtrans
&nbsp;
fo = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;en_EN.po&quot;</span>,<span style="color: #483d8b;">&quot;r&quot;</span><span style="color: black;">&#41;</span>
fi = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;es_ES.po&quot;</span>,<span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> fo:
    <span style="color: #ff7700;font-weight:bold;">if</span> line.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;msgid&quot;</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">0</span>:
        cad = gtrans.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;en&quot;</span>,<span style="color: #483d8b;">&quot;es&quot;</span>,line.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        <span style="color: #808080; font-style: italic;">#print line.encode(&quot;utf-8&quot;),</span>
        fi.<span style="color: black;">write</span><span style="color: black;">&#40;</span>line.<span style="color: black;">encode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;utf-8&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        fi.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;msgstr <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>+cad.<span style="color: black;">rstrip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">encode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;utf-8&quot;</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">elif</span> line.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;msgstr&quot;</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">0</span>:
        <span style="color: #ff7700;font-weight:bold;">pass</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        <span style="color: #808080; font-style: italic;">#print line.encode(&quot;utf-8&quot;),</span>
        fi.<span style="color: black;">write</span><span style="color: black;">&#40;</span>line.<span style="color: black;">encode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;utf-8&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
fo.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
fi.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Sé que Mancho hizo algo parecido en PHP. Apenas pueda lo enlazo.<br />
<a href="http://www.manchoweb.com.ar/automatizar-la-traduccion-de-un-archivo-po-i18n/trackback">Enlace al artículo de Mancho</a></p>]]></content:encoded>
			<wfw:commentRss>http://nacho.larrateguy.com.ar/2010/02/22/traducir-archivo-po-python/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Desarrollo con Mono (.Net) en varios lenguajes &#8211; parte 1</title>
		<link>http://nacho.larrateguy.com.ar/2008/03/05/prueba-independencia-lenguajes-mono/</link>
		<comments>http://nacho.larrateguy.com.ar/2008/03/05/prueba-independencia-lenguajes-mono/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 03:39:44 +0000</pubDate>
		<dc:creator>Nacho</dc:creator>
				<category><![CDATA[Código Experimental]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Investigación]]></category>
		<category><![CDATA[Probando herramientas]]></category>
		<category><![CDATA[Programación Orientada a Objetos]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://nacho.larrateguy.com.ar/2008/03/05/prueba-independencia-lenguajes-mono/</guid>
		<description><![CDATA[Para la cátedra de Administración de Recursos el año pasado, debíamos realizar un trabajo de investigación y desarrollo, en el cuál se mostraran nuevas tecnologías que permitieran integrar sistemas. Buscando cumplir con el objetivo asignado por la cátedra y a la vez investigar en algo que aún no hubiéramos profundizado fue lo que nos llevó [...]]]></description>
			<content:encoded><![CDATA[<p>Para la cátedra de  <em>Administración de Recursos</em> el año pasado, debíamos realizar un trabajo de investigación y desarrollo, en el cuál se mostraran nuevas tecnologías que permitieran integrar sistemas. Buscando cumplir con el objetivo asignado por la cátedra y a la vez investigar en algo que aún no hubiéramos profundizado fue lo que nos llevó a la plataforma Mono.</p>
<p>Milton ya estaba <a href="http://www.miltonpividori.com.ar/category/software/zaspesharp/" title="ZaspeSharp: desarrollo con Mono. ">desarrollando un sistema utilizando esta plataforma</a>, <a href="http://www.cesarsandrigo.com.ar">César</a> ya había programado con .Net (C# y VB.Net) para un TP anterior y yo algo de Web Services ya había utilizado (consumido con PHP, pero nunca creado) y además estaba usando C# para algunas cosas.</p>
<p>Sin embargo <a href="http://www.miltonpividori.com.ar/2007/07/21/mononet-no-importa-el-lenguaje/" title="BananasMessenger: nos decidimos en julio a hacer todo esto">queríamos probar la madurez del proyecto Mono</a>, utilizar las últimas versiones de MonoDevelop como IDE y las librerías y compiladores que pudieramos.  Se nos ocurrió implementar un sistema de mensajería instantánea al estilo Gaim, obviamente que con la única posibilidad de enviar mensajes de texto y ver la lista de usuarios conectados. Pero, a medida que avanzabamos, le ibamos agregando cosas.</p>
<p></p>]]></content:encoded>
			<wfw:commentRss>http://nacho.larrateguy.com.ar/2008/03/05/prueba-independencia-lenguajes-mono/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

