Dokumentation

Alles, was du für Einrichtung, tägliche Nutzung und Fehlersuche bei Simple Locale brauchst.

Wie funktioniert Simple Locale?

Simple Locale übersetzt live die Namen aller Objekte (Kategorien, Variablen, Kacheln, Verknüpfungen) innerhalb der von dir festgelegten Kategorie in deiner Visualisierung - inklusive der Inhalte von eigens dafür angelegten String-Variablen, z. B. Hinweistexte oder ganze HTMLBoxen. Verweist ein Link auf eine String-Variable außerhalb der Kategorie deiner Visualisierung, wird auch der Inhalt dieser String-Variablen übersetzt.

Die eigentliche Übersetzung übernimmt automatisch ein Sprachdienst im Hintergrund: ab Werk ein kostenfreier Anbieter ganz ohne Konfiguration, optional zusätzlich Google Cloud Translate und/oder DeepL für größere Freikontingente und mehr Sprachen. Fällt ein Dienst aus oder ist sein Kontingent erschöpft, übernimmt automatisch der nächste in der Kette.

Jeder Text wird nur einmal übersetzt und danach dauerhaft gespeichert - ein erneuter Rescan übersetzt nur neue oder noch leere Einträge, nie bereits vorhandene. Das gilt auch für Übersetzungen, die du direkt im Konfigurationsformular manuell korrigierst: sie werden nie automatisch überschrieben.

Die Sprache wird über eine eigene, kompakte Kachel mit Dropdown-Auswahl direkt in deiner Visualisierung gewechselt - keine zusätzliche Variable nötig.

Die Sprachauswahl-Kachel, wie sie in der Visualisierung erscheint.
Die Sprachauswahl-Kachel, wie sie in der Visualisierung erscheint.
Dieselbe Kachel in der kleinen 2×1-Größe.
Dieselbe Kachel in der kleinen 2×1-Größe.
Eine Sonder-Edition, ebenfalls 2×1: eigenes Symbol und eigene Vorlage – hier die Sprachen als Flaggen statt als Auswahlliste.
Eine Sonder-Edition, ebenfalls 2×1: eigenes Symbol und eigene Vorlage – hier die Sprachen als Flaggen statt als Auswahlliste.

Einrichtung in IP-Symcon

⚠️ Wichtig, bevor du loslegst: Erstelle ein Backup deines Symcon-Systems. Das gilt generell vor jeder Modul-Installation oder -Konfiguration, nicht nur bei Simple Locale - dann bist du im Zweifel jederzeit stressfrei wieder beim letzten funktionierenden Stand.

Installiere das Modul über den Module Store - dort ist es als Simple Locale gelistet, ohne den Zusatz „for IP-Symcon“. Oder füge das Modul manuell über die GitHub-URL https://github.com/AllardLiao/SimpleLocaleForIPS in Module Control hinzu.

Markiere die Kategorie deiner Visualisierung, in der die Sprachauswahl-Kachel erscheinen soll, mache dort einen Rechtsklick und wähle "Instanz erstellen". Suche im folgenden Dialog nach "Simple Locale" und wähle das Modul aus - die Instanz landet direkt an dieser Stelle als eigene, kompakte Kachel.

Der Konfigurationsbereich der Instanz im Überblick: die drei Abschnitte "Konfiguration", "Übersetzung" und "Lizenz", darunter die Aktions-Buttons sowie die Bereiche "Produktinformationen" und "Nutzungsbedingungen".
Der Konfigurationsbereich der Instanz im Überblick: die drei Abschnitte "Konfiguration", "Übersetzung" und "Lizenz", darunter die Aktions-Buttons sowie die Bereiche "Produktinformationen" und "Nutzungsbedingungen".

In der Instanzkonfiguration wählst du unter "Kachel-Visualisierung" die Instanz deiner Visualisierung selbst aus - üblicherweise dieselbe, in der die Simple-Locale-Kachel liegt. Die eigene Startkategorie dieser Visualisierungs-Instanz wird automatisch als Übersetzungs-Root übernommen. Ohne ausgewählte Instanz bleibt die Übersetzung inaktiv.

Der Konfigurationsbereich der Instanz: Kachel-Visualisierung, Basissprache, aktive Sprache und das Übersetzungsanbieter-Panel.
Der Konfigurationsbereich der Instanz: Kachel-Visualisierung, Basissprache, aktive Sprache und das Übersetzungsanbieter-Panel.

💡 Tipp: Der Aufwand für einen Schlüssel bei Google Cloud Translate oder DeepL lohnt sich - unsere Erfahrung mit dem kostenfreien MyMemory-Anbieter zeigt das deutlich. Trag ihn am besten ein und übernimm die Änderungen, bevor du deine erste Zielsprache auswählst: Danach zeigt die Auswahlliste die Sprachen, die Google bzw. DeepL tatsächlich unterstützen, statt der kleineren eingebauten Grundliste. Und ein API-Schlüssel lohnt sich schon in der Testphase - Übersetzungen, Einstellungen und der eingebaute Cache bleiben erhalten, wenn Du später einen Lizenzschlüssel in derselben Instanz aktivierst. Du fängst also nicht von vorn an, und die bessere Übersetzungsqualität wirkt dauerhaft nach, selbst wenn ein Kontingent später aufgebraucht ist und automatisch auf MyMemory zurückgefallen wird.

Klicke einmal auf "Visualisierung neu einlesen", damit Simple Locale deine Objekte findet und die erste Übersetzung anstößt. Danach übernimmt entweder ein Zeitplan (automatischer Rescan, Pro-Feature) oder du klickst bei Bedarf einfach erneut.

💡 Tipp für den ersten Scan: Wähle zunächst nur eine Zielsprache aus und lies die Visualisierung damit ein. Simple Locale erfasst bewusst auch Objekte, die in der Visualisierung verborgen sind - ob etwas sichtbar ist, kann sich schließlich jederzeit ändern. Darunter sind aber oft Skripte, Aktionen oder Hilfsvariablen, die niemand je zu lesen bekommt. Nimm diese Zeilen nach dem ersten Durchlauf über die Checkbox "Übersetzung aktiv" heraus (Pro Edition) - die Spalte "Pfad" zeigt dir, wo eine Zeile im Baum steht - und schalte erst danach die weiteren Zielsprachen frei: Jede zusätzliche Sprache übersetzt dann nur noch das, was wirklich jemand sieht. Mehr dazu in der FAQ.

Die Übersetzungstabellen nach dem ersten Einlesen: In der Spalte "Übersetzung aktiv" sind die drei Aktionsskripte abgewählt - sie bleiben in jeder Sprache beim Original und verbrauchen keine Übersetzung mehr.
Die Übersetzungstabellen nach dem ersten Einlesen: In der Spalte "Übersetzung aktiv" sind die drei Aktionsskripte abgewählt - sie bleiben in jeder Sprache beim Original und verbrauchen keine Übersetzung mehr.

Wenn Du einen Lizenzschlüssel hast, trage diesen im Panel "Lizenz" ein, übernimm die Änderungen und klicke den Button "Lizenz aktivieren/aktualisieren". Hierbei werden auch ggf. zur Edition gehörende Icons und Kacheln von unserem Server nachgeladen.

Die Aktions-Buttons der Instanz: "Lizenz aktivieren", "Visualisierung neu einlesen und fehlende Übersetzungen ergänzen", "Übersetzungen nicht mehr vorhandener Elemente entfernen", "Übersetzungs-Cache leeren" und "Übersetzungsanbieter prüfen".
Die Aktions-Buttons der Instanz: "Lizenz aktivieren", "Visualisierung neu einlesen und fehlende Übersetzungen ergänzen", "Übersetzungen nicht mehr vorhandener Elemente entfernen", "Übersetzungs-Cache leeren" und "Übersetzungsanbieter prüfen".

Einzelne Objekte lassen sich unabhängig von der Sprache dauerhaft von der Übersetzung ausnehmen - je Objekt-ID über die Checkbox "Übersetzung aktiv" in der jeweiligen Übersetzungstabelle, etwa für die Namen von Hausbewohnern, die in jeder Sprache gleich bleiben sollen. (Teil der Pro Edition - mehr dazu in der FAQ.)

