AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Delphi Anwendung internationalisieren / Lokalisierungs Toolkits
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Anwendung internationalisieren / Lokalisierungs Toolkits

Ein Thema von BastiFantasti · begonnen am 21. Okt 2022 · letzter Beitrag vom 25. Okt 2022
Antwort Antwort
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#1

AW: Delphi Anwendung internationalisieren / Lokalisierungs Toolkits

  Alt 24. Okt 2022, 12:36
Ich/mein Team verwenden DxGetttext + Gorm als Editor für po-Dateien.

Aber das ist nur was für Win32-Programme. Sobald man Win64 (habe ich nicht getestet) oder sonstige Plattformen unterstützen will, funktioniert das nicht mehr.
Ich nutze die von dir gepflegte gnugettext.pas auch in Win64-VCL-Programmen - funktioniert auch damit völlig problemlos.

Für Linux musste ich etwas an der gnugettext.pas rumbasteln, einige Funktionen rausschmeißen oder "lahmlegen". Aber das, was ich in dem Fall noch brauche (im Wesentlichen ist das bei einem WebBroker-Projekt dann der Aufruf der Funktion "_", um übersetzte Texte zu holen und an den Client zu senden), funktioniert letztlich auch unter Linux problemlos - hat mich selber etwas überrascht.

Falls mal Lust und Zeit ist, können wir auch gerne mal zusammen versuchen, diese etwas rabiaten Änderungen von mir ordentlich zu machen und in IFDEFs zu überführen, um sie dann so ins Repository aufzunehmen und der Allgemeinheit zur Verfügung zu stellen.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.482 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Delphi Anwendung internationalisieren / Lokalisierungs Toolkits

  Alt 24. Okt 2022, 14:36
Ich/mein Team verwenden DxGetttext + Gorm als Editor für po-Dateien.

Aber das ist nur was für Win32-Programme. Sobald man Win64 (habe ich nicht getestet) oder sonstige Plattformen unterstützen will, funktioniert das nicht mehr.
Ich nutze die von dir gepflegte gnugettext.pas auch in Win64-VCL-Programmen - funktioniert auch damit völlig problemlos.

Für Linux musste ich etwas an der gnugettext.pas rumbasteln, einige Funktionen rausschmeißen oder "lahmlegen". Aber das, was ich in dem Fall noch brauche (im Wesentlichen ist das bei einem WebBroker-Projekt dann der Aufruf der Funktion "_", um übersetzte Texte zu holen und an den Client zu senden), funktioniert letztlich auch unter Linux problemlos - hat mich selber etwas überrascht.

Falls mal Lust und Zeit ist, können wir auch gerne mal zusammen versuchen, diese etwas rabiaten Änderungen von mir ordentlich zu machen und in IFDEFs zu überführen, um sie dann so ins Repository aufzunehmen und der Allgemeinheit zur Verfügung zu stellen.
Das mit der Zeit ist immer so eine Sache... Aber Du könntest mir mal Deine Version zukommen lassen, vielleicht sind die Unterschiede ja gar nicht so groß und man braucht nur ein paar IFDEFS drübersprenkeln. Ich kann das aber für Linux nicht testen. Für Win64 könnte ich testen, ob es compiliert, zu testen, ob es funktioniert, ist dann schon wieder zeitaufwändiger.
Thomas Mueller
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi Anwendung internationalisieren / Lokalisierungs Toolkits

  Alt 25. Okt 2022, 09:27
Das mit der Zeit ist immer so eine Sache... Aber Du könntest mir mal Deine Version zukommen lassen, vielleicht sind die Unterschiede ja gar nicht so groß und man braucht nur ein paar IFDEFS drübersprenkeln. Ich kann das aber für Linux nicht testen. Für Win64 könnte ich testen, ob es compiliert, zu testen, ob es funktioniert, ist dann schon wieder zeitaufwändiger.
Bei mir ist in dieser Woche die Zeit auch etwas knapp, weil ich noch ein Projekt halbwegs fertig bekommen will. Aber ich habe mir mal eine Erinnerung in den Kalender eingetragen, damit ich das mal in Ruhe aufbereiten kann (du musst ja nicht Dinge aufbereiten, die ich mir vorher selber schon anschauen kann) und melde mich dann per Mail bei dir.
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
496 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi Anwendung internationalisieren / Lokalisierungs Toolkits

  Alt 25. Okt 2022, 10:51
Da ich Anwendungen schreibe die weltweit im Einsatz sind mache ich die Lokalisierung seit über 20 Jahren selbst. Die Texte sind dabei in einer Datenbank gespeichert. Meist MSSQL aber z.T. auch in AbsoluteDB wenn keine größere Datenbank erforderlich ist. Dafür habe ich mir auch verschiedene Tools geschrieben für export und import von Übersetzungen, da wir diese meist von den Kunden machen lassen (Ich kann weder chinesisch noch ...). An der Oberfläche nutze ich die TAG-Eigenschaft. Ist ein Tag = 1, dann wird der entsprechende Text beim Laden des Formulars übersetzt. Weiterhin habe ich eine globale Umschaltung für Fettschrift implementiert, da diese je nach Sprache (Zeichensatz) anpassbar sein sollte. Das mache ich dann mit Tag = 1 oder Tag = 2.

In der Datenbank habe ich dann z.B. folgende Felder:

LangID (Sprachkennung)
Part (z.B. der Form-Name oder aber auch GLOBAL für globale Texte, ALARM für Alarmtexte etc.)
Entry (z.B. der Name der Komponente oder aber auch sonstige Kennungen wie "ALARM0001" oder "strYes")
Text (der zur Sprachkennung passende Text)

Ich habe auch einen Standarddialog erstellt, der es dem Endkunden erlaubt Texte zur Laufzeit anzupassen. Das ist erforderlich, da oftmals die Übersetzung vom Kontext abhängt.

Geladen wird immer ein kompletter Part. Es ist also für die Übersetzung eines kompletten Forms (Dialog...) nur ein SQL-Zugriff erforderlich.

Das ganze geht ohne merkliche Verzögerung und läuft sehr zuverlässig. Ich schreibe das, da ich mich über die Jahre - bis auf ein paar Ausnahmen - von gekauften Bibliotheken unabhängig gemacht habe. In der Vergangenheit wurden leider immer wieder tolle Komponenten vom Markt genommen.

Soviel vielleicht mal als Anreiz sowas "zu Fuß" zu machen.

Der Spracheditor präsentiert sich z.B. so:

2022-10-25 11_49_02-LANGUAGE EDITOR.jpg
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz