Ajouter le français après coup coûte entre trois et six semaines de reprise. Ce que le bilinguisme impose au modèle de données, à l'interface et aux documents.
Un produit traduit, c'est un produit conçu en une langue auquel on a substitué des chaînes de caractères. Ça se voit immédiatement, et pour des raisons qui n'ont presque rien à voir avec la qualité de la traduction.
La mise en page.
Le français est en moyenne 15 à 20 % plus long que l'anglais. Un bouton dessiné pour « Save » reçoit « Enregistrer ». Une navigation calibrée sur « Settings » reçoit « Paramètres ». Les libellés débordent, se coupent, ou passent en deux lignes et cassent l'alignement — sur mobile en priorité.
Les données, pas seulement l'interface.
Le nom d'un produit, une catégorie, une politique d'annulation, un courriel transactionnel : ce sont des données. Si ta table products a une colonne name, tu as un produit monolingue avec une interface traduite. Ajouter la seconde langue signifie migrer le schéma, réécrire les requêtes et reprendre l'indexation de recherche. C'est là que se trouvent les trois à six semaines de reprise.
Les formats.
Dates, nombres, devises, tri alphabétique, adresses, numéros de téléphone. Un tri qui ignore les accents place « Étienne » après « Zoé ». Un utilisateur québécois le remarque, et il en tire une conclusion sur le sérieux du produit.
Les documents et le soutien.
Conditions, politique, factures, courriels automatiques, réponses du service à la clientèle. C'est le point où la plupart des produits « bilingues » se révèlent : interface en français, facture en anglais.
Ce que la loi exige au Québec.
Ce n'est pas qu'une question de qualité. Pour un produit offert au Québec, le français doit être disponible dans des conditions au moins aussi favorables que toute autre langue — cela vaut pour l'interface, mais aussi pour les contrats d'adhésion, les factures et les communications commerciales. Un contrat d'adhésion doit être présenté en français avant qu'une autre langue puisse être choisie.
La version française ne peut pas être la seconde, ni celle qui arrive au prochain sprint.●
Les cinq décisions à prendre en semaine 1.
La langue est-elle une propriété de l'utilisateur ou de la session ? Un utilisateur qui change de langue doit-il retrouver son choix sur un autre appareil ? Si oui, c'est une colonne en base, et une règle de repli explicite.
Quel contenu est traduisible ? Distingue trois catégories : l'interface, le contenu créé par l'utilisateur, et le contenu réglementaire — obligatoirement dans les deux langues. Cette distinction structure le modèle de données.
Quel comportement en cas de traduction manquante ? Afficher la langue par défaut, masquer le champ, ou bloquer la publication ? Sur un contenu réglementaire, la réponse est « bloquer ». Sur une description de produit, probablement « afficher la langue d'origine avec une mention ». Décide-le une fois, applique-le partout.
Une URL par langue ? Avec des balises hreflang réciproques. Une seule URL qui change de langue selon un témoin est invisible pour les moteurs de recherche dans l'une des deux langues — et tu perds la moitié de ton référencement sans le voir.
Et qui valide la langue ? Une traduction automatique relue par une personne qui ne travaille pas dans cette langue produit du texte correct et faux. Le français d'affaires du Québec n'est pas celui de France : « courriel » et non « e-mail », « magasinage » et non « shopping ». Nomme un valideur par langue, dès le début.
Le coût comparé.
Conçu bilingue dès l'origine, le surcoût se situe autour de 10 à 15 % du budget d'interface — essentiellement du temps de conception pour prévoir la variation de longueur, et de la discipline sur les chaînes. Ajouté après le lancement : migration du schéma, reprise des requêtes, réindexation de la recherche, révision de toutes les maquettes, refonte des documents. Le facteur est de trois à cinq, et il augmente avec chaque mois de contenu accumulé.
Ce qu'on ne fait pas.
On ne livre pas d'interface où le français a été inséré dans des composants dessinés en anglais. Si le libellé le plus long ne tient pas dans le composant, c'est le composant qui change — pas le mot.
