Chaque langue du monde appartient à une famille qui explique son origine et sa propagation, mais saviez-vous que selon les paramètres du système de données, toutes les langues parlées peuvent être séparées en deux groupes : Langues à un octet et à deux octets ?
Les langues à double octet se réfèrent aux systèmes de codage de caractères où un caractère est représenté par 2 octets (16 bits) pour représenter un caractère.
Cela se produit parce que ces langues ont un grand ensemble de caractères, nécessitant plus d'espace pour les stocker que les systèmes de codage à un seul octet (8 bits).
Les langues à deux octets comprennent le chinois (simplifié et traditionnel), le japonais, le coréen, le vietnamien (dans certains encodages plus anciens) et bien d’autres à travers le monde.
Les systèmes d'assistance comme UTF-16 et UTF-8, qui peuvent basculer entre un, deux ou même plusieurs octets, sont nécessaires pour les langues à double octet et à octets multiples.
Important : Les langages à double octet (DBCS) sont souvent identifiés par erreur comme des jeux de caractères multi-octets (MBCS) car ils ont des concepts similaires.
Examinons les détails de cet article, en nous concentrant sur la relation de cette différence d'encodage dans la traduction automatique !

1. Systèmes de mappage de caractères pour les langues à double octet
Le processus de codage est devenu plus facile après l'invention de l'UTF (le format de transformation Unicode).
1.1) Les Systèmes Qui Ont Émergé Avant Que Unicode Ne Devienne Populaire – DBCS (Double-Byte Character Set)
La création de DBCS était destinée aux langues nécessitant de nombreux caractères, principalement le chinois, le japonais et le coréen (CJK).
Exemples: Shift JIS (japonais), Big5 (chinois traditionnel), EUC-KR (coréen).
Avec 2 octets (16 bits), il peut représenter jusqu'à 65 536 caractères (2¹⁶).

1.2) Systèmes avancés: UTF-16 et UTF-8
UTF est un schéma de codage qui convertit les caractères Unicode en formats binaires ; ainsi, les ordinateurs et les logiciels systèmes peuvent présenter et partager efficacement du texte provenant de nombreuses langues et écritures.
C'est une norme internationale selon laquelle chaque caractère se voit attribuer un numéro unique (point de code), indépendamment de son appartenance à une langue ou à un système d'écriture.
UTF décrit le processus de conversion de ces numéros de points de code en un flux d’octets compréhensible par un ordinateur.

Exemples de UTF :
UTF-16 : 2 ou 4 octets pour chaque caractère.
Il est encore utilisé dans des systèmes spécifiques qui traitent des caractères asiatiques.
Par exemple, certaines versions de Windows utilisent UTF-16 en interne.
UTF-8 : chaque caractère vaut de 1 à 4 octets, selon le symbole.
alphabets latins (anglais, espagnol, portugais) - 1 octet ; caractères spéciaux et langues asiatiques - 2-4 octets.
De plus, UTF-8 est l’encodage le plus largement utilisé de nos jours, sur le Web, dans les bases de données et dans les applications modernes.
1.3 Le SBCS ne fonctionne pas pour les langues à deux octets. Pourquoi ?
SBCS (Single-Byte Character Set) est un système qui comporte un maximum de 256 caractères (1 octet = 8 bits = 2⁸ = 256 possibilités). C’est bien pour les langues avec des alphabets plus petits, l’anglais par exemple, l’espagnol ou le français, qui peuvent être représentées dans cette limite.
Avec des langues utilisant un millier de caractères, SBCS manque d’espace pour les langues à deux octets !
Le chinois a plus de 50 000 caractères, bien que 3 000 à 5 000 d'entre eux soient utilisés quotidiennement;
Le japonais combine les kanji (logogrammes chinois) avec les hiragana et katakana et nécessite bien plus de caractères que ne peut en contenir un SBCS.
C'est donc la raison pour laquelle les langues à double octet ont besoin de systèmes appropriés.
2. Langues à double octet dans la traduction automatique
Il y a certaines fonctionnalités que ces langues possèdent, que les machines doivent surmonter :
2.1) Assistance pour l'encodage
La grande majorité des outils de traitement de langage disponibles actuellement peuvent fonctionner efficacement avec UTF-8 et UTF-16, car ceux-ci sont polyvalents et représentent des caractères très complexes.
UTF-8 est plus accepté que le reste des formats d’encodage car il permet aux anglophones (qui utilisent 1 octet) ainsi qu’aux locuteurs japonais et chinois (qui nécessitent plusieurs octets).
C’est optimal si l’on considère le monde concurrentiel des affaires qui est dominé par les pays anglophones et sinophones.
2.2) Segmentation du texte
En espagnol ou en portugais, des espaces sont utilisés pour segmenter chaque mot, ce qui rend très facile l’isolement des mots dans une phrase.
En allemand ou en japonais, la délimitation des mots, ou segmentation du texte, où les unités lexicales sont délimitées, est entreprise par des machines avant toute traduction, car les espaces en tant que délimiteurs sont absents.
2.3) Ambiguïté et contexte
Un caractère dans de nombreuses langues asiatiques peut avoir différentes définitions selon le contexte de la situation.
Prenons l’exemple de « 银行 », en chinois, plus précisément de « yínháng », qui se traduit par « banque », qui pourrait signifier une institution financière ou la rive d’une rivière.

