Auto-i18n: herramienta de traducción multilingüe automática con chatgpt
Auto-I18N es una herramienta que traduce automáticamente los archivos de Markdown en multilingüe usando chatGPT. Implementa la automatización completa de la publicación de blog i18n (internacionalización). Solo necesita llevar su publicación de blog a su repositorio de GitHub para traducirse automáticamente a varios idiomas con acciones de GitHub. (El inglés, el español y el árabe son actualmente admitidos, y se proporcionará más soporte del idioma en el futuro)
Las características principales de Auto-I18N:
- Traducción multilingüe de lotes : Auto-I18n proporciona la función de la traducción de lotes, lo que le permite traducir todos los documentos de Markdown en una ruta completa a lenguajes multilingües al mismo tiempo, mejorando en gran medida la eficiencia de los proyectos multilingües.
- Compatible con la materia frontal : Auto-I18N Compatible con la sintaxis de la materia frontal de Markdown, puede personalizar las reglas de traducción o reemplazo para diferentes campos.
- Reemplazo de contenido fijo : Auto-I18N también admite un reemplazo de contenido fijo. Si desea que la traducción de algunos campos duplicados en el documento permanezca sin cambios, esta característica puede ayudarlo a lograr una documentación consistente.
- Flujo de trabajo automatizado : puede usar acciones de GitHub para implementar un proceso de traducción automatizado. Sin intervención manual, el trabajo de traducción procederá automáticamente y actualizará documentos, lo que le permitirá centrarse más en el contenido.
Empiece a comenzar rápidamente
- Cloning el repositorio localmente, renombra
env_template.py a env.py y proporciona su API CHATGPT. Si no tiene su propia API, puede solicitar una gratis en GPT_API_FREE; También puede usar Go ChatGPT-API para convertir la versión web de ChatGPT a API para usar. - Instale los módulos requeridos:
pip install -r requirements.txt . - Ejecute el comando
python auto-translater.py para ejecutar el programa, que procesará automáticamente todos los archivos de Markdown en el directorio de prueba testdir/to-translate , y los lotes lo traducirán al inglés, el español y el árabe. (En el futuro se proporcionará más soporte lingüístico)
Descripción detallada
La lógica en ejecución del programa auto-translater.py es la siguiente:
- El programa procesará automáticamente todos los archivos de Markdown en el directorio de prueba
testdir/to-translate . Puede excluir archivos que no necesitan ser traducidos en la variable exclude_list . - El nombre de archivo procesado se registrará en el
processed_list.txt generado automáticamente_list.txt. Los archivos procesados no se traducirán nuevamente la próxima vez que se ejecute el programa. - Para los artículos originalmente escritos en inglés, el programa no se volverá a traducir al inglés, ni se traducirá de nuevo al chino, sino que se traducirá a otros idiomas. Debe agregar campos en el artículo
> This post was originally written in English. (Tenga en cuenta que hay una línea en blanco en cada superior e inferior) para que el programa lo reconozca. Consulte la prueba Artículo_en.md. - Si necesita volver a traducir el artículo especificado (por ejemplo, los resultados de la traducción son inexactos o el contenido del artículo ha cambiado, etc.), puede agregar un campo
[translate] al artículo (también debe dejar una línea en blanco en la parte superior e inferior). Esto ignorará las reglas exclude_list y processed_list y el procesamiento de la traducción de la fuerza. Consulte el artículo de prueba_force-mark.md. - Si el archivo Markdown contiene materia frontal, el siguiente método de procesamiento se seleccionará de acuerdo con las reglas del programa
front_matter_translation_rules :- Traducción automática: traducida por chatgpt. Aplicable al título del artículo o campo Descripción del artículo.
- Reemplazo de campo fijo: aplicable a los campos de categoría o etiqueta. Por ejemplo, si el mismo nombre de etiqueta chino no quiere traducirse a diferentes etiquetas de inglés, causa errores de índice.
- No se realiza ningún procesamiento: si el campo no aparece en las dos reglas anteriores, el texto original se conservará y no se realizará ningún procesamiento. Aplicable hasta la fecha, URL, etc.
Guía de automatización de GitHub Actions
Puede crear .github/workflows/ci.yml en el repositorio de su proyecto. Cuando se detecta el repositorio de GitHub, puede usar acciones de GitHub para traducirlo y procesarlo automáticamente y volver a comprometerlo automáticamente al repositorio original.
El contenido de ci.yml puede referenciarse como plantilla: CI_Template.yml
Debe agregar dos secretos en la Settings del repositorio: Secrets and variables : Repository secrets : CHATGPT_API_BASE y CHATGPT_API_KEY , y comente la declaración import env en el programa auto-translater.py .
Solución de problemas de error
- Si necesita verificar la disponibilidad de la tecla API CHATGPT, puede usar el programa Verify-API-Key.py para probarla. Si usa la API oficial en el país, debe tener un poder local.
- Si la materia frontal en Markdown no se puede reconocer normalmente, puede usar el programa detect_front_matter.py para probar.
- Cuando encuentre problemas con las acciones de GitHub, priorice la verificación de que la referencia de la ruta es correcta (por ejemplo,
dir_to_translate dir_translated_en dir_translated_es dir_translated_ar processed_list ).
Problemas a resolver
- En algunas circunstancias especiales, la traducción puede ser inexacta o algunos campos no se traducen. Se recomienda verificar manualmente el artículo después de la traducción.
- (Resuelto)
Si la materia frontal se incluye en Markdown, el contenido original de la materia frontal se conservará. Materia frontal Algunas funciones de traducción de parámetros están en desarrollo.
contribuir
¡Bienvenido a participar en la mejora de este proyecto! Si desea contribuir con código, informar preguntas o hacer sugerencias, consulte la Guía de contribución.
Derechos de autor y licencia
Este proyecto adopta una licencia MIT.
Preguntas y apoyo
Si encuentra algún problema con Auto-I18N o necesita soporte técnico, no dude en enviar el problema.
Mi blog utiliza auto-i18n para implementar soporte multilingüe, y puede ir al wiki de la potencia para ver los efectos de demostración.
Expresiones de gratitud
- Gracias a ChatanyWhere/GPT_API_Free por la tecla API CHATGPT gratuita.
- Gracias a Linweiyuan/Go-Chatgpt-API por el método para convertir ChatGPT en API en la web.