Перевод комментариев к коду, написанных на другом разговорном языке

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

Кто-нибудь знает какие-либо инструменты перевода, которые поддерживают код; это означает, что он будет переводить язык только в комментариях? В проекте много файлов, и возможность работать со всеми ими одновременно тоже была бы фантастической.

В настоящее время я копирую и вставляю в Google Translate, и хотя это далеко не идеально, по крайней мере, это может дать мне некоторые ответы.


person Brown    schedule 23.06.2010    source источник
comment
arg, возникла аналогичная проблема.. Вы нашли решение?   -  person MikeSchem    schedule 07.03.2017
comment
К сожалению нет. Я вкратце подумал о том, чтобы написать инструмент для этого, как предложили Пекка и Шон ниже, но в итоге я просто пролистал его с помощью Google Translate. На самом деле, самой большой проблемой оказались не комментарии, а имена переменных! Нас всех учат, что имена переменных, состоящие из одной буквы, — ужасный выбор, но когда имена переменных на другом языке, они также могут быть foo, bar или x!   -  person Brown    schedule 08.03.2017
comment
Хах, жестоко....   -  person MikeSchem    schedule 08.03.2017
comment
Всегда удивлялся, как люди, которые не говорят по-английски,   -  person MikeSchem    schedule 08.03.2017
comment
Полагаю, так же, как люди, говорящие по-английски, пишут код. В нашем случае софт писал немец, в Германии, для других немцев. Кроме того, английский у автора был намного лучше, чем МОЙ немецкий, так что я дал ему поблажку. Я не могу винить автора за комментарии и имена переменных, однако баги — это отдельная история!   -  person Brown    schedule 09.03.2017
comment
Нет, я имею в виду, что все ключевые слова языка программирования на английском языке. Если вы выполняете цикл for на английском языке for, имеет смысл, а на немецком языке это будет цикл zum (согласно переводчику Google).   -  person MikeSchem    schedule 09.03.2017


Ответы (2)


Я бы точно знал, как это сделать в java, но я уверен, что есть способ сделать это и в C, поскольку существуют инструменты:

  1. Возьмите синтаксический анализатор, который понимает исходные файлы C (этот звучит нормально, но я мало что знаю о С)
  2. построить синтаксическое дерево. перебрать все узлы дерева, заменив текст всех узлов комментариев переведенным текстом.
  3. записать дерево обратно в новый исходный файл (возможно, в другой каталог).
person Sean Patrick Floyd    schedule 23.06.2010

В широком смысле это должно быть возможно сделать с помощью API Ajax и функция регулярных выражений, которая может работать с обратными вызовами - я не думаю, что встроенные функции регулярных выражений JS подходят для этой задачи, но я уверен, что есть библиотеки. Вам нужно будет создать регулярное выражение, которое может изолировать комментарии, отправлять каждую часть в API и возвращать переведенный результат в функции обратного вызова.

person Pekka    schedule 23.06.2010