Существует JavaDoc обычного Java API с английским изданием и китайским изданием, но, похоже, для каждого издания требуется отдельный исходный код. Есть ли более удобный способ сделать это?
Как создать многоязычные JavaDocs?
Ответ 1
Нет, по существу нет способа сделать это.
Единственное, что приходит в голову, относится к сгенерированным страницам HTML: вы можете окружать JavaDocs в блочных элементах, которые переключают между языками с помощью CSS. Рассмотрим:
/**
* <div class="en">Documentation in English</div>
* <div class="nl">Documentatie in Nederlands</div>
*/
public void myFunction() {}
Впоследствии отредактируйте CSS файлы JavaDocs, чтобы пользователь мог переключать языки, например:
div.en { display:none; }
div.nl { display:block; }
Ответ 2
Короткий ответ - нет. Существующие комментарии и инструменты javadoc не поддерживают это.
Я не думаю, что было бы неплохо добавить поддержку для встраивания нескольких переводов комментариев javadoc в исходный код. Это не было бы масштабируемым решением:
- По мере добавления каждого нового перевода файлы исходного кода становятся больше.
- Многоязычные описания будут очень трудными для управления.
Учтите, что я разработчик API, который не читает/не пишет по-китайски. Когда я обновляю английские javadocs, как я могу отметить, что китайские комментарии javadoc необходимо обновить? Что мы делаем с проблемой, что потенциально большое количество переводчиков должно обновлять файлы исходного кода и может случайно ввести регрессии в фактический код? Как менеджер релиза гарантирует, что все переводы выполняются до выпуска "золотой"?
Я думаю, что лучшее (гипотетическое) решение состоит в том, чтобы иметь модифицированный инструмент javadoc, который извлекает комментарии javadoc в базу данных версий. Затем напишите инструмент, который замечает, когда первичный (например, английский) комментарий javadoc изменяется в базах данных и предлагает техническим писателям/переводчикам внести соответствующие изменения в китайские, голландские и т.д. Переводы javadoc.