Contribuir al proyecto
Caution
Los mantenedores actuales del proyecto están investigando la internacionalización automatizada de la documentación. Por lo tanto, ¡NO se aceptarán PRs relacionados con la internacionalización/traducción de la documentación!
¡Por favor, NO envíes PRs relacionados con la internacionalización/traducción de la documentación!
¡Gracias por tu interés en este proyecto! Antes de empezar a contribuir, por favor tómate un tiempo para leer las siguientes pautas para asegurar que tu contribución pueda ser aceptada sin problemas.
Tipos de contribuciones no aceptadas
- Internacionalización/traducción de documentación
- Contribuciones relacionadas con la infraestructura central, como la API HTTP, etc.
- Problemas marcados explícitamente como "No se necesita ayuda" (incluyendo problemas en el repositorio Byaidu/PDFMathTranslate).
- Otras contribuciones consideradas inapropiadas por los mantenedores.
- Contribuir a la documentación, pero cambiar la documentación en idiomas distintos al inglés.
Por favor NO envíes PRs relacionados con los tipos mencionados anteriormente.
Note
Si deseas contribuir a la documentación, por favor solo modifiques la versión en inglés de la documentación. Las versiones en otros idiomas son traducidas por los propios colaboradores.
Proceso de contribución
- Haz un fork de este repositorio y clónalo localmente.
- Crea una nueva rama:
git checkout -b feature/<feature-name>
. - Desarrolla y asegúrate de que tu código cumple con los requisitos.
- Haz commit de tu código:
- Haz push a tu repositorio:
git push origin feature/<feature-name>
. - Crea un PR en GitHub, proporciona una descripción detallada y solicita una revisión a @awwaawwa.
- Asegúrate de que todas las verificaciones automáticas pasan.
Tip
No es necesario esperar hasta que tu desarrollo esté completamente terminado para crear un PR. Crear uno temprano nos permite revisar tu implementación y proporcionar sugerencias.
Si tienes alguna pregunta sobre el código fuente o temas relacionados, por favor contacta al mantenedor en [email protected].
Los archivos de recursos para la versión 2.0 se comparten con BabelDOC. El código para descargar los recursos relacionados está en BabelDOC. Si deseas añadir nuevos archivos de recursos, por favor contacta al mantenedor de BabelDOC en [email protected].
Requisitos básicos
1. Flujo de trabajo
- Por favor, haz un fork desde la rama
main
y desarrolla en tu rama bifurcada. - Al enviar un Pull Request (PR), proporciona una descripción detallada de tus cambios.
- Si tu PR no pasa las verificaciones automáticas (indicado por
checks failed
y una cruz roja), revisa losdetails
correspondientes y modifica tu envío para asegurar que el nuevo PR pase todas las verificaciones.
2. Desarrollo y Pruebas
- Usa el comando
pip install -e .
para desarrollo y pruebas.
3. Formateo de código
- Configurar la herramienta
pre-commit
y habilitarblack
yflake8
para el formato del código.
4. Actualizaciones de dependencias
- Si introduces nuevas dependencias, actualiza la lista de dependencias en el archivo
pyproject.toml
de manera oportuna.
5. Actualizaciones de documentación
- Si añades nuevas opciones de línea de comandos, actualiza la lista de opciones de línea de comandos en todas las versiones de idioma del archivo
README.md
correspondientemente.
6. Mensajes de commit
- Usa Conventional Commits, por ejemplo:
feat(translator): add openai
.
7. Estilo de codificación
- Asegúrate de que el código enviado cumpla con los estándares básicos de estilo de codificación.
- Utiliza snake_case o camelCase para el nombrado de variables.
8. Formato de documentación
- Para el formato de
README.md
, sigue las Directrices de redacción en chino. - Asegúrate de que tanto la documentación en inglés como en chino estén siempre actualizadas; las actualizaciones de documentación en otros idiomas son opcionales.
Añadir un motor de traducción
- Añade una nueva clase de configuración del traductor en el archivo
pdf2zh/config/translate_engine_model.py
. - Añade una instancia de la nueva clase de configuración del traductor al alias de tipo
TRANSLATION_ENGINE_SETTING_TYPE
en el mismo archivo. - Añade la nueva clase de implementación del traductor en la carpeta
pdf2zh/translator/translator_impl
.
Note
Este proyecto no tiene la intención de soportar ningún motor de traducción con un RPS (solicitudes por segundo) inferior a 4. Por favor, no envíes soporte para dichos motores.
Estructura del proyecto
- config folder: Sistema de configuración.
- translator folder: Implementaciones relacionadas con el traductor.
- gui.py: Proporciona la interfaz gráfica de usuario.
- const.py: Algunas constantes.
- main.py: Proporciona la herramienta de línea de comandos.
- high_level.py: Interfaces de alto nivel basadas en BabelDOC.
- http_api.py: Proporciona API HTTP (no iniciado).
Contáctanos
Si tienes alguna pregunta, por favor envía tus comentarios a través de un Issue o únete a nuestro grupo de Telegram. ¡Gracias por tu contribución!
Tip
Immersive Translate patrocina códigos de membresía Pro mensuales para los contribuyentes activos de este proyecto. Para más detalles, consulta: BabelDOC/PDFMathTranslate Reglas de recompensa para contribuyentes