Benutzer-Sprache für externe Integrationen anzeigen?

Ich wollte eine Ergänzung für eine externe Integration vornehmen, die sich auf die in Gladys konfigurierte Sprache stützen soll, um die Funktionen in der richtigen Sprache zu erstellen, aber Claude hat mir Folgendes zurückgegeben:

Jetzt habe ich, was ich brauche. Die Host-API bietet einer Integration keine Möglichkeit, die Sprache des Benutzers zu lesen (nur linkContact/getContacts enthalten eine, und das ist nur für die Nachrichtenübermittlung).

Ist es möglich, die Sprache des Benutzers offenzulegen, damit die Funktionen in der richtigen Sprache erstellt werden können?

In der Zwischenzeit hat Claude mir dies für eine Integration gemacht: Nommer les pollens en français, avec l'anglais en option by prohand · Pull Request #3 · prohand/gladys-pollen · GitHub

Mal sehen, ob ich dies in den anderen Integrationen umsetze, bis es soweit ist.

Danke

Hallo,

Danke für den Vorschlag, ich verstehe den Bedarf, aber ich bin skeptisch bei der Idee, die Sprache des Benutzers global auszusetzen.

Das Problem ist, dass in Gladys die Sprache keine Eigenschaft der Instanz ist, sondern eine Eigenschaft jedes Benutzers. Auf einer Instanz kannst du sehr wohl einen Haushalt mit Benutzern haben, die verschiedene Sprachen sprechen. Eine API, die eine einzige Sprache zurückgibt, müsste eine willkürlich auswählen, und sie wäre zwangsläufig falsch für einen Teil der Benutzer.

In der Praxis ist alles heute bereits je nach Anwendungsfall abgedeckt:

  • Wenn deine Integration eine Nachricht an einen Benutzer sendet, ist seine Sprache bereits über GET /contact und linkContact verfügbar. Dort wissen wir genau, an wen wir uns wenden, also ist das der richtige Ort.
  • Wenn es sich um Inhalts-Schnittstellen (Labels, Konfiguration) handelt, verwaltet das Manifest bereits die Mehrsprachigkeit: Die Labels und Beschreibungen der Felder sind mehrsprachige Texte, und das Frontend zeigt die richtige Version entsprechend dem angemeldeten Benutzer an.
  • Und für deinen Pollen-Fall, bei dem du Text ohne einen bestimmten Empfänger generierst, kannst du einfach ein select-Feld „Sprache“ im config_schema deines Manifests hinzufügen, mit einem Standardwert. Der Benutzer wählt seine Sprache bei der Installation aus, und deine Integration liest diesen Wert in ihrer Konfiguration. Das ist meiner Meinung nach fairer als eine vom Core erzwungene Sprache: Es ist eine Einstellung der Integration, die explizit von der Person gewählt wird, die sie konfiguriert.

Also keine Notwendigkeit für eine Evolution auf Gladys-Seite für deinen Bedarf, du kannst bereits alles mit dem Bestehenden tun.

Zögere nicht, wenn du Hilfe beim Manifest brauchst :slight_smile:

Danke und Claude hat sich bereits darum gekümmert :slight_smile:
Du kannst die Anfrage schließen :wink: