Localisation — l'essence, adaptation du contenu à la langue et à la région

Auteur : IT Sectr Publié le : 2026-02-26 Temps de lecture : 7 min

Localization (localisation, l10n) — l'adaptation du contenu d'une application mobile à la langue, à la région et aux caractéristiques culturelles du public cible. Contrairement à l'internationalisation (i18n), où le code est préparé pour la traduction, la localisation est le processus réel de traduction des chaînes, de formatage des dates, nombres et devises, de sélection d'images et de prise en compte des normes locales. Sous iOS, les traductions sont stockées dans Localizable.strings (dossiers .lproj pour chaque langue), sous Android — dans values-ru, values-de et d'autres répertoires de ressources. En savoir plus dans le guide de localisation Android.

Points clés

  • Localisation (l10n) — traduction et adaptation du contenu de l'application à une langue et une région spécifiques
  • Localizable.strings — fichier iOS contenant des paires clé-valeur pour chaque langue
  • values-ru — répertoire de ressources Android pour la langue russe (strings.xml)
  • Adaptation régionale — dates, nombres, images, couleurs et exigences légales varient selon le pays
  • Particularités culturelles — couleurs, icônes, gestes et exemples doivent être conformes aux normes locales

Qu'est-ce que la localisation (l10n) et en quoi diffère-t-elle de i18n ?

Localisation (abrégée l10n — 10 lettres entre « l » et « n ») est le processus d'adaptation d'une application à une langue et une région spécifiques. Si i18n est le fondement architectural, alors l10n est le contenu. i18n rend la traduction possible, l10n l'exécute. La localisation comprend : la traduction de tous les textes d'interface, l'adaptation des formats de date et de nombre, le remplacement des images culturellement sensibles, l'ajustement des textes juridiques (politique de confidentialité, EULA), la configuration des systèmes de paiement pour la région et les tests sur les appareils cibles.

ROI commercial — la localisation impacte directement le taux de conversion. Selon CSA Research (2023), 76 % des utilisateurs préfèrent acheter dans des applications dans leur langue maternelle, et 40 % n'achètent jamais dans une langue étrangère. La localisation en japonais d'une application de vente au détail augmente la conversion de 150 % en moyenne (Google, 2022). Les applications localisées reçoivent 2 à 3 fois plus d'installations organiques dans les App Store et Google Play régionaux grâce à l'ASO régional (mots-clés dans la langue cible).

i18n vs l10n — deux faces d'un même processus. i18n : extraire les chaînes dans les ressources, prise en charge RTL, formatage des nombres. Effectué une fois par les développeurs. l10n : traduire les chaînes, adapter le contenu, tests locaux. Effectué répétément par les traducteurs et l'assurance qualité pour chaque locale. Chez IT Sectr, nous allouons 20 à 30 % du temps de sprint pour la localisation de chaque nouvelle langue — cela comprend la traduction, la relecture, les tests sur appareils et la correction de bugs.

Localisation sous iOS : Localizable.strings et Base Internationalization

Localizable.strings — le fichier principal pour stocker les traductions sous iOS. Chaque locale a son propre dossier .lproj : en.lproj/Localizable.strings, ru.lproj/Localizable.strings, de.lproj/Localizable.strings. Format : « clé » = « valeur » ; (avec point-virgule). Apple utilise Base Internationalization : les Storyboard et XIB sont créés une fois (Base.lproj), et les chaînes d'interface sont exportées vers Localizable.strings pour chaque langue. Cela élimine le besoin de créer des copies du XIB pour chaque locale.

swift
// en.lproj/Localizable.strings
// "settings.title" = "Paramètres";
// "profile.greeting" = "Bonjour, %@!";
// "items.count" = "%d article(s)";

// ru.lproj/Localizable.strings
// "settings.title" = "Paramètres";
// "profile.greeting" = "Bonjour, %@!";
// "items.count" = "%d article(s)";

// Chargement d'une chaîne par clé
navigationItem.title = NSLocalizedString(
    "settings.title",
    comment: "Titre de l'écran des paramètres"
)

// Chaîne avec paramètre
let name = "Anna"
greetingLabel.text = String.localizedStringWithFormat(
    NSLocalizedString("profile.greeting", comment: ""), name
)

// Import XLIFF (Xcode → Editor → Import Localizations)
// Met automatiquement à jour les fichiers .lproj après le travail du traducteur

Base Internationalization — l'approche d'Apple où l'interface (Storyboard, XIB) est créée une fois dans Base.lproj. Lors de l'ajout d'une langue, Xcode exporte les chaînes de Base vers un fichier XLIFF. Le traducteur traduit le XLIFF. Après l'importation, Xcode crée .lproj avec les chaînes traduites. Avantage : pas besoin de dupliquer le XIB pour chaque langue. Limitation : pour les langues RTL (arabe, hébreu), un XIB séparé avec une mise en page en miroir peut être nécessaire.

InfoPlist.strings et localisation des métadonnées

InfoPlist.strings — fichier pour localiser le nom de l'application (CFBundleDisplayName), les autorisations caméra/microphone (NSCameraUsageDescription) et d'autres valeurs d'Info.plist. Créé dans .lproj : ru.lproj/InfoPlist.strings. Format : CFBundleDisplayName = « Mon application » ; NSCameraUsageDescription = « L'application a besoin d'accéder à la caméra pour prendre des photos » ;. Sans la localisation d'InfoPlist.strings, les dialogues système seront en anglais.

Localisation sous Android : values-ru et ressources localisées

Ressources Android pour la localisation sont organisées via des qualificatifs dans les noms de répertoires. Pour le russe — res/values-ru/, pour l'allemand — res/values-de/, pour le portugais brésilien — res/values-pt-rBR/. Android prend en charge plus de 160 locales. Le système sélectionne automatiquement les ressources en fonction de la langue de l'appareil (Locale.getDefault()). Si une locale exacte n'est pas trouvée, les ressources de values/ (locale de base, généralement en) sont utilisées.

kotlin
// res/values/strings.xml (base — anglais)
<string name="settings_title">Settings</string>
<string name="greeting">Hello, %s!</string>

// res/values-ru/strings.xml (russe)
<string name="settings_title">Paramètres</string>
<string name="greeting">Bonjour, %s!</string>

// res/values-de/strings.xml (allemand)
<string name="settings_title">Einstellungen</string>
<string name="greeting">Hallo, %s!</string>

// Kotlin — code unifié pour toutes les langues
textView.text = getString(R.string.settings_title)

// Chaîne avec paramètre
val greeting = getString(R.string.greeting, userName)

// Images localisées
// res/drawable-ru/flag.png — drapeau pour la version russe
// res/drawable/flag.png — drapeau par défaut

// Localisation des mises en page (pour les langues RTL)
// res/layout-ar/activity_main.xml — version arabe

Localisation au-delà des chaînes — Android permet de localiser les images (res/drawable-ru/), les couleurs (res/values-ru/colors.xml), les dimensions (res/values-ru/dimens.xml), les animations, les menus et même les mises en page entières. Pour les langues avec des longueurs de mots différentes (l'allemand est 30 à 40 % plus long que l'anglais), utilisez des dimens.xml localisés avec des largeurs de boutons augmentées. Pour les régions avec un symbolisme de couleur différent (le blanc est le deuil en Chine), utilisez des colors.xml localisés.

Test de localisation sur l'appareil

Test — changez la langue de l'appareil vers la langue cible via Paramètres → Système → Langue. Vérifiez : toutes les chaînes sont traduites, les dates sont formatées correctement, les nombres s'affichent avec le séparateur approprié, les images correspondent à la région, la mise en page ne se brise pas avec des chaînes longues. Pour l'automatisation, utilisez Espresso avec LocaleTestRule (Android Testing Library) — cela permet d'exécuter des tests avec différentes locales sans changer manuellement la langue.

Adaptation culturelle : quoi traduire en plus du texte

Particularités culturelles — la localisation ne se limite pas à traduire des chaînes. Le symbolisme des couleurs varie : le rouge est chance en Chine, danger aux États-Unis, deuil en Afrique du Sud. Le blanc est pureté en Europe, deuil en Chine. Icônes de gestes : pouce levé est positif aux États-Unis, une insulte au Moyen-Orient. Images de personnes : dans les pays arabes, les images de femmes en maillot de bain sont inacceptables. Symboles religieux : croix, croissant, étoile de David doivent être utilisés uniquement dans le contexte approprié.

Exigences légales — chaque pays a ses propres lois concernant les produits numériques. RGPD (UE) — consentement obligatoire pour les cookies et le traitement des données. CCPA (Californie) — droit de suppression des données. Loi sur les données personnelles (Russie, 152-FZ) — stockage des données sur des serveurs russes. LGPD (Brésil) — équivalent du RGPD. Paiements : en Chine, Alipay/WeChat Pay sont nécessaires, en Inde — UPI, au Brésil — Boleto et PIX. Configurez la passerelle de paiement pour la région avant de lancer la localisation.

AspectÉtats-UnisChineEAUAllemagne
Système de paiementApple Pay, CartesAlipay, WeChat PayCartes, Apple PayPayPal, Giropay
Couleurs de marqueQuelconquesRouge — chanceVert — IslamNoir/Jaune
Réseaux sociauxInstagram, XWeChat, DouyinWhatsApp, XWhatsApp, X
DateMM/dd/yyyyyyyy/MM/dddd/MM/yyyydd.MM.yyyy
Loi sur les donnéesCCPAPIPLPDPLRGPD

Exemples et contenu — adaptez les exemples à la région. Pour la localisation allemande, utilisez le système métrique (kg, km), pour l'américaine — le système impérial (lb, mi). Les numéros de téléphone, codes postaux, adresses — tout est formaté différemment. Exemples de devises : ¥1000 au Japon, 9,99 $ aux États-Unis, 999 ₽ en Russie. Les images de nourriture, vêtement et intérieurs doivent correspondre aux normes régionales. Chez IT Sectr, nous recommandons d'embaucher des consultants locaux pour vérifier l'adaptation culturelle.

