Back to sh0
sh0

i18n dès le premier jour : 5 langues sur 105 sessions

Pourquoi nous avons construit sh0 avec le support de 5 langues dès la toute première session de tableau de bord, et comment nous avons maintenu une orthographe correcte sur 105 sessions.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 2 min sh0
EN/ FR/ ES
i18ninternationalizationsveltelocalizationafricalanguages

La plupart des startups ajoutent l'internationalisation après coup. Le tableau de bord est lancé en anglais. Six mois plus tard, un client à Paris demande du français. Quelqu'un enveloppe chaque chaîne dans une fonction t(), extrait des centaines de clés dans un fichier JSON, et passe deux semaines à traquer les chaînes manquées.

Nous avons fait l'inverse. Le 12 mars 2026, chaque chaîne de l'interface de sh0 était enveloppée dans une fonction t(), appuyée par cinq fichiers de locale. Anglais, français, espagnol, portugais et kiswahili.

Pourquoi ces cinq langues

Anglais -- le défaut mondial. Français -- la langue principale de l'Afrique de l'Ouest ; sh0 est construit depuis Abidjan. Espagnol -- l'Amérique latine, un marché massif. Portugais -- l'Afrique lusophone et le Brésil. Kiswahili -- l'Afrique de l'Est, la langue africaine la plus parlée avec plus de 100 millions de locuteurs.

Ces cinq langues couvrent environ 2,5 milliards de personnes.

L'implémentation

Un système délibérément simple : une fonction t(), un store de locale, et cinq objets TypeScript. Chaque diacritique compte. « Parametres » sans son accent grave est une faute d'orthographe. « Donnees » sans son accent aigu est une faute d'orthographe.

Pour un outil utilisé par des développeurs à Abidjan, Dakar et Douala, du français mal orthographié n'est pas un problème cosmétique -- c'est un signal de négligence.

La discipline de la maintenance

La règle : chaque modification qui ajoute des chaînes d'interface doit mettre à jour les cinq fichiers de locale. Pas d'exception.

Le coût d'ajouter l'i18n plus tard

L'approche « i18n dès le premier jour » a un coût initial plus élevé mais un coût continu négligeable -- taper t('deploy.title') au lieu de 'Deploy Hub' ajoute peut-être cinq secondes par chaîne. La rétro-adaptation coûte 3 à 5 jours plus un flux continu de chaînes manquées.

La déclaration culturelle

Il y a une raison pour laquelle nous avons inclus le kiswahili. sh0 est construit depuis Abidjan par une équipe qui croit que les développeurs africains méritent des outils dans leurs langues. Pas après coup. Pas six mois après le lancement. Dès le premier jour.


Prochain dans la série : 119 templates en un clic : de WordPress à Ollama.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

Le Step Zero ne suffisait pas : comment valider un constructeur sans valider le runtime a fait tomber toutes les sessions vocales de Déblo l’heure où nous avons livré le streaming caméra temps réel

La phase 14 a livré Déblo Eyes — streaming caméra temps réel via LiveKit vers Gemini Live native audio. Le premier deploy a fait tomber toutes les sessions vocales en production en quatre-vingt-dix secondes parce que notre Step 0 avait validé le constructeur sans exercer le runtime. Le build log de comment Déblo a eu des yeux, ce qu’un pré-vol incomplet a coûté, et quels points de polish ont été livrés ou reportés.

33 min May 20, 2026
debloclaude-opus-4.7claude-codegemini-live +25
Thales & Claude deblo

Le tiret cadratin qui a tué la production : comment un slogan marketing dans un header HTTP a fait tomber le chat de Déblo pendant 24 heures

Deux jours avant la soumission App Store, tout le produit chat de Déblo s’est cassé silencieusement. Pas de spinner, pas de toast, aucune erreur dans l’UI — juste un silence radio. L’incident de 24 heures se résumait à un seul « é » dans la valeur d’un header HTTP qui levait une UnicodeEncodeError avant qu’aucune requête vers OpenRouter ne quitte le backend. Post-mortem d’une fausse hypothèse, d’une trace Sentry, et d’un fix de six lignes qui a débloqué le lancement.

30 min May 19, 2026
debloclaude-opus-4.7claude-codeincident +19
Thales & Claude deblo

Six heures, d’une page blanche à la review Apple — Comment nous avons soumis Déblo à l’App Store, en direct

Marche à marche en direct de la soumission de Déblo à l’App Store iOS en six heures : ce que les validateurs d’Apple ont rejeté (un superscript Unicode), ce que nous avons corrigé (un Promotional Text gaspillé sur des marques tierces), et les rouages de l’ASO iOS que presque tout le monde rate.

30 min May 13, 2026
debloclaude-opus-4.7claude-codeapp-store +16