Optionele modules voor Weblate¶
Verscheidene optionele modules zijn voor uw opstelling beschikbaar.
Git exporter¶
Verschaft u toegang voor alleen-lezen tot de onderliggende opslagruimte van Git met HTTP(S).
Installatie¶
Voeg
weblate.gitexporttoe aan geïnstalleerde apps insettings.py:INSTALLED_APPS += ("weblate.gitexport",)
Exporteer bestaande opslagruimten door uw database te migreren na het installeren:
weblate migrate
Hint
Git exporter is ingeschakeld in onze officiële Docker image. Gebruik om het uit te schakelen:
WEBLATE_REMOVE_APPS=weblate.gitexport
Gebruik¶
De module haakt automatisch in Weblate en stelt de URL van de geëxporteerde opslagruimte in het Configuratie onderdeel in. De opslagruimten zijn toegankelijk onder het gedeelte /git/ van de URL voor Weblate, bijvoorbeeld https://example.org/git/weblate/main/.
Opslagruimten voor publiek beschikbare projecten kunnen zonder authenticatie worden gekloond:
git clone 'https://example.org/git/weblate/main/'
Toegang voor het bladeren door de opslagruimten met beperkte toegang (met Privé toegangsbeheer of als REQUIRE_LOGIN is ingeschakeld) vereist een API-token dat u kunt verkrijgen in uw gebruikersprofiel:
git clone 'https://user:KEY@example.org/git/weblate/main/'
Notitie
Weblate serveert de opslagruimte van Git zelf, maar het serveert geen Git LFS-objecten. Voor opslagruimten die Git LFS gebruiken, kloon vanuit de opslagruimte upstream en voeg Weblate toe als een andere remote. Als u alleen door Git gevolgde bestanden nodig hebt, kunt u klonen vanuit Weblate met GIT_LFS_SKIP_SMUDGE=1 om het downloaden van Git LFS-objecten over te slaan.
Hint
Standaard hebben leden of de groep Gebruikers en anonieme gebruikers toegang tot de opslagruimten voor publieke projecten via de rollen Toegang opslagruimte en Poweruser.
Facturatie¶
Dit wordt gebruikt op Hosted Weblate om plannen voor facturatie te definiëren, facturen en verbruikslimieten bij te houden.
Installatie¶
1. Add weblate.billing to installed apps in
settings.py:
INSTALLED_APPS += ("weblate.billing",)
Voer de migratie van de database uit om optioneel aanvullende structuren van de database voor de module te installeren:
weblate migrate
Maken en toewijzen van plannen voor facturatie¶
U moet eerst een plan voor facturatie activeren. Navigeer naar het gedeelte Beheren (weergegeven door het pictogram van een steeksleutel) en open het scherm Extra. Ga daar door naar de Django admin interface.
In de beheersinterface van Django, zoek het gedeelte BILLING en voeg een plan voor facturatie toe. U kunt bijvoorbeeld een plan Free zonder kosten toevoegen.
Als u een plan voor facturatie toe wilt wijzen aan een bestaand project, kan dat ook worden gedaan in de Django beheersinterface met de optie Customer billings.
Als laatste verschaft de Django beheersinterface een optie Invoice voor het loggen van de betalingen van uw klanten.
Gebruik¶
Na het installeren kunt u facturatie beheren in de beheerinterface. Gebruikers met facturatie ingeschakeld zullen een nieuwe tab Facturatie in hun Gebruikersprofiel krijgen.
De module Billing maakt het aanvullend voor projectbeheerders mogelijk om nieuwe projecten en onderdelen te maken, zonder dat zij superusers zijn (bekijk Vertaalprojecten en onderdelen toevoegen). Dit is mogelijk als aan de volgende voorwaarden wordt voldaan:
De facturatie vindt plaats binnen zijn geconfigureerde limieten (elk meerverbruik resulteert in het blokkeren van het maken van project/onderdeel) en betalingen (als de prijs niet nul is)
De gebruiker is admin van het bestaande project met facturatie of de gebruiker is de eigenaar van de facturatie (het laatste is noodzakelijk voor het maken van nieuwe facturatie voor gebruikers om nieuwe projecten te kunnen importeren).
Bij het maken van het project is de gebruiker in staat te kiezen welke facturatie zou moeten worden berekend voor het project in het geval hij toegang tot meerdere daarvan heeft.
Wettelijke module¶
Dit wordt gebruikt op Hosted Weblate om de vereiste wettelijke documenten te verschaffen. Het wordt verschaft met blanco documenten en u wordt geacht de volgende sjablonen in de documenten in te vullen:
legal/documents/tos.htmlDocument Algemene voorwaarden
legal/documents/privacy.htmlDocument Privacy policy
legal/documents/summary.htmlKort overzicht van de algemene voorwaarden en privacy policy
Pas, bij het wijzigen van het document voor de algemene voorwaarden, LEGAL_TOS_DATE aan, zodat gebruikers verplicht worden om in te stemmen met de bijgewerkte documenten.
Notitie
Wettelijke documenten voor de service Hosted Weblate, uitgevoerd door Weblate s.r.o., zijn beschikbaar in deze opslagruimte van Git: <https://github.com/WeblateOrg/wllegal/tree/main/wllegal/templates/legal/documents>.
De gebundelde gebruiksbepalingen en gerelateerde wettelijke documenten zijn specifiek voor die service en zijn niet bedoeld voor algemeen gebruik. Ze kunnen handig zijn als een beginpunt om aan te passen naar uw behoeften.
Installatie¶
1. Add weblate.legal to installed apps in
settings.py:
INSTALLED_APPS += ("weblate.legal",)
# Optional:
# Social auth pipeline to confirm TOS upon registration/subsequent sign in
SOCIAL_AUTH_PIPELINE += ("weblate.legal.pipeline.tos_confirm",)
# Middleware to enforce TOS confirmation of signed in users
MIDDLEWARE += [
"weblate.legal.middleware.RequireTOSMiddleware",
]
Voer de migratie van de database uit om optioneel aanvullende structuren van de database voor de module te installeren:
weblate migrate
Bewerk de wettelijke documenten in de map
weblate/legal/templates/legal/om overeen te komen met uw service.
Hint
In Docker uitrollen, schakel de module Legal in met WEBLATE_LEGAL_INTEGRATION in plaats van settings.py te bewerken. Gebruik tos-confirm om de module Legal in te schakelen en bevestigen van de gebruiksbepalingen af te dwingen, of wllegal om aanvullend de gehoste sjablonen voor wettelijke documenten te laden die worden gebruikt door services van Weblate s.r.o. Die sjablonen zijn niet bedoeld voor algemeen gebruik. Uw eigen sjablonen in Docker importeren, plaats ze in /app/data/python/customize/templates/legal/documents, bekijk Vervangen van logo en andere statische bestanden.
Gebruik¶
Na het installeren en bewerken worden de wettelijke documenten weergegeven in de gebruikersinterface van Weblate.
Avatars¶
Avatars worden gedownload en gecachet aan de kant van de server om het lekken van informatie te verkleinen voor de sites die ze standaard serveren. De ingebouwde ondersteuning voor het ophalen van avatars uit daarvoor geconfigureerde e-mailadressen kan worden uitgeschakeld met ENABLE_AVATARS.
Weblate ondersteunt momenteel:
Vertaling CDN¶
The JavaScript-vertaling CDN and Translation files CDN add-ons
write files to LOCALIZE_CDN_PATH; Weblate does not serve them.
Configure the web server or CDN serving LOCALIZE_CDN_URL as a
public, read-only static file host.
Treat every published CDN file as public. The add-on specific UUID in the URL is not an access-control mechanism. Do not enable CDN add-ons for components that contain private strings, unreleased product text, customer data, internal URLs, API examples, repository paths, translator comments, or file-format metadata that should not be exposed.
The Translation files CDN add-on publishes raw translation files in formats supported by Weblate. Some formats can be interpreted by browsers or other clients as HTML, SVG, XML, JavaScript, YAML, or application-specific configuration. Serve the CDN from a dedicated domain that is separate from Weblate and from the application consuming the translations. Do not share authentication cookies with the CDN domain.
Recommended server configuration:
Serve only the directory configured by
LOCALIZE_CDN_PATH; do not expose Weblate repositories, backups, media, configuration, or the whole data directory.Disable directory listing.
Use HTTPS and make the CDN host read-only from the web server.
Send X-Content-Type-Options with
nosniff.Configure conservative MIME types. Serve unknown translation formats as text/plain or application/octet-stream; only serve
weblate.jsas JavaScript.For raw translation formats that are not intended to be rendered in a browser, consider adding Content-Disposition with
attachment.Configure
Access-Control-Allow-Originonly for sites that need browser access to the files.Set cache lifetimes that match your update expectations, and purge CDN caches when stale translations must disappear quickly.
The following nginx snippet serves only the configured CDN directory and applies conservative defaults for raw translation files:
#
# nginx configuration for the Weblate localization CDN
#
# You will want to change:
#
# - server_name to match the host configured in LOCALIZE_CDN_URL
# - root to match LOCALIZE_CDN_PATH
# - Access-Control-Allow-Origin to the sites that need browser access
# - TLS configuration if HTTPS is not terminated before nginx
#
server {
listen 80;
server_name cdn.example.com;
# LOCALIZE_CDN_PATH
root /home/weblate/data/l10n-cdn;
autoindex off;
disable_symlinks on;
location = / {
return 404;
}
# The JavaScript localization add-on publishes this loader.
location ~ "^/[0-9a-f]{32}/weblate\.js$" {
try_files $uri =404;
types {
application/javascript js;
}
default_type application/javascript;
add_header X-Content-Type-Options nosniff always;
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
expires 1h;
}
# Other CDN files are translation files. Serve them conservatively so raw
# formats are not interpreted as active browser content.
location / {
try_files $uri =404;
types {
}
default_type text/plain;
add_header X-Content-Type-Options nosniff always;
add_header Content-Disposition "attachment" always;
# add_header Access-Control-Allow-Origin "https://www.example.com" always;
expires 1h;
}
}
Ondertekenen van indieningen voor Git met GnuPG¶
Alle commits kunnen worden ondertekend met de sleutel voor GnuPG van de instantie van Weblate.
Schakel in
WEBLATE_GPG_IDENTITY. (Weblate zal een GnuPG-sleutel genereren indien nodig en zal die gebruiken om alle commits voor vertalingen te ondertekenen.)Voor deze mogelijkheid moet GnuPG 2.1 of nieuwer zijn geïnstalleerd.
De sleutel is te vinden in de
DATA_DIRen de publieke sleutel wordt weergegeven op de pagina “Over”:
Als alternatief kunt u ook bestaande sleutels importeren in Weblate, stel eenvoudigweg
HOME=$DATA_DIR/homein bij het activeren van GPG.
Hint
Het materiaal van de sleutel wordt door Weblate voor een lange periode gecachet. In het geval u Weblate een sleutel laat genereren met WEBLATE_GPG_IDENTITY en dan de sleutel importeert met dezelfde identiteit om voor een bestaande sleutel te gebruiken, wordt het purgen van de cache van Redis aanbevolen om het effect van een dergelijke wijziging te kunnen zien.
Notitie
Bij het delen van DATA_DIR tussen meerdere hosts, volg de instructies op https://wiki.gnupg.org/NFS om ervoor te zorgen dat het ondertekenen met GnuPG betrouwbaar werkt.
Zie ook
Opvraaglimiet gebruiken¶
Veranderd in versie 4.6: De opvraaglimiet is niet meer van toepassing op aangemelde superusers.
Verscheidene bewerkingen in Weblate zijn beperkt in hun opvragen. Ten hoogste RATELIMIT_ATTEMPTS pogingen zijn toegestaan binnen RATELIMIT_WINDOW seconden. De gebruiker wordt dan geblokkeerd voor RATELIMIT_LOCKOUT. Er zijn ook specifieke instellingen voor bereiken, bijvoorbeeld RATELIMIT_CONTACT_ATTEMPTS of RATELIMIT_TRANSLATE_ATTEMPTS. De tabel hieronder is een volledige lijst van beschikbare bereiken.
De volgende bewerkingen zijn onderworpen aan het gebruik van een opvraaglimiet:
Naam |
Toepassingsgebied |
Toegestane pogingen |
Venster opvraaglimiet |
Periode vergrendeld |
|---|---|---|---|---|
Registratie |
|
5 |
300 |
600 |
Bericht versturen aan admins |
|
2 |
300 |
600 |
Authenticatie wachtwoord bij inloggen |
|
5 |
300 |
600 |
Twee-factor authenticatie |
|
5 |
300 |
600 |
Sitebrede zoekactie |
|
6 |
60 |
60 |
Vertalen |
|
30 |
60 |
600 |
Toevoegen aan woordenlijst |
|
30 |
60 |
600 |
Nieuwe vertaling in nieuwe taal beginnen |
|
2 |
300 |
600 |
Nieuw project aanmaken |
|
5 |
600 |
600 |
De opvraaglimiet is gebaseerd op sessies, als de gebruiker is aangemeld, en anders op IP-adres.
Als een gebruiker faalt om AUTH_LOCK_ATTEMPTS keer in te loggen, zal authenticatie voor het wachtwoord worden uitgeschakeld voor het account, totdat het proces voor het herstellen van het wachtwoord is doorlopen.
De instellingen kunnen ook worden toegepast in de container van Docker door het voorvoegsel WEBLATE_ toe te voegen aan de naam van de instelling, bijvoorbeeld RATELIMIT_ATTEMPTS wordt dan WEBLATE_RATELIMIT_ATTEMPTS.
De API heeft afzonderlijke instellingen voor de opvraaglimiet, bekijk API opvraaglimieten.