Extensii#
Suplimentele oferă modalități de personalizare și automatizare a fluxului de lucru al traducerilor. Administratorii pot adăuga și gestiona suplimentele din meniul Manage ↓ Add-ons al fiecărei componente de traducere respective.
Sugestie
You can also configure add-ons using API,
DEFAULT_ADDONS
, or install_addon
.

Addon-uri încorporate#
Traducere automată#
- ID add-on:
weblate.autotranslate.autotranslate
- Configurație:
mode
Modul de traducere automată
Alegerile disponibile:
suggest
– Se adaugă ca sugestietranslate
– Adaugă ca traducerefuzzy
– Adăugați ca „Necesitând editare”filter_type
Filtru de căutare
Vă rugăm să rețineți că traducerea tuturor șirurilor de caractere va elimina toate traducerile existente.
Alegerile disponibile:
all
– Toate șirurile de caracterenottranslated
– Șiruri netradusetodo
– Șiruri neterminatefuzzy
– Șiruri de caractere marcate pentru editarecheck:inconsistent
– Eșecul verificării: Inconsistentauto_source
Sursa de traduceri automate
Alegerile disponibile:
Alte componente de traducere
Traducere automată
component
Componenta
Introduceți slug-ul unei componente care urmează să fie utilizată ca sursă, păstrați spațiul gol pentru a utiliza toate componentele din proiectul curent.
engines
Motoare de traducere automată
threshold
Prag de punctaj
- Declanșări:
actualizare componentă, zilnic
Traduce automat șirurile de caractere cu ajutorul traducerii automate sau al altor componente.
Acesta este declanșat:
Atunci când apar șiruri noi într-o componentă.
O dată pe lună pentru fiecare componentă, acest lucru poate fi configurat folosind
BACKGROUND_TASKS
.
CDN de localizare JavaScript#
Nou în versiunea 4.2.
- ID add-on:
weblate.cdn.cdnjs
- Configurație:
threshold
Pragul de traducere
Pragul de includere a traducerilor.
css_selector
Selector CSS
Selector CSS pentru detectarea elementelor localizabile.
cookie_name
Numele cookie-ului de limbă
Numele modulului cookie care stochează preferințele lingvistice.
files
Extrageți șiruri de caractere din fișiere HTML
Listă de nume de fișiere din depozitul curent sau de adrese URL de la distanță care trebuie analizate pentru șiruri de caractere traductibile.
- Declanșări:
zilnic, depozit post-commit, depozit post-update
Publică traducerile în rețeaua de livrare de conținut pentru a fi utilizate în localizarea JavaScript sau HTML.
Poate fi utilizat pentru a localiza pagini HTML statice sau pentru a încărca localizarea în codul JavaScript.
Generează un URL unic pentru componenta dvs. pe care îl puteți include în paginile HTML pentru a le localiza. Consultați Traducerea HTML și JavaScript folosind Weblate CDN pentru mai multe detalii.
Eliminați șirurile de caractere goale#
Nou în versiunea 4.4.
- ID add-on:
weblate.cleanup.blank
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozit post-commit, depozit post-update
Elimină șirurile de caractere fără traducere din fișierele de traducere.
Utilizați această opțiune pentru a nu avea șiruri goale în fișierele de traducere (de exemplu, dacă biblioteca de localizare le afișează ca fiind lipsă în loc să revină la șirul sursă).
Curățați fișierele de traducere#
- ID add-on:
weblate.cleanup.generic
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozitul pre-commit, depozitul post-update
Actualizarea tuturor fișierelor de traducere pentru a se potrivi cu fișierul de bază monolingv. Pentru majoritatea formatelor de fișiere, acest lucru înseamnă eliminarea cheilor de traducere vechi care nu mai sunt prezente în fișierul de bază.
Adăugați limbile lipsă#
- ID add-on:
weblate.consistency.languages
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
zilnic, depozit post-adăugare
Asigură utilizarea unui set coerent de limbaje pentru toate componentele unui proiect.
Limbile lipsă sunt verificate o dată la 24 de ore și atunci când sunt adăugate noi limbi în Weblate.
Spre deosebire de majoritatea celorlalte, acest add-on afectează întregul proiect.
Sugestie
Traduceți automat șirurile nou adăugate cu Traducere automată.
Descoperirea componentelor#
- ID add-on:
weblate.discovery.discovery
- Configurație:
match
Expresie regulată pentru a se potrivi cu fișierele de traducere
file_format
Formatul fișierului
name_template
Personalizați numele componentei
base_file_template
Definiți numele fișierului de bază monolingv
Lăsați gol pentru fișierele de traducere bilingve.
new_base_template
Definiți fișierul de bază pentru noile traduceri
Numele fișierului utilizat pentru crearea de noi traduceri. Pentru gettext, alegeți fișierul .pot.
intermediate_template
Fișier de limbaj intermediar
Numele de fișier al fișierului de traducere intermediar. În cele mai multe cazuri, acesta este un fișier de traducere furnizat de dezvoltatori și este utilizat la crearea șirurilor sursă reale.
language_regex
Filtru lingvistic
Expresie regulată pentru filtrarea fișierelor de traducere la scanarea pentru masca de fișiere.
copy_addons
Clonarea addon-urilor din componenta principală în cele nou create
remove
Eliminați componente pentru fișierele inexistente
confirm
Confirm că potrivirile de mai sus par corecte
- Declanșări:
depozit post-update
Adaugă sau elimină automat componente ale proiectului pe baza modificărilor de fișiere din sistemul de control al versiunilor.
Potrivirea se face cu ajutorul expresiilor regulate, ceea ce permite o configurare complexă, dar sunt necesare anumite cunoștințe în acest sens. Câteva exemple pentru cazuri de utilizare obișnuită pot fi găsite în secțiunea de ajutor a addon-ului.
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.
You can use Django template markup in all filename fields, for example:
{{ component }}
Potrivirea numelui de fișier al componentei
{{ component|title }}
Nume de fișier al componentei cu prima literă majusculă
{{ path }}: {{ component }}
Custom match group from the regular expression
După ce apăsați pe Save, va fi prezentată o previzualizare a componentelor corespunzătoare, de unde puteți verifica dacă configurația se potrivește cu nevoile dumneavoastră:

