Versions Compared

Key

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


Sammlung aller Informationen zum Thema Übersetzungen und Handhabung auf dem Testserver.. (hübsch gemacht und sortiert wird's später.. )

Table of Contents

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:

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

Code Block
./psh.phar docker:ssh
cd htdocs_symfony/
php bin/console translation:update --dump-messages --output-format=yml --env=DEV 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 }}

{% trans %}Hier steht der TextThe 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
    .
    ..
  2. ...

...

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

...

  1. ...
  2. ...

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.