Les systèmes d'aujourd'hui comme DeepL, Google Traducteur, Microsoft Traducteur, et Papago (Naver) utilisent des réseaux neuronaux* pour prédire le contexte et ensuite choisir la meilleure phrase parmi les options existantes.
*Les réseaux neuronaux artificiels sont des modèles computationnels qui imitent le cerveau humain. Les données massives sont traitées par des couches de neurones artificiels, à la recherche de modèles et apprenant à prendre des décisions avec ou sans règles prédéterminées.
Dans la traduction automatique, les réseaux neuronaux considèrent le contexte au niveau de la phrase plutôt qu'une traduction mot à mot, ce qui correspond à notre objectif de réaliser des traductions plus naturelles et meilleures.
2.4) Ordre des mots
Les différences de structures grammaticales entre les langues sont énormes...
Exemple:
Je mange une pomme.
Japonais :「I apple eat」 (「リンゴ を 食む)
La traduction automatique doit réorganiser les mots correctement afin que le sens de la phrase ne soit pas perdu.
2.5) Traduction des expressions phrasées des idiomes natifs
Les expressions idiomatiques peuvent être difficiles à traduire directement.
Eg: « Même les singes tombent des arbres » se traduit naturellement par l’expression japonaise :猿も木から落ちる (« Même les experts font des erreurs »).

3. DBCS et MBCS sont-ils la même chose ?
Les modèles codés sur deux octets (DBCS) et multioctets (MBCS) doivent être différenciés l’un de l’autre.
Jeu de caractères à double octet (DBCS) → Au début, les systèmes de codage qui gèrent les doubles octets ou 16 bits pour un caractère sont le jeu de caractères à double octet (DBCS).
Exemple: Big5 (chinois traditionnel), Shift JIS (japonais), EUC-JP (coréen)
Ceux-ci devaient être des systèmes qui exploitaient des paradigmes pré-unicode.
Jeu de caractères multi-octets (MBCS) → (tout codage avec deux octets par caractère)
Ex : (UTF-8, peut utiliser jusqu’à 1, 2, 3 ou 4 octets par caractère)
Avant Unicode, DBCS (Double-byte character set) était généralement utilisé pour les nombreux D comme CJK (chinois, japonais, coréen) avec une restriction de deux octets par caractère.
Certaines langues autres que le thaï, le vietnamien, l’hindi et l'arabe (jeu de caractères multi-octets) vont normalement être encodées dans ce système d’Unicode.
À cause de UTF-8 et UTF-16, DBCS est en train de disparaître et de nombreuses langues sont ou seront bientôt représentées comme 'multi-octets' ou plutôt sous leurs noms respectifs (par exemple, chinois, japonais, coréen, swahili et autres).
Conclusion : Pour la traduction automatique des langues à double octet, les similitudes sont plus fortes que jamais. Aujourd'hui, les systèmes peuvent gérer des données pour la plupart des langues (deux octets ou plus).
Les langages à deux octets sont toujours un terme utilisé et ils sont assez populaires, mais vous savez maintenant que la gamme est plus grande.
4. Langues à deux octets (DBCS) et multioctets dans le monde entier
Nous avons parlé du chinois et du japonais, mais il y a aussi beaucoup plus de langues à deux octets à inclure. Faisons donc un tour du monde pour apprendre toutes ces langues...
4.1 Langues DBCS (Double-Byte Historiquement) plus anciennes
DBCS est principalement utilisé par les langues CJC (chinois, japonais, coréen) en Asie de l'Est.
- Chinois simplifié (Chine, Singapour) – Ancien codage : GB2312, GBK
- Chinois traditionnel (Taïwan, Hong Kong, Macao) — Ancien codage : Big5
- Japonais – Ancien encodage : Shift JIS, EUC-JP
- coréen – Ancien encodage : EUC-KR
Ces langues ont un grand nombre de caractères, nécessitant un encodage Double-Byte dans les systèmes pré-Unicode.