⚠️ Nur eine Simple-Locale-Instanz je Visualisierungsbaum. Zwei aktive Instanzen, die sich denselben Baum oder auch nur einzelne String-Variablen teilen, arbeiten gegeneinander: Jede schreibt beim Sprachwechsel ihre eigene Übersetzung in dieselben Objekte, und jede hält den Schreibvorgang der anderen für eine Änderung von außen. Bei den "Eigenen Texten" ist das besonders heikel, weil deren String-Variablen live überwacht werden: Instanz A schreibt ihre Übersetzung, Instanz B nimmt sie als neuen Originaltext an, übersetzt sie erneut und schreibt zurück - was wiederum Instanz A auslöst. Das Ergebnis sind Übersetzungen von Übersetzungen, die sich mit jeder Runde weiter vom Original entfernen, und ein Dauerfeuer an API-Anfragen, das jedes Tageskontingent in kurzer Zeit aufbraucht. Willst du mehrere Visualisierungen übersetzen, gib jeder Instanz einen eigenen Baum ohne Überschneidungen.

Sprachen und Übersetzungsanbieter

Die "Scan-Sprache" oben ist die Voreinstellung, die eine neu gefundene Zeile beim ersten Scan erhält. Jede Zeile in "Objektnamen", "Eigene Texte", "Beschriftungen", "Automations" und "Begrüßung" trägt zusätzlich eine eigene, editierbare Spalte "Quellsprache" (Pro-Feature Manuelles Editieren von Übersetzungen, ohne dieses Feature nur informativ sichtbar). Das macht auch gemischtsprachige Installationen sauber abbildbar - z. B. ein Fremdmodul, das seine eigenen Objektnamen und -werte dauerhaft auf Englisch liefert, während der Rest der Installation auf Deutsch gescannt wird.

Zielsprachen wählst du aus einer eingebauten Liste oder, sobald ein Google- oder DeepL-Schlüssel hinterlegt ist, aus deren jeweils aktueller, größerer Sprachliste.

Ohne bezahlten Anbieter übersetzt der kostenfreie Dienst zuverlässig weiter. Mit einem oder zwei hinterlegten Schlüsseln (Google/DeepL) hängt die genaue Verkettungsreihenfolge von deiner Edition ab - Details dazu findest du auf der Preisseite und in den FAQ.

Ein Anbieterwechsel (z. B. Google zu DeepL) ist folgenlos: Simple Locale führt die Sprachcodes intern in einer einheitlichen Schreibweise und rechnet sie für jeden Anbieter um. Bereits gewählte Zielsprachen bleiben erhalten, und dieselbe Sprache steht nicht mehr doppelt zur Auswahl. Einzige Besonderheit: Google kennt keine Regionsvarianten - eine Zielsprache wie "en-gb" wird dort als "en" übersetzt.

Der Bereich "Übersetzungsanbieter": Google- und/oder DeepL-API-Schlüssel hinterlegen, bevorzugten Anbieter wählen - ganz ohne Eingabe übersetzt der kostenfreie Anbieter sofort los.
Der Bereich "Übersetzungsanbieter": Google- und/oder DeepL-API-Schlüssel hinterlegen, bevorzugten Anbieter wählen - ganz ohne Eingabe übersetzt der kostenfreie Anbieter sofort los.

Google Cloud Translate API-Key besorgen

  1. Auf console.cloud.google.com mit einem Google-Konto anmelden und ein neues Projekt anlegen (oder ein bestehendes auswählen).
  2. Unter "APIs & Dienste" → "Bibliothek" nach "Cloud Translation API" suchen und aktivieren.
  3. Ein Abrechnungskonto (Kreditkarte) hinterlegen - das verlangt Google auch innerhalb der kostenlosen monatlichen Freimenge (aktuell 500.000 Zeichen); ohne hinterlegte Zahlungsmethode wird der Zugriff verweigert.
  4. Unter "APIs & Dienste" → "Anmeldedaten" → "Anmeldedaten erstellen" → "API-Schlüssel" einen neuen Schlüssel erzeugen (am besten direkt auf die Cloud Translation API einschränken) und in das Feld "Google Cloud Translate API-Key" der Instanzkonfiguration eintragen.

DeepL API-Key besorgen

  1. Auf deepl.com/pro-api ein Konto für "DeepL API Free" oder "DeepL API Pro" anlegen - Free reicht für die meisten Installationen und ist kostenlos bis zu einem einmaligen Freikontingent (aktuell 1.000.000 Zeichen, kein wiederkehrendes monatliches Kontingent mehr - danach ist ein Upgrade auf "DeepL API Pro" nötig).
  2. Im DeepL-Konto unter "Konto" → "API-Keys für DeepL API" den Schlüssel kopieren und in das Feld "DeepL API-Key" der Instanzkonfiguration eintragen.

