Shtesa

Add-ons provide ways to customize and automate the translation workflow. Admins can add and manage add-ons from the OperationsAdd-ons menu of each respective translation project or component. Add-ons can be also installed site-wide in Ndërfaqe administrimi.

Ndihmëz

You can also configure add-ons using API, DEFAULT_ADDONS, or install_addon.

../_images/addons.webp

Events that trigger add-ons

Add-on installation

Triggered when add-on is being installed.

Component update

Triggered whenever a change happens in a component such as:

  • Strings are changed in the repository.

  • A string is added.

  • A new translation is added.

Daily

Triggered daily, but add-ons usually split the daily load between components depending on BACKGROUND_TASKS.

Event change

Triggered after a Change event is created.

Repository post-add

Triggered just after the new translation is added and committed.

Repository post-commit

Triggered just after the changes are committed.

Repository post-push

Triggered just after the repository is pushed upstream.

Repository post-update

Triggered whenever new changes are pulled from the upstream repository.

Repository pre-commit

Triggered just before the changes are committed.

Repository pre-push

Triggered just before the repository is pushed upstream.

Repository pre-update

Triggered just before the repository update is attempted.

Unit post-save

Triggered just after the string is saved.

Unit post-sync

Triggered after the string is synchronized with the VCS.

Unit pre-create

Triggered just after the newly created string is saved.

Built-in add-ons

Përkthim i automatizuar

Add-on ID:

weblate.autotranslate.autotranslate

Formësim:

mode

Mënyrë përkthim i automatizuar

Available choices:

suggest

Shtoje si sugjerim

translate

Shtoje si përkthim

fuzzy

Shtoje si “Lyp përpunim”

q

Kërkesë

Ju lutemi, kini parasysh se përkthimi i krejt vargjeve do të hedhë tej krejt përkthimet ekzistuese.

auto_source

Burim përkthimesh të automatizuar

Available choices:

others

Përbërës të tjerë përkthimi

mt

Përkthim nga makina

component

Përbërës

Jepni identifikuesin e një përbërësi për t’u përdorur si burim, mbajeni të zbrazët për të përdorur krejt përbërësit në projektin aktual.

engines

Motorë përkthimi nga makina

threshold

Prag vlerësimi

Triggers:

Add-on installation, Component update, Daily, Event change

Përkthen automatikisht vargje duke përdorur përkthim nga makina ose nga përbërës të tjerë.

CDN përkthimesh JavaScript

Shtuar në versionin 4.2.

Add-on ID:

weblate.cdn.cdnjs

Formësim:

threshold

Prag përkthimi

Përqindja e vargjeve të përkthyer që duhen paraqitur që të përfshihet përkthimi.

css_selector

Përzgjedhës CSS

Përzgjedhës CSS për të pikasur elementë të përkthyeshëm.

cookie_name

Emër për cookie-n e gjuhës

Emër për cookie-n e cila depoziton parapëlqim gjuhe.

files

Përfto vargje prej kartelash HTML

Listë e emrave të kartelave në depon e tanishme ose URL-ra të largëta që duhen kontrolluar për vargje të përkthyeshëm.

Triggers:

Add-on installation, Daily, Repository post-commit, Repository post-update

Boton përkthime te një rrjet shpërndarjeje lënde për përdorim në përkthime JavaScript-i ose HTML-je.

Can be used to localize static HTML pages, or to load localization in the JavaScript code.

Generates a unique URL for your component you can include in HTML pages to localize them. See Translating HTML and JavaScript using Weblate CDN for more details.

Shënim

This add-on requires additional configuration on the Weblate server. LOCALIZE_CDN_PATH configures where generated files will be written (on a filesystem), and LOCALIZE_CDN_URL defines where they will be served (URL). Serving of the files is not done by Weblate and has to be set up externally (typically using a CDN service).

This add-on is configured on Hosted Weblate and serves the files via https://weblate-cdn.com/.

Hiqni vargje të zbrazët

Shtuar në versionin 4.4.

Add-on ID:

weblate.cleanup.blank

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Repository post-commit, Repository post-update

Heq nga kartelat e përkthimit vargje pa përkthim.

Use this to not have any empty strings in translation files (for example if your localization library displays them as missing instead of falling back to the source string).

Spastro kartela përkthimi

Add-on ID:

weblate.cleanup.generic

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Repository post-update, Repository pre-commit

Përditësoni krejt kartelat e përkthimit që të përputhen me kartelën bazë njëgjuhëshe. Për shumicën e formateve të kartelave, kjo do të thotë heqje zërash të ndenjur përkthimi, që s’janë më të pranishëm te kartela bazë.

For formats containing additional content besides translation strings (such as Kartela HTML, Kartela Windows RC, or Format OpenDocument) this also brings the translation file in sync with the base file.

Shtoni gjuhë që mungojnë

Add-on ID:

weblate.consistency.languages

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Daily, Repository post-add

Siguron përdorimin e një grupi të qëndrueshëm gjuhë për krejt përbërësit brenda një projekti.

Shënim

The components shared from other projects are not considered in this.

Missing languages are checked once every 24 hours, and when new languages are added in Weblate.

Unlike most others, this add-on affects the whole project.

Ndihmëz

Auto-translate the newly added strings with Përkthim i automatizuar.

Pikasje përbërësish

Add-on ID:

weblate.discovery.discovery

Formësim:

match

Shprehje e rregullt kundrejt të cilës duhen kërkuar përputhje te kartela përkthimi

file_format

Format kartelash

name_template

Përshtatni emrin e përbërësit

base_file_template

Përcaktoni emër kartele bazë njëgjuhëshe

Për kartela përkthimi dygjuhëshe, lëreni të zbrazët.

new_base_template

Përcaktoni kartelën bazë për përkthime të reja

Emër kartele i kartelës së përdorur për krijim përkthimesh të reja. Për gettext zgjidhni kartelë .pot.

intermediate_template

Kartelë gjuhe ndërmjetëse

Emër kartele për kartelë ndërmjetëse përkthimi. Në më të shumtën e rasteve kjo është kartela përkthim e furnizuar nga zhvilluesit dhe përdoret gjatë krijimit të vargjeve faktike burim.

language_regex

Filtër gjuhësh

Shprehje e rregullt kundrejt së cilës të filtrohen kartela përkthimi, kur skanohet për maskë kartelash.

copy_addons

Klono shtesa prej përbërësit kryesor te të reja të sapokrijuara

remove

Hiq përbërës për kartela që s’ekzistojnë

confirm

Ripohoj se përputhjet më sipër duken të sakta

Triggers:

Add-on installation, Repository post-update

Shton ose heq automatikisht përbërës projekti, bazuar te ndryshime kartelash nën sistem kontrolli versionesh.

The matching is done using regular expressions enabling complex configuration, but some knowledge is required to do so. Some examples for common use cases can be found in the add-on help section.

Shprehja e rregullt për të cilën duhet kërkuar përputhje në kartela përkthimi duhet të përmbajë dy grupe të emërtuar, për përputhje me përbërës dhe gjuhë. Krejt grupet e emërtuar te shprehja e rregullt mund të përdoren si ndryshore te fushat e gjedhes.

You can use Django template markup in all filename fields, for example:

{{ component }}

Përputhje emri kartele përbërësi

{{ component|title }}

Emër kartele përbërësi me shkronjën e parë të madhe

{{ path }}: {{ component }}

Custom match group from the regular expression

Once you hit Save, a preview of matching components will be presented, from where you can check whether the configuration actually matches your needs:

../_images/addon-discovery.webp

Component discovery examples

One folder per language

Një dosje për gjuhë, që përmban kartela përkthimi për përbërësit.

Shprehje e rregullt:

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

Kartela me përputhje:
  • cs/application.po

  • cs/website.po

  • de/application.po

  • de/website.po

