<?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>brianp.de &#187; I18n</title>
	<atom:link href="http://brianp.de/tag/i18n/feed/" rel="self" type="application/rss+xml" />
	<link>http://brianp.de</link>
	<description>Wissen ist der erste Rohstoff, der sich bei Gebrauch vermehrt! - brandeins</description>
	<lastBuildDate>Fri, 30 Jul 2010 15:39:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Drupal Internationalisierung (i18n)</title>
		<link>http://brianp.de/2010/01/06/drupal-internationalisierung-i18n/</link>
		<comments>http://brianp.de/2010/01/06/drupal-internationalisierung-i18n/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 19:49:29 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[I18n]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=868</guid>
		<description><![CDATA[Eine gute Anleitung welche Module man benötigt und was man tun muss, um Drupal zu internationalisieren, findet man hier: http://drupal-translation.com/de/node/11. &#160;&#160; Sende Artikel als PDF an]]></description>
			<content:encoded><![CDATA[<p>Eine gute Anleitung welche Module man benötigt und was man tun muss, um Drupal zu internationalisieren, findet man hier: <a href="http://drupal-translation.com/de/node/11">http://drupal-translation.com/de/node/11</a>.</p>
<div class="pdf24Plugin-cp-box"><form method="post" action="http://doc2pdf.pdf24.org/doc2pdf/wordpress.php" target="pdf24PopWin" onsubmit="window.open('about:blank', 'pdf24PopWin', 'scrollbars=yes,width=400,height=200,top=0,left=0'); return true;"><input type="hidden" name="blogCharset" value="VVRGLTg=" /><input type="hidden" name="blogPosts" value="MQ==" /><input type="hidden" name="blogUrl" value="aHR0cDovL2JyaWFucC5kZQ==" /><input type="hidden" name="blogName" value="YnJpYW5wLmRl" /><input type="hidden" name="blogValueEncoding" value="base64" /><input type="hidden" name="postTitle_0" value="RHJ1cGFsIEludGVybmF0aW9uYWxpc2llcnVuZyAoaTE4bik=" /><input type="hidden" name="postLink_0" value="aHR0cDovL2JyaWFucC5kZS8yMDEwLzAxLzA2L2RydXBhbC1pbnRlcm5hdGlvbmFsaXNpZXJ1bmctaTE4bi8=" /><input type="hidden" name="postAuthor_0" value="QnJpYW4=" /><input type="hidden" name="postDateTime_0" value="MjAxMC0wMS0wNiAyMDowMToyOQ==" /><input type="hidden" name="postContent_0" value="PHA+RWluZSBndXRlIEFubGVpdHVuZyB3ZWxjaGUgTW9kdWxlIG1hbiBiZW7DtnRpZ3QgdW5kIHdhcyBtYW4gdHVuIG11c3MsIHVtIERydXBhbCB6dSBpbnRlcm5hdGlvbmFsaXNpZXJlbiwgZmluZGV0IG1hbiBoaWVyOiA8YSBocmVmPSJodHRwOi8vZHJ1cGFsLXRyYW5zbGF0aW9uLmNvbS9kZS9ub2RlLzExIj5odHRwOi8vZHJ1cGFsLXRyYW5zbGF0aW9uLmNvbS9kZS9ub2RlLzExPC9hPi48L3A+Cg==" /><a href="http://de.pdf24.org" target="_blank" title="PDF erstellen"><img src="http://brianp.de/wp-content/plugins/pdf24-post-to-pdf/img/sheep_16x16.gif" alt="PDF erstellen" border="0" /></a> <span class="pdf24Plugin-cp-space">&nbsp;&nbsp;</span> <span class="pdf24Plugin-cp-text">Sende Artikel als PDF an</span> <input class="pdf24Plugin-cp-input" style="margin: 0px;" type="text" name="sendEmailTo" value="Emailadresse" onmousedown="this.value = '';" /> <input class="pdf24Plugin-cp-submit" style="margin: 0px;" type="submit" value="Senden" /></form></div>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2010/01/06/drupal-internationalisierung-i18n/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internationalisierung (I18n) mit CakePHP</title>
		<link>http://brianp.de/2009/10/26/internationalisierung-i18n-mit-cakephp/</link>
		<comments>http://brianp.de/2009/10/26/internationalisierung-i18n-mit-cakephp/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 22:54:59 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[I18n]]></category>
		<category><![CDATA[po]]></category>
		<category><![CDATA[pot]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=491</guid>
		<description><![CDATA[CakePHP nutzt zum Internationalisieren pot bzw. po Dateien. Die pot Datei enthält alle Texte die übersetzt werden müssen. Diese Datei wird (fast) automatisch von dem Framework erstellt. Dazu werden alle Ausgaben eingelesen und dann zusammengefasst. Es empfiehlt sich dabei, von Anfang an, alle Texte mit der eingebauten Funktion __&#40;string text&#41; auszugeben. Alle Ausgaben mit dieser [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cakephp.org/">CakePHP</a> nutzt zum Internationalisieren pot bzw. po Dateien. Die pot Datei enthält alle Texte die übersetzt werden müssen. Diese Datei wird (fast) automatisch von dem Framework erstellt. Dazu werden alle Ausgaben eingelesen und dann zusammengefasst. Es empfiehlt sich dabei, von Anfang an, alle Texte mit der eingebauten Funktion</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">__<span style="color: #009900;">&#40;</span>string text<span style="color: #009900;">&#41;</span></div></div>
<p>auszugeben. Alle Ausgaben mit dieser Funktion werden problemlos vom Framework erkannt, soweit habe ich es schon getestet. <img src='http://brianp.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Eine Ausgabe im Template sieht also so aus:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Please enter your name'</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></div>
<p>Dabei empfiehlt es sich alle Texte im Template in Englisch zu halten, denn wenn CakePHP keine Übersetzung findet, verwendet es den Wert der ursprünglich übergeben wurde. Wird zum Beispiel eine deutsche Übersetzung gefunden, wird der Text natürlich in Deutsch ausgegeben &#8211; vorausgesetzt im Browser ist als Hauptsprache Deutsch eingestellt oder man hat es explizit im Code gesetzt. Das kann man mit folgender Code-Zeile erreichen:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Configure<span style="color: #339933;">::</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Config.language'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'deu'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>Also, wir geben also alle Ausgaben in Englisch und mit der oben beschriebenen Funktion aus, und können dann mit der CakePHP Console die pot Datei erstellen. Dazu ruft man das Programm unter
<pre>[CakePHP-ROOT]/cake/console/cake</pre>
<p> auf, mit dem Parameter <em>i18n</em>. Mehr Infos findet man auf der Dokumentationsseite von CakePHP (siehe unten).</p>
<p>Nachdem man mit der CakePHP Console die pot Datei erstellt hat, kann man diese mit z.B. mit dem Programm Poedit öffnen, übersetzen und als po speichern. Die po Datei muss <em>default</em> heißen und in den Ordner
<pre>[CakePHP-ROOT]/app/locale/deu/LC_MESSAGES</pre>
<p> gespeichert werden. <em>deu</em> steht natürlich für die jeweilige Sprache. Ein Link zu einer Seite mit allen andern Sprachcodes ist in der Linkliste am Seitenende.</p>
<p><u>Weitere Informationen:</u></p>
<ul>
<li>
		CakePHP:<br />
		<a href="http://cakephp.org/">http://cakephp.org/</a>
	</li>
<li>
		CakePHP I18n:<br />
		<a href="http://http://book.cakephp.org/view/161/Internationalization-Localization">http://book.cakephp.org/view/161/Internationalization-Localization</a>
	</li>
<li>
		ISO 639-2 Sprachcodes:<br />
		<a href="http://www.loc.gov/standards/iso639-2/php/code_list.php">http://www.loc.gov/standards/iso639-2/php/code_list.php</a>
	</li>
<li>
		CakePHP Console:<br />
		<a href="http://book.cakephp.org/view/108/The-CakePHP-Console">http://book.cakephp.org/view/108/The-CakePHP-Console</a>
	</li>
<li>
		Poedit:<br />
		<a href="http://www.poedit.net/">http://www.poedit.net/</a>
	</li>
</ul>
<div class="pdf24Plugin-cp-box"><form method="post" action="http://doc2pdf.pdf24.org/doc2pdf/wordpress.php" target="pdf24PopWin" onsubmit="window.open('about:blank', 'pdf24PopWin', 'scrollbars=yes,width=400,height=200,top=0,left=0'); return true;"><input type="hidden" name="blogCharset" value="VVRGLTg=" /><input type="hidden" name="blogPosts" value="MQ==" /><input type="hidden" name="blogUrl" value="aHR0cDovL2JyaWFucC5kZQ==" /><input type="hidden" name="blogName" value="YnJpYW5wLmRl" /><input type="hidden" name="blogValueEncoding" value="base64" /><input type="hidden" name="postTitle_0" value="SW50ZXJuYXRpb25hbGlzaWVydW5nIChJMThuKSBtaXQgQ2FrZVBIUA==" /><input type="hidden" name="postLink_0" value="aHR0cDovL2JyaWFucC5kZS8yMDA5LzEwLzI2L2ludGVybmF0aW9uYWxpc2llcnVuZy1pMThuLW1pdC1jYWtlcGhwLw==" /><input type="hidden" name="postAuthor_0" value="QnJpYW4=" /><input type="hidden" name="postDateTime_0" value="MjAwOS0xMC0yNiAwMDoxMDo1OQ==" /><input type="hidden" name="postContent_0" value="PHA+PGEgaHJlZj0iaHR0cDovL2Nha2VwaHAub3JnLyI+Q2FrZVBIUDwvYT4gbnV0enQgenVtIEludGVybmF0aW9uYWxpc2llcmVuIHBvdCBiencuIHBvIERhdGVpZW4uIERpZSBwb3QgRGF0ZWkgZW50aMOkbHQgYWxsZSBUZXh0ZSBkaWUgw7xiZXJzZXR6dCB3ZXJkZW4gbcO8c3Nlbi4gRGllc2UgRGF0ZWkgd2lyZCAoZmFzdCkgYXV0b21hdGlzY2ggdm9uIGRlbSBGcmFtZXdvcmsgZXJzdGVsbHQuIERhenUgd2VyZGVuIGFsbGUgQXVzZ2FiZW4gZWluZ2VsZXNlbiB1bmQgZGFubiB6dXNhbW1lbmdlZmFzc3QuIEVzIGVtcGZpZWhsdCBzaWNoIGRhYmVpLCB2b24gQW5mYW5nIGFuLCBhbGxlIFRleHRlIG1pdCBkZXIgZWluZ2ViYXV0ZW4gRnVua3Rpb248L3A+CjxkaXY+OjpDT0RFQ09MT1JFUl9CTE9DS180Ojo8L2Rpdj4KPHA+YXVzenVnZWJlbi4gQWxsZSBBdXNnYWJlbiBtaXQgZGllc2VyIEZ1bmt0aW9uIHdlcmRlbiBwcm9ibGVtbG9zIHZvbSBGcmFtZXdvcmsgZXJrYW5udCwgc293ZWl0IGhhYmUgaWNoIGVzIHNjaG9uIGdldGVzdGV0LiA8aW1nIHNyYz0naHR0cDovL2JyaWFucC5kZS93cC1pbmNsdWRlcy9pbWFnZXMvc21pbGllcy9pY29uX3dpbmsuZ2lmJyBhbHQ9JzspJyBjbGFzcz0nd3Atc21pbGV5JyAvPiA8L3A+CjxwPkVpbmUgQXVzZ2FiZSBpbSBUZW1wbGF0ZSBzaWVodCBhbHNvIHNvIGF1czo8L3A+CjxkaXY+OjpDT0RFQ09MT1JFUl9CTE9DS181Ojo8L2Rpdj4KPHA+RGFiZWkgZW1wZmllaGx0IGVzIHNpY2ggYWxsZSBUZXh0ZSBpbSBUZW1wbGF0ZSBpbiBFbmdsaXNjaCB6dSBoYWx0ZW4sIGRlbm4gd2VubiBDYWtlUEhQIGtlaW5lIMOcYmVyc2V0enVuZyBmaW5kZXQsIHZlcndlbmRldCBlcyBkZW4gV2VydCBkZXIgdXJzcHLDvG5nbGljaCDDvGJlcmdlYmVuIHd1cmRlLiBXaXJkIHp1bSBCZWlzcGllbCBlaW5lIGRldXRzY2hlIMOcYmVyc2V0enVuZyBnZWZ1bmRlbiwgd2lyZCBkZXIgVGV4dCBuYXTDvHJsaWNoIGluIERldXRzY2ggYXVzZ2VnZWJlbiAmIzgyMTE7IHZvcmF1c2dlc2V0enQgaW0gQnJvd3NlciBpc3QgYWxzIEhhdXB0c3ByYWNoZSBEZXV0c2NoIGVpbmdlc3RlbGx0IG9kZXIgbWFuIGhhdCBlcyBleHBsaXppdCBpbSBDb2RlIGdlc2V0enQuIERhcyBrYW5uIG1hbiBtaXQgZm9sZ2VuZGVyIENvZGUtWmVpbGUgZXJyZWljaGVuOjwvcD4KPGRpdj46OkNPREVDT0xPUkVSX0JMT0NLXzY6OjwvZGl2Pgo8cD5BbHNvLCB3aXIgZ2ViZW4gYWxzbyBhbGxlIEF1c2dhYmVuIGluIEVuZ2xpc2NoIHVuZCBtaXQgZGVyIG9iZW4gYmVzY2hyaWViZW5lbiBGdW5rdGlvbiBhdXMsIHVuZCBrw7ZubmVuIGRhbm4gbWl0IGRlciBDYWtlUEhQIENvbnNvbGUgZGllIHBvdCBEYXRlaSBlcnN0ZWxsZW4uIERhenUgcnVmdCBtYW4gZGFzIFByb2dyYW1tIHVudGVyCjxwcmU+W0Nha2VQSFAtUk9PVF0vY2FrZS9jb25zb2xlL2Nha2U8L3ByZT4KPHA+IGF1ZiwgbWl0IGRlbSBQYXJhbWV0ZXIgPGVtPmkxOG48L2VtPi4gTWVociBJbmZvcyBmaW5kZXQgbWFuIGF1ZiBkZXIgRG9rdW1lbnRhdGlvbnNzZWl0ZSB2b24gQ2FrZVBIUCAoc2llaGUgdW50ZW4pLjwvcD4KPHA+TmFjaGRlbSBtYW4gbWl0IGRlciBDYWtlUEhQIENvbnNvbGUgZGllIHBvdCBEYXRlaSBlcnN0ZWxsdCBoYXQsIGthbm4gbWFuIGRpZXNlIG1pdCB6LkIuIG1pdCBkZW0gUHJvZ3JhbW0gUG9lZGl0IMO2ZmZuZW4sIMO8YmVyc2V0emVuIHVuZCBhbHMgcG8gc3BlaWNoZXJuLiBEaWUgcG8gRGF0ZWkgbXVzcyA8ZW0+ZGVmYXVsdDwvZW0+IGhlacOfZW4gdW5kIGluIGRlbiBPcmRuZXIKPHByZT5bQ2FrZVBIUC1ST09UXS9hcHAvbG9jYWxlL2RldS9MQ19NRVNTQUdFUzwvcHJlPgo8cD4gZ2VzcGVpY2hlcnQgd2VyZGVuLiA8ZW0+ZGV1PC9lbT4gc3RlaHQgbmF0w7xybGljaCBmw7xyIGRpZSBqZXdlaWxpZ2UgU3ByYWNoZS4gRWluIExpbmsgenUgZWluZXIgU2VpdGUgbWl0IGFsbGVuIGFuZGVybiBTcHJhY2hjb2RlcyBpc3QgaW4gZGVyIExpbmtsaXN0ZSBhbSBTZWl0ZW5lbmRlLjwvcD4KPHA+PHU+V2VpdGVyZSBJbmZvcm1hdGlvbmVuOjwvdT48L3A+Cjx1bD4KPGxpPgoJCUNha2VQSFA6PGJyIC8+CgkJPGEgaHJlZj0iaHR0cDovL2Nha2VwaHAub3JnLyI+aHR0cDovL2Nha2VwaHAub3JnLzwvYT4KCTwvbGk+CjxsaT4KCQlDYWtlUEhQIEkxOG46PGJyIC8+CgkJPGEgaHJlZj0iaHR0cDovL2h0dHA6Ly9ib29rLmNha2VwaHAub3JnL3ZpZXcvMTYxL0ludGVybmF0aW9uYWxpemF0aW9uLUxvY2FsaXphdGlvbiI+aHR0cDovL2Jvb2suY2FrZXBocC5vcmcvdmlldy8xNjEvSW50ZXJuYXRpb25hbGl6YXRpb24tTG9jYWxpemF0aW9uPC9hPgoJPC9saT4KPGxpPgoJCUlTTyA2MzktMiBTcHJhY2hjb2Rlczo8YnIgLz4KCQk8YSBocmVmPSJodHRwOi8vd3d3LmxvYy5nb3Yvc3RhbmRhcmRzL2lzbzYzOS0yL3BocC9jb2RlX2xpc3QucGhwIj5odHRwOi8vd3d3LmxvYy5nb3Yvc3RhbmRhcmRzL2lzbzYzOS0yL3BocC9jb2RlX2xpc3QucGhwPC9hPgoJPC9saT4KPGxpPgoJCUNha2VQSFAgQ29uc29sZTo8YnIgLz4KCQk8YSBocmVmPSJodHRwOi8vYm9vay5jYWtlcGhwLm9yZy92aWV3LzEwOC9UaGUtQ2FrZVBIUC1Db25zb2xlIj5odHRwOi8vYm9vay5jYWtlcGhwLm9yZy92aWV3LzEwOC9UaGUtQ2FrZVBIUC1Db25zb2xlPC9hPgoJPC9saT4KPGxpPgoJCVBvZWRpdDo8YnIgLz4KCQk8YSBocmVmPSJodHRwOi8vd3d3LnBvZWRpdC5uZXQvIj5odHRwOi8vd3d3LnBvZWRpdC5uZXQvPC9hPgoJPC9saT4KPC91bD4K" /><a href="http://de.pdf24.org" target="_blank" title="PDF Creator"><img src="http://brianp.de/wp-content/plugins/pdf24-post-to-pdf/img/sheep_16x16.gif" alt="PDF Creator" border="0" /></a> <span class="pdf24Plugin-cp-space">&nbsp;&nbsp;</span> <span class="pdf24Plugin-cp-text">Sende Artikel als PDF an</span> <input class="pdf24Plugin-cp-input" style="margin: 0px;" type="text" name="sendEmailTo" value="Emailadresse" onmousedown="this.value = '';" /> <input class="pdf24Plugin-cp-submit" style="margin: 0px;" type="submit" value="Senden" /></form></div>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/10/26/internationalisierung-i18n-mit-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
