Untertitel Übersetzer (kann man das gebrauchen?)

Begonnen von Mam, Dezember 26, 2020, 17:33:56

« vorheriges - nächstes »

Mam

Lockdown, mieses Wetter, da braucht das MAM mal wieder eine Aufgabe, nachdem das letzte Game gezockt und der letzte Lego Kasten zusammengebaut ist.

Üblicherweise artet das dann in einer programmiertechnischen Fingerübung aus, die man auch zu irgendwas benutzen kann.

Dieses Jahr war das Thema "automatische Übersetzung von Untertiteldateien aus (nahezu) beliebigen Fremdsprachen in (nahezu) beliebige Zielsprachen".

(zugegeben, der wahre Anlass war, dass ich im Moment eine Eisenbahnserie auf NED 2 gucke und kein Wort von den Kaasköppen verstehe. Auch die holländischen Untertitel bringen beim Lesen nur Stirnrunzeln und laute HÄÄÄHs? hervor).

Die erste Reaktion bei so einem Problem ist natürlich: Frag Tante Google, die hat ja einen Übersetzer!
Das sieht auch recht gut aus, bzw. es hört sich recht gut an.
Aber eine kleiner Test bringt sofort die Ernüchterung: "maximal 5000 Zeichen" will der Übersetzer haben, danach muss man immer "weiter" klicken und das Ergebnis ist auch recht vermatscht.

Etwas geschmeidiger geht es über Google Doc. Wenn man da die Datei reinkopiert und per Menü "Datei übersetzen..." aufruft, geht alles in einem Rutsch!

Leider kann man das Ergebnis dann auch gleich der Tonne übergeben, denn Google Doc meint, es müsse unbedingt "Verschönerungen" am Text vornehmen. Das Endergebnis ist dann so grausam, dass will kein Programm mehr als Untertitel haben. Es sei denn, man spendiert per Editor ein paar Stunden "suchen & ersetzen".

Aber selbst dann, kommt nicht wirklich etwas Brauchbares raus, durch die Formatierbefehle und die Zeilentrennung in den UT kann der Übersetzer komplette Sätze nicht erfassen und produziert reinen "ich guck mal ins Wörterbuch ohne jeden Zusammenhang" Grütz.

Also musste ich doch ein Miniprogramm schreiben, das Google die "bösen" Zeilen vorenthält ("was er nicht sieht, kann er nicht vermatschen"), die Formatierungen entfernt (eigentlich schade, aber sie würden in der Übersetzung dann doch wohl an der falschen Stelle sein), mehrzeilige Texte zusammenführt und dann zeilenweise Google zum Fraß vorwirft.

Das Ergebnis kann sich durchaus sehen lassen:
135
00:13:49,260 --> 00:13:52,560
Hij werd in december 1984 geopend.
Es wurde im Dezember 1984 eröffnet.
------------------------------
136
00:14:04,260 --> 00:14:09,720
Op 6 juli 1905 reed de 1e trein over de nieuwe lijn Zweisimmen binnen.
Am 6. Juli 1905 fuhr der erste Zug der neuen Linie in Zweisimmen ein.
------------------------------
137
00:14:10,140 --> 00:14:14,880
Het was toen de langste elektrische spoorlijn in Europa.
Es war damals die längste elektrische Eisenbahn in Europa.
------------------------------
138
00:14:15,340 --> 00:14:19,880
Vanaf hier loopt een MOB-lijn van 13 kilometer naar Lenk:
Von hier führt eine 13 Kilometer lange MOB-Linie nach Lenk:
------------------------------
139
00:14:20,180 --> 00:14:23,880
Een wintersportplaats in het Obersimmendal.
Ein Wintersportort im Obersimmendal.
------------------------------


Leider ist das Ganze noch nicht "marktreif", denn Google hat nicht nur das schon erwähnte 5000 Zeichen Limit, sondern auch ein "nur X Aufrufe in Zeiteinheit Y".
Irgendwann wird man dann abgewiesen
141
00:14:29,820 --> 00:14:33,120
want in 1902 werd al een normaal spoor aangelegd...
weil schon 1902 eine normale Strecke verlegt wurde ...
------------------------------
142
00:14:33,300 --> 00:14:35,360
tussen Zweisimmen en Spitz.
zwischen Zweisimmen und Spitz.
------------------------------
Aufruf wird blockiert. Wartezeit vor nächstem Versuch = 5 Sekunden
26.12.2020 15:09:02


Ich bin gerade dabei rauszubekommen, wie lange die Blockade ist. Mir ist es eigentlich völlig egal, die Kiste könnte auch ruhig die ganze Nacht warten, bis es weitergeht. Hauptsache es wird irgenwann fertig.

(ach ja, die beiden Grenzen kann man auch abschalten, aber dann möchte Tante Google $$$ sehen, und das nicht zu knapp. Kommt also nicht in Frage)

Kennt jemand einen Trick, wie man an dem Aufruflimit vorbei kommt???


Mam

etwas weiter als zuvor grüble ich über die teilweise merkwürdigen Antworten von Google...
Hier mal von deutsch (hinten) in englisch (vorne):
[[["So on the small area of \u200b\u200bits track","Damit auf der kleinen Fläche seiner Bahn",null,null,3,null,null,[[]

Da hat es mein Progrämmchen doch erstmal gegen die Wand fahren lassen. Was zum Teufel ist \u200b und was macht man damit???

Tante Google meint, es wäre "ein Leerzeichen ohne Breite" und könnte zum Zeilenumbruch herangezogen werden.

Ich schmeiss es wohl mal lieber einfach raus... Der Umbruch wird später vom Player automatisch vorgenommen.


Hat irgendwo jemand unter Linux Net.Core 3.1 installiert? Eigentlich sollte das Progrämmchen auch auf Linux und BSD laufen, aber zumindest BSD ist erst bei Net.Core 2.0 und das reicht dann nicht für den Start...
(Nein, es gibt keine extra Linux Version, dasselbe Binary läuft sowohl unter Linux, Windows und MacOS....)


www.cypheros.de