LanguageManager technische Hinweise zur Verwaltung der Sprachdateien: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Sprachdateien)
(Server-Struktur, Server-Parks)
Zeile 75: Zeile 75:
 
:Wenn nicht alle aktuellen Dateien im Programmverzeichnis liegen, erzeugt der eingebaute Localizer beim Start des Programm die DLL-Datei neu! Das dauert!
 
:Wenn nicht alle aktuellen Dateien im Programmverzeichnis liegen, erzeugt der eingebaute Localizer beim Start des Programm die DLL-Datei neu! Das dauert!
 
:Für die User sieht es so aus, als ob sich das Programm "aufgehängt" hat!
 
:Für die User sieht es so aus, als ob sich das Programm "aufgehängt" hat!
 +
 +
Beispiel:
 +
 +
{| class="wikitable" style="text-align: left;width: 80%;"
 +
!style="width: 60%;"|Datei
 +
!style="width: 20%;"|Update-Ordner
 +
!style="width: 20%;"|LNG-Ordner
 +
|- valign="top"
 +
|style="width: 60%;"|..\exe\Reflex.exe
 +
|style="width: 20%;"|Ja
 +
|style="width: 20%;"|Nein
 +
|- valign="top"
 +
|style="width: 60%;"|..\exe\Reflex.ntv
 +
|style="width: 20%;"|Ja
 +
|style="width: 20%;"|Nein
 +
|- valign="top"
 +
|style="width: 60%;"|..\exe\Reflex.ntv.lng
 +
|style="width: 20%;"|Ja
 +
|style="width: 30%;"|Ja
 +
|- valign="top"
 +
|style="width: 60%;"|..\exe\Reflex.en
 +
|style="width: 20%;"|Ja
 +
|style="width: 20%;"|Nein
 +
|- valign="top"
 +
|style="width: 60%;"|..\exe\Reflex.en.lng
 +
|style="width: 20%;"|Ja
 +
|style="width: 20%;"|Ja
 +
|}

Version vom 18. August 2020, 10:43 Uhr

1 Allgemeines

Hier wird beschrieben, wie man Sprachdateien für den LanguageManager (eigentlich "Localizer") verwalten und Updates handeln kann.

Dieser Beitrag richtet sich ausschließlich an den Entwickler!


2 Sprachdateien

Für jede Sprache gibt es zwei Dateien:


{Appname}.{Sprache} Dies ist eine DLL, in der die Ressource-Strings mit den übersetzten Texten in der jeweiligen Sprache enthalten sind. Diese DLL wird zur Laufzeit geladen.
{Appname}.{Sprache}.LNG Diese Datei ist für die Übersetzer in einem bestimmten Format.

Beispiel:

REFLEX.EN
REFLEX.EN.LNG

Die Ausgangssprache (Deutsch) wird als "Native Language" bezeichnet. Diese wird in den Dateien {Appname}.NTV (DLL) und {Appname}.NTV.LNG gespeichert. Diese Dateien müssen im Programmverzeichnis liegen und bei einem Update mitgeliefert werden!

Zusätzlich gibt es Dateien mit der Endung ".LEO". Dies sind Dateien, in der der LanguageManager seine Einstellungen speichert. Diese Datei darf nicht im Update enthalten sein, weil sonst die Einstellungen des Entwicklers ausgeliefert werden würden.

3 Server-Struktur, Server-Parks

In einer einfachen Umgebung kann man die Übersetzungen mit dem LanguageManager direkt mit den Dateien im Programmverzeichnis machen.

In einer komplexen Umgebung mit mehreren Remote-Servern oder gar einem Server-Park geht das nicht, weil die User auf irgendeinem Server arbeiten und so mal diese Datei übersetzen mal eine andere auf einem anderen Server. Deshalb muss man die Sprachdateien auf einem zentralen Server (-Laufwerk) ablegen.

Damit das ganze kontrolliert abläuft, gibt es das Programm "RxLangManTool". Wenn man aus REFLEX heraus im Menü "Extras" den LanguageManager startet, öffnet sich zuerst das Tool und bietet den Usern ein Menü, mit dem sie auswählen können, welches Modul und welche Sprache übersetzt werden soll. RxLangManTool überwacht auch, dass nur ein User pro Modul und Srach gleichzeitig übersetzen kann.

Dabei setzt das Programm folgendes voraus:

  • Die Sprachdateien liegen auf einem Server in einem beliebigen Verzeichnis.
  • Darin befinden sich Unterverzeichnisse mit dem Namen der jeweiligen Sprache

Beispiel:

Stamm-Verzeichnis:

R:\International\LanguageManager\FilesForTranslators

Unterverzeichnisse:

R:\International\LanguageManager\FilesForTranslators\EN
R:\International\LanguageManager\FilesForTranslators\FRA
R:\International\LanguageManager\FilesForTranslators\IT
R:\International\LanguageManager\FilesForTranslators\NLD
R:\International\LanguageManager\FilesForTranslators\PLK

Die Sprachdateien der Module liegen in den Unterverzeichnissen, z.B.

REFLEX.NTV.lng
REFLEX.EN.lng
GevitasFormPrint.NTV.lng
GevitasFormPrint.EN.lng
RxDispo.NTV.lng
RxDispo.EN.lng

usw.

Wichtig!
Die .NTV-Dateien der Programme/Module müssen in jedem Unterverzeichnis liegen!!!
Die .DLL- und .LNG-Dateien der Programme/Module müssen bei einem Update auch in das Programmverzeichnis kopiert werden!
Wenn nicht alle aktuellen Dateien im Programmverzeichnis liegen, erzeugt der eingebaute Localizer beim Start des Programm die DLL-Datei neu! Das dauert!
Für die User sieht es so aus, als ob sich das Programm "aufgehängt" hat!

Beispiel:

Datei Update-Ordner LNG-Ordner
..\exe\Reflex.exe Ja Nein
..\exe\Reflex.ntv Ja Nein
..\exe\Reflex.ntv.lng Ja Ja
..\exe\Reflex.en Ja Nein
..\exe\Reflex.en.lng Ja Ja