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

  1. Voeg weblate.gitexport toe aan geïnstalleerde apps in settings.py:

    INSTALLED_APPS += ("weblate.gitexport",)
    
  2. 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/'

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",)
  1. 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.

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:

Spambeveiliging

U kunt zich beschermen tegen spammen door gebruikers met de service Akismet.

  1. Installeer de module voor Python akismet (deze is al opgenomen in de officiële Docker image).

  2. Haal de Akismet API-sleutel op.

  3. Sla die op als AKISMET_API_KEY of WEBLATE_AKISMET_API_KEY in Docker.

De volgende inhoud wordt ter controle verzonden aan Akismet:

  • Suggesties van niet geauthenticeerde gebruikers

  • Project en onderdeel beschrijvingen en koppelingen

Notitie

Dit (naast andere dingen) vertrouwt op het IP-adres van de cliënt, bekijk Uitvoeren achter een omgekeerde proxy voor het juist configureren daarvan.

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_DIR en de publieke sleutel wordt weergegeven op de pagina “Over”:

    ../_images/about-gpg.webp
  • Als alternatief kunt u ook bestaande sleutels importeren in Weblate, stel eenvoudigweg HOME=$DATA_DIR/home in 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.

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

REGISTRATION

5

300

600

Bericht versturen aan admins

MESSAGE

2

300

600

Authenticatie wachtwoord bij inloggen

LOGIN

5

300

600

Sitebrede zoekactie

SEARCH

6

60

60

Vertalen

TRANSLATE

30

60

600

Toevoegen aan woordenlijst

GLOSSARY

30

60

600

Nieuwe vertaling in nieuwe taal beginnen

LANGUAGE

2

300

600

Nieuw project aanmaken

PROJECT

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.

Integratie Fedora Messaging

Fedora Messaging is een op AMQP gebaseerde uitgever voor alle wijzigingen die gebeuren in Weblate. U kunt hiermee aanvullende services voor wijzigingen, die gebeuren in Weblate, koppelen.

De integratie van Fedora Messaging is beschikbaar als een afzonderlijke module voor Python weblate-fedora-messaging. Bekijk <https://github.com/WeblateOrg/fedora_messaging/> voor instructies om het in te stellen.