diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4bd0221..ee4ded6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -134,3 +134,7 @@ This prevents pip packages from being installed system-wide. This way, there are References: * [Python venv documentation](https://docs.python.org/library/venv.html) + +## Other Languages + +- [Español (CONTRIBUTING)](docs/CONTRIBUTING.es.md) \ No newline at end of file diff --git a/docs/CONTRIBUTING.es.md b/docs/CONTRIBUTING.es.md new file mode 100644 index 0000000..6cdda07 --- /dev/null +++ b/docs/CONTRIBUTING.es.md @@ -0,0 +1,138 @@ +# Contribuyendo + +Si desea modificar el código, puede compilar desde el código fuente y ejecutar la API. + +## Dependencias de compilación + +* cmake + +### Debian / Ubuntu + +```sh +sudo apt-get install cmake +``` + +### Fedora / RHEL + +```sh +sudo dnf install cmake +``` + +## Primeros pasos + +Instale [`hatch`](https://hatch.pypa.io) para administrar las dependencias del proyecto y ejecutar scripts de desarrollo: + +```bash +pipx install hatch +``` + +Clonar el repositorio: + +```bash +git clone https://github.com/LibreTranslate/LibreTranslate.git +cd LibreTranslate +``` + +Hatch instalará automáticamente las dependencias necesarias en un entorno virtual y habilitará [`pre-commit`](https://pre-commit.com/), que se ejecutará antes de cada confirmación para ejecutar el formateo. Si es necesario, puedes ignorar las comprobaciones de `pre-commit` al confirmar: `git commit --no-verify -m "Fix"` + +Ejecutar en desarrollo: + +```bash +hatch run dev --debug +``` + +Luego, abre un navegador web en + +También puedes iniciar una nueva shell en un entorno virtual con libretranslate instalado: + +```bash +hatch shell +libretranslate [args] +# O +python main.py [args] +``` + +> Puedes usar `pip install -e ".[test]"` directamente si no quieres usar Hatch. + +## Ejecutar las pruebas + +Ejecutar el conjunto de pruebas y las comprobaciones de linting: + +```bash +hatch run test +``` + +Para mostrar todos los `print()` durante la depuración: + +```bash +hatch run test -s +``` + +También puedes ejecutar las pruebas en varias versiones de Python: + +```bash +hatch run all:test +``` + +Puedes limpiar el entorno virtual con: + +```bash +hatch env prune +``` + +## Ejecutar con Docker + +Linux/MacOS: `./run.sh [args]` +Windows: `run.bat [args]` + +Luego, abre un navegador web en + +## Construir con Docker + +```bash +docker build -f docker/Dockerfile [--build-arg with_models=true] -t libretranslate . +``` + +Si quieres ejecutar la imagen de Docker en un entorno completamente sin conexión, debes agregar el parámetro `--build-arg with_models=true`. Los modelos de lenguaje se descargan durante el proceso de construcción de la imagen. De lo contrario, estos modelos se descargan durante la primera ejecución de la imagen/contenedor. + +Ejecute la imagen compilada: + +```bash +docker run -it -p 5000:5000 libretranslate [args] +``` + +O compila y ejecuta con Docker Compose: + +```bash +docker compose up -d --build +``` + +> Puedes modificar el archivo [`docker-compose.yml`](https://github.com/LibreTranslate/LibreTranslate/blob/main/docker-compose.yml) para adaptarlo a tus necesidades de implementación o usar un archivo `docker-compose.prod.yml` adicional para la configuración de tu implementación. +> +> Los modelos se almacenan dentro del contenedor en `/home/libretranslate/.local/share` y `/home/libretranslate/.local/cache`. Puedes usar volúmenes si no quieres volver a descargar los modelos cuando se destruya el contenedor. Para actualizar los modelos, usa el argumento `--update-models`. + +## Preguntas frecuentes + +### Entorno administrado externamente + +Algunos usuarios pueden encontrar el siguiente error al instalar paquetes: + +``` +error: externally-managed-environment + +× Este entorno está administrado externamente +╰─> Para instalar paquetes de Python en todo el sistema, pruebe apt install python3-xyz, donde xyz es el paquete que intenta instalar. + + … +``` + +Esto ocurre cuando su sistema operativo depende de Python y lo administra para su funcionalidad principal. En este caso, debe instalar y configurar venv (entornos virtuales) para administrar las dependencias del proyecto. + +Esto evita que los paquetes pip se instalen en todo el sistema. De esta manera, se evita el riesgo de que los paquetes pip entren en conflicto entre varios proyectos o el sistema operativo. + +Referencias: +* [Documentación de venv sobre Python](https://docs.python.org/library/venv.html) + +## Otros idiomas + +- [English (CONTRIBUTING)](/CONTRIBUTING.md) \ No newline at end of file diff --git a/docs/README.es.md b/docs/README.es.md index 6f1d7e2..ebf6d19 100644 --- a/docs/README.es.md +++ b/docs/README.es.md @@ -10,10 +10,6 @@ API de traducción automática gratuita y de código abierto, completamente aloj [Pruébalo en línea!](https://libretranslate.com) | [Documentación de la API](https://libretranslate.com/docs) -## Otros idiomas - -- [English (README)](/README.md) - ## Ejemplos de la API ### Básico @@ -741,4 +737,8 @@ Este trabajo es posible en gran medida gracias a [Argos Translate](https://githu ## Marca registrada -Consulte las [Directrices de marca registrada](https://github.com/LibreTranslate/LibreTranslate/blob/main/docs/TRADEMARK.es.md) \ No newline at end of file +Consulte las [Directrices de marca registrada](https://github.com/LibreTranslate/LibreTranslate/blob/main/docs/TRADEMARK.es.md) + +## Otros idiomas + +- [English (README)](/README.md) \ No newline at end of file