Qt linguist & google translate - PullRequest
       15

Qt linguist & google translate

7 голосов
/ 08 октября 2009

Я ищу способ обмануть и создать несколько очень грубых переводов моего приложения Qt с использованием Qt linguist и уже существующей службы перевода, такой как google translate.

Существует публичный API для Google Translate, поэтому я надеюсь, что кто-то уже пробовал это, но я не могу его найти. Кто-нибудь видел что-нибудь подобное раньше?

Я не ожидаю блестящих переводов - на данный момент это просто для подтверждения концепции.

Ответы [ 5 ]

3 голосов
/ 25 октября 2009

Я написал приложение с открытым исходным кодом, чтобы делать это с файлами gettext .po, для файлов Qt Linguist это не составит труда изменить. Демо и источник php доступны на http://pepipopum.dixo.net

2 голосов
/ 30 октября 2009

Вы можете использовать lconvert для преобразования файлов в .po

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

Затем запустите их через переводчик Пола Диксона, затем снова конвертируйте их, используя lconvert.

lconvert -if po -of ts -o myFile.ts myfile.po
1 голос
/ 09 октября 2009

Я не видел ничего подобного раньше (возможно, потому что автоматический перевод, скорее всего, даст менее звездные результаты), но это не должно быть слишком сложно для реализации.

Файлы .ts, созданные инструментом lupdate, на самом деле представляют собой простые XML-файлы (и даже не такие сложные - просто откройте один в текстовом редакторе и убедитесь сами). Поэтому вы можете использовать различные инструменты / библиотеки XML для редактирования элементов <translation> в файле. Qt даже поставляется с one .

0 голосов
/ 29 января 2010

взгляните на http://omegat.org

В него встроен Google Translate, автоматический поиск по словарю, память переводов и многое другое.

OmegaT читает и записывает множество форматов, включая .po и Open Office (разновидность XML). Не уверен насчет общего XML, но есть такие инструменты, как xml2po.

0 голосов
/ 10 октября 2009

Да, это возможно; и на самом деле совсем не сложно!

Я написал API-интерфейс C ++ до того, как использовал API JavaScript Ajax Google Translate (это единственный существующий API Google Translate), используя libCURL, чтобы делать грубые переводы для незаконченной игры.

Поскольку Qt linguist использует файлы XML в соответствии с указанным выше лицом, должно быть довольно легко перевести и записать их в действительный файл XML!

...