Вклад в проект
Caution
Текущие сопровождающие проекта исследуют автоматизацию интернационализации документации. Поэтому любые PR, связанные с интернационализацией/переводом документации, НЕ будут приниматься!
Пожалуйста, НЕ отправляйте PR, связанные с интернационализацией/переводом документации!
Спасибо за ваш интерес к этому проекту! Прежде чем начать вносить вклад, пожалуйста, уделите немного времени, чтобы ознакомиться со следующими рекомендациями, чтобы ваш вклад мог быть успешно принят.
Типы вкладов, которые не принимаются
- Интернационализация/перевод документации
- Вклады, связанные с основной инфраструктурой, такие как HTTP API и т.д.
- Issues, явно помеченные как "No help needed" (включая issues в репозиториях Byaidu/PDFMathTranslate и PDFMathTranslate-next/PDFMathTranslate-next).
- Другие вклады, которые сопровождающие сочтут неуместными.
- Внесение вклада в документацию, но изменение документации на языках, отличных от английского.
- PR, требующие изменения файлов PDF.
- PR, изменяющие файл
pdf2zh_next/gui_translation.yaml.
Пожалуйста, НЕ отправляйте PR, связанные с вышеуказанными типами.
Note
Если вы хотите внести вклад в документацию, пожалуйста, изменяйте только английскую версию документации. Версии на других языках переводятся самими участниками.
PR, которые рекомендуется обсудить с сопровождающими через Issue перед отправкой
Для следующих типов PR рекомендуется обсудить с сопровождающими перед отправкой:
- PR, связанные с функциональностью совместного использования несколькими пользователями. (Этот проект в первую очередь предназначен для использования одним пользователем и не планирует внедрять полноценную многопользовательскую систему).
Процесс внесения вклада
- Форкните этот репозиторий и клонируйте его локально.
- Создайте новую ветку:
git checkout -b feature/<feature-name>. - Разрабатывайте и убедитесь, что ваш код соответствует требованиям.
- Зафиксируйте свой код:
- Отправьте в свой репозиторий:
git push origin feature/<feature-name>. - Создайте PR на GitHub, предоставьте подробное описание и запросите ревью у @awwaawwa.
- Убедитесь, что все автоматические проверки пройдены.
Tip
Вам не нужно ждать полного завершения разработки, чтобы создать 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. Пожалуйста, не предлагайте поддержку для таких движков. Следующие типы переводчиков также не будут интегрированы: - Переводчики, поддержка которых прекращена вышестоящими сопровождающими (например, deeplx) - Переводчики с большими зависимостями (например, зависящие от pytorch) - Нестабильные переводчики - Переводчики, основанные на обратном инжиниринге API
Если вы не уверены, соответствует ли переводчик требованиям, вы можете создать issue для обсуждения с сопровождающими.
Структура проекта
- config folder: Система конфигурации.
- translator folder: Реализации, связанные с переводчиком.
- gui.py: Предоставляет графический интерфейс.
- const.py: Некоторые константы.
- main.py: Предоставляет инструмент командной строки.
- high_level.py: Высокоуровневые интерфейсы на основе BabelDOC.
- http_api.py: Предоставляет HTTP API (не запущено).
Спросите ИИ, чтобы понять проект: DeepWiki
Свяжитесь с нами
Если у вас есть какие-либо вопросы, пожалуйста, отправьте отзыв через Issue или присоединяйтесь к нашей группе в Telegram. Спасибо за ваш вклад!
Tip
Immersive Translate спонсирует ежемесячные коды Pro-членства для активных участников этого проекта. Подробности смотрите в разделе: Правила вознаграждения участников BabelDOC/PDFMathTranslate