AGB  ·  Datenschutz  ·  Impressum  







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

Projektübersetzung mittels Ressource Dlls

Ein Thema von Der schöne Günther · begonnen am 15. Okt 2014 · letzter Beitrag vom 16. Okt 2014
Antwort Antwort
Seite 1 von 2  1 2      
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 12:06
Embarcaderos Docwiki schreibt erfreulich viel zur Lokalisierung von Anwendungen:
http://docwiki.embarcadero.com/RADSt...ications_Index

Der von Embarcadero vorgeschlagene Weg scheint zu sein:
  • Benutzung der im RAD Studio eingebauten Funktionalität unter Projekt -> Sprachen
  • Hier wird für jede "Sprache" eine Kopie von DFMs und in .pas-Dateien gefundenen resourcestrings angelegt
  • Welche man dann von Hand bearbeiten kann
  • Für jede Sprache wird dann ein eigenes Projekt angelegt welche beim Kompilieren eine "Ressource Dll" ausspuckt.
  • Diese dll soll man ins Arbeitsverzeichnis der Anwendung legen. Beim Programmstart würde es sich automatisch die am besten passende Sprache suchen und einladen. Alternativ könnte man über Registry-Einträge steuern, welche Sprache geladen werden soll


Ich glaube es zwar verstanden zu haben, bekomme es aber nicht ans Laufen. Um meinem Erzählfluss vorwegzugreifen: Ich habe eine ganz konkrete Frage.

Lohnt es sich diesen Weg weiter zu gehen oder gibt es bessere Lösungen?


Embarcaderos Weg, die DFMs hier anzufassen macht mir schon einmal Angst. Das riecht bei Drittanbieter-Komponenten wie TeeChart und FastReport irgendwie schon stark nach unvorhersehbaren Problemen...


Man findet natürlich schnell Drittanbieter welche ihre eigenen Lösungen vorstellen. Gefunden und noch nicht näher angesehen habe ich

Ich habe übrigens Null Erfahrung was die technische Umsetzung von einer Oberflächen-Übersetzung angeht. Deshalb würde ich mich über Erfahrungsberichte und Leidensgeschichten sehr freuen

