AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mehrere Sprachen benutzen - wie ?

Ein Thema von markus5766h · begonnen am 17. Dez 2009 · letzter Beitrag vom 21. Dez 2009
Antwort Antwort
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#1

mehrere Sprachen benutzen - wie ?

  Alt 17. Dez 2009, 16:44
Hallo,

Für etwas größere Projekte suche ich eine Möglichkeit, die Projekte in mehreren Sprachen betreiben zu können.
Für ein etwas kleineres Programm (CAN-OPEN-Status-Abfrage und Initialisierung) bin ich folgendermaßen vorgegangen:
Ich hab' mir für jede Sprache eine Textdatei (mit Endung 'res') erstellt, je nach Spracheinstellung die entsprechende
Datei in eine TStringList geladen und dann die Buttons oder was auch immer - verwaltet durch arrays -
mit den entsprechenden Captions oder Hints versehen.
Für übersichtliche Sachen (so um die 50 Controls) ist das 'ne schnell gemachte Sache.

Was aber würdet Ihr für große Projekte (Maschinen-Positionierungs-Steuerungen über CAN-OPEN-Bus) machen -
ich denke, dass dabei so um die 600 Controls zusammenkommen ?
Die Funktionen ShowMessage und MessageDlg sind durch eigene Funktionen ersetzt, da auf diesen Forms auch
gleichzeitig Status- und Fehlermeldungen des CAN-OPEN-Bus angezeigt werden sollen.
Zu beachten sei hierbei noch, dass die Sprachdateien (Ressourcen) später jederzeit bearbeitbar sein sollen
(deswegen die Textdateien mit 'res'-Endung).

Bin für jede Idee dankbar.
Markus H.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

Re: mehrere Sprachen benutzen - wie ?

  Alt 17. Dez 2009, 17:03
Sind die .so-Dateien von GNU gettext nicht auch Textdateien?


Dort drinnen werden zwar die Sparch-Strings aus Konstanten geladen, aber woher das Array wirklich ist, ist egal.
http://www.delphipraxis.net/internal...t.php?t=164238

Die Technik wie die Strings in die Controls kommen, wird es "bald" in ähnlicher Weise auch als himXML-Komponente geben, wo es dann aus XML-Dateien geladen wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#3

Re: mehrere Sprachen benutzen - wie ?

  Alt 17. Dez 2009, 17:18
Verwende Resourcen.

Die lassen sich dann mit diversen Tools internationalisieren. Hier mal ein Video von der Coderage dazu:
http://cc.embarcadero.com/javascript...x%3fid%3d27310

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#4

Re: mehrere Sprachen benutzen - wie ?

  Alt 17. Dez 2009, 17:34
Hallo,

danke erst mal für die Antworten, werd' mir beides mal genauer ansehen ...
Markus H.
  Mit Zitat antworten Zitat
Warp

Registriert seit: 27. Mai 2006
45 Beiträge
 
Delphi XE4 Professional
 
#5

Re: mehrere Sprachen benutzen - wie ?

  Alt 17. Dez 2009, 20:17
@Himitsu
Zitat:
Betreff: "Die Technik wie die Strings in die Controls kommen, wird es "bald" in ähnlicher Weise auch als himXML-Komponente geben, wo es dann aus XML-Dateien geladen wird.
Kannst Du schon etwas Näheres dazu sagen -
  • Was ist das Ziel der Komponente, was macht sie (soll sie evtl. automatisch tun) und was soll man als Anwender übernehmen?
  • Was wird die XML-Daten mit den Controls verknüpfen (Keyword, Name des Controls, etc.)?
  • Was soll/kann/darf man als Editor für diese XML-Daten verwenden (sozusagen als Übersetzungs-/Editier-IDE)?

Schöne Grüsse,

Warp
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

Re: mehrere Sprachen benutzen - wie ?

  Alt 19. Dez 2009, 11:56
