AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Realisierung von Mehrsprachigkeit

Ein Thema von xZise · begonnen am 11. Dez 2006 · letzter Beitrag vom 29. Dez 2006
Antwort Antwort
Seite 1 von 3  1 23   
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 14:20
Da ich ein Freund von Programmen bin, welche Mehrsprachig sind, baue ich meist (für mich) zu statische Mehrsprachigkeitvisuallisierung ein.

Aber jetzt frage ich mich, wie man am Besten die mehrsprachigkeit Visuallisiert.
Okay ... Komplett vielleicht schwer umzusetzen, aber ich meine eigentlich die Komponenten (Edits, MainMenüs, Labels ...).

Ich habe es für mein Mainmenü so umgesetzt:
Delphi-Quellcode:
procedure TForm1.changeLanguage(fileName : string);
var
  i, j : Integer;
  ini : TIniFile;
begin

  ini := TIniFile.Create(fileName);
  try
    for i := 0 to mmMenu.Items.Count - 1 do begin
      mmMenu.Items[i].Caption := ini.ReadString(mmMenu.Items[i].Name, 'Name', mmMenu.Items[i].Caption);
      for j := 0 to mmMenu.Items[i].Count - 1 do
        mmMenu.Items[i].Items[j].Caption := ini.ReadString(mmMenu.Items[i].Name, mmMenu.Items[i].Items[j].Name, mmMenu.Items[i].Items[j].Caption);
    end;
  finally
    ini.Free;
  end;

end;
Aber was ist, wenn ich jetzt das für Edits realisieren will!
Weil Edits haben ja nicht die Eigenschaft "Caption" sondern "Text".
Wie würdet ihr das machen?
Ich hätte es so gemacht ("Grundriss"):
Ini-Datei (Sprachdatei)
Code:
[<Formularname>]
<KomponentenName>=<Übersetzung für die Komponente>
....
Form1.Component[i].<Text> := ini.ReadString(Form1.Name, Form1.Component[i].Name, '')
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.783 Beiträge
 
Delphi XE4 Professional
 
#2

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 14:29
Hallo,

das gibt es schon als fertige Lösung (gettext)
siehe auch

http://dybdahl.dk/dxgettext/

Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 14:35
Wenn du das Problem unbedingt zu Fuß lösen willst, würde ich die Übersetzungen nicht ganzen Controls zuordnen, sondern ihren jeweiligen Eigenschaften. Schließlich gibt es viele Fälle, in denen mehr als eine Eigenschaft lokalisiert werden muss.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 15:19
Zitat von hoika:
Hallo,

das gibt es schon als fertige Lösung (gettext)
siehe auch

http://dybdahl.dk/dxgettext/

Heiko
Habe ich es richtig gesehen, dasss es sich dabei um zu installierende Komponenten handelt?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 15:32
Nein, was da installiert wird, ist das "Drumherum". Die eigentliche Übersetzung macht eine Unit die einfach ins Uses eingetragen wird. Texte holt man sich dann z.B. mit der Funktion _('Text') (ja, die Funktion heisst wirklich "Unterstrich"), Forms und ähnliches übersetzt man fast 100% automatisch mittels Aufruf von TranslateComponent(self) Der Windows-Installer bringt ausser den ganzen Tools, Sourcen und Dokumentation auch noch ne Explorer-Integration mit. Steht aber auch alles in der Dokumentation beschrieben, inkl. Schritt-für-Schritt-Tutorial zur ersten mehrsprachigen Exe
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.783 Beiträge
 
Delphi XE4 Professional
 
#6

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 15:57
Hallo,

die Funktion heisst getText, aber für faule wurde die halt überladen (?)
und man kann _ benutzen.




Heiko
Heiko
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#7

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 15:58
Moin moin,

vielleicht ist das ja was für Dich ?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 17:05
Ich würde übrigens gleich zu Actions und ActionLists greifen.
Dann müssen nur die [TAction].Caption übersetzt werden und die Menueitems und evtl. vorhandene Toolbuttons ändern sich gleich mit.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 17:38
Zitat von OldGrumpy:
Nein, was da installiert wird, ist das "Drumherum". Die eigentliche Übersetzung macht eine Unit die einfach ins Uses eingetragen wird. Texte holt man sich dann z.B. mit der Funktion _('Text') (ja, die Funktion heisst wirklich "Unterstrich"), Forms und ähnliches übersetzt man fast 100% automatisch mittels Aufruf von TranslateComponent(self) Der Windows-Installer bringt ausser den ganzen Tools, Sourcen und Dokumentation auch noch ne Explorer-Integration mit. Steht aber auch alles in der Dokumentation beschrieben, inkl. Schritt-für-Schritt-Tutorial zur ersten mehrsprachigen Exe
Zitat von kalmi01:
Moin moin,

vielleicht ist das ja was für Dich ?
Ich besitzte Turbo Delphi Exporer d.h. ich kann keine Fremdpackges installieren (was ja im 2. Fall 100% so ist (und im 1. scheint es auch so.)).

Aber ich guck mir mal den 1. Fall nochmal an.

PS: Ich weiß Ich könnte es auch dynamisch erstellen, aber ich möchte iegtnlich nicht darauf verzichten.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Realisierung von Mehrsprachigkeit

  Alt 11. Dez 2006, 17:55
Hi xZise, ich wollte dich bloß mal kurz darauf aufmerksam machen, dass man Komponenten in TurboDelphi installieren kann!!!
Ich habe dazu schon mal einen Thread erstellt (Komponente in Turbo Delphi verwenden)

Und als bester Beitrag gilt der hier von Balu:
Zitat:
Im zweiten Teil wirst du fündig werden. http://www.danielstools.de/downloads/count.php?id=18
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf