Dodatki¶
Add-ons provide ways to customize and automate the translation workflow. Admins can add and manage add-ons from the Operations ↓ Add-ons menu of each respective translation project or component. Add-ons can be also installed site-wide in Interfejs zarządzania.
Podpowiedź
Możesz także skonfigurować dodatki używając API, DEFAULT_ADDONS lub install_addon.
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.
Wbudowane dodatki¶
Tłumaczenie automatyczne¶
- ID dodatku:
weblate.autotranslate.autotranslate- Konfiguracja:
modeTryb automatycznego tłumaczenia
Dostępne opcje:¶ suggestDodaj jako sugestię
translateDodaj jako tłumaczenie
fuzzyDodaj jako „Wymaga edycji”
qZapytanie
Pamiętaj, że tłumaczenie wszystkich ciągów spowoduje odrzucenie wszystkich istniejących tłumaczeń.
auto_sourceŹródło tłumaczeń automatycznych
Dostępne opcje:¶ othersInne komponenty tłumaczenia
mtTłumaczenie maszynowe
componentKomponent
Wprowadź końcówkę adresu komponentu do użycia jako źródła; pozostaw puste, aby użyć wszystkich komponentów w bieżącym projekcie.
enginesSilniki tłumaczenia maszynowego
thresholdOcena wyniku
- Wyzwalacze:
Automatycznie tłumaczy ciągi przy użyciu tłumaczenia maszynowego lub innych komponentów.
Lokalizacja JavaScript CDN¶
Dodane w wersji 4.2.
- ID dodatku:
weblate.cdn.cdnjs- Konfiguracja:
thresholdPróg tłumaczenia
Procent przetłumaczonych ciągów, które muszą być obecne w celu uwzględnienia tłumaczenia.
css_selectorSelektor CSS
Selektor CSS do wykrywania lokalizowalnych elementów.
cookie_nameNazwa pliku cookie języka
Nazwa pliku cookie przechowującego preferencje językowe.
filesWyodrębnianie ciągów z plików HTML
Lista nazw plików w bieżącym repozytorium lub zdalnych adresów URL do przeanalizowania w celu przetłumaczenia ciągów.
- Wyzwalacze:
Add-on installation, Daily, Repository post-commit, Repository post-update
Publikuje tłumaczenia w content delivery network dla lokalizacji JavaScript lub HTML.
Może zostać użyte do lokalizowania statycznych stron HTML, lub do załadowania lokalizacji w kodzie JavaScript.
Generuje unikalny URL dla twojego komponentu, który możesz umieścić na stronach HTML, aby je zlokalizować. Po więcej szczegółów patrz Tłumaczenie HTML i JavaScript za pomocą Weblate CDN.
Informacja
Ten dodatek wymaga dodatkowej konfiguracji na serwerze Weblate. LOCALIZE_CDN_PATH konfiguruje miejsce zapisywania wygenerowanych plików (w systemie plików), a LOCALIZE_CDN_URL określa miejsce, w którym będą one udostępniane (URL). Udostępnianie plików nie jest realizowane przez Weblate i musi zostać skonfigurowane zewnętrznie (zwykle przy użyciu usługi CDN).
Ten dodatek jest skonfigurowany na Hosted Weblate i udostępnia pliki poprzez https://weblate-cdn.com/.
Usuń puste ciągi¶
Dodane w wersji 4.4.
- ID dodatku:
weblate.cleanup.blank- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Add-on installation, Repository post-commit, Repository post-update
Usuwa ciągi bez tłumaczenia z plików tłumaczeń.
Użyj tego, aby nie mieć pustych ciągów w plikach tłumaczeń (na przykład, jeśli twoja biblioteka lokalizacji wyświetla je jako brakujące zamiast powracać do ciągu źródłowego).
Wyczyść pliki tłumaczenia¶
- ID dodatku:
weblate.cleanup.generic- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Add-on installation, Repository post-update, Repository pre-commit
Zaktualizuj wszystkie pliki tłumaczeń tak, aby odpowiadały jednojęzykowemu plikowi podstawowemu. W przypadku większości formatów plików oznacza to usunięcie nieaktualnych kluczy tłumaczeń, których nie ma już w pliku podstawowym.
For formats containing additional content besides translation strings (such as Pliki HTML, Pliki RC systemu Windows, or Format OpenDocument) this also brings the translation file in sync with the base file.
Dodaj brakujące języki¶
- ID dodatku:
weblate.consistency.languages- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Zapewnia, że dla wszystkich komponentów w projekcie używany jest spójny zestaw języków.
Informacja
The components shared from other projects are not considered in this.
Brakujące języki są sprawdzane raz na 24 godziny oraz gdy nowe języki są dodawane w Weblate.
W przeciwieństwie do większości ten dodatek wpływa na cały projekt.
Podpowiedź
Automatycznie tłumacz nowo dodane ciągi z Tłumaczenie automatyczne.
Wykrycie komponentów¶
- ID dodatku:
weblate.discovery.discovery- Konfiguracja:
matchWyrażenie regularne dopasowujące pliki tłumaczeń
file_formatFormat pliku
name_templateDostosuj nazwę komponentu
base_file_templateZdefiniuj jednojęzyczną bazową nazwę pliku
Pozostaw puste dla plików tłumaczeń dwujęzycznych.
new_base_templateZdefiniuj plik bazowy dla nowych tłumaczeń
Nazwa pliku używanego do tworzenia nowych tłumaczeń. Dla Gettext wybierz plik .pot.
intermediate_templatePlik języka pośredniego
Nazwa pliku tłumaczenia pośredniego. W większości przypadków jest to plik tłumaczenia dostarczony przez deweloperów i jest używany podczas tworzenia faktycznych ciągów źródłowych.
language_regexFiltr języka
Wyrażenie regularne do filtrowania plików tłumaczeń podczas skanowania w poszukiwaniu maski pliku.
copy_addonsKlonuj dodatki z głównego komponentu do nowo utworzonych
removeUsuń komponenty dla nieistniejących plików
confirmPotwierdzam, że powyższe dopasowania wyglądają prawidłowo
- Wyzwalacze:
Automatycznie dodaje lub usuwa komponenty projektu na podstawie zmian plików w systemie kontroli wersji.
Dopasowanie odbywa się za pomocą wyrażeń regularnych, co umożliwia złożoną konfigurację, ale wymagana jest do tego pewna wiedza. Niektóre przykłady typowych zastosowań można znaleźć w sekcji pomocy dodatku.
Wyrażenie regularne pasujące do plików tłumaczeń musi zawierać dwie nazwane grupy, aby dopasować komponent i język. Wszystkie nazwane grupy w wyrażeniu regularnym mogą być używane jako zmienne w polach szablonu.
Możesz używać znaczników szablonów Django zarówno w nazwie pliku, jak i treści, na przykład:
{{ component }}Dopasowanie nazwy pliku komponentu
{{ component|title }}Nazwa pliku rozpoczynająca się od wielkiej litery
{{ path }}: {{ component }}Niestandardowa grupa dopasowań z wyrażenia regularnego
Po naciśnięciu Save zostanie wyświetlony podgląd pasujących komponentów, skąd będziesz mógł sprawdzić, czy dana konfiguracja odpowiada twoim potrzebom:
Przykłady wykrycia komponentów¶
Jeden folder na język¶
Jeden folder na język zawierający pliki tłumaczeniowe dla komponentów.
- Wyrażenie regularne:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po- Dopasowane pliki:
cs/application.pocs/website.pode/application.pode/website.po
Lokalny układ Gettext¶
Zwykła struktura do przechowywania plików gettext PO.
- Wyrażenie regularne:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po- Dopasowane pliki:
locale/cs/LC_MESSAGES/application.polocale/cs/LC_MESSAGES/website.polocale/de/LC_MESSAGES/application.polocale/de/LC_MESSAGES/website.po
Złożone nazwy plików¶
Używanie nazwy komponentu i języka w nazwie pliku.
- Wyrażenie regularne:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po- Dopasowane pliki:
src/locale/application.cs.posrc/locale/website.cs.posrc/locale/application.de.posrc/locale/website.de.po
Powtarzający się kod języka¶
Używanie języka w ścieżce i nazwie pliku.
- Wyrażenie regularne:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po- Dopasowane pliki:
locale/cs/application/cs.polocale/cs/website/cs.polocale/de/application/de.polocale/de/website/de.po
Rozdziel ciągi Android¶
Ciągi zasobów Androida podzielone na kilka plików.
- Wyrażenie regularne:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml- Dopasowane pliki:
res/values-cs/strings-about.xmlres/values-cs/strings-help.xmlres/values-de/strings-about.xmlres/values-de/strings-help.xml
Dopasowywanie wielu ścieżek¶
Wielomodułowy projekt Maven z tłumaczeniami właściwości Java.
- Wyrażenie regularne:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties- Nazwa komponentu:
{{ originalHierarchy }}: {{ component }}- Dopasowane pliki:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.propertiesparent/module1/submodule/src/main/resources/ApplicationResource_es.propertiesparent/module2/src/main/resources/ApplicationResource_de.propertiesparent/module2/src/main/resources/ApplicationResource_ro.properties
Podpowiedź
Component discovery add-on uses Wewnętrzne adresy URL 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 Repozytorium kodu źródłowego field (in Operations ↓ Settings ↓
Version control system) of each respective component.
This saves time with configuration and system resources too.
Podpowiedź
Ensure the new component contains the full set of translatable languages with Dodaj brakujące języki.
Ostrzeżenie
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.
Zobacz także
Edycja zbiorcza¶
- ID dodatku:
weblate.flags.bulk- Konfiguracja:
qZapytanie
stateStan do ustawienia
Dostępne opcje:¶ -1Nie zmieniaj
10Wymaga edycji
20Przetłumaczone
30Zatwierdzone
add_flagsFlagi tłumaczeń do dodania
remove_flagsFlagi tłumaczeń do usunięcia
add_labelsEtykiety do dodania
remove_labelsEtykiety do usunięcia
- Wyzwalacze:
Zbiorcza edycja flag, etykiet lub stanów ciągów.
Przykłady:
Zapytanie wyszukiwania |
|
|---|---|
Etykiety do dodania |
ostatnie |
Zapytanie wyszukiwania |
|
|---|---|
Flagi tłumaczeń do dodania |
|
Zapytanie wyszukiwania |
|
|---|---|
Flagi tłumaczeń do dodania |
|
Oznacz niezmienione tłumaczenia jako „Wymaga edycji”¶
- ID dodatku:
weblate.flags.same_edit- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Za każdym razem, gdy nowy przetłumaczalny ciąg jest importowany z VCS i pasuje do ciągu źródłowego, jest oznaczany jako wymagający edycji w Weblate. Szczególnie przydatne w przypadku formatów plików zawierających ciągi źródłowe nieprzetłumaczonych ciągów.
Podpowiedź
Możesz także zaostrzyć kontrolę Niezmienione tłumaczenie, dodając flagę strict-same do flagi Flagi tłumaczeń.
Zobacz także
Oznacz nowe ciągi źródłowe jako „Wymaga edycji”¶
- ID dodatku:
weblate.flags.source_edit- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Za każdym razem, gdy nowy źródłowy ciąg znaków jest importowany z VCS, jest oznaczany jako wymagający edycji w Weblate. W ten sposób można łatwo filtrować i edytować ciągi źródłowe napisane przez twórców oprogramowania.
Zobacz także
Oznacz nowe tłumaczenia jako „Wymaga edycji”¶
- ID dodatku:
weblate.flags.target_edit- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Za każdym razem, gdy zaimportowany zostanie nowy łańcuch do przetłumaczenia z VCS, zostanie oznaczony jako wymagający edycji w Weblate. W ten sposób możesz łatwo filtrować i edytować tłumaczenia stworzone przez programistów.
Zobacz także
Oznacz zaktualizowane tłumaczenia z repozytorium jako „Wymaga edycji”¶
- ID dodatku:
weblate.flags.target_repo_update- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Za każdym razem, gdy tłumaczenie ciągu zostaje zmienione w VCS, jest oznaczane jako wymagające edycji w Weblate. Jest to szczególnie przydatne, gdy pliki tłumaczeń są często aktualizowane ręcznie lub przez zewnętrzną usługę.
Zobacz także
Wypełnij ciągi tylko do odczytu źródłem¶
Dodane w wersji 4.18.
- ID dodatku:
weblate.generate.fill_read_only- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Wypełnia ciągi tłumaczeń tylko do odczytu ciągami źródłowymi.
Generator statystyk¶
- ID dodatku:
weblate.generate.generate- Konfiguracja:
filenameNazwa wygenerowanego pliku
templateZawartość wygenerowanego pliku
- Wyzwalacze:
Generuje plik zawierający szczegółowe informacje o stanie tłumaczenia.
Możesz używać szablonów Django zarówno w nazwie pliku, jak i treści, sprawdź Znaczniki szablonu żeby poznać szczegóły szablonów.
Na przykład wygenerowanie pliku podsumowania dla każdego tłumaczenia:
- Nazwa wygenerowanego pliku
locale/{{ language_code }}.json- Zawartość
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Zobacz także
Wypełnij wstępnie tłumaczenie źródłem¶
Dodane w wersji 4.11.
- ID dodatku:
weblate.generate.prefill- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Wypełnia ciągi tłumaczeń ciągami źródłowymi.
Wszystkie nieprzetłumaczone ciągi w komponencie zostaną wypełnione ciągiem źródłowym i oznaczone jako wymagające edycji. Użyj tej opcji, jeśli nie możesz mieć pustych ciągów w plikach tłumaczeń.
Generowanie pseudolokalizacji¶
Dodane w wersji 4.5.
- ID dodatku:
weblate.generate.pseudolocale- Konfiguracja:
sourceCiągi źródłowe
targetTłumaczenie docelowe
Wszystkie ciągi w tym tłumaczeniu zostaną nadpisane
prefixPrzedrostkowy tekst stały
var_prefixPrzedrostkowy tekst zmienny
suffixPrzyrostkowy tekst stały
var_suffixPrzyrostkowy tekst zmienny
var_multiplierMnożnik tekstu zmiennego
Ile razy powtórzyć tekst zmienny w zależności od długości ciągu źródłowego.
include_readonlyUwzględnij ciągi tylko do odczytu
- Wyzwalacze:
Generuje tłumaczenie poprzez automatyczne dodanie prefiksu i sufiksu do ciągów źródłowych.
Pseudolokale są przydatne do wyszukiwania ciągów znaków, które nie są przygotowane do lokalizacji. Odbywa się to poprzez zmianę wszystkich możliwych do przetłumaczenia ciągów źródłowych, aby ułatwić wykrycie niezmienionych ciągów podczas uruchamiania aplikacji w języku pseudolokalnym.
Możliwe jest również znalezienie ciągów znaków, których zlokalizowane odpowiedniki mogą nie pasować do układu.
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.
Ciągi zostaną wygenerowane według następującego wzorca:
Prepended static text Prepended variable text Source string Appended variable text Appended static text
Podpowiedź
Do testowania możesz używać prawdziwych języków, ale w Weblate dostępne są dedykowane pseudolokale - en_XA i ar_XB.
Podpowiedź
Możesz użyć tego dodatku, aby rozpocząć tłumaczenie na nowe ustawienia regionalne istniejącego języka lub języka podobnego. Po dodaniu tłumaczenia do komponentu przejdź do dodatku. Przykład: Jeśli masz fr i chcesz rozpocząć tłumaczenie fr_CA, po prostu ustaw fr jako źródło, fr_CA jako cel i pozostaw przedrostek i sufiks puste.
Odinstaluj dodatek po wypełnieniu nowego tłumaczenia, aby uniemożliwić Weblate zmianę tłumaczeń wykonanych po skopiowaniu.
Komentarz współautora¶
- ID dodatku:
weblate.gettext.authors- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Zaktualizuj część komentarz w nagłówku pliku PO, aby zawierał nazwę autora i lata wkładu.
Nagłówek pliku PO będzie wyglądał następująco:
# 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.
Zaktualizuj zmienną ALL_LINGUAS w pliku „konfiguracyjnym”¶
- ID dodatku:
weblate.gettext.configure- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Aktualizuje zmienną ALL_LINGUAS w plikach configure, configure.in lub dowolnych plikach configure.ac, gdy dodawane jest nowe tłumaczenie.
Dostosuj wyjście gettext¶
Removed in version 5.13: Replaced by Parametry formatu pliku.
Aktualizuj plik LINGUAS¶
- ID dodatku:
weblate.gettext.linguas- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Aktualizuje plik LINGUAS, gdy dodawane jest nowe tłumaczenie.
Generuj pliki MO¶
- ID dodatku:
weblate.gettext.mo- Konfiguracja:
pathŚcieżka wygenerowanego pliku MO
Jeśli nie zostanie określony, zostanie użyta lokalizacja pliku PO.
fuzzyDołącz ciągi wymagające edycji
Ciągi wymagające edycji (rozmyte) zazwyczaj nie są gotowe do użycia jako tłumaczenia.
- Wyzwalacze:
Automatycznie generuje plik MO dla każdego zmienionego pliku PO.
Lokalizację wygenerowanego pliku MO można dostosować, a jego pole używa Znaczniki szablonu.
Informacja
Jeśli tłumaczenie zostanie usunięte, jego plik PO zostanie usunięty z repozytorium, ale plik MO wygenerowany przez ten dodatek nie zostanie usunięty. Plik MO należy usunąć ręcznie z pliku źródłowego.
Zaktualizuj pliki PO, aby dopasować POT (msgmerge)¶
Zmienione w wersji 5.13: Settings configuration has been moved to Parametry formatu pliku.
- ID dodatku:
weblate.gettext.msgmerge- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Aktualizuje wszystkie pliki PO (zgodnie z konfiguracją Maska pliku) tak, aby pasowały do pliku POT (zgodnie z konfiguracją Szablon dla nowych tłumaczeń) przy użyciu 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.
Zesquashowane commity na Git¶
- ID dodatku:
weblate.git.squash- Konfiguracja:
squashSquashowanie commitów
Dostępne opcje:¶ allWszystkie commity w jeden
languageWedług języka
fileWedług pliku
authorWedług autora
append_trailersDołącz zakończenia do opisu zesquashowanego commita
Linie końcowe to linie, które wyglądają podobnie do nagłówków wiadomości e-mail RFC 822, na końcu części opisu commita, takie jak „Współtworzone przez: …”.
commit_messageOpis commita
Ten opis commita będzie użyty zamiast połączonych opisów commitów z zesquashowanych commitów.
- Wyzwalacze:
Zesquashuj commity na Git przed wysłaniem zmian.
Podpowiedź
To avoid unnecessary conflicts, it is recommended to configure automatic receiving of upstream changes by webhooks or API, see Aktualizacja repozytoriów.
Zatwierdzenia Git można zmiażdżyć przed wypchnięciem zmian w jednym z następujących trybów:
Wszystkie commity w jeden
Według języka
Według pliku
Według autora
Oryginalne opisy commitów są zachowywane, ale autorstwo zostaje utracone, chyba że wybrano dla autora opcję Na autora lub dostosowano opis commita, aby go uwzględnić.
Oryginalne opisy commitów można opcjonalnie zastąpić niestandardowym opisem commita.
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.
Dostosuj wyjście JSON¶
Zmienione w wersji 5.12: Avoid spaces after separators option added.
Removed in version 5.13: Replaced by Parametry formatu pliku.
Sformatuj plik właściwości Java¶
- ID dodatku:
weblate.properties.sort- Konfiguracja:
case_sensitiveWłącz sortowanie kluczy z uwzględnieniem wielkości liter
- Wyzwalacze:
Formatuje i sortuje plik właściwości Java.
Zamienia nowe linie do formatu Unix.
Formatowanie wielkich liter sekwencji ucieczki Unicode (jeśli są obecne).
Usuwa puste linie i komentarze.
Sortuje ciągi znaków według kluczy.
Usuwa zduplikowane ciągi znaków.
Usuwanie skasowanych komentarzy¶
- ID dodatku:
weblate.removal.comments- Konfiguracja:
ageDni do zachowania
- Wyzwalacze:
Ustaw przedział czasowy na usunięcie komentarzy.
Może to być przydatne do usuwania starych komentarzy, które mogły stać się nieaktualne. Używaj z rozwagą, ponieważ starzenie się komentarzy nie oznacza, że straciły one na znaczeniu.
Usuwanie nieaktualnych sugestii¶
- ID dodatku:
weblate.removal.suggestions- Konfiguracja:
ageDni do zachowania
votesPróg głosowania
Próg do usunięcia. To pole nie ma wpływu na wyłączone głosowanie.
- Wyzwalacze:
Ustaw przedział czasowy na usunięcie sugestii.
Can be very useful in connection with suggestion voting (see Ocena koleżeńska) to remove suggestions which don’t receive enough positive votes in a given timeframe.
Zaktualizuj pliki RESX¶
- ID dodatku:
weblate.resx.update- Konfiguracja:
Ten dodatek nie ma konfiguracji.
- Wyzwalacze:
Zaktualizuj wszystkie pliki tłumaczeń, aby pasowały do jednojęzycznego pliku podstawowego. Nieużywane ciągi są usuwane, a nowe są dodawane jako kopie ciągu źródłowego.
Podpowiedź
Użyj Wyczyść pliki tłumaczenia jeśli chcesz usunąć tylko nieaktualne klucze tłumaczeń.
Slack Webhooks¶
Dodane w wersji 5.12.
- ID dodatku:
weblate.webhook.slack- Konfiguracja:
webhook_urlAdres URL webhooka
eventsZmień zdarzenia
Dostępne opcje:¶ 0Zaktualizowano zasób
1Zakończono tłumaczenie
2Zmieniono tłumaczenie
3Dodano komentarz
4Dodano sugestię
5Dodano tłumaczenie
6Przetłumaczono automatycznie
7Zaakceptowano sugestię
8Przywrócono tłumaczenie
9Wysłano tłumaczenie
13Dodano ciąg źródłowy
14Zablokowano komponent
15Odblokowano komponent
17Scommitowano zmiany
18Wypchnięto zmiany
19Zresetowano repozytorium
20Scalono repozytorium
21Wykonano rebase repozytorium
22Nie udało się scalić repozytorium
23Nie udało się wykonać rebase repozytorium
24Nie udało się przetworzyć
25Usunięto tłumaczenie
26Usunięto sugestię
27Zastąpiono tłumaczenie
28Nie udało się wypchnąć repozytorium
29Usunięto sugestię podczas czyszczenia
30Zmieniono ciąg źródłowy
31Dodano ciąg
32Zmieniono zbiorczy status
33Zmieniono widoczność
34Dodano użytkownika
35Usunięto użytkownika
36Tłumaczenie zatwierdzone
37Oznaczono do edycji
38Usunięto komponent
39Usunięto projekt
41Zmieniono nazwę projektu
42Zmieniono nazwę komponentu
43Przeniesiono komponent
45Dołączył współtwórca
46Opublikowano ogłoszenie
47Wyzwolono alert
48Dodano język
49Zażądano języka
50Utworzono projekt
51Utworzono komponent
52Zaproszono użytkownika
53Otrzymano powiadomienie o repozytorium
54Zastąpiono tłumaczenie przesłanym plikiem
55Zmieniono licencję
56Zmieniono umowę licencyjną dla współtwórców
57Dodano zrzutu ekranu
58Przesłano zrzut ekranu
59Zaktualizowano ciąg w repozytorium
60Zainstalowano dodatek
61Zmieniono konfigurację dodatku
62Odinstalowano dodatek
63Usunięto ciąg
64Usunięto komentarz
65Rozwiązano komentarz
66Zaktualizowane wyjaśnienie
67Usunięto kategorię
68Zmieniono nazwę kategorii
69Przeniesiono kategorię
70Zapisywanie ciągu nie powiodło się
71Dodano ciąg w repozytorium
72Zaktualizowano ciąg w przesłanym pliku
73Dodano ciąg w przesłanym pliku
74Zaktualizowano tłumaczenie przez przesłanie źródło
75Zakończono tłumaczenie komponentu
76Zastosowano wymuszoną kontrolę
77Propagowana zmiana
78Przesłano plik
79Zaktualizowano dodatkowe flagi
80Przesłano czcionkę
81Zmieniono czcionkę
82Usunięto czcionkę
83Wymuszono synchronizację tłumaczeń
84Wymuszono ponowne skanowanie tłumaczeń
- Wyzwalacze:
Wysyła powiadomienia do kanału Slack na podstawie wybranych zdarzeń.
Ostrzeżenie
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.
Podpowiedź
To obtain a webhook URL, follow the steps outlined in the Slack Incoming Webhooks documentation
Webhook¶
Dodane w wersji 5.11.
- ID dodatku:
weblate.webhook.webhook- Konfiguracja:
webhook_urlAdres URL webhooka
secretTajny klucz
Ciąg zakodowany w formacie Base64
eventsZmień zdarzenia
Dostępne opcje:¶ 0Zaktualizowano zasób
1Zakończono tłumaczenie
2Zmieniono tłumaczenie
3Dodano komentarz
4Dodano sugestię
5Dodano tłumaczenie
6Przetłumaczono automatycznie
7Zaakceptowano sugestię
8Przywrócono tłumaczenie
9Wysłano tłumaczenie
13Dodano ciąg źródłowy
14Zablokowano komponent
15Odblokowano komponent
17Scommitowano zmiany
18Wypchnięto zmiany
19Zresetowano repozytorium
20Scalono repozytorium
21Wykonano rebase repozytorium
22Nie udało się scalić repozytorium
23Nie udało się wykonać rebase repozytorium
24Nie udało się przetworzyć
25Usunięto tłumaczenie
26Usunięto sugestię
27Zastąpiono tłumaczenie
28Nie udało się wypchnąć repozytorium
29Usunięto sugestię podczas czyszczenia
30Zmieniono ciąg źródłowy
31Dodano ciąg
32Zmieniono zbiorczy status
33Zmieniono widoczność
34Dodano użytkownika
35Usunięto użytkownika
36Tłumaczenie zatwierdzone
37Oznaczono do edycji
38Usunięto komponent
39Usunięto projekt
41Zmieniono nazwę projektu
42Zmieniono nazwę komponentu
43Przeniesiono komponent
45Dołączył współtwórca
46Opublikowano ogłoszenie
47Wyzwolono alert
48Dodano język
49Zażądano języka
50Utworzono projekt
51Utworzono komponent
52Zaproszono użytkownika
53Otrzymano powiadomienie o repozytorium
54Zastąpiono tłumaczenie przesłanym plikiem
55Zmieniono licencję
56Zmieniono umowę licencyjną dla współtwórców
57Dodano zrzutu ekranu
58Przesłano zrzut ekranu
59Zaktualizowano ciąg w repozytorium
60Zainstalowano dodatek
61Zmieniono konfigurację dodatku
62Odinstalowano dodatek
63Usunięto ciąg
64Usunięto komentarz
65Rozwiązano komentarz
66Zaktualizowane wyjaśnienie
67Usunięto kategorię
68Zmieniono nazwę kategorii
69Przeniesiono kategorię
70Zapisywanie ciągu nie powiodło się
71Dodano ciąg w repozytorium
72Zaktualizowano ciąg w przesłanym pliku
73Dodano ciąg w przesłanym pliku
74Zaktualizowano tłumaczenie przez przesłanie źródło
75Zakończono tłumaczenie komponentu
76Zastosowano wymuszoną kontrolę
77Propagowana zmiana
78Przesłano plik
79Zaktualizowano dodatkowe flagi
80Przesłano czcionkę
81Zmieniono czcionkę
82Usunięto czcionkę
83Wymuszono synchronizację tłumaczeń
84Wymuszono ponowne skanowanie tłumaczeń
- Wyzwalacze:
Wysyła powiadomienia do usług zewnętrznych na podstawie wybranych zdarzeń, zgodnie ze specyfikacją 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”.
Dostosuj wyjście XML¶
Dodane w wersji 4.15.
Removed in version 5.13: Replaced by Parametry formatu pliku.
Dostosuj wyjście YAML¶
Removed in version 5.13: Replaced by Parametry formatu pliku.
Dostosowywanie listy dodatków¶
Listę dodatków konfiguruje się poprzez WEBLATE_ADDONS. Aby dodać kolejny dodatek, po prostu podaj w tym ustawieniu bezwzględną nazwę klasy.
Pisanie dodatku¶
Możesz także napisać własne dodatki, utworzyć podklasę weblate.addons.base.BaseAddon w celu zdefiniowania metadanych dodatku, a następnie zaimplementować wywołanie zwrotne w celu wykonania przetwarzania.
Zobacz także
Wykonywanie skryptów z dodatku¶
Dodatków można także używać do wykonywania zewnętrznych skryptów. Kiedyś było to zintegrowane z Weblate, ale teraz musisz napisać kod, aby go wykonać dodatkiem.
# 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"
Aby uzyskać instrukcje instalacji, zobacz Custom quality checks, add-ons, automatic suggestions and auto-fixes.
Skrypt jest wykonywany z bieżącym katalogiem ustawionym na katalog główny repozytorium VCS dla dowolnego komponentu.
Dodatkowo dostępne są następujące zmienne środowiskowe:
- WL_VCS¶
Używany system kontroli wersji.
- WL_REPO¶
Adres URL repozytorium nadrzędnego.
- WL_PATH¶
Ścieżka bezwzględna do repozytorium VCS.
- WL_BRANCH¶
Gałąź repozytorium skonfigurowana w bieżącym komponencie.
- WL_FILEMASK¶
Maska pliku dla bieżącego komponentu.
- WL_TEMPLATE¶
Nazwa pliku szablonu dla tłumaczeń jednojęzycznych (może być pusta).
- WL_NEW_BASE¶
Nazwa pliku użytego do tworzenia nowych tłumaczeń (może być pusta).
- WL_FILE_FORMAT¶
Format pliku używany w bieżącym komponencie.
- WL_LANGUAGE¶
Język aktualnie przetwarzanego tłumaczenia (niedostępny dla komponentów niskiego poziomu).
- WL_PREVIOUS_HEAD¶
Previous HEAD after update (only available after running the post-update hook).
- WL_COMPONENT_SLUG¶
Component slug used to construct URL.
- WL_PROJECT_SLUG¶
Project slug used to construct URL.
- WL_COMPONENT_NAME¶
Nazwa komponentu.
- WL_PROJECT_NAME¶
Nazwa projektu.
- WL_COMPONENT_URL¶
URL komponentu.
- WL_ENGAGE_URL¶
Adres URL zaangażowania projektu.
Zobacz także
Przetwarzanie repozytorium po aktualizacji¶
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
Przetwarzanie tłumaczeń przed scommitowaniem¶
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.