跳轉到

Вклад в проект

Caution

Текущие сопровождающие проекта исследуют автоматизацию интернационализации документации. Поэтому любые PR, связанные с интернационализацией/переводом документации, НЕ будут приниматься!

Пожалуйста, НЕ отправляйте PR, связанные с интернационализацией/переводом документации!

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

Типы вкладов, которые не принимаются

  1. Интернационализация/перевод документации
  2. Вклады, связанные с основной инфраструктурой, такие как HTTP API и т.д.
  3. Issues, явно помеченные как "No help needed" (включая issues в репозиториях Byaidu/PDFMathTranslate и PDFMathTranslate-next/PDFMathTranslate-next).
  4. Другие вклады, которые сопровождающие сочтут неуместными.
  5. Внесение вклада в документацию, но изменение документации на языках, отличных от английского.
  6. PR, требующие изменения файлов PDF.
  7. PR, изменяющие файл pdf2zh_next/gui_translation.yaml.

Пожалуйста, НЕ отправляйте PR, связанные с вышеуказанными типами.

Note

Если вы хотите внести вклад в документацию, пожалуйста, изменяйте только английскую версию документации. Версии на других языках переводятся самими участниками.

PR, которые рекомендуется обсудить с сопровождающими через Issue перед отправкой

Для следующих типов PR рекомендуется обсудить с сопровождающими перед отправкой:

  1. PR, связанные с функциональностью совместного использования несколькими пользователями. (Этот проект в первую очередь предназначен для использования одним пользователем и не планирует внедрять полноценную многопользовательскую систему).

Процесс внесения вклада

  1. Форкните этот репозиторий и клонируйте его локально.
  2. Создайте новую ветку: git checkout -b feature/<feature-name>.
  3. Разрабатывайте и убедитесь, что ваш код соответствует требованиям.
  4. Зафиксируйте свой код:
    git add .
    git commit -m "<semantic commit message>"
    
  5. Отправьте в свой репозиторий: git push origin feature/<feature-name>.
  6. Создайте PR на GitHub, предоставьте подробное описание и запросите ревью у @awwaawwa.
  7. Убедитесь, что все автоматические проверки пройдены.

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. Сообщения коммитов

7. Стиль кодирования

  • Убедитесь, что ваш отправленный код соответствует базовым стандартам стиля кодирования.
  • Используйте либо snake_case, либо camelCase для именования переменных.

8. Форматирование документации

  • Для форматирования README.md следуйте Руководству по китайскому копирайтингу.
  • Убедитесь, что английская и китайская документация всегда актуальны; обновление документации на других языках необязательно.

Добавление движка перевода

  1. Добавьте новый класс конфигурации переводчика в файл pdf2zh/config/translate_engine_model.py.
  2. Добавьте экземпляр нового класса конфигурации переводчика в псевдоним типа TRANSLATION_ENGINE_SETTING_TYPE в том же файле.
  3. Добавьте новый класс реализации переводчика в папку 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

Часть содержимого этой страницы была переведена GPT и может содержать ошибки.