In der heutigen Welt ist es von großer Bedeutung, dass Sie Ihre Software an Kunden in der ganzen Welt liefern können. Aus diesem Grund unterstützt FastReport VCL etwa 40 der am häufigsten gesprochenen Sprachen der Welt für die Lokalisierung von Benutzeroberflächen.
In FastReport VCL wurde ab Version 2023.2 die Lokalisierung erheblich verbessert – jetzt ist keine Neukompilierung mehr erforderlich, um Sprachen in FastReport zu ändern. Das Lokalisierungspaket ist in allen Lieferumfängen von FastReport VCL enthalten. Die Lokalisierung erfolgt on-the-fly durch die Auswahl der gewünschten Sprache im Berichtsdesigner im Menü „Ansicht - Sprache“. Darüber hinaus können Sie die Sprache der FastReport VCL- Benutzeroberfläche direkt vom Code aus steuern!
Für die korrekte Funktion der Lokalisierung müssen die Lokalisierungspakete (frxLanguageXXX) und das Lokalisierungs-Controller-Paket (frLocalization) in der IDE installiert sein. Unter Windows werden die Lokalisierungspakete automatisch für die Delphi und Lazarus IDEs installiert. Wenn das Lokalisierungsmenü nicht verfügbar ist, müssen Sie überprüfen, ob diese Pakete in der IDE installiert sind. In Delphi werden Sie das folgende Fenster sehen:
In Lazarus sieht das Lokalisierungsmenü wie folgt aus:
Wenn einige der Übersetzungspakete nicht benötigt werden, können sie aus der Entwicklungsumgebung entfernt werden.
Wie oben erwähnt, werden die Sprachen im FastReport-Berichtsdesigner sehr einfach eingestellt. Gehen Sie dazu im Menü auf „Ansicht–Sprachen“ und wählen Sie die gewünschte Sprache aus.
Um die FastReport-Lokalisierung mit der Software zu verbinden, müssen Sie die TfrLocalisationController Komponente verwenden. Es reicht aus, sie in das Hauptformular der Software einzufügen. Klicken Sie dann in Delphi mit der rechten Maustaste auf die Komponente und wählen Sie im Dropdown-Menü die Sprache aus, die von FastReport in Ihrer Software unterstützt werden soll:
Danach muss für die TfrLocalizationController-Komponente die Sprache ausgewählt werden, die standardmäßig geladen wird, wenn die Software gestartet wird. Sie können zu uses des Hauptformulars auch ein Modul hinzufügen, das die erforderliche Lokalisierung enthält.
Es sollte beachtet werden, dass FastReport VCL standardmäßig Englisch verwendet, so dass Sie nichts tun müssen, wenn Sie nur diese Sprache benötigen.
Um die Lokalisierung in Lazarus zu aktivieren, müssen Sie dem Projekt ein Sprachpaket und dann ein Modul für diese Sprache hinzufügen.
In manchen Situationen kann es notwendig sein, die Lokalisierung der FastReport VCL vom Programmcode aus zu steuern. Dies wird wie folgt gemacht:
frLocalizationController.Language := ‘German’;
Dieser Code stellt die deutsche Sprache ein. Vergessen Sie nicht, dass Ihre Software mit dem Sprachpaket kompiliert sein muss, zu dem Sie wechseln wollen. Mit dem unten stehenden Code können Sie herausfinden, mit welchen Sprachpaketen Ihre Software kompiliert ist. Verbinden Sie dazu das Modul Types, fügen Sie die Komponenten TButton und TMemo in das Formular ein und schreiben Sie in dem Button.OnClick Handler folgendes:
procedure TForm1.Button1Click(Sender: TObject);
var D:TStringDynArray;
I: Integer;
begin
Memo1.Lines.Add('Default Lang: '+TfrAvailableLanguagesController.GetDefaultLanguageName);
Memo1.Lines.Add('Current Lng: '+frLocalizationController1.Language);
Memo1.Lines.Add('Suppotred languages:');
D:=TfrAvailableLanguagesController.GetLanguages;
for I:=Low(D) to High(D) do begin
Memo1.Lines.Add(D[I]);
End;
end;
Bitte beachten Sie, dass Englisch nicht in der Liste der unterstützten Sprachen enthalten ist, aber standardmäßig immer verfügbar ist.
Der Lokalisierungseditor kann wie folgt aufgerufen werden:
Mit dem folgenden Code können Sie den Lokalisierungseditor aus Ihrer Software heraus aufrufen. Diese Methode ist jedoch nicht in allen Versionen verfügbar.
frLocalizationController1.ShowLocalizationEditor;
Zuweisung von Steuerelementen im Lokalisierungseditor:
eine *.xml-Datei mit Übersetzung öffnen | |
die *.xml-Datei mit der Übersetzung speichern | |
die Übersetzungsdatei unter dem angegebenen Namen speichern | |
die letzte Aktion rückgängig machen | |
die abgebrochene Aktion durchführen | |
die Zielsprache einstellen | |
Einträge nach Masken filtern | |
den Filter reinigen | |
nur übersetzte Einträge anzeigen | |
nur unübersetzte Einträge anzeigen |
Mit dem „Lokalisierungseditor“ können Sie FastReport VCL-Ressourcen Zeile für Zeile in verschiedene Sprachen übersetzen.
In der Mitte des Editors befindet sich ein Raster mit übersetzbaren Werten.
Die erste Spalte ist der Bezeichner des zu übersetzenden Elements. Es handelt sich immer um eine Zeichenkette, auch wenn Zahlen ebenfalls in separaten Zeichenketten stehen, da ihre Zeichenkettendarstellung verwendet wird.
Die zweite Spalte enthält die englische Originalbedeutung des Elements.
Die dritte Spalte enthält die übersetzte Bedeutung des Elements in der anderen Sprache.
Kommen wir nun zur Funktionsweise des Lokalisierungseditors. Beim Laden prüft der Editor, welche Lokalisierungen für die Software, in die er eingebettet ist, verfügbar sind. Dann füllt der Editor die Liste der verfügbaren Sprachen aus (Kombinationsfeld zur Eingabe der Zielsprache). Die aktuell installierte Lokalisierung ist für die Bearbeitung aktiv. Sie können eine Übersetzung für jede der verfügbaren Sprachen auswählen, bearbeiten und als eine XML-Datei speichern. Wenn Sie bereits über eine XML-Datei mit Übersetzungen verfügen, können Sie diese zur Bearbeitung herunterladen.
Im Lokalisierungseditor können Sie zwischen verschiedenen Anzeigemodi wechseln. Beispielsweise kann man nur die Elemente anzeigen, deren Übersetzung mit dem englischen Original übereinstimmt. Oder umgekehrt werden nur die Elemente angezeigt, deren Übersetzung von der englischen Version abweicht. Beachten Sie jedoch, dass nicht alle Elemente übersetzt werden müssen.
Sie können einen Filter auf Einträge im Raster anwenden. Das Rasterelement wird nur angezeigt, wenn der Filterwert in einer beliebigen Spalte enthalten ist. Sie können das Raster auch in alphabetischer Reihenfolge vorwärts und rückwärts sortieren, indem Sie auf eine beliebige Spaltenüberschrift klicken.
Wenn Sie die Übersetzungsdatei geändert haben, können Sie diese anstelle der Standarddatei in die Software einbinden. Dazu müssen Sie das Modul frResources in der uses-Anweisung mit folgendem Code verbinden:
frStringResources.LoadFromFile('mylanguage.xml');
Wir empfehlen, Ihre Software nach der Bearbeitung der Dateien neu zu starten, um sicherzustellen, dass alle übersetzten Ressourcen korrekt angezeigt werden. Beachten Sie auch, dass die geladene Übersetzung sofort aktiv wird, aber nur bis zum ersten Sprachwechsel funktioniert. Wenn Sie dann wieder zu dieser Sprache wechseln, wird die Lokalisierung aus den mit der Software verbundenen Ressourcen übernommen.
Außerdem können Sie eine Ressource mit einer Übersetzungsdatei selbst kompilieren. Legen Sie diese in das Verzeichnis mit dem entsprechenden Sprachmodul und verwenden Sie sie in der Software. Damit diese Übersetzung in der IDE angezeigt wird, führen Sie das Installationsprogramm aus und wählen Sie den Modus Neu kompilieren (Recompile) oder kompilieren Sie einfach das Paket der benötigten Sprache neu. In Lazarus müssen Sie danach die IDE neu erstellen; in Delphi müssen Sie die Umgebung neu starten.
Wenn Sie sicherstellen möchten, dass Ihre Übersetzung nicht nach jedem Update verloren geht, können Sie die Lokalisierungsdatei uns an support@fast-report.com zukommen lassen. Wir prüfen die empfangene Datei und fügen sie dem Installationsprogramm hinzu.