Processus de localisation : outils, traducteurs, CI/CD

Outils de localisation — des plateformes professionnelles automatisent le processus : Lokalise, Crowdin, POEditor, Smartling, Phrase. Elles s'intègrent au référentiel, importent automatiquement les nouvelles chaînes, suivent les modifications (mises à jour delta — seules les chaînes modifiées sont traduites), fournissent une mémoire de traduction (TM — stockage des phrases précédemment traduites) et un glossaire. Coût moyen de la traduction professionnelle : 0,08 à 0,15 $ par mot (selon la langue).

Processus — (1) Le développeur ajoute des clés i18n au code, pousse vers le référentiel. (2) CI/CD (GitHub Actions / GitLab CI) envoie automatiquement les nouvelles clés à la plateforme de localisation. (3) Les traducteurs reçoivent une notification, traduisent et sauvegardent. (4) Les fichiers traduits créent automatiquement une PR dans le référentiel. (5) L'assurance qualité vérifie la localisation sur les appareils. (6) Publication. Cycle pour une locale : 2 à 5 jours ouvrés (selon le volume). Pour 10 locales : 5 à 15 jours avec travail parallèle des traducteurs.

Traduction automatique + relecture humaine — la norme moderne. La traduction par réseau neuronal (DeepL, Google Translate, GPT-4) offre une qualité de 80 à 90 % pour les paires de langues courantes. Un traducteur humain vérifie : la terminologie, le contexte (les mots peuvent avoir des significations différentes sur différents écrans), l'adaptation culturelle. Chez IT Sectr, nous utilisons une approche hybride : traduction ML + relecture par un locuteur natif. Pour les chaînes critiques (juridiques, paiement) — traduction professionnelle uniquement. Économies : jusqu'à 60 % du coût tout en maintenant la qualité.

Foire aux questions

En quoi la localisation diffère-t-elle de l'internationalisation ?

Internationalisation — préparation du code à la traduction (extraction des chaînes, RTL, formatage). Localisation — la traduction réelle et l'adaptation culturelle. i18n est effectué par le développeur une fois, l10n — par les traducteurs pour chaque langue. i18n sans l10n — l'application est prête à être traduite mais pas traduite. l10n sans i18n — il faut réécrire le code pour chaque langue.

Où sont stockées les traductions sous iOS ?

Dans les fichiers Localizable.strings dans les dossiers .lproj. Pour chaque langue : en.lproj (anglais), ru.lproj (russe), de.lproj (allemand). Format : « clé » = « valeur » ;. Pour les pluriels — Localizable.stringsdict. Les paramètres de l'application (CFBundleDisplayName) — dans InfoPlist.strings. Xcode gère les .lproj via Base Internationalization.

Qu'est-ce que values-ru dans Android ?

values-ru — un répertoire de ressources Android pour la langue russe. Contient strings.xml avec les traductions. De même pour d'autres langues : values-de (allemand), values-fr (français). Android sélectionne les ressources en fonction de la langue du système. Si values-ru n'est pas trouvé, il utilise values/ (langue de base, généralement l'anglais).

Comment formater les dates pour différentes régions ?

Utilisez toujours l'API Locale. iOS : DateFormatter.locale = Locale(identifier : locale). Android : DateFormat.getDateInstance(DateFormat.SHORT, locale). Russie : 31.12.2024. États-Unis : 12/31/2024. Japon : 2024/12/31. Ne définissez jamais de format fixe — chaque pays a ses propres normes. Pour la saisie de dates, utilisez UIDatePicker / DatePicker.

Combien de locales sont nécessaires pour une application mondiale ?

Pour une portée mondiale, 10 à 15 langues suffisent : anglais, espagnol, français, allemand, japonais, chinois, coréen, portugais, russe, italien, arabe. Pour une portée régionale — 1 à 2 langues. Chaque locale supplémentaire augmente les installations organiques de 5 à 15 % dans la région correspondante. L'App Store exige au moins une localisation en anglais.

Résumé

  • Localisation (l10n) — traduction et adaptation culturelle du contenu pour une langue et une région spécifiques
  • iOS — Localizable.strings dans les dossiers .lproj, Base Internationalization, InfoPlist.strings
  • Android — values-ru/strings.xml, drawable et layout localisés via des qualificatifs
  • Adaptation culturelle — couleurs, icônes, gestes, systèmes de paiement, exigences légales
  • Processus — CI/CD → plateforme de localisation → traducteur → QA → publication (2 à 5 jours par langue)
  • Approche hybride — traduction ML (DeepL, GPT) + relecture par locuteur natif pour 60 % d'économies
  • ROI — 76 % des utilisateurs achètent uniquement dans leur langue maternelle (CSA Research, 2023)

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi