Title: Yard DeepL
Author: Yard | Digital Agency
Published: <strong>7 janvier 2025</strong>
Last modified: 31 janvier 2025

---

Recherche d’extensions

Cette extension **n’a pas été testée avec plus de trois mises à jour majeures de
WordPress**. Elle peut ne plus être maintenue ou supportée et peut avoir des problèmes
de compatibilité lorsqu’elle est utilisée avec des versions de WordPress plus récentes.

![](https://ps.w.org/yard-deepl/assets/icon-128x128.png?rev=3218515)

# Yard DeepL

 Par [Yard | Digital Agency](https://profiles.wordpress.org/yarddigitalagency/)

[Télécharger](https://downloads.wordpress.org/plugin/yard-deepl.1.1.0.zip)

 * [Détails](https://fr.wordpress.org/plugins/yard-deepl/#description)
 * [Avis](https://fr.wordpress.org/plugins/yard-deepl/#reviews)
 *  [Installation](https://fr.wordpress.org/plugins/yard-deepl/#installation)
 * [Développement](https://fr.wordpress.org/plugins/yard-deepl/#developers)

 [Support](https://wordpress.org/support/plugin/yard-deepl/)

## Description

This plugin registers secure API endpoints that allow you to request translations
directly from DeepL without exposing your Deepl API-key. These endpoints are only
accessible when a valid nonce is provided. When providing translations to website
visitors, you can configure which languages are supported for translation.

### Caching Mechanism

Each object that is translated will store its cached translation in the `wp_postmeta`
table within the database. This caching mechanism ensures that translations are 
efficiently reused, reducing unnecessary API requests to DeepL and saving costs.

 * Serving Cached Translations: If a cached translation is newer than the `post_modified`
   date of the object, the cached version is served.
 * Fetching New Translations: When the `post_modified` date of the object is more
   recent than the cached translation, a new translation is fetched from DeepL. 
   Once retrieved, this translation is immediately cached for future use.

This approach minimizes the number of API calls to DeepL, ensuring translations 
are kept up to date only when necessary.

### External Services

This plugin connects to the DeepL API to provide translations for content.

 * **Service:** DeepL API (https://www.deepl.com)
 * **Purpose:** To translate text from one language to another based on the provided
   target language.
 * **Data Sent:** Text content for translation, the target language code, and the
   DeepL API key (handled securely and never exposed to users).
 * **Conditions:** Data is sent when a request for translation is initiated.
 * **Privacy Policy:** [DeepL Privacy Policy](https://www.deepl.com/privacy)
 * **Terms of Service:** [DeepL Terms of Service](https://www.deepl.com/pro-license)

### Usage

### Security

The API endpoints registered by this plugin are secured using a WordPress nonce.
The nonce is passed to the front-end using the `wp_localize_script` function and
is stored in a global JavaScript object `ydpl` which contains the following properties:

 * `ydpl_translate_post_id`: The ID of the post to be translated.
 * `ydpl_rest_translate_url`: The URL of the API endpoint for translation requests.
 * `ydpl_supported_languages`: The list of languages supported for translation.
 * `ydpl_api_request_nonce`: The nonce used for API validation.

When making requests to the API, ensure that the nonce is included in the request
headers. The header should be named `nonce`, and it should contain the value of `
ydpl_api_request_nonce`.

### Example

### Request

    ```
    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);
    ```

### Response

    ```
    [
        {
            "text": "Look another test!",
            "translation": "Sehen Sie sich einen weiteren Test an!"
        }
    ]
    ```

## Installation

 1. Upload plugin directory to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress

## Avis

Il n’y a aucun avis pour cette extension.

## Contributeurs/contributrices & développeurs/développeuses

« Yard DeepL » est un logiciel libre. Les personnes suivantes ont contribué à cette
extension.

Contributeurs

 *   [ Yard | Digital Agency ](https://profiles.wordpress.org/yarddigitalagency/)
 *   [ Mike van den Hoek ](https://profiles.wordpress.org/mvdhoek1/)

“Yard DeepL” a été traduit dans 1 locale. Remerciez [l’équipe de traduction](https://translate.wordpress.org/projects/wp-plugins/yard-deepl/contributors)
pour ses contributions.

[Traduisez « Yard DeepL » dans votre langue.](https://translate.wordpress.org/projects/wp-plugins/yard-deepl)

### Le développement vous intéresse ?

[Parcourir le code](https://plugins.trac.wordpress.org/browser/yard-deepl/), consulter
le [SVN dépôt](https://plugins.svn.wordpress.org/yard-deepl/), ou s’inscrire au 
[journal de développement](https://plugins.trac.wordpress.org/log/yard-deepl/) par
[RSS](https://plugins.trac.wordpress.org/log/yard-deepl/?limit=100&mode=stop_on_copy&format=rss).

## Journal des modifications

#### 1.1.0: Jan 31, 2025

 * Add: disable DeepL translation cache metabox
 * Change: use init hook in plugin bootstrap construct, fixes translations for WordPress
   6.7

#### 1.0.2: Jan 08, 2025

 * Change: update all occurrences of ‘deepl’ to ‘DeepL’ for consistency

#### 1.0.1: Jan 07, 2025

 * Change: processed corrections

#### 1.0.0: Oct 18, 2024

 * Init: first release!

## Méta

 *  Version **1.1.0**
 *  Dernière mise à jour **il y a 1 an**
 *  Installations actives **20+**
 *  Version de WordPress ** 6.0 ou plus **
 *  Testé jusqu’à **6.7.5**
 *  Version de PHP ** 8.0 ou plus **
 *  Langues
 * [Dutch](https://nl.wordpress.org/plugins/yard-deepl/) et [English (US)](https://wordpress.org/plugins/yard-deepl/).
 *  [Traduisez la dans votre langue](https://translate.wordpress.org/projects/wp-plugins/yard-deepl)
 * Étiquettes
 * [deepl](https://fr.wordpress.org/plugins/tags/deepl/)[secure](https://fr.wordpress.org/plugins/tags/secure/)
   [translating](https://fr.wordpress.org/plugins/tags/translating/)
 *  [Vue avancée](https://fr.wordpress.org/plugins/yard-deepl/advanced/)

## Évaluations

Aucun avis n’a encore été envoyé.

[Your review](https://wordpress.org/support/plugin/yard-deepl/reviews/#new-post)

[Voir tous les avis](https://wordpress.org/support/plugin/yard-deepl/reviews/)

## Contributeurs

 *   [ Yard | Digital Agency ](https://profiles.wordpress.org/yarddigitalagency/)
 *   [ Mike van den Hoek ](https://profiles.wordpress.org/mvdhoek1/)

## Support

Quelque chose à dire ? Besoin d’aide ?

 [Voir le forum de support](https://wordpress.org/support/plugin/yard-deepl/)