Modules
Nouveau dans la version 2.19.
Les greffons permettent de personnaliser et d’automatiser le flux de traduction. Les administrateurs peuvent ajouter et gérer des greffons à partir du menu Gestion ↓ Greffons de chaque composant de traduction.
Indication
Vous pouvez également configurer les greffons en utilisant API, DEFAULT_ADDONS
, ou install_addon
.

Greffons intégrés
Traduction automatique
Nouveau dans la version 3.9.
- ID du module
weblate.autotranslate.autotranslate
- Configuration
mode
Mode de traduction automatique
Choix disponibles :
suggest
– Ajouter comme suggestiontranslate
– Ajouter comme traductionfuzzy
– Ajouter comme À vérifierfilter_type
Filtre de recherche
Veuillez noter que traduire toutes les chaînes écrasera les traductions existantes.
Choix disponibles :
all
– Toutes les chaînesnottranslated
– Chaînes non traduitestodo
– Chaînes inachevéesfuzzy
– Chaînes marquées pour éditioncheck:inconsistent
– Échec de la vérification : Incohérenceauto_source
Source de traduction automatique
Choix disponibles :
others
–Autres composants de traductionmt
–Traduction automatiquecomponent
Composants
Précisez le composant à utiliser comme source, laissez vide pour utiliser tous les composants du projet actuel.
engines
Moteurs de traduction automatisée
threshold
Seuil de score
- Déclencheurs
Mise à jour des composants, quotidienne
Traduit automatiquement les chaînes en utilisant des services de traduction automatique ou les traductions dans d’autres composants.
Il est déclenché :
Quand de nouvelles chaînes apparaissent dans un composant.
Une fois par mois pour chaque composant, ceci peut être configuré en utilisant
BACKGROUND_TASKS
.
JavaScript localisation CDN
Nouveau dans la version 4.2.
- ID du module
weblate.cdn.cdnjs
- Configuration
threshold
Seuil de traduction
Seuil d’inclusion des traductions.
css_selector
Sélecteur CSS
Sélecteur CSS pour détecter les éléments traduisibles.
cookie_name
Nom du cookie de langue
Nom du cookie contenant la langue préférée.
files
Extraire des chaînes de caractères depuis des fichiers HTML
Liste des noms de fichiers dans le dépôt actuel ou des URL distantes à analyser pour les chaînes traduisibles.
- Déclencheurs
daily, repository post-commit, repository post-update
Publie les traductions dans le réseau de diffusion de contenu (CDN) pour utilisation dans la localisation JavaScript ou HTML.
Peut être utilisé pour localiser des pages HTML statiques ou pour charger la localisation dans le code JavaScript.
Génère une URL unique pour votre composant que vous pouvez inclure dans les documents HTML pour les localiser. Voir Translating HTML and JavaScript using Weblate CDN pour plus de détails.
Supprimer les chaînes constituées d’espaces
Nouveau dans la version 4.4.
- ID du module
weblate.cleanup.blank
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
repository post-commit, repository post-update
Supprime les chaînes sans traduction des fichiers de traduction.
À utiliser pour ne pas avoir de chaînes vides dans les fichiers de traduction (par exemple si votre bibliothèque de localisation les affiche comme manquantes au lieu de revenir au texte d’origine).
Nettoyer les fichiers de traduction
- ID du module
weblate.cleanup.generic
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
repository pre-commit, repository post-update
Mettre à jour tous les fichiers de traduction pour qu’ils correspondent au fichier mono-langue de base. Pour la plupart des formats de fichier, cela signifie supprimer les clés de traduction désuètes.
Ajouter les langues manquantes
- ID du module
weblate.consistency.languages
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
daily, repository post-add
S’assure qu’un ensemble cohérent de langues est utilisé pour tous les composants d’un projet.
Les langues manquantes sont vérifiées toutes les 24 heures, et lorsque de nouvelles langues sont ajoutées dans Weblate.
Contrairement à d’habitude, ce module s’applique à l’ensemble du projet.
Indication
Traduisez automatiquement les chaînes de caractères nouvellement ajoutées avec Traduction automatique.
Découverte du composant
- ID du module
weblate.discovery.discovery
- Configuration
match
Expression rationnelle à laquelle faire correspondre les fichiers de traduction
file_format
Format de fichier
name_template
Personnaliser le nom du composant
base_file_template
Définir le nom du fichier de base mono-langue
Laisser vide pour les fichiers de traduction bilingue.
new_base_template
Définit le fichier de base pour de nouvelles traductions
Nom du fichier utilisé pour la création de nouvelles traductions. Pour gettext choisir un fichier .pot.
intermediate_template
Fichier de langue intermédiaire
Nom du fichier de traduction intermédiaire. Dans la plupart des cas, il s’agit d’un fichier de traduction fourni par les développeurs et utilisé pour créer les chaînes sources.
language_regex
Filtre sur la langue
Expression rationnelle pour filtrer les fichiers de traduction lors de la recherche d’un motif de fichier.
copy_addons
Dupliquer les modules du composant principal vers les éléments nouvellement créés
remove
Supprimer les composants pour les fichiers inexistants
confirm
Je confirme que les correspondances ci-dessus semblent correctes
- Déclencheurs
mise à jour du dépôt de post
Ajoute ou supprime automatiquement des composants du projet en fonction des fichiers modifiés dans le système de contrôle de version.
Déclenchée à chaque mise à jour du système de contrôle des versions, et par ailleurs similaire à la commande de gestion import_project
. De cette façon, vous pouvez suivre plusieurs composants de traduction dans un seul système de contrôle des versions.
La mise en correspondance se fait à l’aide d’expressions régulières permettant une configuration complexe, mais nécessitant certaines connaissances. Quelques exemples de cas d’utilisation courants sont disponibles dans la section d’aide du greffon.
Une fois que vous aurez cliqué sur Enregistrer, un aperçu des composants correspondants sera présenté, à partir duquel vous pourrez vérifier si la configuration correspond réellement à vos besoins :