Gettext locales layout

Strukturë e zakonshme për depozitim kartelash PO gettext.

Shprehje e rregullt:

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

Kartela me përputhje:
  • 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

Përdorim si i emrit të përbërësit, ashtu edhe i gjuhës, brenda emri kartele.

Shprehje e rregullt:

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

Kartela me përputhje:
  • src/locale/application.cs.po

  • src/locale/website.cs.po

  • src/locale/application.de.po

  • src/locale/website.de.po

Repeated language code

Përdorim gjuhe si në shteg, ashtu edhe në emër kartele.

Shprehje e rregullt:

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

Kartela me përputhje:
  • locale/cs/application/cs.po

  • locale/cs/website/cs.po

  • locale/de/application/de.po

  • locale/de/website/de.po

Split Android strings

Vargje burimesh Android, ndarë në disa kartela.

Shprehje e rregullt:

res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml

Kartela me përputhje:
  • 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

Projekt Maven me shumë module, me përkthime vetish Java.

Shprehje e rregullt:

(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties

Emër përbërësi:

{{ originalHierarchy }}: {{ component }}

Kartela me përputhje:
  • 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

Ndihmëz

Component discovery add-on uses URL të brendshme Weblate. It’s a convenient way to share VCS setup between multiple components. Linked components use the local repository of the main component set up by filling weblate://project/main-component into the Depo kodi burim field (in OperationsSettingsVersion control system) of each respective component. This saves time with configuration and system resources too.

Ndihmëz

Ensure the new component contains the full set of translatable languages with Shtoni gjuhë që mungojnë.

Sinjalizim

To be discovered, a new component must contain a file that matches base_file_template and at least one file with a name that matches match – i.e., the component must contain a base language file and at least one existing translation. Otherwise, it will be ignored.

Përpunim në masë

Add-on ID:

weblate.flags.bulk

Formësim:

q

Kërkesë

state

Gjendje për t’u caktuar

Available choices:

-1

Mos e ndryshoni

10

Lyp përpunim

20

Të përkthyer

30

Të miratuar

add_flags

Flamurka përkthimi për shtim

remove_flags

Flamurka përkthimi për heqje

add_labels

Etiketa për shtim

remove_labels

Etiketa për heqje

Triggers:

Add-on installation, Component update

Përpunim në masë vargjesh shenjash, etiketash ose gjendjesh.

Shembuj:

Label new strings automatically

Search query

NOT has:label

Etiketa për shtim

recent

Marking all Kartela tejtëdhënash shitoreje aplikacionesh changelog strings read-only

Search query

language:en AND key:changelogs/

Flamurka përkthimi për shtim

read-only

Marking certain strings read-only

Search query

source:r"^\`\`[.a-zA-Z0-9_-]*\`\`$" AND language:en

Flamurka përkthimi për shtim

read-only

Vëru shenjë përkthimeve të pandryshuara si “Lyp përditësim”

Add-on ID:

weblate.flags.same_edit

Formësim:

This add-on has no configuration.

Triggers:

Unit pre-create

Kurdo që importohet një varg i ri i përkthyeshëm nga VCS-ja dhe përputhet me vargun burim, në Weblate i vihet shenjë si një që ka nevojë të përpunohet. Kjo është veçanërisht e dobishme për formate kartelash që përfshijnë vargje burim për vargjet e papërkthyer.

Ndihmëz

You might also want to tighthen the Përkthim i pandryshuar check by adding strict-same flag to Flamurka përkthimi.

Shihni edhe

Translation states

Vëru shenjë vargjeve të reja burim si “Lyp përditësim”

Add-on ID:

weblate.flags.source_edit

Formësim:

This add-on has no configuration.

Triggers:

Unit pre-create

Kurdo që importohet një varg i ri burim nga VCS-ja, në Weblate i vihet shenjë si “Lyp përpunim”. Në këtë mënyrë mund të filtroni lehtësisht dhe përpunoni vargje burim shkruar nga zhvilluesit.

Shihni edhe

Translation states

Vëru shenjë përkthimeve të reja si “Lyp përditësim”

Add-on ID:

weblate.flags.target_edit

Formësim:

This add-on has no configuration.

Triggers:

Unit pre-create

Kurdo që importohet një varg i ri i përkthyeshëm nga VCS-ja, në Weblate i vihet shenjë si “Lyp përpunim”. Në këtë mënyrë mund të filtroni lehtësisht dhe përpunoni vargje të përkthyeshëm krijuar nga zhvilluesit.

Shihni edhe

Translation states

Vëru shenjë përkthimeve të përditësuara në depo “Lyp përditësim”

Add-on ID:

weblate.flags.target_repo_update

Formësim:

This add-on has no configuration.

Triggers:

Unit post-sync

Kurdo që ndryshohet nga VCS-ja një përkthim vargu, në Weblate i vihet shenjë si një që lyp përpunim. Veçanërisht e posaçme nëse kartelat e përkthimeve përditësohen shpesh.

Shihni edhe

Translation states

Plotëso vargje vetëm për lexim me burimin

Shtuar në versionin 4.18.

Add-on ID:

weblate.generate.fill_read_only

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Component update, Daily

Plotëson përkthimin e vargjeve “vetëm për lexim” me vargun burim.

Prodhues statistikash

Add-on ID:

weblate.generate.generate

Formësim:

filename

Emër i kartelës së prodhuar

template

Lëndë e kartelës së prodhuar

Triggers:

Repository pre-commit

Prodhon një kartelë që përmban të dhëna të hollësishme rreth gjendjes së përkthimit.

Mund të përdorni gjedhe Django si për emër përbërësi, ashtu edhe për lëndë, për një përshkrim të hollësishëm të sintaksës Markup, shihni Template markup.

For example generating a summary file for each translation:

Emër i kartelës së prodhuar

locale/{{ language_code }}.json

Lëndë
{
   "language": "{{ language_code }}",
   "strings": "{{ stats.all }}",
   "translated": "{{ stats.translated }}",
   "last_changed": "{{ stats.last_changed }}",
   "last_author": "{{ stats.last_author }}",
}

Shihni edhe

Template markup

Plotëso paraprakisht përkthimin me burimin

Shtuar në versionin 4.11.

Add-on ID:

weblate.generate.prefill

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Component update, Daily

Mbush vargjet e përkthimit me vargun burim.

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.

Prodhim pseudovendoreje

Shtuar në versionin 4.5.

Add-on ID:

weblate.generate.pseudolocale

Formësim:

source

Vargjet e burimit

target

Përkthimi i synuar

Krejt vargjet në këtë përkthim do të mbishkruhen

prefix

Paravendosni tekst statik

var_prefix

Paravendosni tekst të ndryshueshëm

suffix

U shtua tekst statik në fund

var_suffix

U shtua tekst i ndryshueshëm në fund

var_multiplier

Shumëfishues teksti të ndryshueshëm

Sa herë të përsëritet pjesa e ndryshores, në varësi të gjatësisë së vargut burim.

include_readonly

Përfshi vargje vetëm për lexim

Triggers:

Add-on installation, Component update, Daily

Prodhon një përkthim duke shtuar automatikisht parashtesë dhe prapashtesë te vargjet burim.

Pseudolocales are useful to find strings that are not prepared for localization. This is done by altering all translatable source strings to make it easy to spot unaltered strings when running the application in the pseudolocale language.

Finding strings whose localized counterparts might not fit the layout is also possible.

Using the variable parts makes it possible to look for strings which might not fit into the user interface after the localization - it extends the text based on the source string length. The variable 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.

Vargjet do të prodhohen duke përkthyer rregullsinë vijuese:

Prepended static text Prepended variable text Source string Appended variable text Appended static text

Ndihmëz

You can use real languages for testing, but there are dedicated pseudolocales available in Weblate - en_XA and ar_XB.

Ndihmëz

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.

Uninstall the add-on once you have the new translation filled to prevent Weblate from changing the translations made after the copying.

Kontribues në koment

Add-on ID:

weblate.gettext.authors

Formësim:

This add-on has no configuration.

Triggers:

Repository pre-commit

Përditëson pjesën e komentit te kryet e kartelës PO, për të përfshirë emrat e kontribuesve dhe vite kontributi.

The PO file header will look like this:

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

Përditësoni ndryshoren ALL_LINGUAS te kartela «configure»

Add-on ID:

weblate.gettext.configure

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Daily, Repository post-add

Updates the ALL_LINGUAS variable in configure, configure.in or any configure.ac files, when a new translation is added.

Përshtatni përfundimin e gettext-it

Hequr në versionin 5.13: Replaced by Parametra formati kartelash.

Përditëso kartelën LINGUAS

Add-on ID:

weblate.gettext.linguas

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Daily, Repository post-add

Përditëson kartelën LINGUAS kur shtohet një përkthim i ri.

Prodho kartela MO

Add-on ID:

weblate.gettext.mo

Formësim:

path

Shteg për te kartela MO e prodhuar

Nëse s’është përcaktuar, do të përdoret vendndodhja e kartelës PO.

fuzzy

Përfshi vargje që lypin përpunim

Vargjet që lypin përpunim (të turbullt) zakonisht s’janë gati për t’u përdorur si përkthime.

Triggers:

Repository pre-commit

Prodhon automatikisht një kartelë MO për çdo kartelë PO të ndryshuar.

The location of the generated MO file can be customized and the field for it uses Template markup.

Shënim

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.

Përditësoni kartela PO, që të përputhen me POT (msgmerge)

Ndryshuar në versionin 5.13: Settings configuration has been moved to Parametra formati kartelash.

Add-on ID:

weblate.gettext.msgmerge

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Repository post-update

Updates all PO files (as configured by Maskë kartele) to match the POT file (as configured by Gjedhe për përkthime të reja) using 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:

  • New translatable strings appear in all languages

  • Removed strings are marked as obsolete

  • Modified strings are marked as needing review (fuzzy)

Most msgmerge command-line options can be set up through file format parameters configuration.

Kryej «squash» për depozitime Git

Add-on ID:

weblate.git.squash

Formësim:

squash

Ngjeshje parashtrimesh

Available choices:

all

Krejt depozitimet në një të tilli

language

Për gjuhë

file

Për kartelë

author

Për autor

append_trailers

Append trailers to squashed commit message

Rreshtat mbyllës janë rreshta që duken të ngjashëm me krye RFC 822 email-esh, në fund të pjesës që ndryshe do të ishte në formë të lirë, te një mesazh depozitimi, bie fjala, “Me bashkëautorësinë e: …”.

commit_message

Mesazh depozitimi

Do të përdoret ky mesazh parashtrimi, në vend se mesazhet e kombinuar të parashtrimit prej parashtrimesh të ngjeshur.

Triggers:

Add-on installation, Repository post-commit

Kryej «squash» për depozitime Git, përpara kryerjes së push-it për ndryshimet.

Ndihmëz

To avoid unnecessary conflicts, it is recommended to configure automatic receiving of upstream changes by webhooks or API, see Përditësim deposh.

Git commits can be squashed prior to pushing changes in one of the following modes:

  • Krejt depozitimet në një të tilli

  • Për gjuhë

  • Për kartelë

  • Për autor

Mesazhet origjinale të depozitimeve mbahen, por autorësia humb, veç në qoftë përzgjedhur Për autor, ose mesazhi i depozitimit është përshtatur për ta përmbajtur atë.

The original commit messages can optionally be overridden with a custom commit message.

Trailers (commit lines like Co-authored-by: ) can optionally be removed from the original commit messages and appended to the end of the squashed commit message. This also generates proper Co-authored-by: credit for every translator.

Përshtatni përfundim JSON-i

Ndryshuar në versionin 5.12: Avoid spaces after separators option added.

Hequr në versionin 5.13: Replaced by Parametra formati kartelash.

Formaton kartelën e vetive Java

Add-on ID:

weblate.properties.sort

Formësim:

case_sensitive

Aktivizo renditje kyçesh që merr parasysh shkrimin me të madhe a me të vogël

Triggers:

Repository pre-commit

Formaton dhe rendit kartelën e vetive Java.

  • Consolidates newlines to Unix ones.

  • Uppercase formatting of Unicode escape sequences (in case they are present).

  • Strips blank lines and comments.

  • Sorts the strings by the keys.

  • Drops duplicate strings.

Heqje komentesh të vjetruar

Add-on ID:

weblate.removal.comments

Formësim:

age

Ditë për t’u mbajtur

Triggers:

Add-on installation, Daily

Caktoni kohë për heqje komentesh.

This can be useful to remove old comments which might have become outdated. Use with care as comments getting old does not mean they have lost their importance.

Heqje sugjerimesh të vjetruar

Add-on ID:

weblate.removal.suggestions

Formësim:

age

Ditë për t’u mbajtur

votes

Prag votimi

Prag për heqje. Kjo fushë s’do të ketë efekt kur votimi është i çaktivizuar.

Triggers:

Add-on installation, Daily

Caktoni kohë për heqje sugjerimesh.

Can be very useful in connection with suggestion voting (see Peer review) to remove suggestions which don’t receive enough positive votes in a given timeframe.

Përditësoni kartela RESX

Add-on ID:

weblate.resx.update

Formësim:

This add-on has no configuration.

Triggers:

Add-on installation, Repository post-update

Përditëso krejt kartelat e përkthimit për t’i përputhur me kartelën bazë njëgjuhëshe të upstream-it. Kartelat e papërdorura hiqen, dhe të rejat shtohen si kopje të vargjeve burim.

Ndihmëz

Use Spastro kartela përkthimi if you only want to remove stale translation keys.

Webhook-ë Slack-u

Shtuar në versionin 5.12.

Add-on ID:

weblate.webhook.slack

Formësim:

webhook_url

URL Webhook-u

events

Ndryshoni veprimtari

Available choices:

0

Burimi u përditësua

1

U plotësua përkthim

2

U ndryshua përkthimi

3

U shtua koment

4

U shtua sugjerim

5

U shtua përkthim

6

Përkthyer në mënyrë të automatizuar

7

U pranua sugjerim

8

Përkthimi u kthye ku qe

9

U përditësua përkthim

13

U shtua varg burim

14

U kyç përbërës

15

U shkyç përbërës

17

U parashtruan ndryshime

18

U depozituan ndryshime

19

Për depon u krye “reset”

20

Depoja u përzje

21

Për depon u krye “rebase”

22

Dështoi përzierja e depos

23

Dështoi “rebase” e depos

24

Përtypja dështoi

25

U hoq përkthim

26

U hoq sugjerim

27

U zëvendësua përkthim

28

Dështoi push-i në depo

29

U hoq sugjerim gjatë pastrimit

30

U ndryshua varg burim

31

U shtua varg

32

Ndryshim masiv gjendjeje

33

U ndryshua dukshmëri

34

U shtua përdorues

35

U hoq përdorues

36

U miratua përkthim

37

Shënuar për përpunim

38

U hoq përbërës

39

U hoq projekt

41

U riemërtua projekt

42

U riemërtua përbërës

43

U lëviz përbërës

45

Erdhi kontribues

46

U postua njoftim

47

U shkaktua sinjalizim

48

U shtua gjuhë

49

U kërkua gjuhë

50

U krijua projekt

51

U krijua përbërës

52

U ftua përdorues

53

U mor njoftim depoje

54

U zëvendësua përkthim nga ngarkim

55

Licenca ndryshoi

56

Ndryshoi marrëveshje licence kontribuesish

57

U shtua foto ekrani

58

U ngarkua foto ekrani

59

Vargu u përditësua te depoja

60

Shtesa u instalua

61

Formësimi i shtesës ndryshoi

62

Shtesa u çinstalua

63

U hoq varg

64

U hoq koment

65

Çështja e komentit u zgjidh

66

U përditësua shpjegim

67

U hoq kategori

68

U riemërtua kategori

69

U hoq kategori

70

Dështoi ruajtje vargu

71

U shtua varg te depoja

72

U përditësua varg prej ngarkimi

73

U shtua varg te ngarkimi

74

U përditësua përkthim nga ngarkim burimi

75

U plotësua përkthim përbërësi

76

U zbatua kontroll me detyrim

77

U përhap ndryshimi

78

Kartela u ngarkua

79

U përditësuan flamurka shtesë

80

Shkronjat u ngarkuan

81

Ndryshuan shkronjat

82

U hoqën shkronja

83

Njëkohësim i detyruar përkthimesh

84

Riskanim i detyruar përkthimesh

Triggers:

Event change

Dërgon njoftim te një kanal Slack, bazuar në veprimtaritë e përzgjedhura.

Sinjalizim

The notification content might show HTML tags. This is a known issue that will be soon addressed; see https://github.com/WeblateOrg/weblate/issues/15056.

Ndihmëz

To obtain a webhook URL, follow the steps outlined in the Slack Incoming Webhooks documentation

Webhook

Shtuar në versionin 5.11.

Add-on ID:

weblate.webhook.webhook

Formësim:

webhook_url

URL Webhook-u

secret

E fshehtë

Një varg i koduar si Base64

events

Ndryshoni veprimtari

Available choices:

0

Burimi u përditësua

1

U plotësua përkthim

2

U ndryshua përkthimi

3

U shtua koment

4

U shtua sugjerim

5

U shtua përkthim

6

Përkthyer në mënyrë të automatizuar

7

U pranua sugjerim

8

Përkthimi u kthye ku qe

9

U përditësua përkthim

13

U shtua varg burim

14

U kyç përbërës

15

U shkyç përbërës

17

U parashtruan ndryshime

18

U depozituan ndryshime

19

Për depon u krye “reset”

20

Depoja u përzje

21

Për depon u krye “rebase”

22

Dështoi përzierja e depos

23

Dështoi “rebase” e depos

24

Përtypja dështoi

25

U hoq përkthim

26

U hoq sugjerim

27

U zëvendësua përkthim

28

Dështoi push-i në depo

29

U hoq sugjerim gjatë pastrimit

30

U ndryshua varg burim

31

U shtua varg

32

Ndryshim masiv gjendjeje

33

U ndryshua dukshmëri

34

U shtua përdorues

35

U hoq përdorues

36

U miratua përkthim

37

Shënuar për përpunim

38

U hoq përbërës

39

U hoq projekt

41

U riemërtua projekt

42

U riemërtua përbërës

43

U lëviz përbërës

45

Erdhi kontribues

46

U postua njoftim

47

U shkaktua sinjalizim

48

U shtua gjuhë

49

U kërkua gjuhë

50

U krijua projekt

51

U krijua përbërës

52

U ftua përdorues

53

U mor njoftim depoje

54

U zëvendësua përkthim nga ngarkim

55

Licenca ndryshoi

56

Ndryshoi marrëveshje licence kontribuesish

57

U shtua foto ekrani

58

U ngarkua foto ekrani

59

Vargu u përditësua te depoja

60

Shtesa u instalua

61

Formësimi i shtesës ndryshoi

62

Shtesa u çinstalua

63

U hoq varg

64

U hoq koment

65

Çështja e komentit u zgjidh

66

U përditësua shpjegim

67

U hoq kategori

68

U riemërtua kategori

69

U hoq kategori

70

Dështoi ruajtje vargu

71

U shtua varg te depoja

72

U përditësua varg prej ngarkimi

73

U shtua varg te ngarkimi

74

U përditësua përkthim nga ngarkim burimi

75

U plotësua përkthim përbërësi

76

U zbatua kontroll me detyrim

77

U përhap ndryshimi

78

Kartela u ngarkua

79

U përditësuan flamurka shtesë

80

Shkronjat u ngarkuan

81

Ndryshuan shkronjat

82

U hoqën shkronja

83

Njëkohësim i detyruar përkthimesh

84

Riskanim i detyruar përkthimesh

Triggers:

Event change

Dërgon njoftime shërbimeve të jashtëm bazuar në veprimtaritë e përzgjedhura, duke zbatuar specifikimet Standard Webhooks.

The request payload complies with the Weblate Messaging schema. The OpenAPI description can also be found at /api/docs/. Sample request body:

{
   "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"
}

Sample request body with categories:

{
   "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"
   ]
}

