Вклад в проект
Caution
Текущие сопровождающие проекта исследуют автоматизированную интернационализацию документации. Поэтому любые PR, связанные с интернационализацией/переводом документации, НЕ будут приниматься!
Пожалуйста, НЕ отправляйте PR, связанные с интернационализацией/переводом документации!
Спасибо за ваш интерес к этому проекту! Прежде чем начать вносить свой вклад, пожалуйста, уделите немного времени, чтобы прочитать следующие рекомендации, чтобы ваш вклад мог быть легко принят.
Типы вкладов, которые не принимаются
- Интернационализация/перевод документации
- Вклад, связанный с основной инфраструктурой, такой как HTTP API и т. д.
- Проблемы, явно помеченные как "No help needed" (включая проблемы в репозитории Byaidu/PDFMathTranslate).
- Другие вклады, которые сопровождающие сочтут неуместными.
- Вклад в документацию, но изменение документации на языках, отличных от английского.
Пожалуйста, НЕ отправляйте PR, связанные с вышеуказанными типами.
Note
Если вы хотите внести вклад в документацию, пожалуйста, изменяйте только английскую версию документации. Другие языковые версии переводятся самими участниками.
Процесс внесения вклада
- Форкните этот репозиторий и клонируйте его локально.
- Создайте новую ветку:
git checkout -b feature/<feature-name>
. - Разрабатывайте и убедитесь, что ваш код соответствует требованиям.
- Зафиксируйте изменения:
- Отправьте изменения в ваш репозиторий:
git push origin feature/<feature-name>
. - Создайте PR на GitHub, предоставьте подробное описание и запросите ревью у @awwaawwa.
- Убедитесь, что все автоматические проверки пройдены.
Tip
Вам не нужно ждать, пока разработка будет полностью завершена, чтобы создать PR. Создание PR на раннем этапе позволяет нам проверить вашу реализацию и дать рекомендации.
Если у вас есть вопросы по исходному коду или связанным темам, пожалуйста, свяжитесь с сопровождающим по адресу [email protected].
Файлы ресурсов для версии 2.0 доступны в BabelDOC. Код для загрузки связанных ресурсов находится в BabelDOC. Если вы хотите добавить новые файлы ресурсов, пожалуйста, свяжитесь с сопровождающим BabelDOC по адресу [email protected].
Основные требования
1. Рабочий процесс
- Пожалуйста, сделайте форк из ветки
main
и разрабатывайте на своей форкнутой ветке. - При отправке Pull Request (PR) предоставьте подробное описание ваших изменений.
- Если ваш PR не проходит автоматические проверки (указывается как
checks failed
с красным крестиком), пожалуйста, проверьте соответствующиеdetails
и внесите изменения в свою заявку, чтобы новый PR прошел все проверки.
2. Разработка и тестирование
- Используйте команду
pip install -e .
для разработки и тестирования.
3. Форматирование кода
- Настройте инструмент
pre-commit
и включитеblack
иflake8
для форматирования кода.
4. Обновление зависимостей
- Если вы добавляете новые зависимости, пожалуйста, своевременно обновите список зависимостей в файле
pyproject.toml
.
5. Обновления документации
- Если вы добавляете новые параметры командной строки, пожалуйста, обновите список параметров командной строки во всех языковых версиях файла
README.md
соответствующим образом.
6. Сообщения коммитов
- Используйте Conventional Commits, например:
feat(translator): add openai
.
7. Стиль кодирования
- Убедитесь, что ваш код соответствует базовым стандартам стиля кодирования.
- Используйте либо snake_case, либо camelCase для именования переменных.
8. Форматирование документации
- Для форматирования
README.md
следуйте Руководству по написанию текстов на китайском языке. - Убедитесь, что документация на английском и китайском языках всегда актуальна; обновления документации на других языках необязательны.
Добавление движка перевода
- Добавьте новый класс конфигурации переводчика в файл
pdf2zh/config/translate_engine_model.py
. - Добавьте экземпляр нового класса конфигурации переводчика в псевдоним типа
TRANSLATION_ENGINE_SETTING_TYPE
в том же файле. - Добавьте новый класс реализации переводчика в папку
pdf2zh/translator/translator_impl
.
Note
Этот проект не намерен поддерживать какие-либо движки перевода с RPS (запросами в секунду) ниже 4. Пожалуйста, не отправляйте поддержку для таких движков.
Структура проекта
- config folder: Система конфигурации.
- translator folder: Реализации, связанные с переводчиком.
- gui.py: Предоставляет графический интерфейс.
- const.py: Некоторые константы.
- main.py: Предоставляет инструмент командной строки.
- high_level.py: Высокоуровневые интерфейсы на основе BabelDOC.
- http_api.py: Предоставляет HTTP API (не запущено).
Свяжитесь с нами
Если у вас есть какие-либо вопросы, отправьте отзыв через Issue или присоединяйтесь к нашей группе в Telegram. Спасибо за ваш вклад!
Tip
Immersive Translate спонсирует ежемесячные коды Pro-подписки для активных участников этого проекта. Подробности смотрите здесь: BabelDOC/PDFMathTranslate Contributor Reward Rules