# Plugin Konfiguration übersetzen

**URL:** <https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723>\
**Category:** Programmierung\
**Created:** [3. Dezember 2015 um 09:30 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723 "2015-12-03T09:30:32Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [3. Dezember 2015 um 09:30 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/1 "2015-12-03T09:30:32Z")

</div>

Jetzt poste ich auch mal in dieser Kategorie. Es gibt bereits einen solchen Beitrag im Shopware 4 Forum, aber dort wird nicht reagiert 😃 Ich habe bisher keinen Weg gefunden, Comboboxen und ähnliches zu übersetzen. Auch fehlt aktuell eine Übersetzung der Beschreibung eines Feldes. Offenbar ist nur vorgesehen, für ein Feld einen Wert zu definieren, der dann nur das Label übersetzt. Mit folgendem Code ließ sich zumindest das Label jedes Feldes übersetzen, nicht jedoch der Rest: ` $translations = array( 'en\_GB' =\> array( 'host' =\> 'Your host', 'port' =\> 'Your port', 'checkConnection' =\> ' **Check connection to server**' // ... ) ); ` Gedacht war folgendes: ` $translations = array( 'en\_GB' =\> array( 'host' =\> array( 'label' =\> 'Your host', 'value' =\> 'localhost', 'description' =\> 'enter your host' ), 'port' =\> array( 'label' =\> 'Your port', 'value' =\> 8983, 'description' =\> 'enter your port' ), 'checkConnection' =\> array( 'label' =\> ' **Check connection to server**' ), // ... ) ); ` Das funktioniert aber nicht bzw. das komplette Array wird ins Label gepackt und dort steht dann einfach nur Array

---

<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:** [3. Dezember 2015 um 16:01 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/2 "2015-12-03T16:01:39Z")

</div>

Hello, ` $translations = array( 'en\_GB' =\> array( 'foo' =\> array( 'label' =\> 'Foo', 'store' =\> array( array(2, 'Bar'), array(3, 'Foobaz') ) ) ) ); ` Schöne Grüße, Niklas

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [3. Dezember 2015 um 16:33 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/3 "2015-12-03T16:33:37Z")

</div>

Genau so funktioniert es nicht, das habe ich doch geschrieben 😃

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [4. Dezember 2015 um 08:29 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/4 "2015-12-04T08:29:22Z")

</div>

[quote=„DenKon26“]Genau so funktioniert es nicht, das habe ich doch geschrieben :D[/quote] Hallo, also ich kann bei deinem Code im Vergleich zu dem Code von TeichDatensysteme keinen „store“-Bereich erkennen. Sicher also, das du es so schon probiert hast, wie er es vorgeschlagen hat? Bei dem store-Parameter würdest du ja die einzelnen Auswahloptionen übersetzbar machen. Beste Grüße Sebastian

---

<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:** [7. Dezember 2015 um 09:33 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/5 "2015-12-07T09:33:04Z")

</div>

[quote=“sschreier”]also ich kann bei deinem Code im Vergleich zu dem Code von TeichDatensysteme keinen “store”-Bereich erkennen.[/quote] Danke 😉 Der store Key ist notwendig. Die einzelnen Auswahlmöglichkeiten spricht man dann wieder mit den keys in der nächsten Ebene an. Die Combo Keys müssen auch nicht numerisch sein, die können auch als string gesetzt werden. Dann müssen aber auch wiederum die keys in der Übersetzungen gleich benannt werden. Als Beispiel: ` $translations = array( 'en\_GB' =\> array( 'foo' =\> array( 'label' =\> 'Foo', 'store' =\> array( array('fooKey', 'Bar'), array('barKey', 'Foobaz') ) ) ) ); ` Diese Art der Übersetzung wird auch in einigen Shopware Plugins durchgeführt, von daher kann das nicht ganz verkehrt sein. Wie genau setzt Du denn die Übersetzungen? Vielleicht ist deine Funktion nicht ok? Ab 4.2.2 gibt es die passende Hilfsfunktion ` if ($this-\>assertMinimumVersion('4.2.2')) { $this-\>addFormTranslations($translations); } ` Schöne Grüße, Niklas

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [9. Dezember 2015 um 08:40 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/6 "2015-12-09T08:40:38Z")

</div>

> [@TeichDatensysteme](#):
>
> [quote=„sschreier“]also ich kann bei deinem Code im Vergleich zu dem Code von TeichDatensysteme keinen „store“-Bereich erkennen.[/quote] Danke 😉 Der store Key ist notwendig. Die einzelnen Auswahlmöglichkeiten spricht man dann wieder mit den keys in der nächsten Ebene an. Die Combo Keys müssen auch nicht numerisch sein, die können auch als string gesetzt werden. Dann müssen aber auch wiederum die keys in der Übersetzungen gleich benannt werden. Als Beispiel: ` $translations = array( 'en\_GB' =\> array( 'foo' =\> array( 'label' =\> 'Foo', 'store' =\> array( array('fooKey', 'Bar'), array('barKey', 'Foobaz') ) ) ) ); ` Diese Art der Übersetzung wird auch in einigen Shopware Plugins durchgeführt, von daher kann das nicht ganz verkehrt sein. Wie genau setzt Du denn die Übersetzungen? Vielleicht ist deine Funktion nicht ok? Ab 4.2.2 gibt es die passende Hilfsfunktion ` if ($this-\>assertMinimumVersion('4.2.2')) { $this-\>addFormTranslations($translations); } ` Schöne Grüße, Niklas

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [9. Dezember 2015 um 09:15 UTC](https://forum.shopware.com/t/plugin-konfiguration-ubersetzen/32723/7 "2015-12-09T09:15:28Z")

</div>

Wäre es möglich, Snippets für die Plugin-Konfiguration zu definieren? Habe mich hier ([https://developers.shopware.com/designe … /snippets/](https://developers.shopware.com/designers-guide/snippets/)) etwas eingelesen und nun folgendes probiert: [list=1] [\*] Ordnerstruktur erstellt: -\>Snippets-\>backend-\>plugins-\>meinPlugin[/_]  
[_] in ‘meinPlugin’ eine Datei ‘meinPlugin.ini’ erstellt:

[code]// meinPlugin.ini

[en\_GB]  
checkConnection = “Check connection to server”

[de\_DE]  
checkConnection = “Verbindung zum Server testen”[/code][/_]  
[_] In meiner Bootstrap wo ich die Plugin-Konfiguration erstelle folgendes:

`$form-&gt;setElement('button', 'checkConnection',
            array(
                'label' =&gt; '{s name="checkConnection" namespace="backend/plugins/meinPlugin/meinPlugin"}{/s}',
                'scope' =&gt; Shopware\Models\Config\Element::SCOPE_SHOP,
                'handler' =&gt; "function(btn) {"
                    . file_get_contents( __DIR__. "/resources/checkConnection.js") . "}"
            )
        );`[/\*][/list]

Auf dem Button angezeigt wird dann aber  
{s name=“checkConnection” namespace=“backend/plugins/meinPlugin/meinPlugin”}{/s}

EDIT: Bzw da im Backend nicht Smarty kompiliert wird auch eine Idee direkt auf das Snippet zuzugreifen:

`$form-&gt;setElement('button', 'checkConnection',
            array(
                'label' =&gt; ' __checkConnection__',
                'scope' =&gt; Shopware\Models\Config\Element::SCOPE_SHOP,
                'handler' =&gt; "function(btn) {"
                    . file_get_contents( __DIR__. "/resources/checkConnection.js") . "}"
            )
        );`
