2009-10-08 2 views
7

Ich bin auf der Suche nach einem Weg zu betrügen und erstellen einige sehr grobe Übersetzungen meiner Qt-Anwendung mit Qt Linguist und einem bereits bestehenden Übersetzungsdienst wie Google Translate.Qt Linguist & Google Translate

Da es eine öffentliche API für Google Translate gibt, hoffe ich, dass jemand das bereits versucht hat, aber ich kann es nicht finden. Hat jemand schon mal so etwas gesehen?

Ich erwarte keine brillanten Übersetzungen - an dieser Stelle ist es nur als Beweis für das Konzept zu zeigen.

+2

In der Hoffnung, es auf die Titelseite von http://thedailywtf.com/ zu machen? : p – UncleBens

+0

Haha, überhaupt nicht - alles, was ich will, sind einige realistisch aussehende Übersetzungen, damit ich das Qt-Lokalisierungssystem für unsere Anwendung bewerben kann. Die spanische Übersetzung sollte also spanisch aussehen usw. – Thomi

Antwort

4

Ich habe eine Open-Source-App geschrieben, um dies mit gettext .po-Dateien zu tun, es wäre nicht schwer für Qt Linguist-Dateien zu ändern. Demo und PHP Quelle verfügbar bei http://pepipopum.dixo.net

+0

Link ist down, irgendeine neue Quelle dafür? – ymoreau

+0

Die Google Übersetzer-API wurde hinter einer Paywall platziert, sodass die Demo offline geschaltet wurde. Wenn Sie nach Pepipopum suchen, sollten Sie zahlreiche Gabeln finden. –

1

Ich habe so etwas noch nie gesehen (wahrscheinlich, weil automatisierte Übersetzung wahrscheinlich weniger als stellare Ergebnisse produzieren wird), aber es sollte nicht zu schwer zu implementieren sein.

Die vom Tool lupdate erzeugten .ts-Dateien sind in der Tat einfache XML-Dateien (und sogar nicht so komplizierte - öffnen Sie einfach einen in einem Texteditor und sehen Sie selbst). Daher können Sie eine Vielzahl von XML-Tools/-Bibliotheken verwenden, um die <translation> Elemente in der Datei zu bearbeiten. Qt kommt sogar mit one.

+0

Ja, das war es, was ich plante - ich werde den Code veröffentlichen, sobald er fertig ist und funktioniert. Auch hier geht es nicht darum, brauchbare Übersetzungen zu erzeugen, sondern um aussagekräftige Übersetzungsdaten zu Demonstrationszwecken zu erzeugen. – Thomi

0

Ja, es ist möglich; und eigentlich gar nicht schwer!

Ich habe vorher eine C++ - API geschrieben, die die Google Translate Ajax JavaScript-API (dies ist die einzige existierende Google Translate API) verwendet, die libCURL verwendet, um grobe Übersetzungen für ein unfertiges Spiel zu erstellen.

Da Qt-Linguist XML-Dateien gemäß der obigen Person verwendet, sollte es relativ einfach zu übersetzen und in eine gültige XML-Datei zu schreiben sein!

2

Sie lconvert verwenden könnte, die Dateien zu konvertieren, um .PO

lconvert -if ts -of po -o myFile.po myfile.ts 

Dann sie durch Paul Dixons Übersetzer laufen, dann wandeln sie wieder mit lconvert zurück.

lconvert -if po -of ts -o myFile.ts myfile.po 
0

einen Blick auf http://omegat.org haben

es Google, automatische Wörterbuch nachschlagen übersetzen integriert, Translation Memory und vieles mehr.

OmegaT liest und schreibt viele Formate einschließlich .po und Open Office (eine XML-Variante). Nicht sicher über allgemeine XML, aber es gibt Tools wie xml2po.