Extensions¶
Add-ons provide ways to customize and automate the translation workflow. Admins can add and manage add-ons from the Manage ↓ Add-ons menu of each respective translation project or component. Add-ons can be also installed site-wide in Interface de gestion.
Indication
Vous pouvez également configurer les greffons en utilisant API, DEFAULT_ADDONS
, ou install_addon
.

É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
.
Event change¶
Triggered after a Change event is created.
Repository post-add¶
Activé juste après que la nouvelle traduction ait été ajoutée et validée.
Repository post-commit¶
Activé juste après que les modifications aient été validées.
Repository post-push¶
Activé juste après que le dépôt soit poussé sur l’amont.
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.
Repository pre-push¶
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.
Storage post-load¶
Déclenché quand le fichier est analysé par Weblate.
Unit post-save¶
Activé juste après que la chaîne de caractère soit enregistrée.
Unit pre-create¶
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:
mode
Mode de traduction automatique
Choix disponibles :
suggest
– Ajouter comme suggestiontranslate
– Ajouter comme traductionfuzzy
– Ajouter comme « À éditer »filter_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érencecheck:translated
– Échec de la vérification : a été traduitauto_source
Source des traductions automatiques
Choix disponibles :
others
–Autres composants de traductionmt
–Traduction automatiquecomponent
Composant
Précisez l’identifiant du 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:
Installation de greffons, Mise à jour de composant, Quotidien
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:
threshold
Seuil de traduction
The percentage of translated strings that must be present for translation to be included.
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:
Installation de greffons, Quotidien, Repository post-commit, 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
.
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, Repository post-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.
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 extensions 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:
Ajoute ou supprime automatiquement des composants du projet en fonction des fichiers modifiés dans le système de contrôle de version.
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.
L’expression régulière utilisée pour faire correspondre les fichiers de traduction doit contenir deux groupes nommés l’un pour le composant et l’autre pour la langue. Tous les groupes nommés de l’expression régulière peuvent être utilisés comme variables dans les champs du modèle.
Vous pouvez utiliser les balises du modèle Django dans tous les champs de nom de fichier, par exemple :
{{ component }}
Nom de fichier du composant correspondant
{{ 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¶
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.po
cs/website.po
de/application.po
de/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.po
locale/cs/LC_MESSAGES/website.po
locale/de/LC_MESSAGES/application.po
locale/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.po
src/locale/website.cs.po
src/locale/application.de.po
src/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.po
locale/cs/website/cs.po
locale/de/application/de.po
locale/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.xml
res/values-cs/strings-help.xml
res/values-de/strings-about.xml
res/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.properties
parent/module1/submodule/src/main/resources/ApplicationResource_es.properties
parent/module2/src/main/resources/ApplicationResource_de.properties
parent/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 champ Dépôt du code source (dans Gérer ↓ Paramètres ↓ Système de contrôle des versions) avec la valeur weblate://project/main-component
pour chaque composant respectif. Cela fait gagner du temps lors de la configuration et permet également d’économiser les ressources systèmes.
Voir aussi
Modification en masse¶
- 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
É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 |
|
Marquer les traductions inchangées comme « À vérifier »¶
- ID du module:
weblate.flags.same_edit
- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
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
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
Marquer les nouvelles chaînes sources comme « À vérifier »¶
- ID du module:
weblate.flags.source_edit
- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
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 greffon ne possède aucun paramètre.
- Déclencheurs:
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
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:
filename
Nom du fichier généré
template
Contenu 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.
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¶
Ajouté 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
Prepended static text
var_prefix
Prepended variable text
suffix
Appended static text
var_suffix
Appended variable text
var_multiplier
Variable text multiplier
How many times to repeat the variable text depending on the length of the source string.
include_readonly
Inclure 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.
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 texts are repeated by length of the
text multiplied by the multiplier. For example Hello world
with variable
text _
and variable multiplier of 1 becomes Hello world___________
-
the text is repeated once for each character in the source string.
Les chaînes seront générées d’après le motif suivant :
Prepended static text Prepended variable text Source string Appended variable text Appended static text
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 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:
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 les lignes à 77 caractères et aux nouvelles lignes (xgettext par défaut)65535
– Ne fait remonter les lignes qu’aux nouvelles lignes (comme “xgettext –no-wrap”)-1
– Aucun retour à la ligne- Déclencheurs:
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
Par défaut, gettext saute à la ligne à 77 caractères et pour les nouvelles lignes. Avec le paramètre --no-wrap
le saut de ligne n’a lieu que pour les nouvelles lignes.
Mettre à jour le fichier LINGUAS¶
- ID du module:
weblate.gettext.linguas
- Configuration:
Ce greffon ne possède aucun paramètre.
- Déclencheurs:
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.
fuzzy
Inclure 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)¶
- 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:
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.
Most msgmerge command-line options can be set up through the add-on configuration.
Squasher les commits Git¶
- ID du module:
weblate.git.squash
- Configuration:
squash
Squash du commit
Choix disponibles :
all
– Tous les archivages en un seullanguage
– Pour chaque languefile
– Par fichierauthor
– Par auteurappend_trailers
Ajout 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_message
Message 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.
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: Avoid spaces after separators option added.
- ID du module:
weblate.json.customize
- Configuration:
sort_keys
Trier les clés JSON
use_compact_separators
Avoid spaces after separators
indent
Indentation JSON
style
Style d’indentation JSON
Choix disponibles :
spaces
– Espacestabs
– Onglets- Déclencheurs:
Allows adjusting JSON output behavior, for example indentation, sorting or compact formatting using minimal whitespace.
Formater le fichier de propriétés Java¶
- ID du module:
weblate.properties.sort
- Configuration:
case_sensitive
Activer le tri en fonction de la casse de la clé
- Déclencheurs:
Formate et ordonne le fichier de 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:
age
Nombre 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:
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:
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.
Webhook¶
Ajouté dans la version 5.11.
- ID du module:
weblate.webhook.webhook
- Configuration:
webhook_url
URL du Webhook
secret
Secret
events
Évènements de modification
Choix disponibles :
0
– Resource updated1
– Translation completed2
– Translation changed3
– Comment added4
– Suggestion added5
– Translation added6
– Automatically translated7
– Suggestion accepted8
– Translation reverted9
– Translation uploaded13
– Source string added14
– Component locked15
– Component unlocked17
– Changes committed18
– Changes pushed19
– Repository reset20
– Repository merged21
– Repository rebased22
– Repository merge failed23
– Repository rebase failed24
– Parsing failed25
– Translation removed26
– Suggestion removed27
– Translation replaced28
– Repository push failed29
– Suggestion removed during cleanup30
– Source string changed31
– String added32
– Bulk status changed33
– Visibility changed34
– User added35
– User removed36
– Translation approved37
– Marked for edit38
– Component removed39
– Project removed41
– Project renamed42
– Component renamed43
– Moved component45
– Contributor joined46
– Announcement posted47
– Alert triggered48
– Language added49
– Language requested50
– Project created51
– Component created52
– User invited53
– Repository notification received54
– Translation replaced file by upload55
– License changed56
– Contributor license agreement changed57
– Screenshot added58
– Screenshot uploaded59
– String updated in the repository60
– Add-on installed61
– Add-on configuration changed62
– Add-on uninstalled63
– String removed64
– Comment removed65
– Comment resolved66
– Explanation updated67
– Category removed68
– Category renamed69
– Category moved70
– Saving string failed71
– String added in the repository72
– String updated in the upload73
– String added in the upload74
– Translation updated by source upload75
– Component translation completed76
– Applied enforced check77
– Propagated change78
– File uploaded79
– Extra flags updated- Déclencheurs:
Envoie une notification à un service externe en fonction des évènements sélectionnés.
Personnaliser la sortie XML¶
Ajouté dans la version 4.15.
- ID du module:
weblate.xml.customize
- Configuration:
closing_tags
Inclure la balise de fermeture pour les balises XML vides
- Déclencheurs:
Permet de définir le comportement de la sortie XML, par exemple les balises fermantes.
Personnaliser la sortie YAML¶
- 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:
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¶
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 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: 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 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
.