4.2 Conforme aux normes – Langues utilisant des multi-octets (MBCS)
De nos jours, les systèmes de codage dans ces langues peuvent nécessiter deux, trois ou même quatre octets par caractère. Ils sont généralement symbolisés par UTF-8 ou UTF-16 aujourd'hui.
- Langues d’Asie du Sud-Est :
→ vietnamien — Utilise l’alphabet latin avec de nombreux signes diacritiques qui peuvent prendre plus d’un octet dans les encodages plus anciens.
→ thaï – certaines combinaisons de caractères nécessitent plus de 1 octet pour les représenter correctement.
→ lao – (tout comme le thaï) Un octet, plus approprié pour les caractères de 1 octet dans le contexte pertinent.
→ Khmer (Cambodge) – a un grand jeu de caractères qui nécessite plusieurs octets.
→ Myanmar (birman) – Contient des caractères durs nécessaires à l’encodage multi-octets.
- Langues d’Asie du Sud :
→ hindi et d’autres devanagari comme l’hindi (marathi), le népalais/sanskrit, le tamoul, le télougou, le kannada, le bengali, le gurmukhi (pendjabi), le gujarati, le malayalam, le cinghalais.
Les scripts sont très complexes et doivent être représentés dans un format appelé encodage multi-octets avec leurs différentes combinaisons.

- Langues du Moyen-Orient : Plusieurs octets
→ l’arabe, le persan – ces langues sont souvent encodées à l’aide d’un codage de caractères contextualisé, ce qui signifie qu’un même caractère peut être représenté par plus d’un octet, selon le contexte, car elles ont des alphabets relativement petits.
→ hébreu : Comme l'arabe, selon ce que vous utilisez pour l'encodage, il nécessite plus d'un octet.
- Tibétain, géorgien et arménien : Peut nécessiter de nombreux octets pour les obtenir dans certains encodages.
La plupart des écritures originales des langues autochtones africaines et américaines (plusieurs octets pour la plupart).
5. Pourquoi est-il important pour la traduction automatique de gérer les langues à double octet et multi-octets ?
5.1) Accessibilité mondiale
Il s’agit d’une opportunité majeure pour de nombreuses langues asiatiques comme le chinois, le japonais et le coréen, ainsi que pour certaines langues d’Asie du Sud-Est, ce qui signifie que l’exigence d’encodage est de plusieurs octets.
Si les systèmes de traduction ne parviennent pas à gérer correctement l'encodage Double-Byte et Multi-Byte dans les mots, cela entraîne des erreurs d'encodage, des pannes de systèmes et des traductions incorrectes.
Alors que le commerce et la communication internationaux se développent de plus en plus, la fourniture de traductions dans ces langues est un aspect essentiel de l’expansion du marché et d’une meilleure communication mondiale.

5.2) Compétitivité sur le marché mondial
Soutenir les langues qui ont traditionnellement été difficiles à traduire sur des services de traduction automatique de haute qualité peut également ouvrir une base pour des utilisateurs supplémentaires.
Cela améliore non seulement l'expérience utilisateur, mais permet également à beaucoup plus de personnes de recevoir et d'utiliser le Contenu dans leur langue.
Les clients dans des marchés vitaux tels que l'Asie doivent être protégés contre la perte de leurs ventes si les systèmes de traduction automatique ont du mal avec les langues à plusieurs octets.
5.3) Interopérabilité et flux de données
La traduction automatique doit bien fonctionner avec les langues à plusieurs octets, sinon les bonnes informations ne peuvent pas être transférées vers des appareils et des plateformes qui utilisent des langues basées sur plusieurs octets.
Cette capacité permet de gérer correctement les informations, que ce soit leur emplacement d'origine ainsi que le format de l'encodage, aidant ainsi à utiliser des données multilingues au sein de systèmes mondiaux tels que des applications, des sites web et des bases de données. En bref, l'interopérabilité et les flux de données garantissent que différents systèmes avec différents formats de codage peuvent échanger des informations efficacement, surtout dans des contextes multilingues.
6. Points Clés pour Conclure
Il existe de nombreux défis dans la traduction automatique pour les langues à double octet, tels que la segmentation, la grammaire et les significations contextuelles.
Pour les anciens systèmes comme Shift JIS pour le japonais, Big5 pour le chinois traditionnel, EUC-KR pour le coréen, les termes des ensembles de caractères à double octet (DBCS) étaient comme une tâche ardue.
Avec l'avènement des réseaux neuronaux, de l'apprentissage profond et du traitement du langage naturel (NLP) faisant des progrès contagieux, les systèmes de stockage de caractères vont être plus précis dans les traductions — meilleurs, plus rapides. UTF-8 est une marque et a changé le scénario pour gérer ces langues à plusieurs caractères.

Le support des double-octets et multi-octets est indispensable pour la traduction automatique ; et essentiel pour garantir l'exactitude, le contexte et l'interopérabilité.
L'absence de cette capacité laisse un mauvais goût dans la plupart des systèmes de traduction et déforme l'expérience utilisateur, diminuant ainsi la performance des systèmes de traduction.
Donc, la manière la plus efficace serait d'optimiser la traduction automatique à partir des langues à double octet en utilisant les systèmes modernes existants.
La bonne nouvelle est que nous avons déjà l'assistance pour cela, nous devons simplement continuer à améliorer ces modèles.