Extensions#

Les greffons permettent de personnaliser et d’automatiser le flux de traduction. Les administrateurs peuvent ajouter et gérer des greffons à partir du menu GestionGreffons de chaque composant de traduction.

Indication

Vous pouvez également configurer les greffons en utilisant API, DEFAULT_ADDONS, ou install_addon.

../_images/addons.webp

Greffons intégrés#

Traduction automatique#

ID du module:

weblate.autotranslate.autotranslate

Configuration:

mode

Mode de traduction automatique

Choix disponibles :

suggest – Ajouter comme suggestion

translate – Ajouter comme traduction

fuzzy – 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înes

nottranslated – Chaînes non traduites

todo – Chaînes inachevées

fuzzy – Chaînes marquées pour édition

check:inconsistent – Échec de la vérification : Incohérence

auto_source

Source des traductions automatiques

Choix disponibles :

others –Autres composants de traduction

mt –Traduction automatique

component

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:

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:

quotidien, après le commit du dépôt, 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 :settings:`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 :guilabel : Hosted Weblate et sert les fichiers via https ://weblate-cdn.com.

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:

après le commit du dépôt, 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 module ne possède aucun paramètre.

Déclencheurs:

avant le commit du dépôt, après la mise-à-jour 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.

Ajouter les langues manquantes#

ID du module:

weblate.consistency.languages

Configuration:

Ce module ne possède aucun paramètre.

Déclencheurs:

quotidien, après l’ajout du dépôt

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 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:

après mise à jour du dépôt

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 régulière

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 :

../_images/addon-discovery.webp

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

Gettext locales layout#

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

Complex filenames#

Utilisation des noms du composant et du langage dans le même nom de fichier.

Expression régulière:

src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po

Fichiers correspondants :
  • src/locale/application.cs.po

  • src/locale/website.cs.po

  • :file :src/locale/application.de.po

  • :file :src/locale/website.de.po

Repeated language code#

Langue utilisée à la fois pour le chemin et le nom de 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

Split Android strings#

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

Matching multiple paths#

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

Component name:

{{ 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érerParamètresSystè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.

Modification en masse#

ID du module:

weblate.flags.bulk

Configuration:

q

Requête

state

État à paramétrer

Choix disponibles :

-1 – Ne pas modifier

10 –À vérifier

20 – Traduit

30 – Approuvé

add_flags

Drapeaux de traduction à ajouter

remove_flags

Drapeaux de traduction à supprimer

add_labels

Étiquettes à ajouter

remove_labels

Étiquettes à supprimer

Déclencheurs:

mise à jour de composant

Modifier en masse les drapeaux, les étiquettes ou les statuts des chaînes.

Automatise l’étiquetage en commençant la requête par NOT has:label et ajoute les étiquettes souhaitées jusqu’à ce que toutes les chaînes soient correctement étiquetées. Toute autre opération liée aux métadonnées Weblate peut également être automatisée.

Exemples :

Étiqueter automatiquement les nouvelles chaînes de caractères#

Requête de recherche

NOT has:label

Étiquettes à ajouter

récent

Marquer toutes les chaines du journal des modifications de Fichiers de métadonnées de l’App Store en lecture seule#

Requête de recherche

language:en AND key:changelogs/

Drapeaux de traduction à ajouter

read-only

Marquer les traductions inchangées comme « À vérifier »#

ID du module:

weblate.flags.same_edit

Configuration:

Ce module ne possède aucun paramètre.

Déclencheurs:

unité après la création

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.

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é après la création

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.

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é après la création

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.

Copier les chaînes sources dans les chaînes en lecture seule#

Nouveau dans la version 4.18.

ID du module:

weblate.generate.fill_read_only

Configuration:

Ce module ne possède aucun paramètre.

Déclencheurs:

Mise à jour des composants, quotidienne

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:

dépôt pré-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

Balisage de modèle

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 sources

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.

include_readonly

Inclure les chaînes en lecture seule

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.

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 pourrait ne pas tenir dans l’interface utilisateur après traduction - elle étend le texte en fonction de la taille de la chaîne source. Les parties variables sont répétées aussi longtemps que la longueur du texte multiplié par le coefficient. Par exemple, Hello world avec le suffixe variable _ et un coefficient de 1 devient Hello world___________ - le suffixe est répété une fois pour chaque caractère dans la chaîne source.

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

Vous pouvez utiliser cette extension pour commencer une traduction vers une nouvelle locale d’un langage existant ou similaire. Une fois que vous avez ajouté la traduction au composant, suivez les instructions l’extension. *Exemple : * Si vous avez fr et vous voulez commencer une traduction en fr_CA, vous pouvez simplement définir fr comme une source, fr_CA comme une 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 module ne possède aucun paramètre.

Déclencheurs:

dépôt pré-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@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 module ne possède aucun paramètre.

Déclencheurs:

dépôt post-add, journalier

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:

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

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 module ne possède aucun paramètre.

Déclencheurs:

dépôt post-add, journalier

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:

dépôt pré-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.

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:

après mise à jour du dépôt

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.

Déclenché à chaque fois que de nouvelles modifications sont extraites du dépôt en amont. La plupart des options de la ligne de commande de msgmerge peuvent être définies dans la configuration du module complémentaire.

Squasher les commits Git#

ID du module:

weblate.git.squash

Configuration:

squash

Squash du commit

Choix disponibles :

all – Tous les archivages en un seul

language – Pour chaque langue

file – Par fichier

author – Par auteur

append_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:

dépôt post-commit

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#

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 – Espaces

tabs – 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.

Formater le fichier de propriétés Java#

ID du module:

weblate.properties.sort

Configuration:

Ce module ne possède aucun paramètre.

Déclencheurs:

dépôt pré-commit

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:

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#

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.

Peut être très utile dans le cadre du vote par suggestion (voir Peer review) 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 module ne possède aucun paramètre.

Déclencheurs:

après mise à jour du dépôt

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 XML#

Nouveau 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:

stockage après chargement

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ères

100 – Retourne à la ligne à 100 caractères

120 – Retourne à la ligne à 120 caractères

180 – Retourne à la ligne à 180 caractères

65535 – Aucun retour à la ligne

line_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#

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.

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 = (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.

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.