<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.opencaching.de/index.php?action=history&amp;feed=atom&amp;title=Translation_Handling_%28OC4%29</id>
	<title>Translation Handling (OC4) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opencaching.de/index.php?action=history&amp;feed=atom&amp;title=Translation_Handling_%28OC4%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.opencaching.de/index.php?title=Translation_Handling_(OC4)&amp;action=history"/>
	<updated>2026-05-09T09:21:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Opencaching-Wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.opencaching.de/index.php?title=Translation_Handling_(OC4)&amp;diff=7857&amp;oldid=prev</id>
		<title>Fraggle: Erstentwurf</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencaching.de/index.php?title=Translation_Handling_(OC4)&amp;diff=7857&amp;oldid=prev"/>
		<updated>2024-05-06T18:33:25Z</updated>

		<summary type="html">&lt;p&gt;Erstentwurf&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Dokumentationen/Links ==&lt;br /&gt;
* Crowdin Import-/Exporttool: support.crowdin.com/cli-tool&lt;br /&gt;
* Symfony-Doku: https://symfony.com/doc/current/translation.html&lt;br /&gt;
* Variable Texte übersetzen (ICU Message format): https://symfony.com/doc/current/translation/message_format.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Befehle ==&lt;br /&gt;
Anzeigen der Hilfe zum Symfony-Übersetzungstool&lt;br /&gt;
 ./psh.phar docker:ssh&lt;br /&gt;
 cd htdocs_symfony/&lt;br /&gt;
 php bin/console translation:update --help&lt;br /&gt;
&lt;br /&gt;
Auflistung der zur Übersetzung anstehenden Textstellen (exportiert nicht, sondern listet nur auf..)&lt;br /&gt;
 ./psh.phar docker:ssh&lt;br /&gt;
 cd htdocs_symfony/&lt;br /&gt;
 php bin/console translation:update --dump-messages en&lt;br /&gt;
&lt;br /&gt;
Markierung der zu übersetzenden Textstellen in Twigtemplates. Das erste Beispiel ist die zu bevorzugende Variante.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{{ &amp;#039;The quick brown fox jumps over the lazy dog&amp;#039; | trans }}&lt;br /&gt;
{% trans %}The quick brown fox jumps over the lazy dog{% endtrans %}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo: Ablauf für Export der Texte vom Server zu Crowdin und Re-Import der übersetzten Texte ==&lt;br /&gt;
=== Lokale Installation von crowdin (einmalig) ===&lt;br /&gt;
* siehe https://support.crowdin.com/cli-tool/#installation&lt;br /&gt;
&lt;br /&gt;
=== Erstinitialisierung von crowdin (einmalig) ===&lt;br /&gt;
* im lokalen git-Verzeichnis ausführen: &amp;lt;code&amp;gt;crowdin init&amp;lt;/code&amp;gt;&lt;br /&gt;
: Die dabei abgefragte Project-ID ist in den Projekteigenschaften des Crowdin-Projekts zu finden&lt;br /&gt;
* Anpassen der Datei /crowdin.yml&lt;br /&gt;
: Die wichtigsten Einstellungen sind &amp;quot;source&amp;quot; und &amp;quot;translation&amp;quot;, zum Beispiel wie folgt&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;files: [&lt;br /&gt;
 {&lt;br /&gt;
  #&lt;br /&gt;
  # Source files filter&lt;br /&gt;
  # e.g. &amp;quot;/resources/en/*.json&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  &amp;quot;source&amp;quot; : &amp;quot;/htdocs_symfony/translations/*.en.yml&amp;quot;,&lt;br /&gt;
 &lt;br /&gt;
  #&lt;br /&gt;
  # Where translations will be placed&lt;br /&gt;
  # e.g. &amp;quot;/resources/%two_letters_code%/%original_file_name%&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  &amp;quot;translation&amp;quot; : &amp;quot;/htdocs_symfony/translations/%original_file_name%.%two_letters_code%.yml&amp;quot;,&lt;br /&gt;
  &amp;quot;translation_replace&amp;quot;: {&lt;br /&gt;
    &amp;quot;messages+intl-icu.en.yml.&amp;quot;: &amp;quot;messages+intl-icu.&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
..&lt;br /&gt;
]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Export der zu übersetzenden Texte vom Server ===&lt;br /&gt;
im lokalen git-Verzeichnis ausführen:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./psh.phar docker:ssh&lt;br /&gt;
cd htdocs_symfony/&lt;br /&gt;
php bin/console translation:update --dump-messages --output-format=yml --force en&lt;br /&gt;
exit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die exportierten Texte finden sich nun in &amp;lt;code&amp;gt;*.yml&amp;lt;/code&amp;gt;-Dateien im Pfad &amp;lt;code&amp;gt;/htdocs_symony/translations&amp;lt;/code&amp;gt; wieder&lt;br /&gt;
&lt;br /&gt;
=== Hochladen der zu übersetzenden Texte nach Crowdin ===&lt;br /&gt;
im lokalen git-Verzeichnis ausführen: &amp;lt;code&amp;gt;crowdin upload sources&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Übersetzung und Validierung in Crowdin ===&lt;br /&gt;
# In crowdin einloggen und noch nicht übersetzte Texte übersetzen&lt;br /&gt;
# In crowdin einloggen und übersetzte Texte validieren&lt;br /&gt;
&lt;br /&gt;
=== Download der übersetzten Texte aus Crowdin ===&lt;br /&gt;
im lokalen git-Verzeichnis ausführen: &amp;lt;code&amp;gt;crowdin download&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Import der übersetzten Texte auf den Server ===&lt;br /&gt;
Die Übersetzungen werden von Symfony automatisch genutzt, je nach eingestellter %locale% Variable&lt;br /&gt;
Behelfsweise kann %locale% auf eine andere Sprache umgestellt werden, indem der Wert &amp;#039;default_locale&amp;#039; in der Datei &amp;lt;code&amp;gt;/htdocs_symfony/config/packages/translation.php&amp;lt;/code&amp;gt; von &amp;#039;en&amp;#039; auf z.B. &amp;#039;de&amp;#039; umgestellt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Entwicklung]]&lt;br /&gt;
[[Kategorie:English pages]]&lt;/div&gt;</summary>
		<author><name>Fraggle</name></author>
	</entry>
</feed>