Autor Beitrag
bbfan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Fr 13.07.07 08:19 
Hallo Leute!

Wie könnte man eine Mehrsprachigkeit am besten umsetzen?

Alle .Captions in eine INI speichern? Oder gibt es da noch etwas besseres?

Viele Grüße!
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Fr 13.07.07 08:33 
Also ich kannte mal einen der hat das mit ner DLL gemacht. ( Zwecks weil die net so leicht editierbar sind )


es gab aber glaubig auch mal ein Programm das das für einen machen konnte, denn die Ganzen Resssourcen Strings bleiben ja in DE wenn du nur die Captions änderst

_________________
--
Just Try it.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 13.07.07 08:35 
Da bin ich zur Zeit auch dran, und GNU Gettext scheint da eine sehr schöne Möglichkeit zu sein.

_________________
We are, we were and will not be.
bbfan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Fr 13.07.07 09:35 
Hallo!

Könntest du "GNU Gettext" etwas näher beschreiben?

Ich könnte mir sowas in der Art zum Speichern vorstellen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
ini := TIniFile.create(Fname);
  for i := 0 to form.ComponentCount - 1 do
  begin
    compo := form.Components[i];
    if (compo is TLabel) then
    begin
      ini.WriteString('labels', (compo as TLabel).Name, (compo as TLabel).text);
    end;
.
.
.

Da ich in Deutsch entwickele, würde ich dann die dt. Datein ins Englische z.B. übersetzen. Dann habe ich 2 Sprachdateien, die ich dann über die GUI laden kann.

Für bessere Vorschläge bin ich zu haben.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Fr 13.07.07 09:49 
user profile iconbbfan hat folgendes geschrieben:
Könntest du "GNU Gettext" etwas näher beschreiben?

- GNU Gettext bei Wikipeadi
- GNU gettext for Delphi

_________________
Ein Nutzer der Ecke ;-)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 13.07.07 09:50 
user profile iconbbfan hat folgendes geschrieben:
Könntest du "GNU Gettext" etwas näher beschreiben?

Leider noch nicht, weil ich damit noch nicht wirklich angefangen habe. Lies dich mal bei Wikipedia ein, da sind dann auch Links zu den Delphi-Varianten der passenden Tools. Auf den ersten Blick hört sich das aber recht vielversprechend an, weil es ziemlich verbreitet ist, und die Übersetzung auch leicht von anderen erledigt werden kann, um mehr Sprachen unterstützen zu können.

_________________
We are, we were and will not be.
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Fr 13.07.07 10:16 
Ich habe in meinem Program derzeit eine ii-Lösung, wie du sie in etwa da oben bechrieben hast.

Das gettext wollte ich mir auch mal anschaun, und werds jetzt dann auch mal tun.
Diese ini-File Lösung gefällt mir persönlich nicht (vllcht liegts auch nur an meiner Umsetzung). Wenns was besseres gibt, würde ich das nutzen

Gruß
alias5000

_________________
Programmers never die, they just GOSUB without RETURN
Brother John
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 28

WinXP
Turbo Delphi Explorer Win32
BeitragVerfasst: Fr 13.07.07 12:42 
user profile iconGausi hat folgendes geschrieben:
und die Übersetzung auch leicht von anderen erledigt werden kann, um mehr Sprachen unterstützen zu können.

Die Hürde für eine Übersetzung nicht ganz unten anzusetzen, ist doch gar keine schlechte Idee. Softwareübersetzung ist nichts, das man schnell mal nebenbei machen kann, weil man die passende Sprache ja ein, zwei Jahre lang in der Schule gelernt hat. Sprach-Inis laden aber genau zu dieser Art Schnellübersetzung ein.

Dazu kommt, dass der Text an sich nicht alles ist. Unterschiedliche Sprachen = unterschiedliche Textlängen. Entweder baut man also seine UI von vorne herein so, dass auch "ausführlichere" Sprachen genug Platz für die Texte haben, oder der Übersetzer braucht eine Möglichkeit, die Position von UI-Elementen anzupassen. Ansonsten handelt man sich Abkürzungsorgien ein.


Wie machen sich denn eigtl. die Delphi-internen Übersetzungstools?

_________________
Grüße
Brother John
bbfan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Fr 13.07.07 16:08 
ich habe jetzt in die GetText Geschichte mal reingeschaut. Es sieht so aus, das die Übersetzungen Wort für Wort aus einer Art vorhanden Lexikon(was angepasst werden kann) genommen werden.

Hier stelle ich mir die Frage, in wie fern das auch sinngemäß stimmt. Wenn man blind Wort für Wort übersetzt, kommt meistens inhaltlich blödsinn raus. Ich habe die Erfahrung gemacht, dass man nicht darum kommt, alles selbst zu übersetzen.

Ich denke ich werde eine entsprechende TXT/INI bauen. (Habe sowas ähnliches gebaut um GUI Einstellungen zu speichern).
Werde ide Appl. in deutsch bauen, eine 1 Klick Funktion bauen, die alle captions in TXT speichert.
Dann lege ich manuel eine Kopie der Datei an und übesetze das dann in Englische.
Dann habe ich 2 Sprachdateien, die auch inhaltlich Sinn machen.

Auch die Hersteller von phpBB arbeiten mit separaten TXT Dateien mit individuellen Übersetzungen.

Von GetText bin ich noch nicht so überzeugt. Welche Gründe gibt es noch? Pro/Contro?
Gibt es einen Megavorteil den ich übersehe?