Configurez l'i18n pour votre MVP sans douleur
Implémentez l'i18n en 5 minutes
Maintenez votre rythme de développement comme si i18n n'existait même pas.
Configuration en 5 minutes
Ton implémentation complète d'i18n en 5 minutes. Je ne blague pas.
Système sans clés
Votre cerveau ne devrait pas être impliqué dans de telles tâches sans importance.
Global dès le premier jour
Expédiez vers les marchés internationaux sans effort supplémentaire.
Configurez l'i18n, gardez votre base de code propre et livrez rapidement
Il existe plusieurs PITA avec les solutions d'i18n actuelles. Les douleurs sont si grandes que vous retardez l'i18n autant que possible.
Cela consomme le temps que vous devriez passer à la plage
Configurez le système de clés : au moins 1 heure de temps de développeur senior
D'avant en arrière pour chaque nouvelle clé : 1 minute par clé, x500 clés, x2 langues = 17 heures
Avec i18n-keyless, vous n’avez pas à vous soucier du tout du système d’internationalisation. Vous pouvez aller à la plage et commander un mojito.
Aujourd’hui, la plupart des systèmes utilisent des clés pour traduire le texte
C'est douloureux à générer. C'est douloureux à maintenir.
Lorsque vous voyez un texte dans l'application et que vous souhaitez le mettre à jour, vous devez trouver la clé correspondante.
Avec i18n-keyless, vous ne vous souciez même pas du système d'i18n. Utilisez votre cerveau pour quelque chose de plus intéressant.
Laissez les traductions à l'IA
Avec le système de clés, vous devez gérer les traductions dans l'application.
Sinon, vos utilisateurs verront someheader.welcome.title dans leur application.
Avec i18n-keyless, vous ne vous souciez même pas du tout du système d’internationalisation. Écrivez simplement de bons titres, concentrez-vous sur le marketing et obtenez des ventes.
Les bases de code sont belles... jusqu'à ce que les clés i18n s'infectent
Avec le système de clés, lorsque vous lisez le code et le contenu, vous devez lire les clés, pas le langage naturel.
Parfois, vous devriez faire une correction parce qu'une phrase n'est pas grammaticalement correcte. Mais vous ne le savez pas parce que vous lisez des clés.
Avec i18n-keyless, vous ne vous souciez même pas du système d’internationalisation. La base de code reste belle.
Serveur MCP pour couvrir tous vos besoins en internationalisation
Six autres raisons pour lesquelles le système est si optimisé pour le codage agentique.
Aucun nom à inventer
Une clé est une décision de nommage sans bonne réponse. Deux agents écrivent login.submit et auth.button.send pour le même bouton. Sans clés, il n'y a pas de décision à prendre.
Un seul fichier à éditer, pas vingt
Une modification avec clé affecte le composant et chaque fichier JSON de localisation, et les agents oublient les fichiers. Ici, une modification de copie est une édition d'un seul fichier.
Zéro conflit de fusion dans les flottes d'agents
Cinq agents sur cinq branches modifient tous en.json : un conflit garanti. Il n'y a pas de fichier partagé, donc les worktrees et les agents en arrière-plan ne se heurtent jamais.
Bon marché en jetons
Pour réutiliser une clé, un agent doit charger les fichiers de locale dans le contexte à chaque édition. Les chargements sans clé ne font rien : le texte est directement dans le composant.
Différences lisibles
La demande de pull request affiche des phrases réelles. Un humain ou un agent de révision peut évaluer la copie sans avoir à creuser pour savoir ce qu'une clé représente.
Une règle dans votre CLAUDE.md
Chaque règle d’internationalisation que vous écrivez est une règle que l’agent peut enfreindre. Celle-ci n’a besoin que d’une seule ligne — et la solution de repli est le texte réel, donc une erreur ne peut pas afficher a.b.c à l’écran.
La seule règle d'i18n dont votre agent a besoin
# CLAUDE.md Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react. That is the whole i18n setup.
Votre agent peut l'utiliser, pas seulement l'écrire
Via le serveur MCP, l'agent liste les traductions manquantes, en lit une, remplace une mauvaise ou importe la copie que vous avez déjà — avec sa propre connexion OAuth, sans clé à coller.
Lisez le guide MCPLancez à l'échelle mondiale dès le premier jour
Arrêtez de retarder l'internationalisation (i18n) à cause de sa complexité. Implémentez-la en 5 minutes, pas en jours. Maintenez votre vitesse de développement comme si l'internationalisation n'avait pas été implémentée.
- Implémentation en 5 minutes. Je ne blague pas.
Un simple objet de configuration et vous avez terminé.
- Maintenez la vitesse de développement
Codez comme si l'i18n n'était pas du tout implémenté.
- Expédier vers les marchés mondiaux
Aucune refactorisation nécessaire lors du passage à de nouvelles langues.
- SSR et SEO prêts
Fonctionne avec Next.js, Remix, TanStack Start et Astro. Rendu côté serveur dans n'importe quelle langue pour les moteurs de recherche — même configuration en 5 minutes.
Traditionnel i18n
i18n-sans-clé
C'est évident à configurer
Il suffit de l'objet de configuration le plus simple et vous êtes prêt à conquérir le monde.
Et même plus, votre agent le configurera pour vous.
1. Configuration de base
import * as I18nKeyless from "i18n-keyless-react";
I18nKeyless.init({
API_KEY: "YOUR_API_KEY",
storage: window.localStorage,
languages: {
primary: "en",
supported: ["en", "fr"],
},
});2. Utilisation des composants
import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works
// Just write in your primary language
<I18nKeylessText>
Welcome to our website
</I18nKeylessText>3. Utilisation côté serveur (p. ex. Node.js)
import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';
const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);
await sendExpoPushNotification({ user, title, body });4. Pour le texte à l'extérieur des composants
import { getTranslation } from "i18n-keyless-react";
export default function Navigation() {
return (
<HomeTabs.Navigator>
<HomeTabs.Screen
options={{ tabBarLabel: getTranslation("Welcome") }}
name="WELCOME"
/>
</HomeTabs.Navigator>
);
}Comment fonctionnent les traductions
i18n-keyless est une bibliothèque, combinée à un service API, qui vous permet de traduire votre texte sans avoir besoin d'utiliser des clés.
Si la traduction n'est pas trouvée, une récupération asynchrone sera effectuée auprès de l'API d'I18nKeyless pour obtenir la traduction via un appel API d'IA.
Cette opération est généralement effectuée en mode développement, pendant que vous codez. Si vous en ratez une, en production, seul le premier utilisateur qui manque de traduction verra un bogue, puis il sera immédiatement disponible pour les utilisateurs du monde entier.
Votre fiche de magasin dans toutes les langues, à chaque sortie
Chaque mise à jour signifie de nouvelles notes de version, une description et des mots-clés — pour chaque langue, sur les deux boutiques. C'est ce qui t'empêche d'ajouter des langues. Pas l'application.
- Notes de version pour chaque langue, en un seul appel
Écrivez la mise à jour une fois. awaitForTranslation la renvoie dans chaque langue dans laquelle vous vendez, et la configuration de votre boutique l'alimente vers EAS ou fastlane.
- 48 langues, mappées aux emplacements de l'App Store
pt-BR et pt-PT sont deux listes ; en-GB, en-AU et en-CA en sont trois. toAppStoreLocale place chaque traduction au bon endroit.
- Corrigez une mauvaise traduction sans version
Dans l'application, un override dans le tableau de bord est actif à la fois — pas de build de correctif à chaud, pas d'évaluation du magasin. Dans la liste, relancez le push.
- Non tarifé par mot
Un traducteur charge environ 0,10 $ par mot. 2 000 chaînes multipliées par 10 langues représentent un budget qu'un développeur solo ne peut pas se permettre. Ici, les mots ne sont pas comptés.
La recette complète pour une application Expo
// store.config.js — EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");
const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleep…";
module.exports = async () => {
init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
const info = {};
for (const lang of LANGS) {
info[toAppStoreLocale(lang)] = {
title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
};
}
return { configVersion: 0, apple: { info } };
};Le même appel écrit les fichiers de métadonnées fastlane pour Google Play. Les majuscules sont indicatives : fixez la limite dans le contexte et vérifiez la longueur avant de pousser.
Bac à sable interactif
Voyez comment i18n-keyless fonctionne en temps réel
Ouvrez un projet StackBlitz en direct et modifiable pour voir les traductions se résoudre au fur et à mesure que vous tapez.
Les développeurs adorent la simplicité
Voyez ce que les autres disent à propos de i18n-keyless
J'ai pu ajouter l'i18n à notre MVP en seulement 5 minutes. Nous avons lancé le produit en 7 langues sans temps de développement supplémentaire. Notre base de code est restée propre et nous avons pu nous concentrer sur le développement de fonctionnalités plutôt que sur la gestion des clés de traduction.
Jamie Smith
DGA dans une startup cool
La surcharge mentale de gérer les clés de traduction tuait notre productivité. Avec i18n-keyless, on écrit simplement en langage naturel et tout fonctionne. C'est comme si l'i18n n'existait même plus dans notre flux de travail.
Alex Lee
Développeur principal chez Another Cool Startup
Nous étions sur le point de reporter l'internationalisation de notre produit jusqu'après le lancement. Avec i18n-keyless, nous l'avons mise en œuvre dès la phase MVP et avons lancé à l'échelle mondiale dès le premier jour. Le retour sur investissement a été incroyable.
Maria Rodriguez
Fondateur chez GlobalApp
Tarification simple et prévisible
Un prix unique pour votre échelle.
Chaque fonctionnalité dans chaque plan.
Aucuns frais par mot, aucun calcul de jetons.
Jusqu'à 1 000 utilisateurs actifs par mois
Pour les applications indépendantes et les nouveaux produits
Jusqu'à 5 000 utilisateurs actifs par mois
Pour les applications qui trouvent leur public
Jusqu’à 50 000 utilisateurs actifs par mois
Pour les applications avec une traction réelle
Jusqu'à 500 000 utilisateurs actifs par mois
Pour des produits à grande échelle
Chaque plan comprend :
Toutes les 48 langues. Le monde entier, dès le premier jour
Traductions illimitées, y compris l'IA. Les nouvelles chaînes se traduisent automatiquement en production
Traduction en direct de contenu généré par les utilisateurs (UGC)
Mettez à niveau, rétrogradez ou annulez à tout moment
Plus de 500 000 utilisateurs actifs par mois ? Contactez-nous
Ce que coûte la même application ailleurs
Déplacez les deux curseurs. La facture est pour votre application dans les 48 langues.
| Solution | Votre facture mensuelle | Vous payez par | Traduction | Langues |
|---|---|---|---|---|
| i18n-keylessnous | €4/ mois | Utilisateurs actifs mensuels Gagner gagner. | IA, illimité, inclus | Tous les 48, dès le premier jour |
| Crowdin | €88/ mois1 | Mots hébergés : vos mots × 48 | Crowdin AI, dans une quote-part | Vous ajoutez chacun |
| Intlayer | €27/ mois2 | Sièges et projets | Génération d'IA, dans une quote-part | Vous ajoutez chacun |
| Lingo.dev | €91/ mois3 | Des frais de base, puis des jetons d'IA | La facture d'IA va directement vers vous | Vous ajoutez chacun |
| Locize | €77/ mois4 | Mots × 48, et téléchargements CDN | Vous apportez votre propre clé d'IA | 10 dans le plus grand plan publié |
| Lokalise | €132/ mois5 | Sièges, puis clés | Les traducteurs facturés à part | Vous ajoutez chacun |
| Phrase | €483/ mois6 | Sièges, puis mots gérés | À partir de 0,06 $ par mot, facturé séparément | Vous ajoutez chacun |
| Smartling | €552/ mois7 | Chaque mot, chaque langue | Traduction par IA à partir de 0,06 $ le mot | Vous ajoutez chacun |
| Tolgee | €49/ mois8 | Clés et sièges | Crédits de traduction automatique | Vous remplissez chacun |
| Weglot | €1,678/ mois9 | Mots × langues, sur une page web | Machine, à l'intérieur d'un quota | 20 sur le plus grand plan publié |
Prix publics de la liste, lus en août 2026. Les fournisseurs les modifient, alors vérifiez s'il vous plaît. Chaque facture est notre lecture de l'échelle publiée, et nous choisissons toujours le forfait payant le moins cher qui maintient votre application. Lorsqu'un fournisseur facture la première traduction une fois, nous l'étalons sur douze mois.
1 Crowdin publie 44 $ par mois pour 60 000 mots hébergés dans le plan Pro, facturé annuellement. Un mot hébergé est un mot dans une langue cible. Nous répétons ce prix de bloc au-delà de 60 000.
2 Intlayer est open source. Les 29 $ par mois couvrent le CMS et le quota de génération d'IA. Au-delà du quota, vous pouvez utiliser votre propre clé d'IA, donc nous ajoutons la facture du modèle à 10 $ pour chaque million de tokens, répartis sur douze mois.
3 Lingo.dev publie 99 $ par mois plus 2 $ pour chaque million de jetons d'infrastructure, et il vous transfère la facture du modèle. Nous comptons 1,4 jetons par mot et 10 $ pour chaque million de jetons de coût du modèle. Les frais de base représentent la majorité de ce montant.
4 Locize publie 7 $, 19 $ et 49 $ par mois pour 15 000, 30 000 et 60 000 mots, avec 1, 3 et 5 millions de téléchargements CDN. Au-delà, elle publie 0,50 $ pour chaque 1 000 mots supplémentaires et 5 $ pour chaque million de téléchargements supplémentaires. Nous comptons trente téléchargements par utilisateur chaque mois. Aucun plan publié ne couvre 48 langues.
5 Lokalise publie $144, $375 et $999 par mois, sans limite de clés. Nous supposons que les trois forfaits contiennent 5 000, 20 000 et 100 000 clés, et douze mots par clé. La traduction humaine est facturée séparément.
6 La phrase publie 525 $ par mois pour 1 million de mots gérés dans le plan logiciel, et 1 245 $ pour 3 millions. Nous comptons un mot géré pour chaque mot dans chaque langue, et nous répétons le bloc de 1 245 $ ci-dessus pour 3 millions.
7 Smartling ne publie pas de prix de plateforme. Nous ne comptons que la traduction par IA, au tarif publié de 0,06 $ par mot, réparti sur douze mois. Votre facture réelle est plus élevée.
8 Tolgee facture les clés, pas les mots, donc nous comptons douze mots pour chaque clé. Elle publie 49 $ pour 2 000 clés, 179 $ pour 5 000 et 499 $ pour 20 000, facturés annuellement. Au-delà, nous répétons le bloc de 499 $. Les crédits de traduction automatique sont comptabilisés séparément.
9 Weglot traduit une page web, et non une application. Son forfait le plus cher publié est à 699 $ par mois pour 20 langues, donc nous adaptons ce prix à 48 langues. Vos mots s’intègrent dans chacun de ces forfaits.
Chaque autre ligne grandit avec votre produit. Le nôtre est un prix fixe.
Regardez la démonstration
Regardez cette courte vidéo pour voir i18n-keyless en action
Obtenez la clé API pour une application
Toute votre implémentation i18n en 5 minutes. iykyk.