跳轉到

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

Caution

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

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

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

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

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

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

Note

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

  • Any changes to the core functionality of pdf2zh (including, but not limited to, changes to the translation engine, changes to the translation process, etc.)
  • Any changes to the CLI interface
  • Any changes to the configuration file format
  • Any changes to the output file format
  • Any changes to the project structure

OUTPUT

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

  • Любые изменения в основной функциональности pdf2zh (включая, но не ограничиваясь, изменениями в механизме перевода, изменениями в процессе перевода и т.д.)
  • Любые изменения в интерфейсе CLI
  • Любые изменения в формате файла конфигурации
  • Любые изменения в формате выходного файла
  • Любые изменения в структуре проекта

  • Any changes to the core functionality of pdf2zh (including, but not limited to, changes to the translation engine, changes to the translation process, etc.)

  • Any changes to the CLI interface
  • Any changes to the configuration file format
  • Any changes to the output file format
  • Any changes to the project structure

OUTPUT

Для следующих типов PR рекомендуется сначала обсудить их с сопровождающими перед отправкой: - [ ] Любые изменения в основной функциональности pdf2zh (включая, но не ограничиваясь, изменениями в механизме перевода, изменениями в процессе перевода и т.д.) - [ ] Любые изменения в интерфейсе CLI - [ ] Любые изменения в формате файла конфигурации - [ ] Любые изменения в формате выходного файла - [ ] Любые изменения в структуре проекта

  1. PRs related to the addition of new translation engines (especially those requiring API keys). (This project aims to provide open-source, free translation engines. If you wish to add a new translation engine, please ensure it is open-source and free. If you need to use paid engines, please fork the project and use it yourself).
  2. PRs related to the addition of new file formats. (This project is focused on PDF to Markdown conversion. If you need to convert other file formats, please use other tools).
  3. PRs that significantly alter the project's direction or add new features that are not aligned with the project's goals.

OUTPUT

  1. PR, связанные с функциональностью многопользовательского доступа. (Этот проект в первую очередь предназначен для использования одним пользователем и не планирует внедрять полноценную многопользовательскую систему).
  2. PR, связанные с добавлением новых механизмов перевода (особенно тех, которые требуют API-ключи). (Этот проект нацелен на предоставление открытых и бесплатных механизмов перевода. Если вы хотите добавить новый механизм перевода, убедитесь, что он является открытым и бесплатным. Если вам необходимо использовать платные механизмы, пожалуйста, форкните проект и используйте его самостоятельно).
  3. PR, связанные с добавлением новых форматов файлов. (Этот проект сфокусирован на конвертации из PDF в Markdown. Если вам необходимо конвертировать другие форматы файлов, пожалуйста, используйте другие инструменты).
  4. 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. Создание 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 следуйте Chinese Copywriting Guidelines.
  • Убедитесь, что документация на английском и китайском языках всегда актуальна; обновления документации на других языках необязательны.

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

  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 и может содержать ошибки.