Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Better Translation Manager (Besserer Übersetzungsmanager) (https://www.delphipraxis.net/202352-better-translation-manager-besserer-uebersetzungsmanager.html)

API 24. Okt 2019 12:53


Better Translation Manager (Besserer Übersetzungsmanager)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich denke, das könnte für den einen oder anderen auch interessant sein.
Übersetzung des ursprünglichen Posts von https://en.delphipraxis.net/topic/18...ager-released/

Better Translation Manager (Besserer Übersetzungsmanager)

Download Source Code:
https://bitbucket.org/anders_melande...lation-manager

Download EXE:
http://melander.dk/download/

Der Better Translation Manager (BTM) ist ein Ersatz für den Delphi Translation Manager alias Integrated Translation Environment (ITE) und External Translation Manager (ETM).

Warum ist es besser? Nun, zum einen ist es kostenlos, aber wichtiger; es funktioniert tatsächlich - im Gegensatz zum ITE/ETM.

Warum?

Der heute mit Delphi ausgelieferte Standardübersetzungsmanager war ursprünglich ein Einzelprodukt, die Borland Translation Suite. Mit Delphi 5 wurde es Teil der Enterprise Edition.
Die Borland Translation Suite war vielversprechend, aber leider hat sie sich nie von seinen Ursprüngen als externes Tool weiterentwickelt und wurde immer durch schwere Fehler ausgebremst, so dass es sich in der Praxis völlig unbrauchbar machte. Die Folge ist, dass es niemand benutzt. Dies zeigt sich in der Fülle von selbst entwickelten und kommerziellen Alternativen.

Der große Vorteil des Standardübersetzungssystems besteht darin, dass es einfach funktioniert (das ist das System selbst, von dem ich spreche, nicht die Tools. Die Tools sind grottenschlecht). Abgesehen von der Anforderung, dass man Resource Strings (Ressourcenzeichenketten) verwenden muss, muss man beim Coden nichts Besonderes tun. Zur Laufzeit legt man einfach die kompilierten Ressourcenmodule in den gleichen Ordner wie die eigene Anwendung und die Delphi Run Time Library übernimmt automatisch das Laden und Verwenden der Übersetzungen auf Basis der aktuellen Windows-Benutzeroberflächensprache.

Da Embarcadero nun endlich zugegeben hat, dass sie den Delphi Translation Manager nie reparieren werden und stattdessen empfehlen, alternative Lösungen zu finden, habe ich beschlossen, dass es an der Zeit ist, dieses kleine Problem ein für allemal zu lösen.

Die Kernfunktionalität des Better Translation Managers wurde in zwei Wochen während meines Sommerurlaubs in Italien 2019 geschrieben. Erstaunlich, was man mit einer kleinen Pasta machen kann!

Funktionen / Features
  • Erfordert keine Änderungen am Quellcode der zu übersetzenden Anwendung.
  • Arbeitet mit dem bestehenden Delphi-Standardlokalisierungssystem.
  • Übersetzt Ressourcenzeichenketten und alle Strings in Formen, unabhängig von den verwendeten Komponenten von Drittanbietern.
  • Arbeitet mit kompilierten Anwendungen. Der Quellcode wird nie verwendet.
  • Generiert lokalisierte binäre Ressourcenmodule (Ressourcen-DLLs). Verwendet keinen externen Compiler.
  • Kann bestehende Übersetzungen aus kompilierten Anwendungs- und Ressourcenmodulen oder aus XLIFF-Lokalisierungs-Quelldateien (dfn-, rcn-Dateien) importieren.
  • Lesen und Speichern von TMX- und TBX-Translation-Memory-Dateien.
  • Importieren von Translation Memory aus TMX (Translation Memory eXchange), TBX (TermBase eXchange), Microsoft Glossar und CSV.
  • Maschinelle Übersetzung mit Translation Memory, Microsoft Translation Service oder Microsoft Terminology Service.
  • Formulare, Komponenten, Typen und Werte, die ignoriert werden sollen, können in einer Stoppliste angegeben werden.
  • Übersetzungen werden auf Rechtschreibprüfung geprüft.
  • Validierungsregeln, um häufige Übersetzungsfehler zu erkennen.
  • Unterstützt die Bearbeitung von rechts nach links (RTL) basierend auf der Übersetzungssprache.
  • Das Übersetzungsprojekt wird in einer einzigen XML-Datei gespeichert.
  • Befehlszeilenschnittstelle für den Einsatz in automatisierten Build-Systemen.
  • Schnell! Das Aktualisieren eines großen Projekts dauert mit dem ITE/ETM in der Regel weniger als eine Sekunde gegenüber vielen Minuten.
  • Unterstützt alle Unicode-Versionen von Delphi (z.B. Delphi 9 und höher).
  • Ressourcenmodule enthalten die Versionsressource der Quellanwendung.

Was es nicht tut

Es gibt eine Aufgabe, die BTM per Design nicht zu lösen versucht: Lokalisierung der Platzierung und Größe von Controls.
Da es meiner Erfahrung nach eine weitaus bessere Idee ist, die Benutzeroberfläche so zu gestalten, dass das Layout automatisch Änderungen in Schrift- und Textgröße und kürzere/längere übersetzungsbedingte Texte berücksichtigt, habe ich von Anfang an entschieden, dass ich die Lokalisierung von Größe und Position der Controls nicht unterstützen würde. Das hat mich auch entlastet, einen Runtime-Formular-Designer erstellen zu müssen und Controls von Drittanbietern visuell zu unterstützen (was bisher noch niemandem gelungen ist) und zu entscheiden, welche einzelnen Objekte Größen-/Positionswerte darzuerstellen sind.

Stattdessen lokalisiere ich einfach alle String Werte - und nur String Werte.

Aber warte..... Es gibt noch mehr!

Ja, du bekommst dieses kleine Wunder nicht nur umsonst. Du erhältst auch den vollständigen Quellcode.

Schnappe es vom Repository. Weitere Details findest du im Repository.

Der schöne Günther 24. Okt 2019 13:19

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Wahnsinn, da scheint auf den ersten Blick ja wirklich eine Menge Arbeit und Überlegung reingeflossen zu sein.

Ich bin zwar mit dem Typ
Delphi-Quellcode:
resourcestring
und dem uralten dxGetText zwar bislang wunschlos glücklich gewesen, aber das heißt ja nicht dass es nicht besser geht.

Beide Daumen hoch für Open Source/MPL 2.0. Denn was ich z.B. mir hinzufügen wollen würde wäre ein Export nach .po - Damit sind wir immer bestens gefahren, damit kommt jeder zurecht der mal was übersetzt hat...

Daniel 24. Okt 2019 13:39

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Vielen Dank für die Übersetzung! :thumb:

Rolf Frei 24. Okt 2019 15:18

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Wie kommt man da an die fertig kompilierten Programme? Da das Teil Fremdkomponenten nutzt (DevExpres) ist der Sourcecode unbrauchbar. Finde da niergends eine EXE.

EDIT:
Ok habe nun in der Projektbeschreibung auf bitbucket einen Link gefunden.

API 24. Okt 2019 15:21

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Zitat:

Zitat von Rolf Frei (Beitrag 1450200)
Wie kommt man da an die fertig kompilierten Programme? Da das Teil Fremdkomponenten nutzt (DevExpres) ist der Sourcecode unbrauchbar. Finde da niergends eine EXE.

EDIT:
Ok habe nun in der Projektbeschreibung auf bitbucket einen Link gefunden.


Das da?
(Edit:falscher Link...)

TSchnuckenbock 24. Okt 2019 15:23

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Ggf gibt es die EXE auf

http://melander.dk/download/

Rolf Frei 24. Okt 2019 15:27

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Zitat:

Zitat von API (Beitrag 1450201)
Zitat:

Zitat von Rolf Frei (Beitrag 1450200)
Wie kommt man da an die fertig kompilierten Programme? Da das Teil Fremdkomponenten nutzt (DevExpres) ist der Sourcecode unbrauchbar. Finde da niergends eine EXE.

EDIT:
Ok habe nun in der Projektbeschreibung auf bitbucket einen Link gefunden.


Das da? https://bitbucket.org/anders_melande...gerInstall.iss

Nein das ist nur ein Script. In der Projektbeschreibung auf bitbucket gibt es einen Link. (http://melander.dk/download/)

API 24. Okt 2019 15:29

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Stimmt: http://melander.dk/download/amTransl...7235.50584.exe

API 30. Okt 2019 11:10

AW: Better Translation Manager (Besserer Übersetzungsmanager))
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt nun einen "portablen Modus". Ausgeführt werden kann er mit einem Kommandozeilenschalter: "amTranslationManager.exe -portable" oder indem man eine Datei namens "portable" in den Anwendungsordner legt. Im Dialog "Settings" kann man das sonst auch einstellen.


Im portablen Modus werden die Einstellungen aus einer Datei "amTranslationManager.portable", die sich im selben Ordner wie die Anwendung befindet, gelesen und in diese wieder geschrieben. Anwendungsdatendateien (Translation Memory, Dictionaries zur Rechtschreibprüfung usw.) werden ebenfalls in oder unter diesem Verzeichnis gespeichert.

http://melander.dk/download/amTransl...7241.65070.exe


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 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