AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Anwendungen lokalisieren Mehrsprachiges Programm
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendungen lokalisieren Mehrsprachiges Programm

Ein Thema von Gintama · begonnen am 9. Okt 2011 · letzter Beitrag vom 10. Okt 2011
Antwort Antwort
Seite 1 von 3  1 23      
Gintama

Registriert seit: 2. Okt 2011
Ort: Wien
7 Beiträge
 
Delphi XE2 Architect
 
#1

Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 12:34
Hi Leute!

Ich habe eine einfaches VCL-Formular erstellt welches die Sprache auf Knopfdruck ändern soll.

Ich habe mich hierzu an die Anleitung von http://docwiki.embarcadero.com/RADSt...n_lokalisieren gehalten.

Kurz zusammengefasst waren die Arbeitsschritte hierzu:
- VLC-Form fertig erstellen
- Über XE2-Studio Menü Projekt->Sprache->Sprache hinzufügen
Dabei werden für jede Sprache neue Unterordner im Projekt angelegt mit den jeweiligen Sprachen, wo sich die jeweilige *.dfm befindet.
Wenn man diese über Doppelklick auswählt erscheint dann der dementsprechende Übersetzungseditor wo schon die bestehenden Strings und Komponent.Caption generiert sind und nur über der Übersetzungstext einzufügen ist.
- Neues Wörterbuch über Ansicht->Translation Manager anlegen und vom Übersetzungseditor die Übersetzungen übernehmen.
- Prozedure die den Registry-Schlüssel für die Anwendung ändert, um festzulegen mit welcher Sprache die Anwendung geladen wird.
- Übersetzungsarbeiten fertig, erstellen der Ressourcen-DLL über Projekt->Neu->Weitere und auswahl Ressourcen-DLL-Experte, beim Wizard die Resourcendatein angeführt.

Leider ist das Ergebnis nicht wie gewünscht. Die Sprache wird zwar umgestellt, aber man muss dazu das Programm beenden und neu starten.

Ich will aber, dass es noch in der selben Instance geändert oder automatisch eine korregierte Instance erstellt wird, wobei die 2 Variante eher eine Notlösung darstellt.

Meine Lösungsansätze hierfür, die nicht geklappt haben, waren:
1) Form-Prozeduren/Funktionen wie BSP refresh, update, updateUIControls, reinitalizecomponent usw.
2) Über exclude/include die Resourcendatei dynamische zu linken
3) Über die ShellAPI das Programm selber aufzurufen und die alte Application Terminieren.

Da ich seit kurzen mich mit Delphi Pascal beschäfftige, gehe ich davon aus, dass die Antwort ganz leicht ist. Deshalb bitte ich euch Unterstützung.

Danke im voraus und ich hoffe meine Schilderung hilft euch, falls Ihr selber mal vor diesem Problem stehts.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 12:51
Hallo und Herzlich willkommen in der DP.
Eine einfache Lösung gibt es da nicht. Du solltest nach externen Tools suchen, die Dir ein On-The-Fly Umschalten ermöglichen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:04
das thema interessiert mich auch hast Du da kostenlose kostengünstige ideen?
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#4

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:09
gettext ist sehr verbreitet - wer es ein bisschen komfortabler möchte (meine Meinung), kann Lingus ausprobieren. Alles was ich so gemacht habe, habe ich damit übersetzt.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:12
gettext ist grauenvoll! die tausend ordner im Ordner - also das System wie die Sprachen verwaltet werden isst einfach unwirtschaftlich!


Lingus schaue ich mir gleich mal an - ist das auch für XE2
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:13
Ich benutze Localizer - XE2 befindet sich gerade in der Beta.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#7

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:16
Ich vermute Lingus funktioniert auch mit XE2, ich selber benutze es mit XE.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:34
Da gibt es im XE2 irgendsoein TLang...-Ding oder TTranslate..-Teil (meine Trial ist grade abgelaufen, kann nimmer nachsehn), das kannst du auf die Form ziehen und die GUI-Sprache auch zur Laufzeit umschalten, bzw. du kannst dort für Komponenen eine Übersetzung angeben, welche man zur Laufzeit neu laden/umschalten kann.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 9. Okt 2011 um 13:58 Uhr)
  Mit Zitat antworten Zitat
Gintama

Registriert seit: 2. Okt 2011
Ort: Wien
7 Beiträge
 
Delphi XE2 Architect
 
#9

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:48
Danke für die zahlreichen Antwort. Ich werde eine sauberes Projekt in 3 Stunden hier reinhängen. Momentan muss ich die meine IDE neuinstallieren, hab durchs ganze ausprobieren mir die anderne Projekte versaut.

Mit gnugettext habe ich es schon geschafft gehabt eine funktionierente Überseztung zu machen, jedoch möchte ich beim Standard bleiben der in der IDE vorgegen ist. Erwähnenswert dazu ist, dass man die richtige Quelltext-Datei verwendet (Eine die zu XE2 kompatible ist). Die ursprüngliche funktioniert nur bei Kilix und für andere Delphi Versionen gibt es auch eigene.

Ich bin leider Anfänger in Delphi und ein paar Konzepte sind mir nicht klar, deshalb denke ich, dass die Lösung ganz einfach ist. Wie Bsp. Application.Reinitalize oder nochmaliges linken der Resource-Datei. Oder das angeben in der {$R.dfm} mit den Suchpfad in den jeweiligen Sprach dfm. Oder bei den Projektoptionen den Pfad anführen.

Leider bin ich momentan wegen IDE Problemen selber lahmgelegt. Darum bitte ich um 2-3 Std geduld bis ich meine Beispielprojekt reinhänge.

Danke für eure Antworten
  Mit Zitat antworten Zitat
Gintama

Registriert seit: 2. Okt 2011
Ort: Wien
7 Beiträge
 
Delphi XE2 Architect
 
#10

AW: Anwendungen lokalisieren Mehrsprachiges Programm

  Alt 9. Okt 2011, 13:50
Himitsu! Danke für den Tip ich werde es dann gleich ausprobieren!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 07:01 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