Component discovery examples#
One folder per language#
Un dosar pentru fiecare limbă care conține fișiere de traducere pentru componente.
- Regular expression:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po
- Matching files:
cs/application.po
cs/website.po
de/application.po
de/website.po
Gettext locales layout#
Structura obișnuită pentru stocarea fișierelor gettext PO.
- Regular expression:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po
- Matching files:
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#
Utilizarea atât a componentei, cât și a denumirii limbii în numele fișierului.
- Regular expression:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po
- Matching files:
src/locale/application.cs.po
src/locale/website.cs.po
src/locale/application.de.po
src/locale/website.de.po
Repeated language code#
Utilizarea limbii atât în calea de acces, cât și în numele fișierului.
- Regular expression:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po
- Matching files:
locale/cs/application/cs.po
locale/cs/website/cs.po
locale/de/application/de.po
locale/de/website/de.po
Split Android strings#
Șiruri de resurse Android, împărțite în mai multe fișiere.
- Regular expression:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml
- Matching files:
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#
Multi-module Maven project with Java properties translations.
- Regular expression:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties
- Component name:
{{ originalHierarchy }}: {{ component }}
- Matching files:
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
Sugestie
Component discovery add-on utilizează URL-uri interne Weblate. Este o modalitate convenabilă de a partaja configurația VCS între mai multe componente. Componentele legate utilizează depozitul local al componentei principale, configurat prin completarea weblate://project/main-component
în câmpul Depozitul de cod sursă (în Manage ↓ Settings ↓ Version control system) al fiecărei componente respective. Acest lucru economisește timp cu configurarea și, de asemenea, resurse de sistem.
Vezi și
Editare în masă#
- ID add-on:
weblate.flags.bulk
- Configurație:
q
Interogare prin exemplu
state
Stat pentru a seta
Alegerile disponibile:
Nu modificați
Necesită editare
Tradus
Aprobat
add_flags
Indicator de traducere de adăugat
remove_flags
Indicatoare de traducere de eliminat
add_labels
Etichete de adăugat
remove_labels
Etichete de îndepărtat
- Declanșări:
actualizare componentă
Editați majoritatea semnalelor, etichetelor sau starea șirurilor.
Automatizați etichetarea începând cu interogarea de căutare NOT has:label
și adăugați etichete până când toate șirurile au toate etichetele necesare. Se pot efectua și alte operațiuni automatizate pentru metadatele Weblate.
Exemple:
Interogare de căutare |
|
---|---|
Etichete de adăugat |
recent |
Interogare de căutare |
|
---|---|
Indicator de traducere de adăugat |
|
Semnalați traducerile neschimbate ca „Necesită editare”#
- ID add-on:
weblate.flags.same_edit
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
unitate post-creare
Ori de câte ori un nou șir traductibil este importat din VCS și se potrivește cu un șir sursă, acesta este semnalat ca necesitând editare în Weblate. Este deosebit de util pentru formatele de fișiere care includ șiruri sursă pentru șiruri netraduse.
Sugestie
De asemenea, este posibil să doriți să întăriți verificarea Traducere neschimbată prin adăugarea indicatorului strict-same
la Indicarorii traducerii.
Vezi și
Semnalați șirurile sursă noi ca „Necesită editare”#
- ID add-on:
weblate.flags.source_edit
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
unitate post-creare
Ori de câte ori un nou șir sursă este importat din VCS, acesta este marcat ca necesitând editare în Weblate. În acest fel, puteți filtra și edita cu ușurință șirurile sursă scrise de dezvoltatori.
Vezi și
Semnalați traducerile noi ca „Necesită editare”#
- ID add-on:
weblate.flags.target_edit
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
unitate post-creare
Ori de câte ori un nou șir traductibil este importat din VCS, acesta este semnalat ca necesitând editare în Weblate. În acest fel, puteți filtra și edita cu ușurință traducerile create de dezvoltatori.
Vezi și
Fill read-only strings with source#
Nou în versiunea 4.18.
- ID add-on:
weblate.generate.fill_read_only
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
actualizare componentă, zilnic
Fills in translation of read-only strings with source string.
Generator de statistici#
- ID add-on:
weblate.generate.generate
- Configurație:
filename
Numele fișierului generat
template
Conținutul fișierului generat
- Declanșări:
depozit pre-commit
Generează un fișier care conține informații detaliate despre starea traducerii.
Puteți utiliza un șablon Django atât în numele fișierului, cât și în conținut; consultați Marcarea șablonului pentru o descriere detaliată a marcajului.
De exemplu, generarea unui fișier de sinteză pentru fiecare traducere:
- Numele fișierului generat
locale/{{ language_code }}.json
- Conținut
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Vezi și
Preumplerea traducerii cu sursa#
Nou în versiunea 4.11.
- ID add-on:
weblate.generate.prefill
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
actualizare componentă, zilnic
Completează șirurile de traducere cu șirul sursă.
Toate șirurile de caractere netraduse din componentă vor fi completate cu șirul sursă și vor fi marcate ca necesitând editare. Utilizați această opțiune atunci când nu puteți avea șiruri de caractere goale în fișierele de traducere.
Generarea de pseudolocale#
Nou în versiunea 4.5.
- ID add-on:
weblate.generate.pseudolocale
- Configurație:
source
Șiruri de surse
target
Traducerea țintă
Toate șirurile din această traducere vor fi suprascrise
prefix
Prefix de șir fix
var_prefix
Prefixul șirului de variabile
suffix
Sufix de șir fix
var_suffix
Sufixul șirului de variabile
var_multiplier
Multiplicatorul părții variabile
De câte ori se repetă partea variabilă în funcție de lungimea șirului sursă.
include_readonly
Includeți șiruri de caractere numai pentru citire
- Declanșări:
actualizare componentă, zilnic
Generează o traducere prin adăugarea automată a prefixului și sufixului la șirurile sursă.
Pseudolocalele sunt utile pentru a găsi șiruri de caractere care nu sunt pregătite pentru localizare. Acest lucru se realizează prin modificarea tuturor șirurilor sursă traductibile pentru a facilita identificarea șirurilor nealterate la rularea aplicației în limba pseudolocală.
De asemenea, este posibil să se găsească șiruri de caractere ale căror omologi localizați ar putea să nu se potrivească cu aspectul.
Utilizarea părților variabile face posibilă căutarea șirurilor de caractere care ar putea să nu se potrivească în interfața cu utilizatorul după localizare - se extinde textul pe baza lungimii șirului sursă. Părțile variabile se repetă prin lungimea textului înmulțită cu multiplicatorul. De exemplu, Hello world
cu sufixul variabil _
și multiplicatorul variabil de 1 devine Hello world___________
- sufixul este repetat o dată pentru fiecare caracter din șirul sursă.
Șirurile de caractere vor fi generate folosind următorul model:
Prefix de șir fix Prefix de șir variabil Șir sursă Sufix de șir variabil Sufix de șir fix Sufix de șir fix
Sugestie
Puteți folosi limbi reale pentru testare, dar există pseudolocale dedicate disponibile în Weblate - en_XA și ar_XB.
Sugestie
Puteți utiliza acest add-on pentru a începe traducerea într-o nouă locație a unei limbi existente sau a unei limbi similare. După ce adăugați traducerea la componentă, urmați la add-on. Exemplu: Dacă aveți fr și doriți să începeți traducerea fr_CA, setați pur și simplu fr ca sursă, fr_CA ca țintă și lăsați prefixul și sufixul goale.
Dezinstalați add-on-ul după ce ați completat noua traducere pentru a împiedica Weblate să modifice traducerile făcute după copiere.
Contributori în comentariu#
- ID add-on:
weblate.gettext.authors
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozit pre-commit
Actualizează partea de comentarii din antetul fișierului PO pentru a include numele contribuabililor și anii de contribuție.
Antetul fișierului PO va arăta în felul următor:
# 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.
Actualizarea variabilei ALL_LINGUAS în fișierul „configure”#
- ID add-on:
weblate.gettext.configure
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozit post-adăugare, zilnic
Actualizează variabila ALL_LINGUAS din configure
, configure.in
sau din orice fișier configure.ac
, atunci când se adaugă o nouă traducere.
Personalizați ieșirea gettext#
- ID add-on:
weblate.gettext.customize
- Configurație:
width
Înfășurarea liniilor lungi
În mod implicit, gettext înfășoară liniile la 77 de caractere și la liniile noi. Dacă se folosește parametrul –no-wrap, se face o înfășurare numai la liniile noi.
Alegerile disponibile:
77
– Înfășurarea liniilor la 77 de caractere și la liniile noi (implicit xgettext)65535
– Întoarceți liniile numai la liniile noi (like «xgettext –no-wrap»)Fără înfășurare de linie
- Declanșări:
depozitare post-încărcare
Permite personalizarea comportamentului ieșirii gettext, de exemplu înfășurarea liniilor.
Acesta oferă următoarele opțiuni:
Întoarceți liniile la 77 de caractere și la liniile noi
Întoarceți liniile numai la liniile noi
Fără înfășurare de linie
Notă
În mod implicit, gettext înfășoară liniile la 77 de caractere și la liniile noi. Dacă se folosește parametrul --no-wrap
, se face o încadrare numai la liniile noi.
Actualizarea fișierului LINGUAS#
- ID add-on:
weblate.gettext.linguas
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozit post-adăugare, zilnic
Actualizează fișierul LINGUAS atunci când se adaugă o nouă traducere.
Generarea de fișiere MO#
- ID add-on:
weblate.gettext.mo
- Configurație:
path
Calea de acces a fișierului MO generat
Dacă nu este specificat, se va utiliza locația fișierului PO.
- Declanșări:
depozit pre-commit
Generează automat un fișier MO pentru fiecare fișier PO modificat.
Locația fișierului MO generat poate fi personalizată, iar câmpul pentru acesta utilizează Marcarea șablonului.
Notă
If a translation is removed, its PO file will be deleted from the repository, but the MO file generated by this add-on will not. The MO file must be removed from the upstream manually.
Actualizarea fișierelor PO pentru a se potrivi cu POT (msgmerge)#
- ID add-on:
weblate.gettext.msgmerge
- Configurație:
previous
Păstrați mesajele anterioare ale șirurilor traduse
no_location
Eliminați locațiile șirurilor traduse
fuzzy
Utilizați potrivirea fuzzy
- Declanșări:
depozit post-update
Actualizează toate fișierele PO (as configured by Masca de fișier) pentru a se potrivi cu fișierul POT (as configured by Șablon pentru traduceri noi) utilizând msgmerge.
Se declanșează ori de câte ori sunt extrase noi modificări din depozitul din amonte. Majoritatea opțiunilor de linie de comandă msgmerge pot fi setate prin intermediul configurației add-on-ului.
Comenzi Git Squash#
- ID add-on:
weblate.git.squash
- Configurație:
squash
Compromiteți strivirea
Alegerile disponibile:
Toate angajamentele într-una singură
language
– Pe limbăfile
– Pe fișierauthor
– Pe autorappend_trailers
Adăugați trailere la mesajul de confirmare comprimat
Liniile de final sunt linii care se aseamănă cu anteturile de e-mail RFC 822, la sfârșitul părții de formă liberă a unui mesaj de confirmare, cum ar fi „Co-autor: …”.
commit_message
Mesaj de angajament
Acest mesaj de confirmare va fi utilizat în locul mesajelor de confirmare combinate de la confirmările strivite.
- Declanșări:
depozit post-commit
Eliminarea modificărilor din Git înainte de a împinge modificările.
Comițările Git pot fi eliminate înainte de împingerea modificărilor în unul dintre următoarele moduri:
Toate angajamentele într-una singură
Pe limbă
Pe fișier
Pentru fiecare autor în parte
Mesajele de confirmare originale sunt păstrate, dar se pierde paternitatea, cu excepția cazului în care se selectează Per author sau mesajul de confirmare este personalizat pentru a o include.
Mesajele de confirmare originale pot fi opțional înlocuite cu un mesaj de confirmare personalizat.
Remetele (commit lines like Co-authored-by: …
) pot fi opțional eliminate din mesajele de confirmare originale și adăugate la sfârșitul mesajului de confirmare strivit. Acest lucru generează, de asemenea, creditul corespunzător Co-authored-by:
pentru fiecare traducător.
Personalizați ieșirea JSON#
- ID add-on:
weblate.json.customize
- Configurație:
sort_keys
Sortarea cheilor JSON
indent
Indentarea JSON
style
Stil de indentare JSON
Alegerile disponibile:
spaces
– Spațiitabs
– Tab-uri- Declanșări:
depozitare post-încărcare
Permite ajustarea comportamentului de ieșire JSON, de exemplu, indentarea sau sortarea.
Formatați fișierul de proprietăți Java#
- ID add-on:
weblate.properties.sort
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozit pre-commit
Se formatează și se sortează fișierul de proprietăți Java.
Consolidează liniile noi la cele Unix.
Formatarea cu majuscule a secvențelor de evacuare Unicode (în cazul în care acestea sunt prezente).
Șiruri cu observații.
Sortează șirurile de caractere în funcție de chei.
Renunță la șirurile duplicate.
Îndepărtarea modului învechit#
- ID add-on:
weblate.removal.comments
- Configurație:
age
Zile de păstrare
- Declanșări:
zilnic
Stabiliți un interval de timp pentru eliminarea comentariilor.
Acest lucru poate fi util pentru a elimina comentariile vechi care ar putea fi depășite. Folosiți-o cu grijă, deoarece faptul că comentariile devin vechi nu înseamnă că și-au pierdut importanța.
Eliminarea sugestiilor învechite#
- ID add-on:
weblate.removal.suggestions
- Configurație:
age
Zile de păstrare
votes
Pragul de vot
Pragul de eliminare. Acest câmp nu are niciun efect dacă votul este dezactivat.
- Declanșări:
zilnic
Stabiliți un termen pentru eliminarea sugestiilor.
Poate fi foarte utilă în legătură cu votarea sugestiilor (see Evaluare reciprocă) pentru a elimina sugestiile care nu primesc suficiente voturi pozitive într-un anumit interval de timp.
Actualizarea fișierelor RESX#
- ID add-on:
weblate.resx.update
- Configurație:
Acest add-on nu are nicio configurație.
- Declanșări:
depozit post-update
Actualizați toate fișierele de traducere pentru a se potrivi cu fișierul de bază monolingv extern. Șirurile neutilizate sunt eliminate, iar cele noi sunt adăugate ca copii ale șirului sursă.
Sugestie
Utilizați Curățați fișierele de traducere dacă doriți să eliminați doar cheile de traducere vechi.
Customize XML output#
Nou în versiunea 4.15.
- ID add-on:
weblate.xml.customize
- Configurație:
closing_tags
Include closing tag for blank XML tags
- Declanșări:
depozitare post-încărcare
Allows adjusting XML output behavior, for example closing tags.
Personalizați ieșirea YAML#
- ID add-on:
weblate.yaml.customize
- Configurație:
indent
Indentarea YAML
width
Înfășurarea liniilor lungi
Alegerile disponibile:
Întoarceți liniile la 80 de caractere
Întoarceți liniile la 100 de caractere
Întoarceți liniile la 120 de caractere
Înfășurați liniile la 180 de caractere
Fără înfășurare de linie
line_break
Pauze de linie
Alegerile disponibile:
DOS (rn)
unix
– UNIX (\n)mac
– MAC (\r)- Declanșări:
depozitare post-încărcare
Permite ajustarea comportamentului de ieșire YAML, de exemplu, lungimea liniei sau liniile noi.
Personalizarea listei de add-on-uri#
Lista de add-on-uri este configurată prin WEBLATE_ADDONS
. Pentru a adăuga un alt addon, este suficient să includeți numele absolut al clasei în această setare.
Add-on de scriere#
Puteți să vă scrieți propriile add-on-uri, să creați o subclasă de weblate.addons.base.BaseAddon
pentru a defini metadatele addon-ului și apoi să implementați un callback pentru a face procesarea.
Vezi și
Executarea scripturilor din add-on#
Suplimentele pot fi utilizate și pentru a executa scripturi externe. Acest lucru era integrat în Weblate, dar acum trebuie să scrieți niște cod pentru a înfășura scriptul vostru cu un add-on.
# 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 EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events = (EVENT_PRE_COMMIT,)
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long 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"
Pentru instrucțiuni de instalare, consultați Verificări personalizate ale calității, add-on-uri și corecții automate.
Scriptul este executat cu directorul curent setat la rădăcina depozitului VCS pentru orice componentă dată.
În plus, sunt disponibile următoarele variabile de mediu:
- WL_VCS#
Sistemul de control al versiunilor utilizat.
- WL_REPO#
URL-ul depozitului din amonte.
- WL_PATH#
Calea absolută către depozitul VCS.
- WL_BRANCH#
Ramura de depozit configurată în componenta curentă.
- WL_FILEMASK#
Masca de fișier pentru componenta curentă.
- WL_TEMPLATE#
Numele de fișier al șablonului pentru traducerile monolingve (poate fi gol).
- WL_NEW_BASE#
Numele de fișier al fișierului utilizat pentru crearea de noi traduceri (poate fi gol).
- WL_FILE_FORMAT#
Format de fișier utilizat în componenta curentă.
- WL_LANGUAGE#
Limba traducerii procesate în prezent (nu este disponibilă pentru cârligele la nivel de componentă).
- WL_PREVIOUS_HEAD#
HEAD anterior după actualizare (disponibil numai după rularea cârligului post-update).
- WL_COMPONENT_SLUG#
Denumirea componentei utilizată pentru a construi URL-ul.
- WL_PROJECT_SLUG#
Denumirea proiectului utilizată pentru a construi URL-ul.
- WL_COMPONENT_NAME#
Denumirea componentei.
- WL_PROJECT_NAME#
Numele proiectului.
- WL_COMPONENT_URL#
URL-ul componentei.
- WL_ENGAGE_URL#
URL de angajare a proiectului.
Vezi și
Prelucrarea depozitelor după actualizare#
Poate fi utilizat pentru a actualiza fișierele de traducere atunci când sursa VCS din amonte se modifică. Pentru a realiza acest lucru, vă rugăm să rețineți că Weblate vede numai fișierele trimise în VCS, deci trebuie să trimiteți modificările ca parte a scriptului.
De exemplu, cu Gulp puteți face acest lucru folosind următorul cod:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Pre-angajare de procesare a traducerilor#
Utilizați scriptul de trimitere pentru a modifica automat o traducere înainte de a fi trimisă în depozit.
Acesta este transmis ca un singur parametru care constă în numele de fișier al unei traduceri curente.