/
Translation Handling (OC4)

Translation Handling (OC4)


Crowdin Import-/Exporttool: support.crowdin.com/cli-tool

Symfony-Doku: https://symfony.com/doc/current/translation.html

Variable Texte übersetzen (ICU Message format): https://symfony.com/doc/current/translation/message_format.html


Befehle

Anzeigen der Hilfe zum Symfony-Übersetzungstool

./psh.phar docker:ssh
cd htdocs_symfony/
php bin/console translation:update --help

Auflistung der zur Übersetzung anstehenden Textstellen (exportiert nicht, sondern listet nur auf..)

./psh.phar docker:ssh
cd htdocs_symfony/
php bin/console translation:update --dump-messages en

Markierung der zu übersetzenden Textstellen in Twigtemplates. Das erste Beispiel ist die zu bevorzugende Variante.

{{ 'The quick brown fox jumps over the lazy dog' | trans }}

{% trans %}The quick brown fox jumps over the lazy dog{% endtrans %}

HowTo: Ablauf für Export der Texte vom Server zu Crowdin und Re-Import der übersetzten Texte

Lokale Installation von crowdin (einmalig)

  1. siehe https://support.crowdin.com/cli-tool/#installation

Erstinitialisierung von crowdin (einmalig)

  1. im lokalen git-Verzeichnis ausführen: crowdin init
    Die dabei abgefragte Project-ID ist in den Projekteigenschaften des Crowdin-Projekts zu finden
  2. Anpassen der Datei /crowdin.yml
    Die wichtigsten Einstellungen sind "source" und "translation", zum Beispiel wie folgt

    files: [
     {
      #
      # Source files filter
      # e.g. "/resources/en/*.json"
      #
      "source" : "/htdocs_symfony/translations/*.en.yml",
    
      #
      # Where translations will be placed
      # e.g. "/resources/%two_letters_code%/%original_file_name%"
      #
      "translation" : "/htdocs_symfony/translations/%original_file_name%.%two_letters_code%.yml",
      "translation_replace": {
        "messages+intl-icu.en.yml.": "messages+intl-icu."
      }
    ..
    ]

Export der zu übersetzenden Texte vom Server

  1. im lokalen git-Verzeichnis ausführen:

    ./psh.phar docker:ssh
    cd htdocs_symfony/
    php bin/console translation:update --dump-messages --output-format=yml --force en
    exit
  2. Die exportierten Texte finden sich nun in *.yml-Dateien im Pfad /htdocs_symony/translations wieder

Hochladen der zu übersetzenden Texte nach Crowdin

  1. im lokalen git-Verzeichnis ausführen: crowdin upload sources

Übersetzung und Validierung in Crowdin

  1. übersetzen
  2. validieren

Download der übersetzten Texte aus Crowdin

  1. im lokalen git-Verzeichnis ausführen: crowdin download

Import der übersetzten Texte auf den Server

  1. Die Übersetzungen werden von Symfony automatisch genutzt, je nach eingestellter %locale% Variable
  2. Behelfsweise kann %locale% auf eine andere Sprache umgestellt werden, indem der Wert 'default_locale' in der Datei /htdocs_symfony/config/packages/translation.php von 'en' auf z.B. 'de' umgestellt wird.

Related content

Translation Handling (Legacy)
Translation Handling (Legacy)
More like this
Starting translation
Starting translation
More like this
Notizensammlung
Notizensammlung
More like this
Welcome to OC Development
Welcome to OC Development
More like this
Mails versenden
Mails versenden
More like this
occ Ersatz
occ Ersatz
More like this