Extensions¶
Les greffons permettent de personnaliser et d’automatiser le flux du travail de traduction. Les administrateurs peuvent ajouter et gérer les greffons à partir du menu Opérations ↓ Greffons de chaque projet ou composant de traduction. Les greffons peuvent également être installés sur l’ensemble du site dans Interface de gestion.
Indication
Vous pouvez également configurer les greffons en utilisant API, DEFAULT_ADDONS, ou install_addon.
Add-ons that opt in to manual triggering can be run from add-on management or using the API. Results are recorded in the add-on activity log.
Événements qui activent les greffons¶
Installation de greffons¶
Activé lorsqu’un greffon a été installé.
Mise à jour de composant¶
Activé lors de la modification d’un composant telle que :
Les chaînees ont été modifiées dans le dépôt.
Une chaîne a été ajoutée.
Une nouvelle traduction a été ajoutée.
Quotidien¶
Déclenché quotidiennement mais les extensions répartissent généralement leur charge quotidienne entre les composants selon BACKGROUND_TASKS.
Modification d’événement¶
Activé après qu’un événement de modification ait été créé.
Manual trigger¶
Triggered when an add-on is run manually from add-on management or the API.
Dépôt après l’ajout¶
Activé juste après que la nouvelle traduction ait été ajoutée et validée.
Dépôt après le commit¶
Activé juste après que les modifications aient été validées.
Après push dans le dépôt¶
Activé juste après que le dépôt soit poussé sur l’amont.
Repository post-remove¶
Triggered just after a translation is removed.
Après la mise à jour du dépôt¶
Activé à chaque fois que de nouvelles modifications sont poussées sur le dépôt amont.
Pré-validation du dépôt¶
Activé juste avant que les modifications ne soient validées.
Avant push dans le dépôt¶
Déclenché juste avant que le dépôt ne soit poussé vers l’amont.
Avant la mise à jour du dépôt¶
Activé juste avant une tentative de mise à jour du dépôt.
Unité après enregistrement¶
Activé juste après que la chaîne de caractère soit enregistrée.
Unité post synchrone¶
Activé après que la chaîne de caractère soit synchronisée avec le système de contrôle des versions.
Unité avant la création¶
Activé juste après qu’une nouvelle chaîne de caractères est sauvegardée.
Greffons intégrés¶
Traduction automatique¶
- ID du module:
weblate.autotranslate.autotranslate- Configuration:
modeMode de traduction automatique
Choix disponibles :¶ suggestAjouter comme suggestion
translateAjouter comme traduction
fuzzyAjouter comme « À vérifier »
qRequête
Veuillez noter que traduire toutes les chaînes écrasera les traductions existantes.
auto_sourceSource des traductions automatiques
Choix disponibles :¶ othersAutres composants de traduction
mtTraduction automatisée
componentComposant
Précisez l’identifiant du composant à utiliser comme source, laissez vide pour utiliser tous les composants du projet actuel.
enginesMoteurs de traduction automatisée
thresholdSeuil de score
- Déclencheurs:
Installation de greffons, Mise à jour de composant, Quotidien, Modification d’événement
Traduit automatiquement les chaînes en utilisant des services de traduction automatique ou les traductions dans d’autres composants.
JavaScript localisation CDN¶
Ajouté dans la version 4.2.
- ID du module:
weblate.cdn.cdnjs- Configuration:
thresholdSeuil de traduction
Le pourcentage de chaînes traduites afin que la traduction soit prise en compte.
css_selectorSélecteur CSS
Sélecteur CSS pour détecter les éléments traduisibles.
cookie_nameNom du cookie de langue
Nom du cookie contenant la langue préférée.
filesExtraire 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:
Installation de greffons, Quotidien, Dépôt après le commit, Repository post-remove, Après la mise à jour du dépôt
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.
Note
Cette extension requiert un paramétrage complémentaire du serveur Weblate. LOCALIZE_CDN_PATH indique où les fichiers générés doivent être écrits (dans un système de fichiers) et LOCALIZE_CDN_URL définit où ils seront mis en ligne (URL). La mise en ligne n’est pas effectuée par Weblate et doit être effectuée par ailleurs (par exemple en utilisant un service CDN).
Cette extension est configurée sur Hosted Weblate et sert les fichiers via https://weblate-cdn.com.
Translation files CDN¶
Ajouté dans la version 2026.5.
- ID du module:
weblate.cdn.files- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Mise à jour de composant, Dépôt après le commit, Repository post-remove, Après la mise à jour du dépôt
Publishes translation files into a content delivery network.
Publishes translation files without converting them to another format. Files
are written below the add-on specific CDN directory and served from
LOCALIZE_CDN_URL/<add-on UUID>/. Single-file translations use the language
code and original file extension, for example cs.json or de.po.
Multi-file translations are served below the language code using paths relative
to the translation directory. Monolingual components include the source
language file, while bilingual components publish only target-language files.
See CDN de localisation for secure serving guidance.
Supprimer les chaînes constituées d’espaces¶
Ajouté dans la version 4.4.
- ID du module:
weblate.cleanup.blank- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Dépôt après le commit, Après la mise à jour du dépôt
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 greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Après la mise à jour du dépôt, Pré-validation du dépôt
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.
Pour les formats qui ont un contenu supplémentaire en plus des chaînes de traduction (comme Fichiers HTML, Fichiers RC Windows, ou Format OpenDocument) cela permet aussi de synchroniser le fichier de traduction avec le fichier de base.
Ajouter les langues manquantes¶
- ID du module:
weblate.consistency.languages- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Garantit qu’un ensemble cohérent de langues est utilisé pour tous les composants d’un projet.
Note
Le composant partagé à partir d’autres projets ne sont pas pris en compte ici.
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:
matchExpression rationnelle à laquelle faire correspondre les fichiers de traduction
L’expression rationnelle doit définir des groupes nommés pour composant et langue.
file_formatFormat de fichier
name_templatePersonnaliser le nom du composant
Utilisez la syntaxe des modèles Django. Ce modèle doit inclure {{ component }}.
base_file_templateDéfinir le nom du fichier de base mono-langue
Laisser vide pour les fichiers de traduction bilingues. Si ce champ est défini, ce modèle doit inclure {{ component }}.
new_base_templateDé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. Ce modèle doit inclure {{ component }}.
intermediate_templateFichier 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. Ce modèle doit inclure {{ component }}.
language_regexFiltre sur la langue
Expression rationnelle pour filtrer les fichiers de traduction lors de la recherche d’un motif de fichier.
copy_addonsDupliquer les extensions du composant principal vers les éléments nouvellement créés
removeSupprimer les composants pour les fichiers inexistants
- Déclencheurs:
Ajoute ou supprime automatiquement des composants du projet en fonction des fichiers modifiés dans le système de contrôle de version.
The matching is done using regular expressions enabling complex configuration, but some knowledge is required to do so. The regular expression to match translation files has to contain two named groups to match component and language. All named groups in the regular expression can be used as variables in the template fields.
Discovery requirements¶
To discover a component successfully, the configuration has to do all of the following:
The regular expression must define
componentandlanguagenamed groups.Template fields used to name or locate per-component files must include
{{ component }}, so the rendered value actually changes for each discovered component.For monolingual formats, the component must contain a file matching
base_file_templateand at least one translation file matchingmatch.
Worked example: news_<lang>.md¶
This is a common filename-based language variant layout:
docs/news_en.mddocs/news_cs.mddocs/guide_en.md
Use the Filename-based language variants preset for a starting point, then choose the matching file format and review the populated values.
- Expression régulière :
(?:(?P<path>.*/))?(?P<component>.+?)_(?P<language>[A-Za-z]{2,3}(?:[_-][A-Za-z0-9]+)*)\.(?P<extension>[^/.]+)- Nom du composant :
{{ component }}- Discovered file masks:
docs/news_*.mddocs/guide_*.md
In this example, {{ component }} resolves to the basename before the language
suffix, so docs/news_en.md, docs/news_pt_BR.md, and
docs/news_pt-BR.md all become the news component.
Vous pouvez utiliser les balises du modèle Django dans tous les champs de nom de fichier, par exemple :
{{ component }}Component name parsed from the
componentmatch group{{ component|title }}Nom de fichier du composant avec la première lettre en majuscule
{{ path }}: {{ component }}Groupe de correspondance personnalisé à partir de l’expression rationnelle
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 :
Exemples de découverte du composant¶
The worked example above covers the most common filename-based variant layout. The following examples show other repository structures you can match.
Un dossier par langue¶
Un dossier par langue contenant des fichiers de traduction pour les composants.
- Expression régulière :
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po- Fichiers correspondants :
cs/application.pocs/website.pode/application.pode/website.po
Liste des paramètres régionaux Gettext¶
Structure habituelle pour stocker les fichiers PO de gettext.
- Expression régulière :
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po- Fichiers correspondants :
locale/cs/LC_MESSAGES/application.polocale/cs/LC_MESSAGES/website.polocale/de/LC_MESSAGES/application.polocale/de/LC_MESSAGES/website.po
Noms de fichier complexes¶
Utilisation simultanée du nom du composant et de la langue dans le nom du fichier.
- Expression régulière :
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po- Fichiers correspondants :
src/locale/application.cs.posrc/locale/website.cs.posrc/locale/application.de.posrc/locale/website.de.po
Code de langue répété¶
Langue utilisée à la fois dans le chemin et le nom du fichier.
- Expression régulière :
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po- Fichiers correspondants :
locale/cs/application/cs.polocale/cs/website/cs.polocale/de/application/de.polocale/de/website/de.po
Séparer les chaînes Android¶
Ressources Android divisées en plusieurs fichiers.
- Expression régulière :
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml- Fichiers correspondants :
res/values-cs/strings-about.xmlres/values-cs/strings-help.xmlres/values-de/strings-about.xmlres/values-de/strings-help.xml
Plusieurs chemins sont possibles¶
Projet Maven multi-modules avec traductions de fichiers properties Java.
- Expression régulière :
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties- Nom du composant :
{{ originalHierarchy }}: {{ component }}- Fichiers correspondants :
parent/module1/submodule/src/main/resources/ApplicationResources_fr.propertiesparent/module1/submodule/src/main/resources/ApplicationResource_es.propertiesparent/module2/src/main/resources/ApplicationResource_de.propertiesparent/module2/src/main/resources/ApplicationResource_ro.properties
Indication
L’extension de la découverte des composants utilise les URLs internes de Weblate. C’est un moyen pratique pour partager la configuration du système de contrôle des versions entre plusieurs composants. Les composants liés utilisent le dépôt local du composant principal établit en remplissant le weblate://project/main-component du champ Dépôt du code source (dans Opérations ↓ Paramètres ↓ Système de contrôle des versions) pour chaque composant respectif. Cela fait gagner du temps lors de la configuration et permet également d’économiser les ressources systèmes.
Indication
Veillez à ce que le nouveau composant contienne l’ensemble des langues traduisibles avec Ajouter les langues manquantes.
Voir aussi
Messagerie Fedora¶
Ajouté dans la version 5.15.
- ID du module:
weblate.fedora_messaging.publish- Configuration:
eventsÉvènements de modification
amqp_hostHôte de courtier AMQP
Le courtier AMQP auquel se connecter.
amqp_sslUtiliser SSL pour la connexion AMQP
ca_certCertificats CA
Ensemble de certificats d’autorité de certification encodés au format PEM, utilisé pour valider le certificat présenté par le serveur.
client_keyClé SSL du client
Clé SSL privée du client encodée au format PEM.
client_certCertificats SSL clients
Certificat SSL client encodé en PEM.
- Déclencheurs:
Envoie des notifications à un échange AMQP compatible avec Fedora Messaging.
Fedora Messaging est un serveur de publication AMQP qui diffuse toutes les modifications apportées à Weblate. Vous pouvez ainsi connecter des services supplémentaires aux modifications de Weblate.
Message topic¶
All messages have topic
weblate.<action>.<project>.<component>.<translation>. The action is
lowercase textual representation of action with underscores instead of space,
for example resource_update, all other parts are optional and represent
slug of the object or a language code.
Message body¶
Le corps du message comprend les champs suivants (sous réserve de leur disponibilité pour l’événement) :
change_idNumerical ID of change
actionVerbose name of the change.
timestampISO formatted timestamp
targetNew value of the change (eg. new translation of the string)
oldOld value of the change (eg. previous translation of the string)
sourceSource string.
urlURL absolue pour afficher l’objet associé.
authorNom d’utilisateur de l’auteur (cela peut être différent de celui de l’utilisateur, par exemple lors de l’acceptation de suggestions)
userActing username
projectIdentifiant du projet
componentIdentifiant du composant
translationCode de langue de traduction
Message headers¶
Il existe d’autres en-têtes que vous pouvez également utiliser pour le routage :
actionVerbose name of the change.
projectIdentifiant du projet
componentIdentifiant du composant
Example messages¶
Repository merge event:
{
"id": 1,
"action": "Merged repository",
"timestamp": "2017-06-15T11:30:47.325000+00:00",
"url": "http://example.com/projects/test/test/",
"component": "test"
}
New source string event:
{
"id": 2,
"action": "New source string",
"timestamp": "2017-06-15T11:30:47.372000+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Resource update event:
{
"id": 6,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.410000+00:00",
"url": "http://example.com/projects/test/test/cs/",
"project": "test",
"component": "test",
"translation": "cs"
}
{
"id": 7,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.510000+00:00",
"url": "http://example.com/projects/test/test/de/",
"project": "test",
"component": "test",
"translation": "de"
}
{
"id": 8,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.595000+00:00",
"url": "http://example.com/projects/test/test/it/",
"project": "test",
"component": "test",
"translation": "it"
}
Project removal event:
{
"id": 9,
"action": "Removed project",
"timestamp": "2019-10-17T15:57:08.559420+00:00",
"target": "test",
"user": "testuser"
}
New contributor event:
{
"id": 11,
"action": "New contributor",
"timestamp": "2019-10-17T15:57:08.759960+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"author": "testuser",
"user": "testuser",
"project": "test",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
New translation event:
{
"id": 12,
"action": "New translation",
"timestamp": "2019-10-17T15:57:08.772591+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"target": ["Ahoj svete!\n"],
"author": "testuser",
"user": "testuser",
"project": "test",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Voir aussi
Modification en masse¶
- ID du module:
weblate.flags.bulk- Configuration:
qRequête
stateÉtat à paramétrer
Choix disponibles :¶ -1Ne pas modifier
10À vérifier
11Nécessite une révision (Nécessite une réécriture)
12À corriger (À vérifier)
20Traduit
30Approuvé
add_flagsDrapeaux de traduction à ajouter
remove_flagsDrapeaux de traduction à supprimer
add_labelsÉtiquettes à ajouter
remove_labelsÉtiquettes à supprimer
- Déclencheurs:
Modifier en masse les drapeaux, les étiquettes ou les statuts des chaînes.
Exemples :
Requête de recherche |
|
|---|---|
Étiquettes à ajouter |
récent |
Requête de recherche |
|
|---|---|
Drapeaux de traduction à ajouter |
|
Requête de recherche |
|
|---|---|
Drapeaux de traduction à ajouter |
|
Signaler les traductions inchangées comme « À réécrire »¶
- ID du module:
weblate.flags.same_edit- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Lorsqu’une nouvelle chaîne traduisible est importée du système de contrôle de version et qu’elle correspond à une chaîne source, Weblate la signale comme nécessitant une réécriture. Cette fonctionnalité est particulièrement utile pour les formats de fichiers contenant des chaînes sources pour les chaînes non traduites.
Indication
Il se peut que vous vouliez également renforcer la vérification de Traduction inchangée en ajoutant l’indicateur strict-same à Drapeaux de traduction.
Voir aussi
Signaler les nouvelles chaînes de caractères sources comme « À vérifier »¶
- ID du module:
weblate.flags.source_edit- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Lorsqu’une nouvelle chaîne de caractères est importée du système de contrôle de version, elle est signalée comme nécessitant une vérification dans Weblate. Vous pouvez ainsi facilement filtrer et modifier les chaînes de caractères écrites par les développeurs.
Voir aussi
Signaler les nouvelles traductions comme « À réécrire »¶
- ID du module:
weblate.flags.target_edit- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Lorsqu’une nouvelle chaîne traduisible est importée du système de contrôle de version, elle est signalée comme nécessitant une réécriture dans Weblate. Vous pouvez ainsi facilement filtrer et modifier les traductions créées par les développeurs.
Voir aussi
Signaler les traductions mises à jour du dépôt comme « À réécrire »¶
- ID du module:
weblate.flags.target_repo_update- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Lorsqu’une traduction de chaîne est modifiée dans le système de contrôle de version, Weblate la signale comme nécessitant une réécriture. Cette fonctionnalité est particulièrement utile si les fichiers de traduction sont fréquemment mis à jour manuellement ou par un service externe.
Voir aussi
Copier les chaînes sources dans les chaînes en lecture seule¶
Ajouté dans la version 4.18.
- ID du module:
weblate.generate.fill_read_only- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Mise à jour de composant, Quotidien
Alimente chaque chaîne de traduction en lecture seule avec la chaîne source.
Générateur de statistiques¶
- ID du module:
weblate.generate.generate- Configuration:
filenameNom du fichier généré
templateContenu du fichier généré
- Déclencheurs:
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¶
Ajouté dans la version 4.11.
- ID du module:
weblate.generate.prefill- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Mise à jour de composant, Quotidien
Alimente les chaînes de traduction avec la chaîne source.
All untranslated strings in the component will be filled with the source string, and marked as needing edit. Use this when you can not have empty strings in the translation files. .. AUTOGENERATED START: weblate.generate.pseudolocale .. This section is automatically generated by ./manage.py list_addons. Do not edit manually.
Génération d’une pseudo-traduction¶
Ajouté dans la version 4.5.
- ID du module:
weblate.generate.pseudolocale- Configuration:
sourceChaînes source
targetTraduction cible
Toutes les chaines de cette traduction vont être remplacées
prefixTexte statique utilisé comme préfixe
var_prefixTexte variable utilisé comme préfixe
suffixTexte statique ajouté
var_suffixTexte variable utilisé comme suffixe
var_multiplierRépétition de texte variable
Nombre de répétitions du texte variable en fonction de la longueur de la chaîne source.
include_readonlyInclure les chaînes en lecture seule
- Déclencheurs:
Installation de greffons, Mise à jour de composant, Quotidien
Génère une pseudo-traduction en ajoutant automatiquement un préfixe et un suffixe aux chaînes sources.
Les pseudo-traductions sont utiles pour trouver les chaînes de caractères qui ne sont pas préparées pour la traduction. Pour ce faire, toutes les chaînes sources sont modifiées afin de faciliter la détection des chaînes non-modifiées lors de l’exécution de l’application en utilisant la pseudo-traduction.
Il est également possible de trouver les chaînes de caractères dont les équivalents traduits pourraient ne pas correspondre à la mise en page.
L’utilisation de parties variables rend possible la recherche de chaînes de caractères qui pourraient ne pas tenir dans l’interface utilisateur après la traduction - elle étend la source en se basant sur sa longueur. Les parties textuelles variables sont répétées autant de fois que la longueur de la source multipliée par le coefficient. Par exemple, la source Hello world avec le texte variable _ et le coefficient 1 devient Hello world___________ ; le texte est répété une fois pour chaque caractère de la source.
Les chaînes seront générées en utilisant le motif suivant :
Texte statique du préfixe Texte variable du préfixe Chaîne source Texte variable du suffixe Texte statique du suffixe
Indication
Vous pouvez utiliser pour les tests des langues existantes, mais il existe des langues pseudo-locales dédiées et disponibles dans Weblate — en_XA et ar_XB.
Indication
Vous pouvez utiliser ce greffon pour commencer une traduction vers une nouvelle locale d’une langue existante ou similaire. Une fois que vous avez ajouté la traduction au composant, suivez les instructions du greffon. Exemple : si vous êtes en fr et que vous voulez commencer une traduction en fr_CA, vous pouvez simplement définir fr comme étant la source, fr_CA la cible, et laisser vide le préfixe et le suffixe.
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 greffon ne possède aucun paramètre.
- Déclencheurs:
Ajoute le nom des contributeurs et les années de contribution dans le commentaire d’en-tête du fichier PO.
L’en-tête du fichier PO ressemble généralement à ceci :
# Michal Čihař <michal@weblate.org>, 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 greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Quotidien, Dépôt après l’ajout, Repository post-remove
Met à jour la variable ALL_LINGUAS dans les fichiers « configure », « configure.in » ou « configure.ac » lorsqu’une traduction est ajoutée ou supprimée.
Updates the ALL_LINGUAS variable in configure, configure.in or any
configure.ac files, when a translation is added or removed.
Personnaliser la sortie gettext¶
Supprimé dans la version 5.13: Remplacé par Paramètres du format de fichier.
Update gettext template (Django)¶
Ajouté dans la version 5.17.
- ID du module:
weblate.gettext.django- Configuration:
intervalFréquence des mises à jour
À quelle fréquence l’extension doit-elle mettre à jour le fichier POT lorsque le composant est actualisé.
Choix disponibles :¶ dailyQuotidien
weeklyHebdomadaire
monthlyMensuel
normalize_headerNormaliser l’en-tête POT
Mets à jour les en-têtes gettext et remplace les commentaires POT temporaires.
- Déclencheurs:
Installation de greffons, Manual trigger, Après la mise à jour du dépôt
Met à jour le modèle gettext en utilisant la commande makemessages intégrée à Django.
Mettre à jour le fichier LINGUAS¶
- ID du module:
weblate.gettext.linguas- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Installation de greffons, Quotidien, Dépôt après l’ajout, Repository post-remove
Met à jour le fichier LINGUAS lorsqu’une traduction est ajoutée ou supprimée.
Mise à jour du fichier POT (Meson)¶
Ajouté dans la version 5.17.
- ID du module:
weblate.gettext.meson- Configuration:
intervalFréquence des mises à jour
À quelle fréquence l’extension doit-elle mettre à jour le fichier POT lorsque le composant est actualisé.
Choix disponibles :¶ dailyQuotidien
weeklyHebdomadaire
monthlyMensuel
normalize_headerNormaliser l’en-tête POT
Mets à jour les en-têtes gettext et remplace les commentaires POT temporaires.
comment_modeCommentaires du code
Choisissez si xgettext doit n’extraire aucun commentaire, tous les commentaires ou uniquement les commentaires marqués avec une étiquette spécifique.
Choix disponibles :¶ offNe pas extraire les commentaires
allExtraire tous les commentaires
taggedExtraire les commentaires avec étiquette
comment_tagCommenter l’étiquette
Étiquette transmise à xgettext pour l’extraction des commentaires lorsque le mode commentaire étiqueté est utilisé.
checksVérifications xgettext
Vérifications supplémentaires de xgettext à activer pour les messages extraits.
Choix disponibles :¶ ellipsis-unicodeellipsis-unicode
space-ellipsisspace-ellipsis
quote-unicodequote-unicode
bullet-unicodebullet-unicode
keywordMot-clé supplémentaire
Mot-clé facultatif supplémentaire transmis à xgettext en utilisant –keyword.
presetPrésélection Meson
Préréglage d’arguments xgettext intégré, compatible avec l’intégration gettext de Meson. Le préréglage GLib ajoute les options de mot-clé et d’indicateur de format utilisées par l’utilitaire gettext de Meson.
Choix disponibles :¶ glibGLib
- Déclencheurs:
Installation de greffons, Manual trigger, Après la mise à jour du dépôt
Met à jour le modèle gettext en utilisant les conventions gettext de Meson.
Générer des fichiers MO¶
- ID du module:
weblate.gettext.mo- Configuration:
pathChemin du fichier MO généré
Si non précisé, l’emplacement utilisé sera identique à celui du fichier PO.
fuzzyInclure les chaînes devant être modifiées
Les chaînes qui doivent être modifiées (fuzzy) ne sont généralement pas prêtes à être utilisées comme traductions.
- Déclencheurs:
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.
Note
Si une traduction est supprimée, son fichier PO le sera également du dépôt mais le fichier MO généré par ce module complémentaire sera conservé. Le fichier MO doit être supprimé manuellement en amont.
Mettre à jour les fichiers PO afin qu’ils correspondent au POT (msgmerge)¶
Modifié dans la version 5.13: La configuration des Paramètres a été déplacée vers Paramètres du format de fichier.
- ID du module:
weblate.gettext.msgmerge- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Met à jour tous les fichiers PO (filtrés selon le « motif de fichier ») pour qu’ils correspondent au fichier POT (paramétré via le « modèle pour les nouvelles traductions ») en utilisant msgmerge.
This add-on is essential when working with gettext PO files where the POT (template) file is updated with new strings or changes to existing strings. When the POT file is updated in the repository, this add-on automatically merges those changes into all language PO files, ensuring that:
Les nouvelles chaînes traductibles apparaissent dans toutes les langues
Les chaînes supprimées sont marquées obsolètes
Les chaînes modifiées sont marquées pour relecture (fuzzy)
La plupart des options de la ligne de commande de msgmerge peuvent être définies dans la configuration des paramètres du format des fichiers.
Mise à jour du fichier POT (Sphinx)¶
Ajouté dans la version 5.17.
- ID du module:
weblate.gettext.sphinx- Configuration:
intervalFréquence des mises à jour
À quelle fréquence l’extension doit-elle mettre à jour le fichier POT lorsque le composant est actualisé.
Choix disponibles :¶ dailyQuotidien
weeklyHebdomadaire
monthlyMensuel
normalize_headerNormaliser l’en-tête POT
Mets à jour les en-têtes gettext et remplace les commentaires POT temporaires.
filter_modeFiltrage
Supprime optionnellement les chaînes qui ne sont pas utiles à traduire après l’extraction Sphinx.
Choix disponibles :¶ noneAucun
weblate_docsDocumentation de Weblate
- Déclencheurs:
Installation de greffons, Manual trigger, Après la mise à jour du dépôt
Met à jour le modèle gettext en utilisant le générateur gettext de Sphinx sans charger la configuration du projet.
Mettre à jour le fichier POT (xgettext)¶
Ajouté dans la version 5.17.
- ID du module:
weblate.gettext.xgettext- Configuration:
intervalFréquence des mises à jour
À quelle fréquence l’extension doit-elle mettre à jour le fichier POT lorsque le composant est actualisé.
Choix disponibles :¶ dailyQuotidien
weeklyHebdomadaire
monthlyMensuel
normalize_headerNormaliser l’en-tête POT
Mets à jour les en-têtes gettext et remplace les commentaires POT temporaires.
comment_modeCommentaires du code
Choisissez si xgettext doit n’extraire aucun commentaire, tous les commentaires ou uniquement les commentaires marqués avec une étiquette spécifique.
Choix disponibles :¶ offNe pas extraire les commentaires
allExtraire tous les commentaires
taggedExtraire les commentaires avec étiquette
comment_tagCommenter l’étiquette
Étiquette transmise à xgettext pour l’extraction des commentaires lorsque le mode commentaire étiqueté est utilisé.
checksVérifications xgettext
Vérifications supplémentaires de xgettext à activer pour les messages extraits.
Choix disponibles :¶ ellipsis-unicodeellipsis-unicode
space-ellipsisspace-ellipsis
quote-unicodequote-unicode
bullet-unicodebullet-unicode
keywordMot-clé supplémentaire
Mot-clé facultatif supplémentaire transmis à xgettext en utilisant –keyword.
input_modeModifier la source
Sélectionnez si xgettext doit lire les fichiers source à partir de motifs globaux ou à partir d’un manifeste POTFILES/POTFILES.in.
Choix disponibles :¶ patternsMotifs de fichiers sources
potfilesManifeste POTFILES
languagelangage xgettext
Langage de programmation transmis à xgettext, par exemple Python ou C.
source_patternsMotifs de fichiers sources
Motifs globaux relatifs au dépôt, séparés par des lignes nouvelles, pour les fichiers à extraire avec xgettext.
potfiles_pathChemin vers POTFILES
Chemin relatif au dépôt vers POTFILES ou POTFILES.in. Les entrées sont correspondantes à la racine du dépôt. S’il est présent à côté du manifeste, POTFILES.skip exclut les fichiers listés de l’extraction.
- Déclencheurs:
Installation de greffons, Manual trigger, Après la mise à jour du dépôt
Met à jour le modèle gettext en utilisant xgettext sur les fichiers sources sélectionnés.
Squasher les commits Git¶
- ID du module:
weblate.git.squash- Configuration:
squashSquash du commit
Choix disponibles :¶ allTous les commits en un seul
languagePar langue
filePar fichier
authorPar auteur
append_trailersAjout de champs d’en-têtes aux messages de commits squashés
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 de commit. Exemple : « Co-authored-by : … ».
commit_messageMessage de commit
Ce message de commit sera utilisé à la place des messages de commit combinés des commits squashés.
- Déclencheurs:
Squasher les commits Git avant de pousser les modifications.
Indication
Afin d’éviter les conflits inutiles, il est recommandé de configurer la réception automatique des modifications amont via webhooks ou API, voir Mise à jour des dépôts.
Les commits de Git peuvent êtres écrasés avant de pousser les changements dans l’un des modes suivants :
Tous les commits 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¶
Modifié dans la version 5.12: Ajout de l’option Eviter les espaces après les séparateurs.
Supprimé dans la version 5.13: Remplacé par Paramètres du format de fichier.
Réinitialisation du dépôt en amont¶
Ajouté dans la version 5.17.
- ID du module:
weblate.hosted.reset- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
Chaque nuit, ignorer toutes les modifications faites dans le dépôt Weblate.
Formater le fichier des propriétés Java¶
- ID du module:
weblate.properties.sort- Configuration:
case_sensitiveActiver le tri en fonction de la casse de la clé
- Déclencheurs:
Formate et ordonne le fichier des propriétés Java.
Consolide les nouvelles lignes en celles d’Unix.
Formatage en majuscules des séquences d’échappements d’Unicode (si elles sont présentes).
Supprime les lignes vides et les commentaires.
Trie les chaînes par les clés.
Supprime les chaînes en double.
Purge automatique des commentaires¶
- ID du module:
weblate.removal.comments- Configuration:
ageNombre de jours à conserver
- Déclencheurs:
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¶
- ID du module:
weblate.removal.suggestions- Configuration:
ageNombre de jours à conserver
votesSeuil de votes
Threshold for removal. Leave empty to remove suggestions regardless of votes. This field has no effect with voting turned off.
- Déclencheurs:
Définir le délai au bout duquel les suggestions sont supprimées.
Peut être très utile dans le cadre du vote par suggestion (voir Évaluation par les pairs) pour supprimer les suggestions qui ne reçoivent pas assez de votes positifs dans un délai donné.
Mettre à jour les fichiers RESX¶
- ID du module:
weblate.resx.update- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
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.
Accroches web de Slack¶
Ajouté dans la version 5.12.
- ID du module:
weblate.webhook.slack- Configuration:
webhook_urlURL du Webhook
eventsÉvènements de modification
- Déclencheurs:
Envoie une notification sur un canal Slack en fonction des événements sélectionnés.
Avertissement
Le contenu de la notification peut contenir des balises HTML. C’est un problème connu qui sera bientôt corrigé ; voir https://github.com/WeblateOrg/weblate/issues/15056.
Indication
Pour obtenir une URL webhook, suivez les étapes défines dans la Documentation des Slack Incoming Webhooks
Webhook¶
Ajouté dans la version 5.11.
Modifié dans la version 5.15: La conformité entre la longueur du secret et la spécification est maintenant validée.
- ID du module:
weblate.webhook.webhook- Configuration:
webhook_urlURL du Webhook
secretSecret pour le Webhook
Le secret standard des Webhooks est une chaîne encodée en base64.
eventsÉvènements de modification
- Déclencheurs:
Envoie une notification à un service externe en fonction des évènements sélectionnés, en suivant les spécifications des normes Webhooks.
Le contenu demandé est conforme avec le schéma du Weblate Messaging. Vous trouverez la description de OpenAPI dans /api/docs/. Exemple de contenu d’une requête :
{
"change_id": 99,
"action": "Translation changed",
"timestamp": "2019-08-24T14:15:22Z",
"target": "Nazdar svete!",
"old": "Nazdar!",
"source": "Hello, world",
"url": "/translate/project-slug/component-slug/cs/?checksum=46add148a53cab6f",
"author": "author-username",
"user": "user-username",
"project": "project-slug",
"component": "component-slug",
"translation": "cs"
}
Exemple de contenu d’une requête avec des catégories :
{
"change_id": 8910,
"action": "Component renamed",
"timestamp": "2025-06-11T07:15:09Z",
"target": ["new-name"],
"old": ["component-slug"],
"url": "/projects/project-slug/parent-category/child-category/sub-category/component-slug/",
"user": "testuser",
"project": "project-slug",
"component": "component-slug",
"category": [
"sub-category",
"child-category",
"parent-category"
]
}
Exemple d’entêtes de requêtes :
{
"webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
"webhook-timestamp": "1748505623.044281",
"webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}
La webhook-signature est une liste de signatures HMAC séparées par une espace et générées en utilisant la chaîne secret, le contenu de la requête, l’horodatage webhook-timestamp, et l’identifiant webhook-id. Cela assure l’authenticité et l’integrité de la requête webhook.
The provided secret is a base64 encoded string between 24 bytes (192 bits)
and 64 bytes (512 bits). It can be prefixed with whsec_ for easy
identification.
Pour vérifier une requête, vous pouvez utiliser la méthode Webhook.verify de la bibliothèque standardwebhooks ou une implémentation de la « Standard Webhooks Specification ».
Greffons obsolètes¶
Personnaliser la sortie XML¶
Ajouté dans la version 4.15.
Supprimé dans la version 5.13: Remplacé par Paramètres du format de fichier.
Personnaliser la sortie YAML¶
Supprimé dans la version 5.13: Remplacé par Paramètres du format de fichier.
Common add-on parameters¶
Moteurs de traduction automatisée¶
|
Alibaba |
|
Amazon Translate |
|
Anthropic |
|
Apertium APy |
|
Azure AI Translator |
|
Azure OpenAI |
|
Baidu |
|
CyrTranslit |
|
DeepL |
|
Glosbe |
|
Google Cloud Translation Advanced |
|
Google Cloud Translation Basic |
|
LTEngine |
|
LibreTranslate |
|
ModernMT |
|
MyMemory |
|
Netease Sight |
|
Ollama |
|
OpenAI |
|
SAP Translation Hub |
|
Systran |
|
Weblate |
|
Mémoire de traduction Weblate |
|
Yandex |
|
Yandex v2 |
|
Youdao Zhiyun |
|
tmserver |
Format de fichier¶
|
XLIFF 1.2 avec extensions Apple |
|
Fichiers de métadonnées de l’App Store |
|
Fichier ARB |
|
Chaîne de caractères pour Android |
|
Fichier AsciiDoc |
|
Fichier de sous-titres Advanced SubStation Alpha |
|
Haiku catkeys |
|
Composer une ressource multiplateforme |
|
Fichier CSV |
|
Fichier CSV multivaleurs |
|
Fichier CSV simplifié |
|
Fichier texte DokuWiki |
|
Fichier DTD |
|
Fichier XML plat |
|
Fichier Fluent |
|
Fichier JSON Format.JS |
|
Fichier JSON go-i18n v1 |
|
Fichier JSON go-i18n v2 |
|
Fichier TOML go-i18n |
|
Fichier JSON gotext |
|
Propriétés GWT |
|
Fichier HTML |
|
Fichier i18next JSON v3 |
|
Fichier i18next JSON v4 |
|
Fichier IDML |
|
Fichier INI |
|
Fichier INI Inno Setup |
|
Fichier de langue Joomla |
|
Fichier JSON |
|
Fichier JSON à structure imbriquée |
|
Chaînes de caractères PHP Laravel |
|
Fichier Markdown |
|
Fichier MDX |
|
Fichier texte MediaWiki |
|
fichier de langue @draggable/i18n |
|
Kotlin Mobile Resource |
|
Fichier JSON Nextcloud |
|
Fichier OpenDocument |
|
Chaînes de caractères PHP |
|
Fichier de traduction XLIFF 1.2 |
|
Fichier PO gettext |
|
Fichier PO gettext (mono-langue) |
|
XLIFF 1.2 avec extensions gettext |
|
Propriétés Java |
|
Fichier RC |
|
Fichier RESJSON |
|
Fichier ResourceDictionary |
|
Fichier de ressource .Net |
|
Fichier Ruby YAML |
|
Fichier de sous-titres SubRip |
|
Fichier de sous-titres SubStation Alpha |
|
Chaînes de caractères iOS |
|
Fichier Stringsdict |
|
Fichier de sous-titres MicroDVD |
|
Fichier TermBase eXchange |
|
Fichier TOML |
|
Fichier de traduction Qt Linguist |
|
Fichier texte brut |
|
Fichier JSON WebExtension |
|
Fichier WixLocalization |
|
XLIFF 1.2 avec prise en charge des transposables |
|
Fichier de traduction XLIFF 2.0 |
|
Fichier de traduction XLIFF 2.0 avec prise en charge des transposables |
|
Excel Open XML |
|
XWiki Full Page |
|
XWiki Java Properties |
|
XWiki Page Properties |
|
Fichier YAML |
Évènements de modification¶
|
Ressources mises à jour |
|
Traduction terminée |
|
Traduction modifiée |
|
Commentaire ajouté |
|
Suggestion ajoutée |
|
Traduction ajoutée |
|
Traduit automatiquement |
|
Suggestion acceptée |
|
Traduction restaurée |
|
Traduction téléversée |
|
Chaîne source ajoutée |
|
Le composant est verrouillé |
|
Le composant est déverrouillé |
|
Modifications validées |
|
Modifications poussées |
|
Réinitialiser le dépôt |
|
Dépôt fusionné |
|
Dépôt rebasé |
|
Échec de la fusion de dépôt |
|
Échec du rebasement du dépôt |
|
Échec de l’analyse |
|
Traduction supprimée |
|
Suggestion supprimée |
|
Traduction remplacée |
|
Échec de la poussée du dépôt |
|
Suggestion supprimée lors du nettoyage |
|
Chaîne source modifiée |
|
Chaîne ajoutée |
|
Modification en masse du statut modifié |
|
Visibilité changée |
|
Utilisateur ajouté |
|
Utilisateur supprimé |
|
Traduction approuvée |
|
Marqué comme À vérifier |
|
Composant supprimé |
|
Projet supprimé |
|
Projet renommé |
|
Composant renommé |
|
Composant déplacé |
|
Un contributeur à rejoint |
|
Annonce publiée |
|
Alerte déclenchée |
|
Langage ajouté |
|
Langue demandée |
|
Projet créé |
|
Composant créé |
|
Utilisateur invité |
|
Notification de dépôt reçue |
|
Traduction remplacée par téléversement |
|
Licence modifiée |
|
L’accord de licence du contributeur a été modifié |
|
Capture écran ajoutée |
|
Capture d’écran téléversée |
|
Chaîne mise à jour dans le dépôt |
|
Extension installée |
|
Paramétrage modifié pour l’extension |
|
Extension désinstallée |
|
Chaîne supprimée |
|
Commentaire supprimé |
|
Commentaire résolu |
|
Explication mise à jour |
|
Catégorie supprimée |
|
Catégorie renommée |
|
Catégorie déplacée |
|
Échec de l’enregistrement de la chaîne |
|
Chaîne ajoutée au dépôt |
|
Chaîne mise à jour dans le téléversement |
|
Chaîne ajoutée dans le téléversement |
|
Traduction mise à jour par la source du téléversement |
|
Traduction du composant terminée |
|
La vérification étendue a été appliquée |
|
Modification propagée |
|
Fichier téléversé |
|
Drapeaux supplémentaires mis à jour |
|
Police téléversée |
|
Police modifiée |
|
Police supprimée |
|
Synchronisation forcée des traductions |
|
Analyse forcée des traductions |
|
Capture d’écran supprimée |
|
Étiquette ajoutée |
|
Étiquette retirée |
|
Nettoyage du dépôt |
|
Chaîne source ajoutée lors du téléchargement |
|
Chaîne source ajoutée au dépôt |
|
Projet en attente |
|
Projet restauré |
|
Composant restauré |
|
Modification utilisateur annulée |
|
Les paramètres du projet ont été modifiés |
|
Le paramètre du composant a été modifié |
Personnalisation de la liste des greffons¶
La liste des module est configurée par WEBLATE_ADDONS. Pour ajouter un autre module, il suffit d’inclure le nom absolu de la classe dans ce paramètre.
Écrire un greffon¶
Vous pouvez également écrire vos propres module, il suffit de faire une sous-classe weblate.addons.base.BaseAddon, de définir les métadonnées du module et d’implémenter un rappel qui effectuera le traitement.
Voir aussi
Exécution de scripts à partir du greffon¶
Les modules peuvent également être utilisés pour exécuter des scripts externes. Avant, cette fonction était intégrée dans Weblate, mais maintenant vous devez écrire du code pour envelopper votre script avec un module.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Example pre commit script."""
from __future__ import annotations
from typing import ClassVar
from django.utils.translation import gettext_lazy
from weblate.addons.events import AddonEvent
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events: ClassVar[set[AddonEvent]] = {
AddonEvent.EVENT_PRE_COMMIT,
}
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long description
verbose = gettext_lazy("Execute script before commit")
description = gettext_lazy("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, automatic suggestions 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¶
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¶
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¶
Identifiant du composant utilisé pour construire l’URL.
- WL_PROJECT_SLUG¶
Identifiant du projet utilisé pour construire l’URL.
- WL_COMPONENT_NAME¶
Nom du composant.
- WL_PROJECT_NAME¶
Nom du projet.
- WL_COMPONENT_URL¶
URL du composant.
- WL_ENGAGE_URL¶
URL d’engagement du projet.
Voir aussi
Traitement du dépôt après mise à jour¶
Peut être utilisé pour mettre à jour les fichiers de traduction lorsque la source amont du VCS change. Pour ce faire, n’oubliez pas que Weblate ne voit que les fichiers validés par le VCS, vous devez donc valider les changements dans le cadre du 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¶
Utilisez le script d’archivage pour apporter automatiquement des modifications à la traduction avant qu’elle soit archivée dans le dépôt.
Il est transmis en tant que paramètre unique composé du nom de fichier d’une traduction en cours.
Journalisation de l’activité du greffon¶
Le journal de l’activité du greffon conserve une trace de l’exécution du greffon et peut être utilisé pour suivre son exécution.
Les journaux peuvent être raccourcis au bout d’un certain temps en configurant le ADDON_ACTIVITY_LOG_EXPIRY.