2009-10-08 6 views
7

Je cherche un moyen de tricher et de créer des traductions très approximatives de mon application Qt en utilisant Qt linguist et un service de traduction déjà existant tel que google translate.Qt linguist & google translate

Il existe une API publique pour google translate, donc j'espère que quelqu'un a déjà essayé, mais je n'arrive pas à le trouver. Est-ce que quelqu'un a déjà vu quelque chose comme ça?

Je ne m'attends pas à des traductions brillantes - à ce stade, c'est juste pour montrer comme une preuve de concept.

+2

Espérant se rendre à la première page de http://thedailywtf.com/? : p – UncleBens

+0

Haha, pas du tout - tout ce que je veux, c'est des traductions réalistes, donc je peux annoncer le système de localisation Qt pour notre application. Donc, la traduction en espagnol devrait ressembler à l'espagnol, etc. – Thomi

Répondre

4

J'ai écrit une application open source pour faire cela avec des fichiers gettext .po, il ne serait pas difficile à modifier pour les fichiers Qt Linguist. Demo et la source php disponible à http://pepipopum.dixo.net

+0

Lien est en panne, une nouvelle source pour cela? – ymoreau

+0

L'API Google Traduction a été placée derrière un pare-feu, de sorte que la démo a été mise hors ligne. Si vous recherchez pepipopum, vous devriez trouver de nombreuses fourches. –

1

Je n'avais jamais rien vu de tel (probablement parce que la traduction automatisée produira probablement moins de résultats que les résultats stellaires), mais cela ne devrait pas être trop difficile à implémenter. Les fichiers .ts produits par l'outil lupdate sont en fait des fichiers XML simples (et même pas si compliqués - il suffit d'en ouvrir un dans un éditeur de texte et de voir par vous-même). Par conséquent, vous pouvez utiliser une variété d'outils/bibliothèques XML pour éditer les éléments <translation> dans le fichier. Qt vient même avec one.

+0

oui, c'est ce que je prévoyais - je vais sortir le code une fois qu'il sera opérationnel. Encore une fois, les ides ne sont pas de produire des traductions utilisables, mais plutôt de produire de belles données de traduction, à des fins de démonstration seulement. – Thomi

0

Oui, c'est possible; et en fait pas dur du tout!

J'ai écrit une API C++ avant d'utiliser l'API Javascript de Google Translate Ajax (c'est la seule API Google Traduction existante) en utilisant libCURL pour faire des traductions approximatives pour un jeu inachevé.

Puisque Qt linguist utilise des fichiers XML selon la personne ci-dessus, il devrait être assez facile de les traduire et de les écrire dans un fichier XML valide!

2

Vous pouvez utiliser lconvert pour convertir les fichiers .po

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

les ensuite traité par traducteur Paul Dixons, puis les reconvertir en utilisant lconvert à nouveau.

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

un coup d'oeil à http://omegat.org

il intègre Google translate, dictionnaire automatique rechercher, mémoire de traduction et plus encore. OmegaT lit et écrit de nombreux formats, y compris .po et Open Office (une saveur XML). Pas sûr de XML général, mais il existe des outils comme xml2po.