Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

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

Symfony-Dokuhttps://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

...

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

Code Block
./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.

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

Alternativ funktioniert auch dieses Beispiel, vorzuziehen ist aber das obere

Code Block


{% 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

    Code Block
    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:

    Code Block
    ./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. ...
  2. ...

...

  1. übersetzen
  2. validieren

Download der übersetzten Texte aus Crowdin

  1. ...
  2. ...
  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.