Beschrijving
Deze plugin registreert veilige API endpoints die je toestaan om vertalingen direct van DeepL aan te vragen zonder je DeepL API-sleutel bloot te stellen. Deze endpoints zijn alleen toegankelijk wanneer een geldige nonce wordt verstrekt. Bij het aanbieden van vertalingen aan site bezoekers, kun je configureren welke talen worden ondersteund voor vertaling.
Caching mechanisme
Elk object dat is vertaald, slaat zijn gecachte vertaling op in de wp_postmeta
tabel binnen de database. Dit caching mechanisme zorgt ervoor dat vertalingen efficiënt worden hergebruikt, waardoor onnodige API aanvragen naar DeepL worden verminderd en kosten worden bespaard.
- Cached vertalingen serveren: als een cached vertaling nieuwer is dan de
post_modified
datum van het object, wordt de cached versie geserveerd. - Nieuwe vertalingen ophalen: wanneer de
post_modified
datum van het object recenter is dan de vertaalde cache, wordt er een nieuwe vertaling opgehaald van DeepL. Zodra deze is opgehaald, wordt deze vertaling direct in de cache opgeslagen voor toekomstig gebruik.
Deze aanpak minimaliseert het aantal API calls naar DeepL, waardoor vertalingen alleen worden geüpdatet wanneer dat nodig is.
Externe diensten
Deze plugin verbindt met de DeepL API om vertalingen voor inhoud te bieden.
- Dienst: DeepL API (https://www.deepl.com)
- Doel: tekst van de ene taal naar de andere vertalen op basis van de opgegeven doeltaal.
- Verzonden gegevens: tekst inhoud voor vertaling, de doeltaal code en de DeepL API-sleutel (veilig behandeld en nooit blootgesteld aan gebruikers).
- Voorwaarden: gegevens worden verzonden wanneer een aanvraag voor vertaling wordt gestart.
- Privacybeleid: DeepL privacyveleid
- Dienstvoorwaarden: DeepL dienstvoowaarden
Gebruik
Beveiliging
De API endpoints die door deze plugin zijn geregistreerd, worden beveiligd met een WordPress nonce. De nonce wordt naar de front-end gestuurd met behulp van de wp_localize_script
functie en wordt opgeslagen in een globaal JavaScript object ydpl
dat de volgende eigenschappen bevat:
ydpl_translate_post_id
: het ID van het bericht om te vertalen.ydpl_rest_translate_url
: de URL van het API endpoint voor vertaal aanvragen.ydpl_supported_languages
: de lijst van talen die worden ondersteund voor vertaling.ydpl_api_request_nonce
: de nonce gebruikt voor API-validatie.
Bij het doen van aanvragen naar de API, zorg ervoor dat de nonce is opgenomen in de request headers. De header moet de naam nonce
hebben en het moet de waarde van ydpl_api_request_nonce
bevatten.
Voorbeeld
Aanvraag
var xhr = new XMLHttpRequest();
xhr.open('POST', ydpl.ydpl_rest_translate_url, true);
// Set request headers
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('nonce', ydpl.ydpl_api_request_nonce);
// Handle response
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log('Translation:', JSON.parse(xhr.responseText));
} else if (xhr.readyState === 4) {
console.error('Error:', xhr.statusText);
}
};
// Prepare and send the request body
var data = JSON.stringify({
text: ["Look another test"],
target_lang: "DE"
});
xhr.send(data);
Reactie
[
{
"text": "Look another test!",
"translation": "Sehen Sie sich einen weiteren Test an!"
}
]
Installatie
- Upload de plugin folder naar de
/wp-content/plugins/
folder - Activeer de plugin via het ‘Plugins’-menu in WordPress.
Beoordelingen
Er zijn geen beoordelingen voor deze plugin.
Bijdragers & ontwikkelaars
“Yard DeepL” is open source software. De volgende personen hebben bijgedragen aan deze plugin.
Bijdragers“Yard DeepL” is vertaald in 1 taal. Dank voor de vertalers voor hun bijdragen.
Vertaal “Yard DeepL” naar jouw taal.
Interesse in ontwikkeling?
Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.
Changelog
1.1.0: Jan 31, 2025
- Toegevoegd: DeepL vertaal cache meta box uitschakelen
- Wijziging: gebruik init hook in plugin bootstrap construct, repareert vertalingen voor WordPress 6.7
1.0.2: Jan 08, 2025
- Wijzig: update alle gevallen van ‘deepl’ naar ‘DeepL’ voor consistentie
1.0.1: Jan 07, 2025
- Wijzig: verwerkte correcties
1.0.0: Oct 18, 2024
- Init: eerste release!