Chaque entrée de glossaire, voix de marque, instruction et configuration de modèle est enregistrée pour une langue. Lorsque le moteur traite une demande de traduction, il détermine quelles entrées enregistrées s’appliquent à la langue de la requête : correspondances exactes, héritage entre variantes régionales et repli lorsqu’aucune entrée exacte n’existe. La même logique de résolution s’applique à ces quatre surfaces de configuration.
Fonctionnement#
Les langues sont normalisées dans une forme canonique à l’entrée, puis enregistrées et renvoyées sous cette forme. La casse et les délimiteurs sont corrigés ; les sous-étiquettes sont conservées.
| Vous saisissez | Enregistré sous |
|---|---|
EN | en |
en_US | en-US |
sr_Latn-RS | sr-Latn-RS |
zh-cn | zh-CN |
La correspondance fonctionne dans les deux sens au niveau des sous-tags : une langue enregistrée s’applique à une requête si l’une correspond exactement à l’autre ou en est un ancêtre. Deux graphies d’une même langue correspondent également lorsque ni l’une ni l’autre n’est ancêtre de l’autre, mais la région détermine l’écriture : les formes avec région seule et celles précisant l’écriture sont équivalentes (zh-CN ≡ zh-Hans-CN, zh-TW ≡ zh-Hant-TW).
| Enregistré | S’applique à | Ne s’applique pas à |
|---|---|---|
de | de, de-DE, de-AT, de-CH | - |
de-DE | de-DE, de | de-AT, de-CH (régions sœurs) |
zh-CN | zh-CN, zh-Hans-CN, zh | zh-TW, zh-Hant-TW (écriture différente) |
Héritage inversé
Le cas où un de-DE enregistré répond à une requête simple de est de loin le plus courant en pratique : la plupart des moteurs sont configurés avec des codes régionaux complets, mais reçoivent des requêtes avec un code de base. Les deux sens sont pris en charge.
Résolution en cas de correspondances multiples#
Lorsque plusieurs entrées enregistrées s’appliquent, le moteur les classe et retient la meilleure :
- Correspondance exacte ou langue par défaut d’abord. Pour une requête
de,de-DE(la région par défaut du CLDR pour l’allemand) est préféré, puis le simplede. - La plus spécifique ensuite, pour départager.
- Toute autre région correspondante reste disponible en repli : un client dont la seule entrée est
de-CHl’obtient quand même pour une requêtedelorsqu’aucune meilleure correspondance n’existe, afin qu’aucune configuration ne se retrouve jamais orpheline.
| Requête | Préféré | S’applique aussi (repli) | Exclus |
|---|---|---|---|
de | de-DE, puis de | de-CH, de-AT | - |
de-DE | de-DE, puis de | - | de-AT, de-CH |
de-AT | de-AT, puis de | - | de-DE, de-CH |
Compatibilité des écritures#
Une règle supplémentaire s’applique uniquement aux entrées de glossaire custom_translation, dont le texte est associé à une orthographe précise. Une langue de base avec une écriture ambiguë — sr (cyrillique ou latin), zh (simplifié ou traditionnel) — doit préciser l’écriture à l’enregistrement, soit via une écriture explicite (zh-Hans, sr-Cyrl), soit via une région qui en détermine une (zh-CN → simplifié, sr-RS → cyrillique, selon le CLDR). Seul un code totalement nu, sans écriture ni région, est rejeté. À la lecture, ces formes explicites sont équivalentes : un glossaire enregistré comme zh-Hans-CN s’applique à une requête zh-CN, et inversement. En revanche, une requête zh sans précision, dont l’écriture est inconnue, ne récupère pas une entrée liée à une écriture donnée ; pour obtenir des résultats prévisibles, indiquez donc explicitement une écriture ou une région. Les langues qui n’utilisent qu’une seule écriture, comme de, n’ont pas besoin de précision supplémentaire et résolvent normalement de vers de-DE. Les entrées non_translatable sont transmises telles quelles, quelle que soit l’écriture.
Exemple#
Un moteur configuré avec des codes régionaux (en-US vers fr-FR, de-DE, nb-NO) et recevant des requêtes en code de base (fr, de, no) :
- Une cible
frrécupère le glossaire, la voix de marque et les instructions defr-FR— classés comme valeur par défaut pourfr, et non comme solution de dernier recours, carfr-FRest la région par défaut du CLDR pour le français. - Une source
encorrespond aux entréesen-US— la correspondance est bidirectionnelle. - Une cible
none récupère pasnb-NO.noetnbsont des sous-étiquettes de langue différentes, pas une paire de régions ; utiliseznbcomme cible.
Utiliser la résolution des langues avec l’API#
La résolution s’effectue automatiquement lorsque vous appelez le point de terminaison localize endpoint. Le moteur fait correspondre la sourceLocale et la targetLocale de la requête aux glossaires, voix de marque, instructions et configurations de modèle enregistrés — aucun paramètre supplémentaire n’est nécessaire.