Kostenlose DeepL-Schlüssel enden immer auf :fx - Simple Locale erkennt das automatisch und spricht dann den passenden kostenlosen Server an, ohne dass du sonst etwas einstellen musst.

Die Kachel

Die Sprachauswahl selbst erscheint als eigene, kompakte Kachel direkt in deiner Visualisierung - keine zusätzliche Variable, kein separates Popup nötig. Über den Bereich "Kachel-Einstellungen" in der Instanzkonfiguration lässt sich ihr Erscheinungsbild anpassen.

Der Bereich "Kachel-Einstellungen": Icons in der Kachel ein-/ausblenden, Übersetzungsstatistik anzeigen, oder eine eigene Sprachauswahl-Kachel per HTML hinterlegen (Pro Edition).
Der Bereich "Kachel-Einstellungen": Icons in der Kachel ein-/ausblenden, Übersetzungsstatistik anzeigen, oder eine eigene Sprachauswahl-Kachel per HTML hinterlegen (Pro Edition).

In der eingebauten Standardansicht zeigt die Kachel einen Sprachwahl-Dropdown mit Flagge und Sprachname, optional das Simple-Locale-Icon und ein Info-Symbol (ⓘ) sowie eine kleine Statistikzeile ("1 Übersetzungen/h, 125 Zeichen/h") - jedes davon lässt sich einzeln ein- oder ausblenden.

Wer es individueller mag, kann ab der Pro Edition eine eigene Kachel per HTML gestalten - zum Beispiel nur zwei anklickbare Flaggen ohne Dropdown, Icon oder Statistik, wie im Beispiel unten.

Die eingebaute Standard-Kachel mit allen Optionen aktiviert: Icon, Sprachwahl-Dropdown, Info-Symbol und Statistikzeile.
Die eingebaute Standard-Kachel mit allen Optionen aktiviert: Icon, Sprachwahl-Dropdown, Info-Symbol und Statistikzeile.
Eine per HTML selbst gestaltete Kachel (Pro Edition) - hier auf zwei anklickbare Flaggen reduziert, ganz ohne Dropdown oder Statistik.
Eine per HTML selbst gestaltete Kachel (Pro Edition) - hier auf zwei anklickbare Flaggen reduziert, ganz ohne Dropdown oder Statistik.

Testversion und Lizenz

Die Testversion hat den vollen Funktionsumfang der Pro Edition - eine frei wählbare Zielsprache, 30 Tage lang, ab der ersten gespeicherten Einrichtung. Du probierst also nicht an einer Alibisprache herum, sondern genau mit einer Sprache, die Du später auch weiterverwenden kannst.

Enthalten ist alles: automatischer Rescan nach Zeitplan, Google und DeepL kombiniert vor dem kostenfreien Anbieter, die eigene Übersetzungstabelle mit Vorrang, das Glossar mit vorbefüllten Einheiten und Kompassrichtungen, manuelles Editieren der Übersetzungen, die Übersetzung je Objekt abschaltbar und die eigene Sprachauswahl-Kachel. Begrenzt ist nur die Anzahl der Zielsprachen.

Installiere das Modul „Simple Locale“ über den Module Store in IP-Symcon, lege eine Instanz an und leg los! Die Testphase beginnt mit der ersten gespeicherten Einrichtung.

Nach 30 Tagen schaltet die Visualisierung sichtbar zurück auf die Original-Texte, und ein Sprachwechsel zeigt statt der Übersetzung einen Hinweis auf den Lizenzerwerb. Das ist der ehrlichste Beleg dafür, dass das Modul tatsächlich etwas tut: Du siehst unmittelbar, was ohne es fehlt.

Die Vollversion gibt es in drei Editionen mit unterschiedlicher Sprachanzahl, Anbieter-Verkettung und Zusatzfunktionen - der genaue Vergleich steht auf der Preisseite. Nach dem Kauf trägst du deinen Schlüssel im Feld "Lizenzschlüssel" ein und klickst auf "Lizenz aktivieren/aktualisieren".

Du hast schon eine Lizenz und möchtest auf eine höhere Edition wechseln? Das geht über die Upgrade-Seite, ohne neu zu kaufen. Lizenzschlüssel verlegt? Über die Seite zum erneuten Zusenden bekommst du alle deine Schlüssel per E-Mail zurück.

Die vollständigen Lizenzbedingungen findest du auf der Lizenzseite.

Tipps und häufige Stolpersteine

