So richten Sie mehrsprachige Wertelisten in FileMaker ein

Diese Technik bezieht sich auf FM Starter und FrankCRM, wo sie bereits implementiert ist


7. Juli 2024In FM Starter, FrankCRMBy Karsten Risseeuw7 Minutes

Es gibt mehrere Techniken, um eine mehrsprachige Oberfläche für Ihre FileMaker-Lösung zu erstellen. Unabhängig davon, welche Lösung Sie erstellen, fragen Sie sich vielleicht, wie Sie Wertelisten mehrsprachig machen können? Dieser Artikel zeigt Ihnen einen Weg auf, wie Sie das erreichen können.

Um eine mehrsprachige Werteliste zu erstellen, muss man einen generischen mehrsprachigen Ansatz haben. Der Einfachheit halber bleibe ich bei der auf dieser Website vorgestellten Lösung, bei der die Textbeschriftungen in einer speziellen Tabelle mit einem einzigen Wiederholungsfeld verwaltet werden, in dem die Textbeschriftungen gespeichert werden. Jede Wiederholung steht für eine Sprache.

Mehrsprachige Textetiketten in FileMaker

Ein Beispiel dafür, wie man mehrsprachige Textetiketten in FileMaker verwalten und darstellen kann

Tabelle für mehrsprachige Texte

In dem oben genannten Beispiel hat die Tabelle mit den Textbeschriftungen alle Sprachen. Wenn Sie eine Sprache aktivieren, werden alle Beschriftungen der ausgewählten Spalte in die Wiederholungen eines einzigen globalen Feldes geladen. Dadurch sind die Textbeschriftungen überall in der Lösung verwendbar, ohne dass Sie Beziehungen erstellen müssen.

Wie man eine mehrsprachige Werteliste erstellt

Wertelisten können auf unterschiedliche Weise erstellt werden. Um eine mehrsprachige Werteliste zu erstellen, müssen wir für jede Werteliste eine eigene Tabelle erstellen. Es ist ganz einfach, eine Werteliste auf der Grundlage eines bestimmten Feldes zu erstellen. Wenn Sie also eine Tabelle für eine bestimmte Werteliste haben, zeigen Sie einfach auf ein Feld einer beliebigen Tabelle und Sie haben alle Werte dieses Feldes.

In der Tabelle für die neue Werteliste möchten Sie mehrere Felder haben. Der Grund dafür ist, dass Sie auf eine Übersetzung verweisen können möchten. Angenommen, Sie verwenden die Lösung für mehrsprachige Textbeschriftungen, wie oben vorgeschlagen, dann werden Sie diese Beschriftungen durch einen Verweis anzeigen. Alle Bezeichnungen der aktiven Sprache werden in den Wiederholungen eines globalen Textfeldes gespeichert. Die Tabelle für die Etiketten hat eine laufende Nummer in einem anderen Feld, die sich nicht ändert, egal ob Sie eine Nummer löschen oder überspringen. Das bedeutet, dass Sie eine eindeutige Referenz zu jedem Etikett haben, die auf dieser laufenden Nummer basiert. Wenn Sie die Textbeschriftungen in ein globales Wiederholungsfeld laden, verwenden Sie das Zahlenfeld, um auf diese Nummer der gewünschten Wiederholung zu verweisen. Auf diese Weise bleiben alle Beschriftungen an dieser Position fixiert und können leicht wiedergefunden werden.

Sie könnte wie folgt aussehen: L::gT[289], wobei „L“ die Tabelle für alle Beschriftungen ist, „gT“ ist das globale Textfeld, in das die Beschriftungen geladen werden, und „[289]“ ist die Wiederholungsnummer, auf die Sie sich beziehen.

Die Struktur dieser Definition ist immer die gleiche. Es ist: Tabelle::Feld[repetition number]. Nur die Wiederholungszahl ändert sich, der Rest bleibt für alle Etiketten gleich. In einer mehrsprachigen Werteliste möchten Sie 1 Feld für die gewählte Zahl haben und ein Textfeld, um die vollständige Referenz zu erstellen. Wählen Sie kein Berechnungsfeld, sondern ein Textfeld mit einer Berechnung bei der Eingabe.

