Accéder au contenu
cutty.dev
All posts

25 langues EN DIRECT — une étape importante

cutty.dev parle désormais vingt-cinq langues. Une courte histoire de ce que cela signifie, pourquoi ces langues spécifiques, et comment cela a été réalisé sans envoyer de données à l'extérieur.

  1. Nous avons ajouté autant de langues en quelques semaines. Le début était modeste : polonais et anglais, deux, fin de la liste. Aujourd'hui, cutty.dev vous accueille dans vingt-cinq. Le chiffre est beau, mais ne signifie rien en soi. La signification réside dans ceux qui se trouvent derrière ces colonnes.

Calculez rapidement. L'arabe représente bien plus de 400 millions de personnes. L'hindi, quelques centaines de millions de plus. Le chinois, si l'on compte le mandarin, dépasse le milliard. Ajoutez l'espagnol (l'Espagne plus presque toute l'Amérique latine) et le portugais (principalement grâce au Brésil). En additionnant ces marchés, on obtient plusieurs milliards de personnes qui peuvent voir l'outil immédiatement dans leur propre langue. Dès la première seconde.

Pourquoi précisément ces 25

Liste complète, pour plus de clarté. Polonais, anglais, allemand, français, espagnol, italien, tchèque, roumain, hongrois, grec, néerlandais, suédois, finnois, ukrainien, turc. À cela s'ajoutent l'arabe et l'hébreu (tous deux écrits de droite à gauche). Chinois, japonais, coréen. Hindi, thaï, vietnamien, indonésien. Et le portugais.

Rien n'est sorti de nulle part. La première couche est simplement l'Europe, marché après marché. La deuxième est composée des endroits qu'une startup européenne ne touche généralement pas tant qu'il n'y a "pas de mouvement" : le Moyen-Orient et l'Afrique du Nord, Israël, l'Asie de l'Est, le sous-continent indien, l'Asie du Sud-Est.

Le français est ici un bon exemple de la manière dont une seule locale entraîne avec elle la moitié du monde. La France, certes, mais aussi la Belgique, le Québec et une grande partie de l'Afrique de l'Ouest. Un seul fichier de traduction, une douzaine de pays.

D'où viennent ces traductions

Voici la partie dont je suis probablement le plus satisfait. Cela n'est passé par aucune API externe. Un modèle d'IA local, exécuté sur notre propre matériel, dans notre réseau, a effectué la traduction.

Ce qu'il faut en retenir, en langage clair :

  • Pas une seule phrase de l'interface n'est sortie. Aucun fournisseur d'IA n'a reçu nos textes pour "traitement". Non pas parce que nous avons quelque chose à cacher dans le bouton "Raccourcir". C'est simplement ainsi que nous configurons ce projet depuis le début et nous ne faisons pas d'exceptions, car les exceptions finissent par s'accumuler.
  • Le résultat est meilleur qu'une traduction mot à mot. Le modèle conserve le contexte, le ton, parfois l'humour. "Short link" peut avoir trois équivalents cohérents différents dans trois langues, et non un simple calque.
  • Zéro coût par requête. Je veux corriger une phrase dans vingt-cinq versions ? Je le fais sans regarder le compteur de la facture.

Après un premier passage, je passais de toute façon chaque version en revue. Si la mise en page tient le coup, si l'allemand (avec ses merveilleux noms longs) ne pousse pas le texte hors du bouton, ou si l'arabe s'écoule réellement dans la bonne direction.

Effet miroir, c'est-à-dire l'arabe et l'hébreu

C'était un travail distinct, pas un "changement de drapeau". Toute la page pour ces deux langues est inversée horizontalement. La navigation se retrouve à droite, les flèches pointent dans l'autre direction, et même le dégradé du hero va dans le sens inverse.

On aurait pu laisser tomber. Beaucoup de services laissent tomber et alors la version arabe ressemble à un site occidental que quelqu'un a partiellement retourné et laissé tel quel. Cela se voit immédiatement. Nous voulions qu'un Égyptien ou un Israélien ait l'impression que le site a été conçu chez lui, et non traduit pour lui après les heures de travail.

Polices, c'est-à-dire le problème auquel personne ne pense avant qu'il n'éclate

Chinois, japonais, coréen. Les caractères CJK que votre police web habituelle n'a tout simplement pas à l'intérieur. Si on laissait cela ainsi, l'utilisateur obtiendrait des petits carrés à la place du texte (cette vue classique d'une page cassée). Nous chargeons donc des polices supplémentaires, mais uniquement pour ces versions. Le reste des vingt et quelques locales utilise notre police standard légère et ne transporte rien d'inutile. Le thaï, l'hindi et les autres écritures ont reçu exactement la même approche.

Ordre inverse

Le schéma est connu : vous lancez le produit en anglais, et pour les autres langues, c'est « un jour, quand il y aura du trafic ». Sauf que le trafic en espagnol n'arrivera pas tant qu'un Espagnol arrivant via Google verra de l'anglais et repartira.

Nous sommes allés à l'envers. 25 langues pour dire bonjour. Quelqu'un de République tchèque, de Taïwan, du Vietnam ou d'Égypte arrive via le moteur de recherche et se sent chez soi dès le premier écran.

Il y a aussi une simple politesse là-dedans. Le réseau part par défaut du principe que vous vous entendrez en anglais. Un petit outil venant d'Europe, qui vous parle en coréen ou en thaï, dit aussi autre chose : qu'il a été conçu pour tout le monde, et pas seulement pour le centre anglophone.

Et quand le tien n'est pas là

La liste est longue, mais pas définitivement fermée. Vous ne voyez pas votre langue ? Écrivez-nous. L'ajout d'une nouvelle ne prend que quelques jours chez nous, vraiment, pas des trimestres.

Et si nous nous entendons déjà, alors tu sais quoi faire. Raccourcis un lien et regarde si cela ressemble vraiment à ce que tu as l'habitude de voir. Si quelque chose ne va pas, fais-le moi savoir aussi.