Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Lorsque la traduction par DeepL est activée dans le moteur, on soumet les requêtes de traduction de texte à DeepL si toutes les langues (source et cible) sont considérées comme supportées par DeepL. Si ce n’est pas le cas, la requête sera soumise à l’EVP.

Les indications ci-dessous concernent la version 1 de l’intégration de la traduction DeepL dans le moteur When translation by DeepL is enabled in the engine, text translation requests are submitted to DeepL if all languages (source and target) are considered to be supported by DeepL. If this is not the case, the request will be submitted to the EVP.

The information below concerns version 1 of the DeepL translation integration (Release 2024.2).

⚠️ A noter que le basculement vers l’EVP exclut forcément l’usage du glossaire, puisqu’il s’agit d’une fonctionnalité propre à DeepL

Rappel : codification générale des langues (ISO)

Une langue est désignée par un code de langue ISO 639. Il existe différente forme de code ISO, déclinée en 639-1 (qu’on appelle également alpha-2, parce que le code est sur 2 lettresNote that switching to EVP necessarily excludes use of the glossary, since this is a feature specific to DeepL.

Reminder: general coding of languages (ISO)

A language is designated by an ISO 639 language code. There are different forms of ISO code: 639-1 (also known as alpha-2, because it's a 2-letter code), 639-2 et and 639-3.

Un code de langue peut être associé à un variant de pays, correspondant à la norme ISO 3166, déclinée également en A language code can be associated with a country variant, corresponding to the ISO 3166 standard, also available in 3166-1 (alpha-2), 3166-2, etc. Le code de pays suit le code de langue, séparé par un tiret, ou un underscore selon les systèmes.

Par exemple,

...

The country code follows the language code, separated by a hyphen or an underscore, depending on the system.

For example,

  • the ISO 639-1 (alpha-2) du français est language code for French is fr

  • fr-FR est le code de la langue française parlée en France (association du code de langue fr et du code de pays FR)is the code for the French language spoken in France (a combination of the language code fr and the country code FR).

  • fr-CA est le code de la langue française parlée au Canada (association du code de langue fr et du code de pays CA) is the code for the French language spoken in Canada (a combination of the fr language code and the CA country code).

  • en-GB est le code de la langue anglaise parlée en Grande Bretagneis the code for the English language spoken in Great Britain

  • en-US est le code de la langue anglais parlée au USA

Fonctionnement de la traduction DeepL

DeepL supporte un certain nombre de langues pour la traduction :

  • certaines par un code de langue is the code for the English language spoken in the USA

How translation works DeepL

DeepL supports a number of languages for translation :

  • some with an ISO-639-1 (alpha 2) certaines par un code de langue plus variant de pays language code

  • some with a language code that varies by country (ISO-639-1 (alpha2) suivi de followed by ISO-3166-1 (alpha 2))

  • les langues sources (la langue du texte à traduire) supportées actuellement sont toutes des langues sans variant

  • les langues cibles (celles vers lesquelles traduire) sont pour la plupart des code de langue the source languages (the language of the text to be translated) currently supported are all variant-free languages

  • target languages (those into which to translate) are mostly ISO-639-1 , à l’exception delanguage codes, with the exception of

    • en-GB pour l’anglais britaniquefor British English

    • en-US pour l’anglais américainfor American English

    • pt-BR pour le portugais brésilienfor Brazilian Portuguese

    • pt-PT pour le portugais autre que brésilien

    ⚠️ A noter que DeepL ne supporte pas la traduction vers l’anglais
    • for non-Brazilian Portuguese

  • ⚠️ Please note that DeepL does not support translation into English (code en) ni la traduction vers le portugais or Portuguese (pt). Le variant est impératif lorsqu’on indique une langue cible de type anglaise ou portugaise.

  • ⚠️ A noter également, qu’en ce qui concerne les glossaires, seule la langue est supportée, même lorsqu’il s’agit de traduire vers une langue avec variant. Par exemple, le glossaire utilisé pour une traduction fr vers en-GB sera le glossaire fr vers en.

...

  • The variant is mandatory when specifying an English or Portuguese target language.

  • ⚠️ Note also that when it comes to glossaries, only the language is supported, even when translating into a language with a variant. For example, the glossary used for a translation from fr to en-GB translation will be the fr to en glossary.

A list of supported languages can be found at URL https://club-wed.wedia-group.com/_plugins/WXM_DEEPL/page/admin/supportedLanguages.jspz :

Expand
titleLangues supportées comme langue source par Languages supported as source languages by DeepL
  • bg Bulgarian

  • zh Chinese

  • cs Czech

  • da Danish

  • nl Dutch

  • en English

  • et Estonian

  • fi Finnish

  • fr French

  • de German

  • el Greek

  • hu Hungarian

  • id Indonesian

  • it Italian

  • ja Japanese

  • ko Korean

  • lv Latvian

  • lt Lithuanian

  • nb Norwegian

  • pl Polish

  • pt Portuguese

  • ro Romanian

  • ru Russian

  • sk Slovak

  • sl Slovenian

  • es Spanish

  • sv Swedish

  • tr Turkish

  • uk Ukrainian

Expand
titleLangues cibles supportées par Target languages supported by DeepL
  • bg Bulgarian

  • zh Chinese (simplified)

  • cs Czech

  • da Danish

  • nl Dutch

  • en-US English (American)

  • en-GB English (British)

  • et Estonian

  • fi Finnish

  • fr French

  • de German

  • el Greek

  • hu Hungarian

  • id Indonesian

  • it Italian

  • ja Japanese

  • ko Korean

  • lv Latvian

  • lt Lithuanian

  • nb Norwegian

  • pl Polish

  • pt-BR Portuguese (Brazilian)

  • pt-PT Portuguese (European)

  • ro Romanian

  • ru Russian

  • sk Slovak

  • sl Slovenian

  • es Spanish

  • sv Swedish

  • tr Turkish

  • uk Ukrainian

Fonctionnement des requêtes de traduction envoyées à DeepL

Lorsqu’une requête de traduction doit être envoyée à DeepL, les codes de langues sont convertis selon ces règles :

  • dans tous les cas, la casse est convertie pour être conforme à la casse DeepL (haut de casse). La casse n’a donc aucune importance dans les codes passés en paramètres.

  • dans tous les cas, le tiret et l’underscore sont considérés comme caractère de séparation de code de langue et de pays. On peut donc utiliser l’un ou l’autre caractère indifféremment dans les codes passés en paramètres.

  • pour les langues sources,

    • on ne prend toujours que la langue (on ignore donc le variant de pays s’il est présent). Par exemple, si la langue source indiquée dans les paramètres est fr_CA, on considérera que la langue source du texte à traduire est FR (français)

  • pour les langues cibles

    • lorsqu’il s’agit d’une langue DeepL sans variant comme FR (le français), on ne considère que la langue. Par exemple, si on demande une traduction en fr_BE (français de Belgique), on enverra à DeepL une demande de traduction vers FR.

    • lorsqu’il s’agit d’une langue DeepL avec variant

      • si le variant est supporté par DeepL, on le conserve. Par exemple, si on demande une traduction vers en_GB, on demandera bien à DeepL une traduction en EN-GB.

      • si le variant n’est pas supporté par DeepL, on choisit arbitrairement un variant supporté à la place :

        • variant US pour le code de langue EN (par exemple, si on demande une traduction en_CA, on enverra à DeepL une requête pour une traduction en EN-US)

        • variant PT pour le code de langue PT.

  • support des codes alpha-3 : si le code alpha-3 est convertible nativement par Java en alpha-2, alors ce code sera converti en code DeepL

Test du support des langues avant envoi à DeepL

Avant d’envoyer une requête à DeepL, on teste les langues sources et cibles indiquées dans les paramètres de la requête de demande de traduction.

Si l’une des langues n’est pas considérée comme supportée, on bascule sur l’EVP.

Test en mode strict

En mode strict on vérifie si le code indiqué dans les paramètres est supporté par DeepL (à la casse et au séparateur près).

Avec une exception pour l’anglais :

  • le code EN est toujours considéré comme supporté comme langue cible (alors qu’il ne l’est pas par DeepL en tant que langue cible

  • le code EN avec variant de pays est toujours considéré comme supporté comme langue source, de façon à ce que les textes en_GB, en_US ou en_CA soient bien traductibles en mode strict, en tant que textes en EN, malgré que DeepL ne supporte pas ces langues en tant que langue source.

  • le code ENG n’est pas considéré comme étant EN

Par exemple, si on demande la traduction d’un texte en fr_CA (français canadien) vers en_US, on aura basculement sur l’EVP, parce que DeepL ne supporte pas le fr_CA comme langue source.

Test en mode flexible

En mode flexible, on convertit d’abord un code indiqué dans les paramètres vers un code DeepL (comme indiqué ci-avant) et si ce code est bien supporté par DeepL, on envoie la requête à DeepL (sinon on bascule sur l’EVP).

Par exemple, si le code de langue source est fr_CA, on le convertit en FR. Ce code est bien supporté par DeepL donc la demande de traduction sera envoyée à DeepL (si tant est que les codes de langues cibles sont bien supportés également par DeepL).

⚠️ Mais attention, si on demande une traduction en zh_SG (Chinois de Singapour), on traduira le texte en zh (soit en chinois simplifié) car c’est le seul chinois supporté par DeepL.

Choix entre le mode flexible et le mode strict

Pour savoir si on doit choisir entre le mode flexible et le mode strict, il faut se demander si on tient à avoir une traduction différenciée sur le pays.

Par exemple, si le client tient absolument à ce qu’une traduction vers fr_CA ne soit pas une traduction vers FR, ou en particulier, si le client tient à une traduction différenciée entre le chinois de Chine (zh_CN) et de Singapour (zh_SG), il faut utiliser le mode strict (qui provoquera un basculement vers l’EVP, puisqu’aucune de ces langues n’est supportées par DeepL).

...

How translation requests are sent to DeepL

When a translation request is sent to DeepL, the language codes are converted according to these rules:

  • in all cases, case is converted to conform to DeepL (upper case). Case is therefore of no importance in codes passed as parameters.

  • in all cases, the hyphen and underscore are considered as separating characters for language and country codes. Either character can therefore be used in the codes passed as parameters.

  • for source languages,

    • we always take only the language (ignoring the country variant if present). For example, if the source language specified in the parameters is fr_CA, we'll assume that the source language of the text to be translated is FR (French)

  • for target languages

    • in the case of a language DeepL without a variant such as FR (French), only the language is considered. For example, if we request a translation into fr_BE (French from Belgium), we'll send DeepL a request for translation into FR.

    • when the language is DeepL with variant

      • if the variant is supported by DeepL, we keep it. For example, if you ask for a translation to en_GB, you will ask DeepL for a translation to EN-GB.

      • if the variant is not supported by DeepL, we arbitrarily choose a supported variant instead:

        • US variant for the EN language code (for example, if you request an en_CA translation, you'll send DeepL a request for an EN-US translation).

        • variant PT for language code PT.

  • alpha-3 code support: if alpha-3 code is natively convertible by Java to alpha-2, then this code will be converted to DeepL code.

Test language support before sending to DeepL

Before sending a request to DeepL, we test the source and target languages specified in the translation request parameters.

If one of the languages is not considered supported, we switch to EVP.

Strict mode test

In strict mode, we check whether the code indicated in the parameters is supported by DeepL (case-sensitive and separator-compatible).

With an exception for English:

  • the EN code is always considered to be supported as a target language (whereas it is not by DeepL as a target language)

  • EN code with country variants is always considered to be supported as a source language, so that en_GB, en_US or en_CA texts can be translated in strict mode as EN texts, even though DeepL does not support these languages as a source language.

  • the ENG code is not considered EN

For example, if you request the translation of a text in fr_CA (Canadian French) into en_US, you'll have to switch to EVP, because DeepL doesn't support fr_CA as a source language.

Flexible mode testing

In flexible mode, we first convert a code indicated in the parameters to a DeepL code (as indicated above) and if this code is well supported by DeepL, we send the request to DeepL (otherwise we switch to EVP).

For example, if the source language code is fr_CA, we convert it to FR. This code is supported by DeepL, so the translation request will be sent to DeepL (provided that the target language codes are also supported by DeepL).

⚠️ But beware: if you request a translation in zh_SG (Singapore Chinese), the text will be translated into zh (i.e. simplified Chinese), as this is the only Chinese supported by DeepL.

Choice between flexible and strict modes

To know whether to choose between flexible and strict modes, you need to ask yourself whether you want to have a differentiated translation across the country.

For example, if the customer insists that a translation to fr_CA is not a translation to FR, or in particular, if the customer insists on a differentiated translation between Chinese from China (zh_CN) and Chinese from Singapore (zh_SG), use the strict mode (which will cause a switch to EVP, since none of these languages are supported by DeepL).

If a translation into a language can be made into the translation in the language without country variation, you can choose flexible mode. For example, a translation request to fr_CA will be a translation DeepL to FR in flexible mode, whereas it will switch to EVP in strict mode.