Geändert von Der schöne Günther (15. Okt 2014 um 12:25 Uhr) Grund: GNU Gettext hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 12:12
Wir verwenden den GNU GetText-Ansatz (http://dxgettext.po.dk/) und sind zufrieden damit.
Einzig RTL-Sprachen unterstützen wir vom Formulardesign nicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
kretabiker

Registriert seit: 10. Mär 2005
Ort: Bargteheide
183 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 12:22
Ohne zu sehr ins Detail gehen zu wollen: Mit der integrierten ITE ist es ein Weg der Leiden. Bei kleineren Projekten mag es noch gehen, aber ich habe mal vor einigen Jahren versucht, damit eine meiner großen Applikationen (> 200 Dialoge/Formulare, diverse Fremdkompos) mehrsprachig aufzubauen, das ging gar nicht. Wobei nicht das Übersetzen der Ressorucen pro Form ansich ein Problem war, auch mit Fremdkompos wie TMS oder FastReport (mit Hilfe dessen Supports) ging es, aber das Kompilieren der Sprachdateien dauerte ewig, das wahlweise Einbinden war kniffelig und es kam immer wieder zu dem seltsamen Effekt, dass die übersetzten Ressouren an falschen Stellen dargestellt wurden. Ich hab dann irgendwann aufgegeben und die Übersetzung verschoben und bis heute nicht gemacht...

Die drei von dir genannten Dritt-Lösungen sind wohl die bekanntesten, allerdings kenne ich keine davon aus eigener Anschauung.
Udo Treichel
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 12:29
Wir verwenden Sisulizer. Schönes, komfortables Tool, das mehr übersetzen kann als nur Exen.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#5

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 12:43
Vor einiger Zeit hatte ich auch mit diesem Thema zu tun: Übersetzung in andere Sprachen mit bestimmten Anforderungen.

MfG Dalai
  Mit Zitat antworten Zitat
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 14:15
Ich habe mich vor ein paar Wochen auch mehrere Tage mit dieser Thematik beschäftigt. Am Ende bin ich wieder bei der Übersetzung mit INI-Dateien gelandert, wie es bei einem großen Projekt von uns bisher auch gemacht wurde (>2500 Zeilen INI-Datei pro Sprache).

Ich habe mir zum einen den "Translation-Manager" von Delphi angeschaut mit welchem ich aber nicht so recht warm wurde.
Ebenso habe ich mir Programme wie "Localizer" usw. angeschaut.
Was mich hier gestört hat: Die Programme greifen zu tief ins System ein und für die Übersetzung werden extra Programme benötigt.

Wir arbeiten hier mit mehreren Leuten an einem Projekt, wobei es auch vorkommen kann, dass mal unterschiedliche Delphiversionen verwendet werden. Außerdem möchte ich nicht nur Texte übersetzen, die auf der Bedienoberfläche sind, sondern auch Dialoge usw. Außerdem kann es ja mal vorkommen, dass z.B. ein Button je nach Zustand verschiedene Beschriftungen hat. Diese Möglichkeit war mir beim delphieigenen Tool nicht direkt ersichtlich.

GetText habe ich mir ehrlich gesagt nur mal kurz angeschaut. Allerdings greift mir das auch schon fast zu tief in den Quellcode ein und man ist wieder irgendwo abhängig.
Was mir hier außerdem aufgefallen ist: Kann es sein, dass ein un derselbe deutsche Text bei GetText immer gleich übersetzt wird? Es kann ja auch sein, dass es z.B. im englischen mehrere Bezeichnungen gibt - im deutschen aber nur eine. Wie kann ich hier dann unterschieden?

Unsere Lösung deshalb bisher: Pro Sprache eine INI-Datei. Diese INI-Dateien kann man mit einem Zusatzprogramm parallel öffnen und ebenso parallel bearbeiten.
Durch ein paar Units im Projekt ist der Zugriff kinderleicht und wir kommen ohne externe Programme aus. Außerdem kann wirklich JEDER die Texte bearbeiten.

100% zufrieden bin ich damit trotzdem nicht, das gebe ich zu. Aber eine bessere Lösung habe ich bisher noch nicht entdeckt.

Gruß
Headbucket

Geändert von Headbucket (15. Okt 2014 um 14:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#7

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 15:12
Mit der Delphi ITE hatte ich auch schon so meine Problemchen - obwohl immer mal wieder ausprobiert.

Mit dem Prinzip von DxGetText konnte ich mich auch nach mehreren Anläufen nicht so recht anfreunden. Andererseits ist das Ding kostenfrei.

Seit einigen Jahren verwende ich den Korzh Localizer. Wie wohl jedes System hat auch dieses seine kleinen Macken und Eigenheiten, aber ich komme für meine Zwecke ganz gut damit zurecht. Im Laufe der Zeit habe ich mir ein paar kleine Tools geschrieben, die einem die Arbeit insbesondere im automatischen Build etwas erleichtern.

Auch der Localizer arbeitet im Endeffekt mit dem Prinzip der Resourcen-DLLs, da dieser Mechanismus in Delphi halt auch schon implementiert ist. Damit halten sich die Eingriffe in das System und insbesondere in die Sourcen schon ziemlich in Grenzen. In der Standard-Version reicht es schon, die Sprach-DLLs neben die Exe zu legen. Wenn man die Systemsprache nicht will, setzt man einfach einen Registry-Eintrag. Bei der On-The-Fly-Version kann man die Sprache im laufenden Betrieb umstellen. Dabei werden die Sprach-Dlls dynamisch erzeugt und dann geladen. Das erfordert natürlich das einbinden der dazu nötigen Localizer-Units. Das Problem der kontextsensitiven Button-Captions löst man sinnvollerweise mit resourcestring über Actions in deren OnUpdate-Event (übrigens auch ohne das Übersetzungsproblem).

Wenn man im Programm eine Liste der verfügbaren Sprachen anzeigen bzw. eine daraus auswählen will, dann tut man sich mit dem Einbinden der entsprechenden Units auch einen Gefallen. Andernfalls müsste man die Liste selbst zusammenstellen bzw. den Registry-Eintrag selber setzen.

Zu TsiLang und Sisulizer kann ich nichts sagen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 15:50
Vielen Dank für die Antworten bislang!

GetText habe ich mir ehrlich gesagt nur mal kurz angeschaut. Allerdings greift mir das auch schon fast zu tief in den Quellcode ein
Mehr als nur "Kurz anschauen" konnte ich bislang auch nicht, aber eigentlich sah es für mich bislang doch im Endeffekt sehr, sehr ähnlich zu "eurer" .ini-Lösung aus. Nur dass das Format etwas "standarisierter" ist (Übersetzungsbüros kommen damit direkt zurecht) und noch ein paar kleine Schlauheiten enthalten sind wie automatische Pluralbildung in verschiedenen Sprachen.

Ich werde hoffentlich heute noch mal ein Testprojekt wagen und dann auch erzählen können, wie das im Vergleich zu komplett selbst gestrickten .txt/.ini-Imports aussieht.
  Mit Zitat antworten Zitat
Bentissimo

Registriert seit: 25. Apr 2006
Ort: Friedenfels
82 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 15:56
Eine Überlegung wert sein dürfte auch die Precision Language Suite (http://www.be-precision.com/products/precision-langs/).

Bisher habe ich gute Erfahrungen damit gemacht und der Preis ist kein Hindernis.
Stephan Schmahl
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 16:42
Bei uns auf Arbeit verwendet der Mensch für Dokumentation und Lokalisierung das Tool SDL Passolo:
http://www.sdl.com/de/products/sdl-passolo/

Wir übersetzen damit unsere VCL-Programme in bis zu acht Sprachen.
Was da als Dateiformat raus fällt scheint auch jede professionelle Übersetzungsagentur zu verstehen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 04:59 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