Zahlungsart mit Übersetzungen anlegen

Wenn eine Zahlart via DAL (payment_method.repository + create) erstellt wird und ‚translations‘ angegeben sind müssen genau die Locales welche im Shop aktiviert sind unterstützt sein. Fehlt eine kommt eine Fehlermeldung bzgl. Übersetzung für Sprache mit ID xxx fehlt. Ist eine Locale angegeben welche im Shop (noch) nicht unterstützt wird dann gibt es einen Fehler dass die Locale ‚xx-XX‘ nicht bekannt sei.

Aktuell ist meine Lösung dafür wie folgt:

  1. Es werden manuell die verfügbaren Locales abgefragt (LanguageLoader Service ist nicht public, ich bin nicht sicher inwiefern wir diesen in die Plugin-Klasse injecten können, dies prüfe ich noch weiter, z.B. die Plugin Klasse als Service zu definieren…)
  2. Überflüssige Locales werden aus dem Code zur Laufzeit entfernt.
    3) Fehlende Locales werden auf „Fehlende Übersetzung“ gesetzt.

Ist dies ein bekanntes „Problem“, kennt jemand eine bessere Lösung? Separat wäre es nützlich zu wissen wie sauber auf den LanguageLoader in der install() Methode der Plugin-Klasse zugegriffen werden kann.