<?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>meier-online &#187; Übersetzung</title>
	<atom:link href="http://meier-online.com/tag/translation/feed/" rel="self" type="application/rss+xml" />
	<link>http://meier-online.com</link>
	<description>Der Blog von Karsten Meier</description>
	<lastBuildDate>Thu, 19 Aug 2010 23:37:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mehrsprachige Webseiten mit Ruby on Rails</title>
		<link>http://meier-online.com/2009/04/localize-ruby-on-rails/</link>
		<comments>http://meier-online.com/2009/04/localize-ruby-on-rails/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 21:09:44 +0000</pubDate>
		<dc:creator>meier</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Mehrsprachigkeit]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Übersetzung]]></category>

		<guid isPermaLink="false">http://meier-online.com/?p=370</guid>
		<description><![CDATA[Teil 1 &#8211; Übersicht
Software in mehreren Sprachen anzubieten ist eine immer wiederkehrende Aufgabenstellung. Um so erstaunlicher ist es, dass Ruby on Rails erst sehr spät hierfür ein standardisiertes Vorgehen eingeführt hat. Seit Version 2.2. ist eine &#8220;Internationalization API&#8221; Bestandteil von Ruby on Rails.
Struktur des Frameworks
Das Framework besteht aus einen &#8220;öffentlichen&#8221; und einen &#8220;privaten&#8221; Teil. Das [...]]]></description>
			<content:encoded><![CDATA[<h3>Teil 1 &#8211; Übersicht</h3>
<p>Software in mehreren Sprachen anzubieten ist eine immer wiederkehrende Aufgabenstellung. Um so erstaunlicher ist es, dass Ruby on Rails erst sehr spät hierfür ein standardisiertes Vorgehen eingeführt hat. Seit Version 2.2. ist eine &#8220;Internationalization API&#8221; Bestandteil von Ruby on Rails.<img class="aligncenter size-full wp-image-374" title="Das Ruby-On-Rails Mehrsprachigkeitsmodul" src="http://meier-online.com/blog/uploads/rails-i18n.png" alt="Das Ruby-On-Rails Mehrsprachigkeitsmodul" width="480" height="300" /><span id="more-370"></span></p>
<h3>Struktur des Frameworks</h3>
<p>Das Framework besteht aus einen &#8220;öffentlichen&#8221; und einen &#8220;privaten&#8221; Teil. Das I18N Modul bildet den öffentlichen Teil mit den Methoden, die wir in unserem Quelltext aufrufen.</p>
<p>Das private Backend ist austauschbar. Die Standardversion liest die Texte aus Dateien in Yaml-Format oder aus normalen Rubydateien ein.</p>
<h3>Aufruf</h3>
<p>In unserem Quelltext ersetzen wir alle zu übersetzenden Texte durch Aufrufe der <em>I18N.translate()</em> Methode. Dank eines Alias können wir auch einfach t() schreiben. Als Parameter übergeben wir einen Schlüssel, mit dem das Backend die richtige Übersetzung nachschlägt.</p>
<p>Der Schlüssel kann einen String oder ein Symbol sein. Normalerweise ist ein Symbol als Hashkey ja geringfügig performanter. Da der Schlüssel bei der Verarbeitung in seine Bestandteile zerlegt wird, erwarte ich, dass dieser Vorteil verschwindet.</p>
<p>In einer typischen Webapplikation sind viele der zu übersetzenden Texte in den Views, also den .erb-Templates. Als Abkürzung für reinen HTML-Text gibt es folgenden Tag:</p>
<pre>&lt;%=t 'key' %&gt;</pre>
<h3 class="western">Organisation</h3>
<p>Die Symbole haben eine hierarchische Struktur. Als Organisation bietet sich an:</p>
<p>&#8220;controllername.viewname.key&#8221;, also zum Beispiel &#8216;companies.show.header&#8217;</p>
<h3>Die Sprachdateien</h3>
<p>Als Formate der Sprachdatei sind Ruby-Quelltext und Yaml vorgesehen. Die Übersetzung wird nun meistens von einer Person ohne Rubykenntnisse durchgeführt. Deshalb ist die Yaml-Datei zu empfehlen.</p>
<p>Das Format sieht so aus</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">de:
  users:
    show:
      header: &quot;Unternehmensdaten&quot;
      intro: &quot;Für dieses Unternehmen sind die folgenden Daten gespeichert:&quot;</pre></div></div>

<p style="margin-bottom: 0cm;">Die Sprache ist der erste Key, normalerweise sind dadurch die Texte der verschiedenen Sprachen räumlich getrennt. Um die Arbeit für die Übersetzer zu erleichtern, können mit einem &#8216;#&#8217; Zeichen Kommentare eingefügt werden. Und natürlich sollten die bezeichnenden Schlüsselwerte möglichst klar sein. Aber selbst dann sind die YAML-Dateien nicht optimal, wenn Entwickler und Übersetzer nicht dieselbe Person ist.</p>
<p><a href="/2009/05/localize-ruby-on-rails-p2/">Zu Teil 2 dieses Artikels</a></p>
]]></content:encoded>
			<wfw:commentRss>http://meier-online.com/2009/04/localize-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
