Dienstag, Februar 18, 2020

Übersetzen von Nachrichten innerhalb Zweig in symfony2

Ich versuche, Zugang zu den übersetzungen über Zweig.

Zum Beispiel habe ich den Namen von meinem Anwendungsprogramm auf meine Resources/translations/messages.de.yml und Resources/translations/messages.en.yml

Mein controller hat nur einen render von der Zweig Datei.

In meinem twig-Datei möchte ich auf die Anwendung zugreifen.name-Eigenschaft, die definiert ist, innerhalb der Nachrichten-Datei (. yml)

Wie kann ich Zugriff auf diese Eigenschaft, um den Namen der Anwendung (sagen wir, es enthält einige language-specific information)

Ich habe versucht, diese Methoden und scheiterte:

  • {{ application.name }}
    • Sieht eher aus wie für Variablen, die gesendet wurden, durch den controller, ich habe einen Fehler, dass die variable „application“ wurde nicht gefunden
  • {% trans% } application.name {% endtrans %}
    • zeigt Anwendung.name
  • {% trans% } 'application.name' {% endtrans %}
    • zeigt “ Anwendung.der name‘
  • Können Sie uns den Inhalt Ihrer messages.en.yml ?
InformationsquelleAutor eav | 2013-02-21

2 Kommentare

  1. 20

    Mit inline-notation, die Sie verwenden sollten filter:

    {{ 'application.name'|trans }}

    Mit trans tag-ich denke, dass problem in Leerzeichen um Anwendung.name

    • Vergessen Sie nicht zu erwähnen (ich weiß ist nicht gefragt, aber gab nur eine beste Antwort), dass wenn die Nachricht nicht definiert in der Standard-domain die übersetzung ist fertig mit {{ ‚Anwendung.name‘ | trans ({}, ‚domain‘) }}
    • Danke, irgendwie hatte ich auch das auskommentiert in meiner app/config/config.yml-Datei (ich weiß nicht, warum): framework.übersetzer: { fallback: %locale% }
  2. -1
    {% trans% }app.name{% endtrans %}

    In Ihren Nachrichten.de.yml

    <trans-unit id="app.name" resname="app.name">
        <source>My app</source>
        <target>My app</target>
      </trans-unit>

    In Ihren Nachrichten.de.yml

     <trans-unit id="app.name" resname="app.name">
        <source>My app</source>
        <target>Meine App</target>
      </trans-unit>
    • Dies ist in XML nicht YAML-format.

Kostenlose Online-Tests