Módulos opcionales de Weblate¶
Hay varios módulos opcionales disponibles para que los configure.
Exportador de Git¶
Le proporciona acceso de solo lectura al repositorio Git subyacente mediante HTTP(S).
Instalación¶
Añade
weblate.gitexportpara instalar aplicaciones ensettings.py:INSTALLED_APPS += ("weblate.gitexport",)
Exporte los repositorios existentes migrando su base de datos después de la instalación:
weblate migrate
Consejo
El exportador de Git está activado en nuestra imagen oficial de Docker. Para apagarlo, use:
WEBLATE_REMOVE_APPS=weblate.gitexport
Modo de empleo¶
El módulo engancha automáticamente en Weblate y establece la URL del repositorio exportado en el Configuración de componentes. Los repositorios son accesibles bajo la parte /git de la URL de Weblate, por ejemplo https://example.org/git/weblate/main/.
Repositorios para proyectos disponibles públicamente pueden ser clonados sin autenticación:
git clone 'https://example.org/git/weblate/main/'
Acceso para explorar los repositorios con acceso restringido (con Privado control de acceso o cuando REQUIRE_LOGIN está habilitado) requiere un vale de API el cual puede ser obtenido en su user profile:
git clone 'https://user:KEY@example.org/git/weblate/main/'
Nota
Weblate gestiona el repositorio Git, pero no los objetos Git LFS. Para repositorios que utilizan Git LFS, clone desde el repositorio original y añada Weblate como repositorio remoto. Si solo necesita archivos con seguimiento de Git, puede clonar desde Weblate con GIT_LFS_SKIP_SMUDGE=1 para omitir la descarga de objetos Git LFS.
Consejo
De forma predeterminada, los miembros o el grupo Usuarios y los usuarios anónimos tienen acceso a los repositorios de proyectos públicos a través de los roles Acceso al repositorio y Usuario avanzado.
Facturación¶
Esto se utiliza en Hosted Weblate para definir planes de facturación, seguimiento de facturas y límites de uso.
Instalación¶
1. Add weblate.billing to installed apps in
settings.py:
INSTALLED_APPS += ("weblate.billing",)
Ejecute la migración de base de datos para instalar opcionalmente estructuras de base de datos adicionales para el módulo:
weblate migrate
Creación y asignación del plan de facturación¶
Primero necesita crear un plan de facturas para activar facturación. Navegue a la sección Administración (representada por el icono retorcido) y abra la pantalla Herramientas. Desde allí, procede al Interfaz admin de Django.
En la interfaz administrativa de Django, situar la sección FACTURA y agregar un plan de facturación. Por ejemplo, puede agregar un plan Gratuito sin coste alguno.
Si desea asignar un plan de facturación a un proyecto existente, esto también se puede hacer dentro de la “interfaz de administración de Django” usando la opción Factura de cliente.
Por último, la Django admin interface proporciona una opción de Factura para registrar los pagos de sus clientes.
Modo de empleo¶
Tras la instalación, puede controlar la factura en la interfaz administrativa. Los usuarios con facturas activadas tendrán una pestaña nueva Factura en su Perfil de usuario.
El módulo de facturación permite además a los administradores de proyectos crear nuevos proyectos y componentes sin ser superusuarios (consulte Añadir proyectos y componentes de traducción). Esto es posible cuando se cumplen las siguientes condiciones:
La facturación se encuentra dentro de los límites configurados (cualquier uso excesivo provoca el bloqueo de la creación del proyecto/componente) y pagada (si su precio es distinto de cero)
El usuario es administrador del proyecto existente con facturación o el usuario es propietario de la facturación (esto último es necesario al crear una nueva facturación para que los usuarios puedan importar nuevos proyectos).
Al crear el proyecto, el usuario puede elegir qué facturación se debe cobrar por el proyecto en caso de que tenga acceso a más de ellos.
Módulo legal¶
Esto se usa en Hosted Weblate para proporcionar los documentos legales requeridos. Viene provisto de documentos en blanco, y se espera que complete las siguientes plantillas en los documentos:
legal/documents/tos.htmlDocumento de términos de servicio
legal/documents/privacy.htmlDocumento de directiva de privacidad
legal/documents/summary.htmlBreve descripción de los términos de servicio y la directiva de privacidad
Al cambiar los documentos de los términos de servicio, ajuste LEGAL_TOS_DATE para que los usuarios se vean obligados a aceptar los documentos actualizados.
Nota
Los documentos legales para el servicio Weblate alojado operado por Weblate s.r.o. están disponibles en este repositorio Git: <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents>.
Los términos de servicio vinculados y relativos a documentos legislativos están especificados a ese servicio y no son intencionados para uso general. Aún podrían resultar útiles como punto de partida si se adaptan a sus necesidades.
Instalación¶
1. Add weblate.legal to installed apps in
settings.py:
INSTALLED_APPS += ("weblate.legal",)
# Optional:
# Social auth pipeline to confirm TOS upon registration/subsequent sign in
SOCIAL_AUTH_PIPELINE += ("weblate.legal.pipeline.tos_confirm",)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
Ejecute la migración de base de datos para instalar opcionalmente estructuras de base de datos adicionales para el módulo:
weblate migrate
Editar los documentos legales en la carpeta
weblate/legal/templates/legal/para que coincidan con su servicio.
Consejo
En las implementaciones de Docker, habilite el módulo legal usando WEBLATE_LEGAL_INTEGRATION en lugar de editar settings.py. Emplee tos-confirm para habilitar el módulo legal y la confirmación de los términos de servicio, o wllegal para cargar adicionalmente las plantillas de documentos legales alojadas que utilizan los servicios operados por Weblate s.r.o. Estas plantillas no están destinadas a un uso general. Para proporcionar sus propias plantillas en Docker, colóquelas en /app/data/python/customize/templates/legal/documents, consulte Reemplazo de logotipos y otros archivos estáticos.
Modo de empleo¶
Después de la instalación y edición, los documentos legales se muestran en la interfaz de usuario de Weblate.
Avatares¶
Los avatares se descargan y almacenan en caché en el lado del servidor para reducir las filtraciones de información a los sitios que los sirven de forma predeterminada. El soporte incorporado para obtener avatares de direcciones de correo electrónico configuradas para ello se puede desactivar usando ENABLE_AVATARS.
Weblate actualmente admite:
Ver también
CDN de regionalización¶
The CDN de regionalización de JavaScript and Translation files CDN add-ons
write files to LOCALIZE_CDN_PATH; Weblate does not serve them.
Configure the web server or CDN serving LOCALIZE_CDN_URL as a
public, read-only static file host.
Treat every published CDN file as public. The add-on specific UUID in the URL is not an access-control mechanism. Do not enable CDN add-ons for components that contain private strings, unreleased product text, customer data, internal URLs, API examples, repository paths, translator comments, or file-format metadata that should not be exposed.
The Translation files CDN add-on publishes raw translation files in formats supported by Weblate. Some formats can be interpreted by browsers or other clients as HTML, SVG, XML, JavaScript, YAML, or application-specific configuration. Serve the CDN from a dedicated domain that is separate from Weblate and from the application consuming the translations. Do not share authentication cookies with the CDN domain.
Recommended server configuration:
Serve only the directory configured by
LOCALIZE_CDN_PATH; do not expose Weblate repositories, backups, media, configuration, or the whole data directory.Disable directory listing.
Use HTTPS and make the CDN host read-only from the web server.
Send X-Content-Type-Options with
nosniff.Configure conservative MIME types. Serve unknown translation formats as text/plain or application/octet-stream; only serve
weblate.jsas JavaScript.For raw translation formats that are not intended to be rendered in a browser, consider adding Content-Disposition with
attachment.Configure
Access-Control-Allow-Originonly for sites that need browser access to the files.Set cache lifetimes that match your update expectations, and purge CDN caches when stale translations must disappear quickly.
The following nginx snippet serves only the configured CDN directory and applies conservative defaults for raw translation files:
#
# nginx configuration for the Weblate localization CDN
#
# You will want to change:
#
# - server_name to match the host configured in LOCALIZE_CDN_URL
# - root to match LOCALIZE_CDN_PATH
# - Access-Control-Allow-Origin to the sites that need browser access
# - TLS configuration if HTTPS is not terminated before nginx
#
server {
listen 80;
server_name cdn.example.com;
# LOCALIZE_CDN_PATH
root /home/weblate/data/l10n-cdn;
autoindex off;
disable_symlinks on;
location = / {
return 404;
}
# The JavaScript localization add-on publishes this loader.
location ~ "^/[0-9a-f]{32}/weblate\.js$" {
try_files $uri =404;
types {
application/javascript js;
}
default_type application/javascript;
add_header X-Content-Type-Options nosniff always;
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
expires 1h;
}
# Other CDN files are translation files. Serve them conservatively so raw
# formats are not interpreted as active browser content.
location / {
try_files $uri =404;
types {
}
default_type text/plain;
add_header X-Content-Type-Options nosniff always;
add_header Content-Disposition "attachment" always;
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
expires 1h;
}
}
Firmando consolidaciones de Git con GnuPG¶
Todas las consolidaciones pueden firmarse con la clave GnuPG de la instancia de Weblate.
Activar
WEBLATE_GPG_IDENTITY. (Weblate generará una clave GnuPG cuando sea necesario y la usará para firmar todas las consolidaciones de traducción.)Esta característica necesita instalado GnuPG 2.1 o posterior.
Puede encontrar la clave en
DATA_DIRy la clave pública se muestra en la página «Acerca de»:
Alternativamente, también puede importar claves existentes en Weblate, simplemente configure
HOME=$DATA_DIR/homeal invocar gpg.
Consejo
Weblate almacena en caché el material de la clave durante un largo período. En caso de que permita que Weblate genere una clave con WEBLATE_GPG_IDENTITY y luego importe una clave con la misma identidad para usar una clave existente, se recomienda purgar la caché de Redis para ver el efecto de dicho cambio.
Nota
Al compartir DATA_DIR entre varios hosts, siga las instrucciones en https://wiki.gnupg.org/NFS para que la firma de GnuPG funcione de manera confiable.
Ver también
Tipo limitante¶
Distinto en la versión 4.6: El tipo limitante no se aplica más para firmado en superusuarios.
Varias operaciones en Weblate tienen un límite de frecuencia. Se permiten como máximo RATELIMIT_ATTEMPTS intentos en RATELIMIT_WINDOW segundos. El usuario queda bloqueado durante RATELIMIT_LOCKOUT. También existen ajustes específicos para ciertos ámbitos, como RATELIMIT_CONTACT_ATTEMPTS o RATELIMIT_TRANSLATE_ATTEMPTS. La tabla siguiente es un listado completo de ámbitos disponibles.
Las operaciones siguientes son asunto para tipo limitado:
Nombre |
Alcance |
Intentos permitidos |
Tipo de límite de ventana |
Período de bloqueo |
|---|---|---|---|---|
Registro |
|
5 |
300 |
600 |
Enviar un mensaje a los administradores |
|
2 |
300 |
600 |
Autenticación de contraseña en el inicio de sesión |
|
5 |
300 |
600 |
Autenticación en segundo factor |
|
5 |
300 |
600 |
Búsqueda en todo el sitio |
|
6 |
60 |
60 |
Traducción |
|
30 |
60 |
600 |
Adición al glosario |
|
30 |
60 |
600 |
Comenzar una traducción en un idioma nuevo |
|
2 |
300 |
600 |
Crear un proyecto nuevo |
|
5 |
600 |
600 |
La limitación de los tipos se basa en las sesiones en las que el usuario ha iniciado sesión en la dirección IP si no.
Si un usuario no consigue iniciar sesión AUTH_LOCK_ATTEMPTS veces, la autenticación de contraseña se desactivará en la cuenta hasta que haya pasado por el proceso de restablecimiento de su contraseña.
La configuración también se puede aplicar en el contenedor Docker agregando el prefijo WEBLATE_ al nombre de la configuración, por ejemplo RATELIMIT_ATTEMPTS se convierte en WEBLATE_RATELIMIT_ATTEMPTS.
El API tiene configuraciones de limitación de velocidad separadas, consulte Limitación del tipo de API.