Zitat von Warp:
@Himitsu
Zitat:
Betreff: "Die Technik wie die Strings in die Controls kommen, wird es "bald" in ähnlicher Weise auch als himXML-Komponente geben, wo es dann aus XML-Dateien geladen wird.
Kannst Du schon etwas Näheres dazu sagen -
  • Was ist das Ziel der Komponente, was macht sie (soll sie evtl. automatisch tun) und was soll man als Anwender übernehmen?
  • Was wird die XML-Daten mit den Controls verknüpfen (Keyword, Name des Controls, etc.)?
  • Was soll/kann/darf man als Editor für diese XML-Daten verwenden (sozusagen als Übersetzungs-/Editier-IDE)?

Schöne Grüsse,

Warp
Wie heißt es so schön?
Nichts Genaues weiß man nicht

Nja, in meiner Prioritätsliste isses nicht unbedingt ganz weit vorne angesiedelt und aktuell existieren nur ein paar Überlegungen und irgendwo (ich find es grad nicht) existiert auch schon ein kleiner Prototyp der Klasse/Komponente ... sind aber nur Überlegungen und eine erste Klassendefinition ohne zugehörige essentielle Quellcodes.

Im Prinzip gibt es Funktionen, welche man auf Forms loslassen kann,
bzw. auf alle Forms der Anwendung (welche bei Application registriert sind)
und wo über eine Tabelle via ElternFormular+Komponntenname (vorallem für's Elternformular wären auch Maskenzeichen erlaubt) ein Text zugewiesen werden kann.
Und dann gibt es noch Funktionen, wo z.B. über Platzhalter-Strings ersetzt werden kann.

Das sind so die Funktionen, welche ich für mich benötigen würde und ob es dann noch mehr gibt, hängt dann von der Nachfrage ab.

Aber zuerst wollte/müßte ich noch mindestens zwei andere Dinge fertigmachen.
Da es ja als Zusatzkomponente zum himXML geplant ist und ich da noch etwas im Umbau feststecke.


Einen "einfachen" Editor wird es dann schon geben und ansonsten könnte man eigentlich nehmen was man will.
XML ist ja von sich aus ein offenes Format und es dürfte recht einfach sein, dafür auch ein paar Konverter/Importer für andere Formate zu erstellen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Warp

Registriert seit: 27. Mai 2006
45 Beiträge
 
Delphi XE4 Professional
 
#7

Re: mehrere Sprachen benutzen - wie ?

  Alt 19. Dez 2009, 18:13
@Himitsu
O.K. - Dann warte ich mal ab was da kommt.

Danke für die Info !

Gruss,

Warp
  Mit Zitat antworten Zitat
GerMan62

Registriert seit: 25. Okt 2006
9 Beiträge
 
#8

Re: mehrere Sprachen benutzen - wie ?

  Alt 19. Dez 2009, 20:56
Hallo,

wie wäre es mit:
Korzh Localizer
oder
Delphi Localizer
  Mit Zitat antworten Zitat
Warp

Registriert seit: 27. Mai 2006
45 Beiträge
 
Delphi XE4 Professional
 
#9

Re: mehrere Sprachen benutzen - wie ?

  Alt 21. Dez 2009, 20:10
Zitat:
wie wäre es mit:
Korzh Localizer
oder
Delphi Localizer
Korzh Localizer habe ich mir vor längerer Zeit schon mal angesehen. Für meinen Geschmack vielleicht etwas zu automatisiert und zu stark eingebunden in die IDE (aber ich habe damit noch nicht aktiv gearbeitet - kann mich also täuschen).

Delphi Localizer habe ich in meinem letzten Projekt benutzt. Ich arbeite gerne damit und finde es eine gelungene Lösung - bis auf einige Bugs (mit denen man allerdings noch leben kann) und einer fehlenden Export-/Import-Funktion um extern erstellte Übersetzungen im Localizer verarbeiten zu können (in CSV bspw). Leider ist nicht klar, ob es damit seitens Daniel weiter geht und welche IDE's aktiv unterstützt werden sollen. Es kommt auch auf direkte Nachfragen leider keine Antwort dazu von Daniel.

Gruss,

Warp
  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 13:41 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