Das könnte so aussehen:

Der Screenshot stammt aus FM Starter und das gleiche Beispiel ist auch in FrankCRM enthalten. Die Tabelle UserGroups_VL kann als Beispiel dafür verwendet werden, wie dies funktioniert. Um Ihre neue Werteliste zu erstellen, gehen Sie wie folgt vor:

  1. Duplizieren Sie die Tabelle UserGroups_VL. Umbenennen.
  2. Duplizieren Sie das Layout UserGroups_VL. Umbenennen.
  3. Aktualisieren Sie die Tabelle und die Felder im duplizierten Layout, damit sie mit Ihrer duplizierten Tabelle und Ihrem Layout übereinstimmen.
  4. Erstellen Sie eine neue Werteliste, die auf Ihrer duplizierten Tabelle basiert
  5. Nehmen Sie das neue Layout in die „Script MTL Value List Translations“ auf, um die Werte bei Bedarf automatisch zu aktualisieren.

Die Tabelle für die mehrsprachige Werteliste hat mehrere Felder, darunter:

  • Nummernfeld „TranslationID“ für die Referenz
  • Textfeld für die Übersetzung mit der Berechnung „Evaluate („Table::GlobalField[“ & TranslationID & „]“ )“ oder ähnlich

Das Textfeld mit der Berechnung wird aktualisiert, wenn das Feld TranslationID, auf dem es aufgebaut ist, aktualisiert wird. Wenn Sie eine Sprache laden, aktualisieren oder ändern, sollten Sie darauf achten, dass dieses Feld „TranslationID“ in jeder Tabelle, die für mehrsprachige Wertelisten verwendet wird, aktualisiert wird.

Aktualisieren der Übersetzungen der Werteliste

Wenn Sie eine Sprache wechseln, werden Ihre Wertelisten nicht automatisch aktualisiert, da es sich hierbei nicht um Kalkulationsfelder handelt, sondern um gewöhnliche Textfelder, für die bei der Dateneingabe eine Berechnung durchgeführt wird. Wir müssen diese Dateneingabe imitieren, um den berechneten Wert zu aktualisieren.

Zu diesem Zweck verwende ich ein Skript, dem ich alle Wertelisten-Tabellen hinzufüge, in denen ich dann den Wert im Feld „TranslationID“ durch sich selbst ersetze. Dadurch wird die Sprache aktualisiert. Nach dieser Aktualisierung wird die mehrsprachige Werteliste mühelos funktionieren.

Skript zum Aktualisieren von Wertelisten

Jede Werteliste mit dieser mehrsprachigen Einrichtung sollte den folgenden Aktualisierungsmodus haben:

# Ihre Werteliste
Gehe zu Layout [ „[YourValueListLayout]“ ([ValueListTable]) ; Animation: Keine ]
Alle Datensätze anzeigen
Feldinhalt ersetzen [ Mit Dialog: Aus ; [ValueListTable]::TranslationID ; [ValueListTable]::TranslationID ]

Wiederholen Sie diesen Vorgang für jede Werteliste. So erhalten Sie ein Skript, das alle Wertelisten mit der aktuellen Sprache aktualisiert. Wenn Sie eine Sprache wechseln, fügen Sie dieses Skript nach dem Wechsel ein, um den Wert Ihrer Wertelisten zu aktualisieren.

FM Starter und FrankCRM haben dies integriert

Alle grundlegenden Ideen für die Erstellung eines mehrsprachigen Setups Ihrer Lösung sind auf dieser Website kostenlos erhältlich. Allerdings müssen Sie ihn selbst bauen. Wenn Sie den Prozess beschleunigen möchten, sehen Sie sich FM Starter und FrankCRM an, die diese Mechanismen bereits eingebaut haben.

Shop

In unserem Flaggschiffprodukt FrankCRM werden überall mehrsprachige Wertelisten verwendet. Das folgende Video zeigt ein paar Implementierungen in der Benutzeroberfläche. Sowohl die Benutzeroberfläche als auch die Wertelisten sind mehrsprachig.