1 Themenübersicht
Semiramis unterstützt auf vielfältige Weise die Verwaltung von sprachabgängigen Texten und Daten. Diese Mehrsprachigkeit wird im Allgemeinen durch lokalisierbare Attribute von Business Objects realisiert.
Die Menge der Sprachen, in der die Texte lokalisiert werden können, ist von den Einstellungen der Datenbank abhängig, auf der das Business Object gespeichert ist. Kein Objekt in der Datenbank kann eine Übersetzung für eine Sprache enthalten, die nicht in der Menge der aktiven Sprachen der Datenbank enthalten ist.
Nachfolgend erfahren Sie, wie mehrsprachige Texte realisiert sind, wie sie gepflegt werden und welche Benutzereinstellungen, Sie vornehmen müssen.
2 Zielgruppe
- Systemadministratoren
- Entwickler
3 Begriffsbestimmung
Anzeigesprache
Die Anzeigesprache ist die Sprache, in welcher die Oberflächenelemente des Systems und die Metadaten im ODBC-Treiber dargestellt werden. Sie wird pro Benutzer, typischerweise in seiner Muttersprache, eingestellt.
Inhaltssprache
Die Inhaltssprache ist die Sprache, in der die lokalisierbaren Attribute von OLTP-Objekten angezeigt und bearbeitet werden. Dazu gehört z. B. die Bezeichnung eines Artikels, die Sie mithilfe eines Dialogfensters direkt übersetzen können.
Lokalisierbare Texte
Lokalisierbare Texte sind Texte in übersetzbaren Attributen von Business Objects.
4 Haupt- und Nebensprachen
Für eine Datenbank sind genau eine Hauptsprache (Primärsprache) und beliebig viele Nebensprachen definiert. Der lesende und schreibende Zugriff auf Objekte in der Hauptsprache ist deutlich effizienter, als der Zugriff auf Objekte in einer Nebensprache. Wählen Sie deshalb als Hauptsprache immer die Sprache, die am häufigsten auf der entsprechenden Datenbank verwendet wird.
Aufgrund der unterschiedlich einstellbaren Hauptsprache, können verschiedene OLTP-Datenbanken auch unterschiedliche Haupt- und Nebensprachen besitzen.
Die aktiven Sprachen der Repository-Datenbank ergeben die Menge der verfügbaren Anzeigesprachen für die Oberfläche. Die aktiven Sprachen einer OLTP-Datenbank ergeben die Menge der verfügbaren Inhaltssprachen für die betriebswirtschaftlichen Daten.
5 Soll- und Ist-Zustand
Die Festlegung der Sprachen zu einer Datenbank wird in der Anwendung „Systemcockpit“ getroffen. Diese Festlegung wird in der Systemkonfigurations-Datenbank und auch in der jeweiligen Datenbank selbst gespeichert.
Die Angaben in der Systemkonfigurations-Datenbank stellen den Soll-Zustand dar, während die Angaben in der verwendeten Datenbank den Ist-Zustand darstellen. Die Änderungen der Festlegungen in der Systemkonfigurations-Datenbank können dazu führen, dass der Soll- und der Ist-Zustand der Datenbank nicht mehr identisch ist.
Beispiel:
Wenn eine neue Nebensprache eingeführt wird, für die in der Datenbank noch keine Daten vorhanden sind, ist der Soll- und der Ist-Zustand der Datenbank nicht identisch. Beim Starten eines Semiramis Application Servers (SAS) wird für alle verbundenen Datenbanken geprüft, ob Soll- und Ist-Zustand übereinstimmen. Stimmen diese Zustände nicht überein, wird eine Fehlermeldung auf der Konsole ausgegeben.
Hinweis:
Der laufende SAS arbeitet immer mit den aktiven Einstellungen der jeweiligen Datenbank und nicht mit den Einstellungen der Systemkonfigurations-Datenbank. Wenn neue Daten in die Datenbank eingepflegt werden, dann ist darauf zu achten, dass nur auf Sprachen zugegriffen wird, die auch aktiv sind.
6 Übersetzungstabellen
Zu jedem Business Object und jedem darin enthaltenen übersetzbaren Attribut wird eine Übersetzungstabelle bei der Generierung der Tabellen angelegt. Die jeweilige Übersetzungstabelle enthält alle Übersetzungen eines Attributs. Beim Speichern einer Instanz in einer Nebensprache werden die Übersetzungen in der jeweiligen Übersetzungstabelle abgelegt.
Wird eine neue Business-Object-Instanz eingefügt, werden Sätze für alle definierten Sprachen (Haupt- und Nebensprachen) fortgeschrieben. Sind nicht alle Sprachen gepflegt, wird für alle „nicht-gepflegten“ Sprachen ein Vorschlagswert benutzt. Dieser ist, falls verfügbar, der Text in der Hauptsprache oder der ersten Nebensprache.
Beispiel:
Sie haben als Hauptsprache deutsch (de) eingestellt. In Ihrer Übersetzungstabelle sind die Nebensprachen englisch (en) und italienisch (it) angegeben. Speichern Sie nun eine Objekt-Instanz mit einem übersetzbaren Attribut in der Sprache deutsch, dann steht dieser Text auch in allen Nebensprachen.
Auch die Übersetzung für die Hauptsprache wird bei Bedarf automatisch mit einem Vorschlagswert versorgt, wenn sie nicht angegeben wurde. Der Text eines Attributs wird in die Übersetzungstabelle in der Sprache geschrieben, die beim Speichern angegeben ist.
Beim Laden eines Business Objects über den Persistenzdienst, wird das Objekt in der Sprache geladen, die ausdrücklich angegeben wurde oder die aktive Standardsprache (Anzeigesprache, Inhaltssprache, Konfigurationssprache), die in der Session für die Datenbank eingestellt ist. Falls keine Daten für diese Sprache vorhanden sind, wird das Objekt in der Hauptsprache geladen.
Durch das Anlegen der Datensätze in alle Nebensprachen, werden bei einem „Inner Join“ alle Datensätze eines Business Object gefunden. Zudem wird unabhängig von der jeweils eingestellten Sprache immer ein Text angezeigt.
7 Änderungen der Sprachen und Reorganisation
Das Tool rgzdbt (reorganize database tables) erzeugt zu den bereits bestehenden Instanzen die fehlenden Einträge für die Nebensprachen. Dabei werden bestehende Einträge nicht überschrieben. Zusätzlich werden nicht mehr verwendete Einträge gelöscht und damit sind in der Übersetzungstabelle nur noch aktuelle Daten enthalten.
Das Ausführen des Tools ist nur dann notwendig, wenn sich die Einstellungen der Nebensprachen ändern, z. B. wenn Sie eine Nebensprache hinzufügen.
Wenn Sie eine neue Nebensprache für die Repository-Datenbank hinzufügen, müssen Sie entweder eine Sprachaktualisierung einspielen oder die NLS-Tabellen mit rgzdbt reoganisieren. Detaillierte Informationen finden Sie in dem Dokument Datenbanktabellen reorganisieren.
Beim Kopieren einer Datenbank mithilfe des Tools cpydbt werden nur die Sprachen übernommen, die auch in der neuen Datenbank eingetragen sind. Detaillierte Informationen finden sein in dem Dokument Datenbanktabellen kopieren. Wenn in der neuen Datenbank zusätzliche Nebensprachen definiert sind, werden für diese Nebensprachen keine neuen Datensätze erzeugt. Nutzen Sie dazu das Tool rgzdbt.
8 OQL-Suchen, Suchen und Views
Bei der Ausführung der Entwicklungsobjekt-Typen OQL-Suchen, Suchen und bei Zugriffen auf Views, verwendet der Persistenzdienst Inner Joins, um die Daten aus den Übersetzungstabellen mit den Daten aus anderen Tabellen zu verknüpfen. Wenn nach Attributen in der Hauptsprache gesucht wird, dann werden immer alle Datensätze gefunden. Wird nach übersetzbaren Attributen gesucht, dann werden auch nur die Datensätze gefunden, zu denen eine Übersetzung verfügbar ist.
Falls eine Instanz in einer Sprache keine Übersetzung hat, ist sie unsichtbar für eine Suche in der entsprechenden Sprache. Für die korrekte Funktion von Suchen und Views ist deshalb notwendig, durch Reorganisation die entsprechenden Datensätze in den Übersetzungstabellen anzulegen.
9 Customizing und Benutzereinstellungen
Wenn bei einem Zugriff auf den Persistenzdienst keine Sprache angegeben wird, dann wird die Standardsprache für die jeweilige Datenbank verwendet. Das ist
- die „Konfigurationssprache“ für die Konfigurations-Datenbank.
- die „Anzeigesprache“ für die Repository-Datenbank.
- die „Inhaltssprache“ für die OLTP-Datenbank.
Die Einstellungen dieser Sprachen erfolgt in der Anwendung Customizing und kann in der Anwendung Benutzereinstellungen individuell angepasst werden.