Sample request headers:

{
   "webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
   "webhook-timestamp": "1748505623.044281",
   "webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}

The webhook-signature is a space separated list of HMAC signatures generated using the secret string, the request payload, the webhook-timestamp, and the webhook-id. This ensures the authenticity and integrity of the webhook request.

To verify a request, you can use the Webhook.verify method from the standardwebhooks library or an implementation of the «Standard Webhooks Specification».

Përshtatni përfundim XML

Shtuar në versionin 4.15.

Hequr në versionin 5.13: Replaced by Parametra formati kartelash.

Përshtatni përfundim YAML

Hequr në versionin 5.13: Replaced by Parametra formati kartelash.

Customizing list of add-ons

The list of add-ons is configured by WEBLATE_ADDONS. To add another add-on, simply include the absolute class name in this setting.

Writing add-on

You can write your own add-ons too, create a subclass of weblate.addons.base.BaseAddon to define the add-on metadata, and then implement a callback to do the processing.

Shihni edhe

Developing add-ons

Executing scripts from add-on

Add-ons can also be used to execute external scripts. This used to be integrated in Weblate, but now you have to write some code to wrap your script with an add-on.

# Copyright © 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"

For installation instructions see Custom quality checks, add-ons, automatic suggestions and auto-fixes.

The script is executed with the current directory set to the root of the VCS repository for any given component.

Additionally, the following environment variables are available:

WL_VCS

Sistem kontrolli versionesh i përdorur.

WL_REPO

Upstream repository URL.

WL_PATH

Shteg absolut për te depo VCS.

WL_BRANCH

Repository branch configured in the current component.

WL_FILEMASK

File mask for current component.

WL_TEMPLATE

Filename of template for monolingual translations (can be empty).

WL_NEW_BASE

Filename of the file used for creating new translations (can be empty).

WL_FILE_FORMAT

File format used in current component.

WL_LANGUAGE

Language of currently processed translation (not available for component-level hooks).

WL_PREVIOUS_HEAD

Previous HEAD after update (only available after running the post-update hook).

WL_COMPONENT_SLUG

Identifikues përbërësi i përdorur për të ndërtuar URL-në.

WL_PROJECT_SLUG

Identifikues projekti i përdorur për të ndërtuar URL-në.

WL_COMPONENT_NAME

Emër përbërësi.

WL_PROJECT_NAME

Emër projekti.

WL_COMPONENT_URL

URL përbërësi.

WL_ENGAGE_URL

Project engage URL.

Post-update repository processing

Can be used to update translation files when the VCS upstream source changes. To achieve this, please remember Weblate only sees files committed to the VCS, so you need to commit changes as a part of the script.

For example with Gulp you can do it using following code:

#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json

Pre-commit processing of translations

Use the commit script to automatically change a translation before it is committed to the repository.

It is passed as a single parameter consisting of the filename of a current translation.

Add-on activity logging

Add-on activity log keeps track of the add-on execution and can be used to keep track of add-on activity.

The logs can be pruned after a certain time interval by configuring the ADDON_ACTIVITY_LOG_EXPIRY.