Spaces:
Sleeping
Download docs/ru/community/Contribution-Guide.md from ryusaksun/PDFTranslate: direct link, hf CLI and curl.
- Browser
- Download file 14.9 kB
-
https://huggingface.co/spaces/ryusaksun/PDFTranslate/resolve/main/docs/ru/community/Contribution-Guide.md
- Command line
-
hf download hf://spaces/ryusaksun/PDFTranslate/docs/ru/community/Contribution-Guide.md
-
curl -L -o Contribution-Guide.md https://huggingface.co/spaces/ryusaksun/PDFTranslate/resolve/main/docs/ru/community/Contribution-Guide.md
Вклад в проект
Текущие сопровождающие проекта исследуют автоматизацию интернационализации документации. Поэтому любые PR, связанные с интернационализацией/переводом документации, НЕ будут приниматься!
Пожалуйста, НЕ отправляйте PR, связанные с интернационализацией/переводом документации!
Спасибо за ваш интерес к этому проекту! Прежде чем начать вносить свой вклад, пожалуйста, уделите немного времени, чтобы прочитать следующие рекомендации, чтобы ваш вклад мог быть легко принят.
Типы вкладов, которые не принимаются
- Интернационализация/перевод документации
- Вклад в основную инфраструктуру, например, HTTP API и т. д.
- Проблемы, явно помеченные как "No help needed" (включая проблемы в репозиториях Byaidu/PDFMathTranslate и PDFMathTranslate-next/PDFMathTranslate-next).
- Другие вклады, которые модераторы сочтут неуместными.
- Вклад в документацию, но изменение документации на языках, отличных от английского.
- PR, требующие изменения файлов PDF.
- PR, изменяющие файл
pdf2zh_next/gui_translation.yaml.
Пожалуйста, НЕ отправляйте PR, связанные с вышеуказанными типами.
Если вы хотите внести вклад в документацию, пожалуйста, изменяйте только английскую версию документации. Другие языковые версии переводятся самими участниками.
- 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
- Любые изменения в формате файла конфигурации
- Любые изменения в формате выходного файла
- Любые изменения в структуре проекта
- 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).
- 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).
- PRs that significantly alter the project's direction or add new features that are not aligned with the project's goals.
OUTPUT
- PR, связанные с функциональностью многопользовательского доступа. (Этот проект в первую очередь предназначен для использования одним пользователем и не планирует внедрять полноценную многопользовательскую систему).
- PR, связанные с добавлением новых механизмов перевода (особенно тех, которые требуют API-ключи). (Этот проект нацелен на предоставление открытых и бесплатных механизмов перевода. Если вы хотите добавить новый механизм перевода, убедитесь, что он является открытым и бесплатным. Если вам необходимо использовать платные механизмы, пожалуйста, форкните проект и используйте его самостоятельно).
- PR, связанные с добавлением новых форматов файлов. (Этот проект сфокусирован на конвертации из PDF в Markdown. Если вам необходимо конвертировать другие форматы файлов, пожалуйста, используйте другие инструменты).
- PR, которые значительно изменяют направление проекта или добавляют новые функции, не соответствующие целям проекта.
Процесс внесения вклада
- Форкните этот репозиторий и клонируйте его локально.
- Создайте новую ветку:
git checkout -b feature/<feature-name>. - Разрабатывайте и убедитесь, что ваш код соответствует требованиям.
- Зафиксируйте изменения:
git add . git commit -m "<semantic commit message>" - Отправьте изменения в ваш репозиторий:
git push origin feature/<feature-name>. - Создайте PR на GitHub, предоставьте подробное описание и запросите проверку у @awwaawwa.
- Убедитесь, что все автоматические проверки пройдены.
Вам не нужно ждать, пока разработка будет полностью завершена, чтобы создать PR. Создание PR на раннем этапе позволяет нам проверить вашу реализацию и дать рекомендации.
Если у вас есть вопросы по исходному коду или связанным вопросам, пожалуйста, свяжитесь с сопровождающим по адресу aw@funstory.ai.
Файлы ресурсов для версии 2.0 доступны в BabelDOC. Код для загрузки связанных ресурсов находится в BabelDOC. Если вы хотите добавить новые файлы ресурсов, пожалуйста, свяжитесь с сопровождающим BabelDOC по адресу aw@funstory.ai.
Основные требования
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следуйте Chinese Copywriting Guidelines. - Убедитесь, что документация на английском и китайском языках всегда актуальна; обновления документации на других языках необязательны.
Добавление движка перевода
- Добавьте новый класс конфигурации переводчика в файл
pdf2zh/config/translate_engine_model.py. - Добавьте экземпляр нового класса конфигурации переводчика в псевдоним типа
TRANSLATION_ENGINE_SETTING_TYPEв том же файле. - Добавьте новый класс реализации переводчика в папку
pdf2zh/translator/translator_impl.
Этот проект не предназначен для поддержки каких-либо движков перевода с 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. Спасибо за ваш вклад!
Immersive Translate спонсирует ежемесячные коды Pro-подписки для активных участников этого проекта. Подробности смотрите здесь: Правила вознаграждения участников BabelDOC/PDFMathTranslate