Indication
Component discovery add-on uses URLs internes de Weblate. It’s a convenient way to share
VCS setup between multiple components. Linked components use the local repository of
the main component set up by filling weblate://project/main-component
into the Dépôt du code source field (in Manage ↓ Settings ↓
Version control system) of each respective component.
This saves time with configuration and system resources too.
Voir aussi
Modification en masse
Nouveau dans la version 3.11.
- ID du module
weblate.flags.bulk
- Configuration
q
Requête
state
État à paramétrer
Choix disponibles :
-1
– Ne pas modifier10
–À vérifier20
– Traduit30
– Approuvéadd_flags
Drapeaux de traduction à ajouter
remove_flags
Drapeaux de traduction à supprimer
add_labels
Libellés à ajouter
remove_labels
Libellés à supprimer
- Déclencheurs
mise à jour de composant
Modifier en masse les drapeaux, les libellés ou les statuts des chaînes.
Automate labeling by starting out with the search query NOT has:label
and add labels till all strings have all required labels.
Other automated operations for Weblate metadata can also be done.
Exemples :
Requête de recherche |
|
---|---|
Libellés à ajouter |
récent |
Requête de recherche |
|
---|---|
Drapeaux de traduction à ajouter |
|
Marquer les traductions inchangées comme « À vérifier »
Nouveau dans la version 3.1.
- ID du module
weblate.flags.same_edit
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
unit post-create
Chaque nouvelle chaîne de traduction importée depuis le système de contrôle des versions et identique à la chaîne source sera marquée comme « À vérifier » dans Weblate. Ce paramètre est particulièrement utile pour les formats de fichier contenant une copie des chaînes sources dans les chaînes à traduire.
Indication
You might also want to tighthen the Traduction inchangée check by adding
strict-same
flag to Drapeaux de traduction.
Voir aussi
Marquer les nouvelles chaînes sources comme « À vérifier »
- ID du module
weblate.flags.source_edit
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
unit post-create
Quand une nouvelle chaîne source est importée du système de contrôle de versions, elle est marquée dans Weblate comme « À vérifier ». Vous pouvez ainsi filtrer et modifier facilement les chaînes sources rédigées par les développeurs.
Voir aussi
Marquer les nouvelles traductions comme « À vérifier »
- ID du module
weblate.flags.target_edit
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
unit post-create
Lorsqu’une nouvelle chaîne à traduire est importée dans Weblate depuis le système de contrôle de versions, elle est marquée comme « À vérifier ». Vous pouvez ainsi filtrer et modifier facilement les traductions créées par les développeurs.
Voir aussi
Générateur de statistiques
- ID du module
weblate.generate.generate
- Configuration
filename
Nom du fichier généré
template
Contenu du fichier généré
- Déclencheurs
repository pre-commit
Génère un fichier avec des informations détaillées sur les statuts de la traduction.
Vous pouvez utiliser un modèle Django à la fois dans le nom de fichier et dans le contenu, voir Balisage de modèle pour une description détaillée des balises.
Par exemple, générer un fichier de résumé pour chaque traduction :
- Nom du fichier généré
locale/{{ language_code }}.json
- Contenu
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Voir aussi
Pré-remplir la traduction avec la source
Nouveau dans la version 4.11.
- ID du module
weblate.generate.prefill
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
Mise à jour des composants, quotidienne
Alimente les chaînes de traduction avec la chaîne source.
Toutes les chaînes non traduites dans le composant seront renseignées avec la chaîne source, et marquées comme devant être modifiées. Utilisez ceci lorsque vous ne pouvez pas avoir de chaînes vides dans les fichiers de traduction.
Génération d’une pseudo-traduction
Nouveau dans la version 4.5.
- ID du module
weblate.generate.pseudolocale
- Configuration
source
Chaînes source
target
Traduction cible
Toutes les chaines de cette traduction vont être remplacées
prefix
Préfixe de chaîne fixe
var_prefix
Préfixe de chaîne variable
suffix
Suffixe de chaîne fixe
var_suffix
Suffixe de chaîne variable
var_multiplier
Répétitions de la partie variable
Nombre de répétitions de la partie variable en fonction de la longueur de la chaîne source.
- Déclencheurs
Mise à jour des composants, quotidienne
Génère une pseudo-traduction en ajoutant automatiquement un préfixe et un suffixe aux chaînes sources.
Pseudolocales are useful to find strings that are not prepared for localization. This is done by altering all translatable source strings to make it easy to spot unaltered strings when running the application in the pseudolocale language.
Finding strings whose localized counterparts might not fit the layout is also possible.
Using the variable parts makes it possible to look for strings which might not
fit into the user interface after the localization - it extends the text based
on the source string length. The variable parts are repeated by length of the
text multiplied by the multiplier. For example Hello world
with variable
suffix _
and variable multiplier of 1 becomes Hello world___________
-
the suffix is repeated once for each character in the source string.
Les chaînes seront générées d’après le motif suivant :
Fixed string prefix Variable string prefix Source string Variable string suffix Fixed string suffix
Indication
Vous pouvez utiliser des langues réelles pour les tests, mais il existe des pseudo-traductions dédiées disponibles dans Weblate — en_XA et ar_XB.
Indication
You can use this add-on to start translation to a new locale of an existing language or similar language. Once you add the translation to the component, follow to the add-on. Example: If you have fr and want to start fr_CA translation, simply set fr as the source, fr_CA as the target, and leave the prefix and suffix blank.
Désinstallez le greffon une fois la nouvelle traduction remplie pour empêcher Weblate de modifier les traductions effectuées après la copie.
Contributeurs dans le commentaire
- ID du module
weblate.gettext.authors
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
repository pre-commit
Ajoute le nom des contributeurs et les années de contribution dans le commentaire d’en-tête du fichier PO.
L’entête du fichier PO ressemble généralement à ceci :
# Michal Čihař <michal@cihar.com>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
Mettre à jour la variable ALL_LINGUAS dans le fichier « configure »
- ID du module
weblate.gettext.configure
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
repository post-add, daily
Met à jour la variable ALL_LINGUAS dans les fichiers configure
, configure.in
ou configure.ac
, lorsqu’une nouvelle traduction est ajoutée.
Personnaliser la sortie gettext
- ID du module
weblate.gettext.customize
- Configuration
width
Retour à la ligne des lignes longues
Par défaut, gettext retourne à la ligne à 77 caractères et pour les nouvelles lignes. Avec le paramètre «–no-wrap», le retour à la ligne n’est réalisé que pour les nouvelles lignes.
Choix disponibles :
77
– Retourne à la ligne à 77 caractères et pour les nouvelles lignes65535
– Retourne à la ligne uniquement pour les nouvelles lignes-1
– Aucun retour à la ligne- Déclencheurs
stockage après chargement
Permet de personnaliser la sortie de gettext, par exemple le retour à la ligne automatique.
Il offre les options suivantes :
Retour à la ligne à 77 caractères et pour les nouvelles lignes
Retour à la ligne automatique uniquement pour les nouvelles lignes
Aucun retour à la ligne automatique
Note
By default gettext wraps lines at 77 characters and at newlines.
With the --no-wrap
parameter, wrapping is only done at newlines.
Mettre à jour le fichier LINGUAS
- ID du module
weblate.gettext.linguas
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
repository post-add, daily
Met à jour le fichier LINGUAS lors de l’ajout d’une nouvelle traduction.
Générer des fichiers MO
- ID du module
weblate.gettext.mo
- Configuration
path
Chemin du fichier MO généré
Si non précisé, l’emplacement utilisé sera identique à celui du fichier PO.
- Déclencheurs
repository pre-commit
Génère automatiquement un fichier MO pour chaque fichier PO modifié.
L’emplacement du fichier MO généré peut être personnalisé et le champ pour cela utilise Balisage de modèle.
Mettre à jour les fichiers PO afin qu’ils correspondent au POT (msgmerge)
- ID du module
weblate.gettext.msgmerge
- Configuration
previous
Conserver les msgids précédents des chaînes traduites
no_location
Supprimer l’emplacement des chaînes traduites
fuzzy
Utiliser les correspondances approximatives
- Déclencheurs
mise à jour du dépôt de post
Met à jour tous les fichiers PO (tels que configuré par Masque de fichier) pour correspondre au fichier POT (tel que configuré par Modèle pour les nouvelles traductions) en utilisant msgmerge.
Triggered whenever new changes are pulled from the upstream repository. Most msgmerge command-line options can be set up through the add-on configuration.
Écrasement des archivages Git
- ID du module
weblate.git.squash
- Configuration
squash
Écrasement des archivages
Choix disponibles :
all
– All commits into onelanguage
– Per languagefile
– Par fichierauthor
– Par auteurappend_trailers
Ajout de champs d’en-têtes aux messages d’écrasement des archivages
Les lignes de fin sont des lignes comparables aux lignes d’en-tête RFC 822 pour les courriels. Ces lignes sont ajoutées en fin de la partie libre du message d’archivage. Exemple : « Co-authored-by : … ».
commit_message
Message d’archivage
Ce message d’archivage sera utilisé à la place des messages d’archivage combinés des archivages écrasés.
- Déclencheurs
repository post-commit
Écraser les archivages Git avant de pousser les modifications.
Git commits can be squashed prior to pushing changes in one of the following modes:
Tous les archivages en un seul
Par langue
Par fichier
Par auteur
Les messages d’archivage originaux sont préservés mais perdront la paternité de l’archivage, sauf si vous sélectionnez Par auteur ou si vous personnalisez le message d’archivage pour l’inclure.
Les messages d’archivage originaux peuvent être écrasés par un message d’archivage personnalisé.
Les Trailers (lignes d’archivage comme Co-authored-by : …
) peuvent éventuellement être supprimés des messages d’archivage originaux et ajoutés à la fin du message d’archivage écrasé. Ceci génère également un crédit Co-authored-by :
pour chaque traducteur.
Personnaliser la sortie JSON
- ID du module
weblate.json.customize
- Configuration
sort_keys
Trier les clés JSON
indent
Indentation JSON
style
Style d’indentation JSON
Choix disponibles :
spaces
– Espacestabs
– Onglets- Déclencheurs
stockage après chargement
Permet de paramétrer le comportement de la sortie de JSON, par exemple l’indentation ou le tri.
Format the Java properties file
- ID du module
weblate.properties.sort
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
repository pre-commit
Formats and sorts the Java properties file.
Consolidates newlines to Unix ones.
Uppercase formatting of Unicode escape sequences (in case they are present).
Strips blank lines and comments.
Sorts the strings by the keys.
Drops duplicate strings.
Purge automatique des commentaires
Nouveau dans la version 3.7.
- ID du module
weblate.removal.comments
- Configuration
age
Nombre de jours à conserver
- Déclencheurs
quotidien
Définir le délai au bout duquel les commentaires sont supprimés.
Cela peut être utile pour supprimer d’anciens commentaires qui pourraient être devenus obsolètes. Utilisez-les avec précaution, car le fait qu’un commentaire devienne ancien ne signifie pas qu’il a perdu de son importance.
Purge automatique des suggestions
Nouveau dans la version 3.7.
- ID du module
weblate.removal.suggestions
- Configuration
age
Nombre de jours à conserver
votes
Seuil de votes
Seuil pour la suppression d’une suggestion. Ce champ est sans effet lorsque le vote est désactivé.
- Déclencheurs
quotidien
Définir le délai au bout duquel les suggestions sont supprimées.
Can be very useful in connection with suggestion voting (see Peer review) to remove suggestions which don’t receive enough positive votes in a given timeframe.
Mettre à jour les fichiers RESX
Nouveau dans la version 3.9.
- ID du module
weblate.resx.update
- Configuration
Ce module ne possède aucun paramètre.
- Déclencheurs
mise à jour du dépôt de post
Mettre à jour tous les fichiers de traduction pour qu’ils correspondent au fichier de base amont monolingue. Les chaînes inutilisées sont supprimées et de nouvelles chaînes sont ajoutées en copiant la chaîne source.
Indication
Utilisez Nettoyer les fichiers de traduction si vous voulez seulement supprimer les clés de traduction périmées.
Personnaliser la sortie YAML
Nouveau dans la version 3.10.2.
- ID du module
weblate.yaml.customize
- Configuration
indent
Indentation YAML
width
Retour à la ligne des lignes longues
Choix disponibles :
80
– Retourne à la ligne à 80 caractères100
– Retourne à la ligne à 100 caractères120
– Retourne à la ligne à 120 caractères180
– Retourne à la ligne à 180 caractères65535
– Aucun retour à la ligneline_break
Retour à la ligne automatique
Choix disponibles :
dos
– DOS (\r\n)unix
– UNIX (\n)mac
– MAC (\r)- Déclencheurs
stockage après chargement
Permet de paramétrer le comportement de la sortie YAML, par exemple la longueur des lignes ou le saut de ligne.
Personnalisation de la liste des greffons
The list of add-ons is configured by WEBLATE_ADDONS
.
To add another add-on, simply include the absolute class name in this setting.
Écrire un greffon
You can write your own add-ons too, create a subclass of
weblate.addons.base.BaseAddon
to define the add-on metadata, and
then implement a callback to do the processing.
Voir aussi
Exécution de scripts à partir du greffon
Add-ons can also be used to execute external scripts. This used to be integrated in Weblate, but now you have to write some code to wrap your script with an add-on.
#
# Copyright © 2012–2022 Michal Čihař <michal@cihar.com>
#
# This file is part of Weblate <https://weblate.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
"""Example pre commit script."""
from django.utils.translation import gettext_lazy as _
from weblate.addons.events import EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events = (EVENT_PRE_COMMIT,)
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long descrption
verbose = _("Execute script before commit")
description = _("This add-on executes a script.")
# Script to execute
script = "/bin/true"
# File to add in commit (for pre commit event)
# does not have to be set
add_file = "po/{{ language_code }}.po"
Pour les instructions d’installation, consultez Custom quality checks, add-ons and auto-fixes.
Le script est exécuté avec le répertoire courant placé à la racine du dépôt de système de contrôle des versions pour un composant donné.
En outre, les variables d’environnement suivantes sont disponibles :
- WL_VCS
Système de contrôle de version utilisé.
- WL_REPO
URL du dépôt en amont.
- WL_PATH
Chemin absolu vers le dépôt du système de contrôle des versions.
- WL_BRANCH
Nouveau dans la version 2.11.
Branche du dépôt configurée dans le composant actuel.
- WL_FILEMASK
Masque de fichier pour le composant actuel.
- WL_TEMPLATE
Nom de fichier du modèle pour les traductions monolingues (peut être vide).
- WL_NEW_BASE
Nouveau dans la version 2.14.
Nom de fichier du fichier utilisé pour créer de nouvelles traductions (peut être vide).
- WL_FILE_FORMAT
Format de fichier utilisé dans le composant actuel.
- WL_LANGUAGE
Langue de la traduction actuellement traitée (non disponible pour les crochets de niveau composant).
- WL_PREVIOUS_HEAD
HEAD précédent après la mise à jour (disponible uniquement après l’exécution du crochet post update).
- WL_COMPONENT_SLUG
Nouveau dans la version 3.9.
Identifiant du composant utilisé pour construire l’URL.
- WL_PROJECT_SLUG
Nouveau dans la version 3.9.
Identifiant du projet utilisé pour construire l’URL.
- WL_COMPONENT_NAME
Nouveau dans la version 3.9.
Nom du composant.
- WL_PROJECT_NAME
Nouveau dans la version 3.9.
Nom du projet.
- WL_COMPONENT_URL
Nouveau dans la version 3.9.
URL du composant.
- WL_ENGAGE_URL
Nouveau dans la version 3.9.
URL d’engagement du projet.
Voir aussi
Post-update repository processing
Can be used to update translation files when the VCS upstream source changes. To achieve this, please remember Weblate only sees files committed to the VCS, so you need to commit changes as a part of the script.
Par exemple, avec Gulp, vous pouvez le faire en utilisant le code suivant :
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Traitement des traductions avant archivage
Use the commit script to automatically change a translation before it is committed to the repository.
Il est transmis en tant que paramètre unique composé du nom de fichier d’une traduction en cours.