Versions Compared

Key

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


Sammlung von 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-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:

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

...

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