# Übersetzungen (Snippets) in Plugins

**URL:** <https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757>\
**Category:** Programmierung\
**Created:** [28. Mai 2019 um 10:59 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757 "2019-05-28T10:59:42Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [28. Mai 2019 um 10:59 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/1 "2019-05-28T10:59:42Z")

</div>

Hello again.

Im Frontend werden die Bezeichner direkt angesprochen und mit trans erweitert, z.B.

```
{{ "detail.tabsDescription"|trans }}

```

Wie ich sehe, kommen diese aus Snippet JSON Dateien.  
Ist das auch für Plugins so vorgesehen? Wenn ja - wie soll man hier vorgehen?  
Dazu finde ich keine Beispiele und Hinweise in der Dokumentation.

Schöne Grüße!  
Niklas

---

<div class="post-metadata">

**Author:** ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)\
**Post date:** [28. Mai 2019 um 11:10 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/2 "2019-05-28T11:10:29Z")

</div>

Moin @TeichDatensysteme‍,

das Thema haben wir im Bundle Example einmal angeschnitten. Das ist zwar prinzipiell eine ganze Serie von Tutorials, für dich wichtig ist aber nur der Teil hier:  
[https://docs.shopware.com/en/shopware-platform-dev-en/getting-started/indepth-guide-bundle/storefront#adding-translations-to-the-storefront](https://docs.shopware.com/en/shopware-platform-dev-en/getting-started/indepth-guide-bundle/storefront#adding-translations-to-the-storefront)

Das ist, wie gesagt, sehr auf das Bundle Example zugeschnitten, aber das dürfte dir eine grobe Idee davon vermitteln, wie das allgemein funktioniert.  
Das dazugehörige Plugin findest du [hier](https://github.com/shopware/swag-docs-bundle-example).

Gruß,  
Patrick&nbsp; ![Shopware](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "Shopware")

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [28. Mai 2019 um 11:14 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/3 "2019-05-28T11:14:37Z")

</div>

Danke [@Patrick Stahl]([http://forum.shopware.com/profile/1869/Patrick](http://forum.shopware.com/profile/1869/Patrick) Stahl „Patrick Stahl“)‍ - da habe ich wohl an völlig falschen Stellen geguckt.  
Habe den Teil im Plugin Bereich erwartet.

Spiele ich gleich einmal durch - sieht gut aus - Danke!  
Niklas

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [30. Juli 2019 um 16:54 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/4 "2019-07-30T16:54:26Z")

</div>

[@Patrick Stahl]([http://forum.shopware.com/profile/1869/Patrick](http://forum.shopware.com/profile/1869/Patrick) Stahl “Patrick Stahl”)‍ Habe ein Problem mit Snippets …

Ich habe zwei eigene Plugins, die sich offensichtlich mit den Übersetzungen in die Quere kommen.

1. Plugin A ist installiert - Übersetzung wird in der Storefront angezeigt.
2. Plugin B wird installiert - Übersetzung von Plugin B bleibt aus
3. Plugin A wird deinstalliert - Übersetzung von Plugin B erscheint.

Habe die Übersetzung so wie in der Doku (und im BundleExample) geschrieben.  
Woran kann es liegen? Was soll ich tun?

Kann die beiden kleinen Erweiterungen gerne zusenden.

Schöne Grüße,  
Niklas

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [2. August 2019 um 13:54 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/5 "2019-08-02T13:54:03Z")

</div>

hier auch - die snippets scheinen nicht importiert zu werden und werden dann entsprechend auch nicht ausgegeben. bug?

was muss/darf denn eigentlich in getName(): muss das hier “storefront.xyz” sein?

danke,  
nils

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [2. August 2019 um 15:11 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/6 "2019-08-02T15:11:51Z")

</div>

War ein Bug&nbsp;[https://issues.shopware.com/issues/NEXT-4339](https://issues.shopware.com/issues/NEXT-4339)&nbsp;und ist für die EA 1.1 als gelöst markiert.

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [4. Oktober 2019 um 09:54 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/7 "2019-10-04T09:54:12Z")

</div>

Es klappt immer noch nicht (gerade eben den letzten Stand aus Git gezogen) - super nervig. Alles nach Doku gemacht, auch noch mal mit anderen Plugins verglichen - kein einziges Snippet wird importiert.&nbsp;&nbsp;

---

<div class="post-metadata">

**Author:** ![mbrode](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/mbrode/32/26080_2.png) [@mbrode](https://forum.shopware.com/u/mbrode)\
**Post date:** [4. Oktober 2019 um 12:05 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/8 "2019-10-04T12:05:26Z")

</div>

Grüße @netzperfekt!

Ich habe es selbst gerade nochmal einige Fälle ausprobiert, wo ich mir hätte Problem ausmalen können und bislang keinen Fehler festgestellt. Wäre es möglich, dass du mal deine services.xml bzw. die Registrierung der SnippetFiles&nbsp;und entsprechend den Inhalt deines SnippetFiles hier postest? Dann kann ich mir das mal genauer ansehen 🙂

Ansonsten, auf die Idee bist du sicherlich schon gekommen, aber da doppelt besser hält: Cache geleert?

Schöne Grüße aus Schöppingen,  
Marcel&nbsp;

---

<div class="post-metadata">

**Author:** ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)\
**Post date:** [4. Oktober 2019 um 15:42 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/9 "2019-10-04T15:42:25Z")

</div>

@mbrode‍ danke - hab’ den Fehler dann doch gerade noch gefunden: das JSON war nicht valide, ein kleines Komma zu viel ;-(((

…wäre natürlich supertoll, wenn das irgendein kleiner Validator beim Aktivieren des Plugins anmäkeln könnte…&nbsp;

Ich lasse das hier mal so für die Nachwelt stehen

```
{
    "netzp": {
        "address-validator": {
            "wrong-number": "Keine oder falsche Hausnummer eingegeben",
            "unknown": "Die Adresse ist unbekannt. Bitte überprüfen Sie die Eingabe.",
            "other-country": "Die Adresse scheint in einem anderen Land zu sein. Bitte überprüfen Sie die Eingabe.",
            "check": "Bitte überprüfen Sie die eingegebene Adresse."
        }
    }, 

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![mbrode](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/mbrode/32/26080_2.png) [@mbrode](https://forum.shopware.com/u/mbrode)\
**Post date:** [7. Oktober 2019 um 05:59 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/10 "2019-10-07T05:59:49Z")

</div>

Ärgerlich, aber gut, dass es dann gefunden wurde!  
PHPStorm meckert bei mir persönlich immer,&nbsp;dass ein trailing comma nicht JSON-standard sei. Aber eine Komma-breite rote Linie kann man schon mal übersehen…  
&nbsp;

Aber schlecht ist der Gedanke auf keinen Fall. Ich würde dir entsprechend empfehlen mal ein Ticket im Issue-Tracker&nbsp;aufzumachen. (&nbsp;[https://issues.shopware.com](https://issues.shopware.com) )  
Wird sicherlich der ein oder andere dankbar drüber sein. 🙂

Schöne Grüße aus Schöppingen,  
Marcel&nbsp;

---

<div class="post-metadata">

**Author:** ![daMardl](https://avatars.discourse-cdn.com/v4/letter/d/58956e/32.png) [@daMardl](https://forum.shopware.com/u/daMardl)\
**Post date:** [28. Januar 2020 um 23:11 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/11 "2020-01-28T23:11:45Z")

</div>

Weil ich bisschen gesucht habe&nbsp;wie ich Snippet Texte in Twig mit Platzhaltern umsetzen kann hier meine Lösung:

```
{
    "MyPlugin": {
        "details": {
            "textToShow": "Foobar teilt man in '[0]' und '[1]'"
        }
    }
}

```

&nbsp;In dem Twig Template

```
{{ "MyPlugin.details.textToShow"|trans|replace({'[0]': "foo", '[1]': "bar"}) }}

```

Ergebnis:

```
Foobar teilt man in 'foo' und 'bar'

```

Vielleicht hilft es jemanden weiter.

---

<div class="post-metadata">

**Author:** ![westphal](https://avatars.discourse-cdn.com/v4/letter/w/53a042/32.png) [@westphal](https://forum.shopware.com/u/westphal)\
**Post date:** [14. Mai 2020 um 08:43 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/12 "2020-05-14T08:43:30Z")

</div>

> [@daMardl schrieb:](https://forum.shopware.com/profile/25275/daMardl "daMardl")
> 
> Weil ich bisschen gesucht habe&nbsp;wie ich Snippet Texte in Twig mit Platzhaltern umsetzen kann hier meine Lösung:
> 
> {  
> „MyPlugin“: {  
> „details“: {  
> „textToShow“: „Foobar teilt man in ‚[0]‘ und ‚[1]‘“  
> }  
> }  
> }
> 
> &nbsp;In dem Twig Template
> 
> {{ „MyPlugin.details.textToShow“|trans|replace({‚[0]‘: „foo“, ‚[1]‘: „bar“}) }}
> 
> Ergebnis:
> 
> Foobar teilt man in ‚foo‘ und ‚bar‘
> 
> Vielleicht hilft es jemanden weiter.

Schien für mich bei meinem Problem als hoffnungsvollster Lösungsansatz, aber leider vergebens…  
Zu meinem Problem:  
Ich schreibe aktuell mein allererstes Storefront-Plugin und bin mittlerweile glücklich, dass alles soweit nun funktioniert (steile Lernkurve).

Allerdings gibt es in meinem Plugin gerade mal zwei Wörter, die multilingual zur Verfügung stehen sollten.  
Dafür lohnt es sich meiner Meinung nach nicht eine extra Translate-Tabelle für das Plugin anzulegen.

Also habe ich dieses Beispiel hier gefunden und mich daran gehangelt:  
[https://docs.shopware.com/en/shopware-platform-dev-en/how-to/adding-snippets](https://docs.shopware.com/en/shopware-platform-dev-en/how-to/adding-snippets)

- Snippet-Ordner und darunter Sprachkürzel-Ordner angelegt
- dort dann jeweils die Klasse und die JSON angelegt
- die service-xml erweitert

Soweit keinerlei Fehlermeldungen, alles gut!  
JSON sieht in etwa so aus:  
&nbsp;

```
{
  "MeinPluginName": 
  {
    "details": 
    {
      "preisblabla": "Preisblabla",
      "preisNormal": "Normalpreis"
    }
  }
}

```

Und jetzt möchte ich hier „storefront-\>page-\>product-detail-\> meine twig-Datei“ gerne darauf zugreifen und habe folgendes geschrieben: `{{ "MeinPluginName.details.preisblabla"|trans}}` Dennoch wird nach cache leeren, plugin deaktivieren/aktivieren usw. an dieser Stelle „MeinPluginName.details.preisblabla“ ausgegeben und nicht der zugewiesene Text 😕 was mach ich da nur falsch? ☹

---

<div class="post-metadata">

**Author:** ![westphal](https://avatars.discourse-cdn.com/v4/letter/w/53a042/32.png) [@westphal](https://forum.shopware.com/u/westphal)\
**Post date:** [15. Mai 2020 um 15:36 UTC](https://forum.shopware.com/t/ubersetzungen-snippets-in-plugins/59757/13 "2020-05-15T15:36:02Z")

</div>

- ist geklärt, war kleiner Schreibfehler meinerseits.  
Die Logik von @daMardl‍ funktionierte dann auch ohne Probleme