Bei Verknüpfungen (Links) hat auch die Verknüpfung selbst ein eigenes Namensfeld - dieses muss ausgefüllt sein, nicht nur der Name des verlinkten Objekts.
Bei Verknüpfungen (Links) hat auch die Verknüpfung selbst ein eigenes Namensfeld - dieses muss ausgefüllt sein, nicht nur der Name des verlinkten Objekts.

PHP-Befehle für eigene Skripte

Für eigene HTMLBox-Kacheln oder Skripte außerhalb der direkt live umbenannten Objekte stellt Simple Locale folgende Befehle bereit:

string SLOC_TranslateText(int $InstanceID, int $ObjectID);

Liefert den übersetzten Inhalt einer verfolgten "Eigene Texte"-Variable in der aktuell aktiven Sprache (Fallback: Originaltext).

void SLOC_Rescan(int $InstanceID);

Liest die Startkategorie der ausgewählten Kachel-Visualisierung neu ein und übersetzt neu gefundene oder noch offene Einträge - entspricht dem Button "Visualisierung neu einlesen".

string SLOC_TranslateExternalText(int $InstanceID, string $Text, string $SourceLanguage);

Übersetzt einen beliebigen, selbst übergebenen Text live in die aktuell aktive Sprache dieser Instanz - praktisch für eigene Module mit eigener Kachel.

string SLOC_GetCurrentLanguageCode(int $InstanceID);

Liefert den Code der aktuell aktiven Sprache (z. B. "en") - nützlich, um eigene Inhalte nur bei einem tatsächlichen Sprachwechsel neu aufzubauen.

string SLOC_GetAvailableLanguages(int $InstanceID);

Liefert die Liste der aktuell wählbaren Sprachen als JSON (Code, Anzeigename und ob sie gerade aktiv ist) - die Grundlage für eine eigene, komplett selbstgebaute Sprachauswahl-Kachel. Benötigt die Pro Edition (Feature "Eigene Sprachauswahl-Kachel").

void SLOC_SetLanguage(int $InstanceID, string $LanguageCode);

Setzt die aktive Sprache aus der eigenen Kachel/dem eigenen Skript heraus, exakt wie ein Klick im eingebauten Dropdown (inkl. Testphasen-/Rate-Limit-Prüfung). Benötigt die Pro Edition (Feature "Eigene Sprachauswahl-Kachel").

Platzhalter für eigene Kacheln

Eigene Kachel-Vorlagen und die mit einer Edition ausgelieferten Designs können zwei Platzhalter verwenden. Simple Locale ersetzt sie beim Ausliefern der Kachel durch gültiges JSON - du kannst sie deshalb direkt in eine JavaScript-Zuweisung schreiben.

<!--AVAILABLE_LANGUAGES-->

Liefert alle konfigurierten Sprachen als JSON-Liste, jeweils mit Code, Anzeigename und der Angabe, welche gerade aktiv ist.

[{"code":"de","name":"Deutsch","current":true},{"code":"en","name":"English","current":false}]
<!--ACTIVE_LANGUAGE-->

Liefert den Code der aktiven Sprache als JSON-Zeichenkette.

"de"
var langs = <!--AVAILABLE_LANGUAGES-->; var active = <!--ACTIVE_LANGUAGE-->;

Beide Platzhalter sind an keine Edition gebunden und stehen auch während der Testphase zur Verfügung. Darin unterscheiden sie sich von der ähnlich benannten PHP-Funktion SLOC_GetAvailableLanguages(), die die Pro Edition verlangt.

Beide Platzhalter werden einmal beim Laden der Kachel ersetzt und ändern sich danach nicht mehr. Soll deine Vorlage die aktive Sprache live mitführen, definiere diese Funktion - Simple Locale ruft sie bei jedem Sprachwechsel auf:

window.slocOnLanguageChange = function (activeLanguage, availableLanguages) { … };

Der Haken ist eine globale Funktion und heißt genau so, klein geschrieben: slocOnLanguageChange. Die Bedienelemente der Kachel tragen außerdem eigene CSS-Klassen mit dem Präfix sloc- (sloc-select-row, sloc-globe, sloc-tile-icon …) - über sie gestaltest du die Kachel in deiner eigenen Vorlage gezielt.

Frage nicht beantwortet?

Wirf einen Blick in die FAQ oder schreib uns direkt über den Support.

Zum Support