Si vous souhaitez entrer en contact avec des utilisateurs Android de pays et de cultures différents, vous devrez localiser votre application pour qu'elle prenne en charge plusieurs langues. Ce processus commence par l'internationalisation d'Android (i18n), qui jette les bases d'une localisation transparente.
L'internationalisation de votre application Android consiste à la concevoir de manière à ce qu'elle puisse être utilisée dans plusieurs langues sans qu'il soit nécessaire de la modifier. Votre application semblera ainsi familière aux utilisateurs d'une autre région ou d'une autre culture, ce qui en améliorera l'utilisation et ouvrira la porte à de nouveaux marchés. Le processus ne doit être effectué qu'une seule fois, ce qui vous permet d'économiser du temps et de l'argent pour chaque localisation ultérieure.
Ce guide étape par étape vous guidera dans le processus d'internationalisation et de localisation de votre application Android. Vous apprendrez à préparer votre application, à gérer le contenu dynamique et à effectuer des tests dans différentes langues et localités.
Comment se préparer à la localisation d'une application Android
L'internationalisation prépare votre application Android à la localisation. Ce processus établit une base solide au sein d'Android Studio pour garantir que votre application prenne en charge plusieurs langues et régions. Voici comment commencer :
-
Installez Android Studio
Commencez par télécharger et installer Android Studio. Android Studio est l'environnement de développement officiel d'Android. Il fournit tout ce dont vous avez besoin pour internationaliser, localiser et tester votre application.
-
Créez un nouveau projet Android
Ouvrez Android Studio et créez un nouveau projet. Le modèle "Activité vide" offre un point de départ simple.
Configurez ensuite les paramètres de votre projet comme suit :
- Name (Nom) : Saisissez le nom de votre application (par exemple, "LocalizedApp").
- Nom du paquet : utilisez un identifiant unique comme "com.example.localizedappi18n".
- Langage : Sélectionnez Kotlin (recommandé) ou Java.
- SDK minimum : Définissez la version la plus basse d'Android que votre application prendra en charge.
Confirmez ensuite vos choix pour générer la structure du projet.
-
Ajoutez des éléments d'interface utilisateur avec des mises en page flexibles
Lorsque vous ajoutez des éléments d'interface utilisateur, concevez-les en tenant compte de la localisation. Des langues comme l'allemand nécessitent souvent plus d'espace que l'anglais, alors que les caractères chinois sont plus compacts. Évitez de fixer des largeurs fixes pour les éléments textuels, car les traductions plus longues dans certaines langues peuvent dépasser la taille du conteneur.
Pensez à utiliser des outils tels que ConstraintLayout pour permettre aux éléments de l'interface utilisateur d'ajuster leur position et leur taille de manière dynamique en fonction de la longueur du texte traduit.
Voici un exemple de XML :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android«
xmlns:app="http://schemas.android.com/apk/res-auto«
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/welcome_message"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Ici, le TextView est utilisé pour afficher une ressource de type chaîne de caractères (par exemple, un message de bienvenue). En utilisant wrap_content pour la largeur, l'élément se redimensionne automatiquement pour s'adapter à la longueur du texte traduit au lieu d'être limité par une dimension fixe. En outre, le ConstraintLayout maintient le TextView correctement positionné dans l'écran, quelle que soit la longueur du texte ou la taille de l'écran.
La création d'une mise en page flexible dès le départ permet à votre application d'avoir une belle apparence, quelle que soit la langue dans laquelle elle est localisée.
-
Préparer la localisation avec du texte externalisé
La dernière étape pour préparer votre application Android à la localisation consiste à stocker tout le texte destiné à l'utilisateur dans un fichier de ressources distinct au lieu de le coder en dur. Avec un fichier de ressources centralisé comme strings.xml, vous n'aurez pas besoin de remplacer manuellement le texte dispersé dans votre code.
Voici comment procéder :
- Localisez le dossier "res/values/" dans le répertoire de votre projet.
- Ouvrez le fichier "strings.xml" (s'il n'existe pas, créez-en un).
- Ajoutez votre texte au fichier à l'aide d'une paire nom-valeur :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_message"> Bienvenue dans mon application !</string>
</resources>
Retournez au fichier activity_main.xml et mettez à jour le TextView pour qu'il fasse référence à la ressource string :
<TextView
android:text="@string/welcome_message"
En organisant votre projet de cette manière, vous internationaliserez votre application Android, ce qui vous permettra de délimiter facilement le contenu qui doit être localisé dans une autre langue.
Comment localiser une application Android en 4 étapes
Maintenant que vous avez préparé votre application Android, il est temps de passer en revue le processus de localisation étape par étape, de la mise en place de ressources spécifiques à la langue au changement dynamique de la locale de l'application Android.
-
Développez strings.xml pour la localisation
Lors de la phase de préparation, vous avez créé un fichier strings.xml pour gérer tout le texte de votre application Android. Il est maintenant temps d'élargir cette approche en créant des versions linguistiques du fichier pour chaque langue prise en charge.
Tout d'abord, créez de nouveaux dossiers pour chaque langue cible dans le répertoire res de votre projet. Utilisez un nom de dossier qui inclut le code de langue approprié (par exemple, "res/values-es/" pour l'espagnol et "res/values-fr/" pour le français).
Copiez votre fichier strings.xml par défaut dans chaque dossier. Ensuite, traduisez manuellement le texte pour chaque langue. Par exemple, le fichier anglais par défaut pourrait être le suivant :
<TextView
<string name="hello_world">Hello, World!string>
La version espagnole se trouve dans "values-es/strings.xml" serait :
<TextView
<string name="hello_world">¡Hola, Mundo!string>
Une fois que vous avez créé ces fichiers XML spécifiques à la langue, Android choisit automatiquement la version correcte de strings.xml en fonction des paramètres de langue de l'appareil de l'utilisateur.
-
Traiter les pluriels pour des traductions précises
Les pluriels sont délicats car chaque langue les traite différemment. Par exemple, "one item" est singulier en anglais, mais tous les autres nombres sont pluriels, qu'il s'agisse de "zero items" ou de "two hundred items". Cependant, des langues comme le russe, le gallois et le tchèque utilisent des règles plus spécifiques pour les pluriels en fonction du nombre.
Voici comment définir des chaînes plurielles dans strings.xml pour l'anglais :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="item_count">
<item quantity="one">%d item</item>
<item quantity="other"> %d items</item>
</plurals>
</resources>
Cela explique les valeurs quantitatives suivantes :
- Un : utilisé pour les formes singulières (par exemple, un objet).
- Autre : Utilisé pour les formes plurielles (par exemple, zéro élément, deux éléments, trois éléments).
L'anglais n'exige que "one" et "other", mais d'autres langues ont davantage de classifications. Pour gérer cela, Android fournit une balise dans strings.xml. Android prend en charge les balises zéro, un, deux, quelques, plusieurs et autres. Voici des exemples de langues qui utilisent chaque balise :
- L'arabe utilise un accord grammatical spécial pour le zéro.
- Le russe traite différemment tout nombre se terminant par "1", sauf s'il se termine par "11".
- Le gallois utilise un pluriel distinct lorsqu'il y a deux éléments d'une même chose.
- Des langues comme le tchèque et le maltais font la distinction entre les petits et les grands nombres.
- Le chinois ne fait aucune distinction.
Voici comment récupérer et formater la chaîne plurielle en Kotlin :
val itemCount = 3
val message = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)
Dans ce code, R.plurals.item_count est l'identifiant de la ressource plurielle. Le premier nombre d'articles sélectionne la chaîne de pluriel en fonction des règles de pluriel de la locale de l'appareil, et le deuxième itemCount remplace le caractère générique%d.
Par exemple, voici les résultats pour l'anglais :
- Pour itemCount = 1 : "1 item"
- Pour itemCount = 3 : "3 items"
-
Utiliser des espaces réservés pour les valeurs dynamiques
Les applications affichent souvent un contenu personnalisé ou dynamique, comme le nom d'un utilisateur ou le nombre de notifications qu'il a reçues. Au lieu de coder ce contenu en dur, vous pouvez utiliser des caractères de remplacement dans vos chaînes, comme suit :
<resources>
<string name="welcome_message"> Bienvenue, %1$s ! Vous avez %2$d nouveaux messages.</string>
</resources>
Voici comment cela fonctionne :
- %1$s est un espace réservé pour une chaîne de caractères (comme un nom).
- %2$d est un espace réservé pour un nombre (comme le nombre de messages).
Lorsque l'application s'exécute, ces espaces réservés sont remplacés dynamiquement par les valeurs saisies par l'utilisateur et leurs données dynamiques.
-
Ajouter des indices contextuels
Les traducteurs ne savent pas toujours comment une chaîne est utilisée dans votre application. Par exemple, un mot comme "menu" peut désigner une liste déroulante, la liste des plats d'un restaurant ou une page de paramètres. Pour éviter toute confusion, vous pouvez ajouter des commentaires directement dans votre strings.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- This string is used as a label for the navigation menu →
<string name="menu_label">Menu</string>
<!-- This string is used for the settings button in the app →
<string name="settings_label">Settings</string>
</resources>
Ces notes indiquent au traducteur que le mot "menu" fait référence à une fonction de navigation dans l'application, et non à un menu de restaurant.
Tester la localisation dans Android
Il est essentiel de tester votre application Android localisée pour s'assurer qu'elle fonctionne dans différentes langues et régions. En testant sur des émulateurs et des appareils réels, vous pouvez détecter les problèmes et fournir une application qui semble naturelle et fonctionnelle pour les utilisateurs du monde entier.
Pourquoi tester sur des appareils réels ?
Les appareils réels offrent la simulation la plus proche de la manière dont les utilisateurs interagiront avec votre application. Ils vous montrent comment le texte traduit apparaît sur un écran de téléphone réel - s'il est trop long ou coupé.
Pourquoi tester avec des émulateurs ?
Les émulateurs sont un moyen pratique de tester votre application dans de nombreuses configurations. Ils vous permettent de passer rapidement d'une langue à l'autre et d'une région à l'autre pour vérifier les traductions, les ajustements de la mise en page et le comportement de l'interface utilisateur.
La combinaison de ces deux méthodes vous permet de maintenir une fonctionnalité et une expérience utilisateur optimales dans plusieurs langues et localités.
Comment utiliser Smartling pour la localisation Android
Smartling simplifie la localisation sur Android. Avec des outils alimentés par l'IA, des intégrations de fichiers Android XML transparentes et une équipe de traducteurs experts, Smartling offre de multiples services pour rationaliser l'ensemble du processus de traduction du début à la fin et automatiser les flux de travail manuels.
Votre entreprise peut tirer parti des systèmes d'automatisation et des données de Smartling pour localiser plus rapidement et maintenir la cohérence de la marque sur les marchés mondiaux, en devançant vos concurrents tout en offrant une expérience utilisateur inégalée.
Prêt à localiser plus intelligemment, et non plus difficilement ? Téléchargez notre livre électronique gratuit, "10 stratégies pour améliorer l'efficacité de la traduction". Vous apprendrez comment améliorer la rapidité, la qualité et le coût des traductions grâce à des stratégies concrètes et des exemples concrets.
Si vous souhaitez entrer en contact avec des utilisateurs Android de pays et de cultures différents, vous devrez localiser votre application pour qu'elle prenne en charge plusieurs langues. Ce processus commence par l'internationalisation d'Android (i18n), qui jette les bases d'une localisation transparente.
L'internationalisation de votre application Android consiste à la concevoir de manière à ce qu'elle puisse être utilisée dans plusieurs langues sans qu'il soit nécessaire de la modifier. Votre application semblera ainsi familière aux utilisateurs d'une autre région ou d'une autre culture, ce qui en améliorera l'utilisation et ouvrira la porte à de nouveaux marchés. Le processus ne doit être effectué qu'une seule fois, ce qui vous permet d'économiser du temps et de l'argent pour chaque localisation ultérieure.
Ce guide étape par étape vous guidera dans le processus d'internationalisation et de localisation de votre application Android. Vous apprendrez à préparer votre application, à gérer le contenu dynamique et à effectuer des tests dans différentes langues et localités.
Comment se préparer à la localisation d'une application Android
L'internationalisation prépare votre application Android à la localisation. Ce processus établit une base solide au sein d'Android Studio pour garantir que votre application prenne en charge plusieurs langues et régions. Voici comment commencer :
-
Installez Android Studio
Commencez par télécharger et installer Android Studio. Android Studio est l'environnement de développement officiel d'Android. Il fournit tout ce dont vous avez besoin pour internationaliser, localiser et tester votre application.
-
Créez un nouveau projet Android
Ouvrez Android Studio et créez un nouveau projet. Le modèle "Activité vide" offre un point de départ simple.
Configurez ensuite les paramètres de votre projet comme suit :
- Name (Nom) : Saisissez le nom de votre application (par exemple, "LocalizedApp").
- Nom du paquet : utilisez un identifiant unique comme "com.example.localizedappi18n".
- Langage : Sélectionnez Kotlin (recommandé) ou Java.
- SDK minimum : Définissez la version la plus basse d'Android que votre application prendra en charge.
Confirmez ensuite vos choix pour générer la structure du projet.
-
Ajoutez des éléments d'interface utilisateur avec des mises en page flexibles
Lorsque vous ajoutez des éléments d'interface utilisateur, concevez-les en tenant compte de la localisation. Des langues comme l'allemand nécessitent souvent plus d'espace que l'anglais, alors que les caractères chinois sont plus compacts. Évitez de fixer des largeurs fixes pour les éléments textuels, car les traductions plus longues dans certaines langues peuvent dépasser la taille du conteneur.
Pensez à utiliser des outils tels que ConstraintLayout pour permettre aux éléments de l'interface utilisateur d'ajuster leur position et leur taille de manière dynamique en fonction de la longueur du texte traduit.
Voici un exemple de XML :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android«
xmlns:app="http://schemas.android.com/apk/res-auto«
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/welcome_message"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Ici, le TextView est utilisé pour afficher une ressource de type chaîne de caractères (par exemple, un message de bienvenue). En utilisant wrap_content pour la largeur, l'élément se redimensionne automatiquement pour s'adapter à la longueur du texte traduit au lieu d'être limité par une dimension fixe. En outre, le ConstraintLayout maintient le TextView correctement positionné dans l'écran, quelle que soit la longueur du texte ou la taille de l'écran.
La création d'une mise en page flexible dès le départ permet à votre application d'avoir une belle apparence, quelle que soit la langue dans laquelle elle est localisée.
-
Préparer la localisation avec du texte externalisé
La dernière étape pour préparer votre application Android à la localisation consiste à stocker tout le texte destiné à l'utilisateur dans un fichier de ressources distinct au lieu de le coder en dur. Avec un fichier de ressources centralisé comme strings.xml, vous n'aurez pas besoin de remplacer manuellement le texte dispersé dans votre code.
Voici comment procéder :
- Localisez le dossier "res/values/" dans le répertoire de votre projet.
- Ouvrez le fichier "strings.xml" (s'il n'existe pas, créez-en un).
- Ajoutez votre texte au fichier à l'aide d'une paire nom-valeur :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_message"> Bienvenue dans mon application !</string>
</resources>
Retournez au fichier activity_main.xml et mettez à jour le TextView pour qu'il fasse référence à la ressource string :
<TextView
android:text="@string/welcome_message"
En organisant votre projet de cette manière, vous internationaliserez votre application Android, ce qui vous permettra de délimiter facilement le contenu qui doit être localisé dans une autre langue.
Comment localiser une application Android en 4 étapes
Maintenant que vous avez préparé votre application Android, il est temps de passer en revue le processus de localisation étape par étape, de la mise en place de ressources spécifiques à la langue au changement dynamique de la locale de l'application Android.
-
Développez strings.xml pour la localisation
Lors de la phase de préparation, vous avez créé un fichier strings.xml pour gérer tout le texte de votre application Android. Il est maintenant temps d'élargir cette approche en créant des versions linguistiques du fichier pour chaque langue prise en charge.
Tout d'abord, créez de nouveaux dossiers pour chaque langue cible dans le répertoire res de votre projet. Utilisez un nom de dossier qui inclut le code de langue approprié (par exemple, "res/values-es/" pour l'espagnol et "res/values-fr/" pour le français).
Copiez votre fichier strings.xml par défaut dans chaque dossier. Ensuite, traduisez manuellement le texte pour chaque langue. Par exemple, le fichier anglais par défaut pourrait être le suivant :
<TextView
<string name="hello_world">Hello, World!string>
La version espagnole se trouve dans "values-es/strings.xml" serait :
<TextView
<string name="hello_world">¡Hola, Mundo!string>
Une fois que vous avez créé ces fichiers XML spécifiques à la langue, Android choisit automatiquement la version correcte de strings.xml en fonction des paramètres de langue de l'appareil de l'utilisateur.
-
Traiter les pluriels pour des traductions précises
Les pluriels sont délicats car chaque langue les traite différemment. Par exemple, "one item" est singulier en anglais, mais tous les autres nombres sont pluriels, qu'il s'agisse de "zero items" ou de "two hundred items". Cependant, des langues comme le russe, le gallois et le tchèque utilisent des règles plus spécifiques pour les pluriels en fonction du nombre.
Voici comment définir des chaînes plurielles dans strings.xml pour l'anglais :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="item_count">
<item quantity="one">%d item</item>
<item quantity="other"> %d items</item>
</plurals>
</resources>
Cela explique les valeurs quantitatives suivantes :
- Un : utilisé pour les formes singulières (par exemple, un objet).
- Autre : Utilisé pour les formes plurielles (par exemple, zéro élément, deux éléments, trois éléments).
L'anglais n'exige que "one" et "other", mais d'autres langues ont davantage de classifications. Pour gérer cela, Android fournit une balise dans strings.xml. Android prend en charge les balises zéro, un, deux, quelques, plusieurs et autres. Voici des exemples de langues qui utilisent chaque balise :
- L'arabe utilise un accord grammatical spécial pour le zéro.
- Le russe traite différemment tout nombre se terminant par "1", sauf s'il se termine par "11".
- Le gallois utilise un pluriel distinct lorsqu'il y a deux éléments d'une même chose.
- Des langues comme le tchèque et le maltais font la distinction entre les petits et les grands nombres.
- Le chinois ne fait aucune distinction.
Voici comment récupérer et formater la chaîne plurielle en Kotlin :
val itemCount = 3
val message = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)
Dans ce code, R.plurals.item_count est l'identifiant de la ressource plurielle. Le premier nombre d'articles sélectionne la chaîne de pluriel en fonction des règles de pluriel de la locale de l'appareil, et le deuxième itemCount remplace le caractère générique%d.
Par exemple, voici les résultats pour l'anglais :
- Pour itemCount = 1 : "1 item"
- Pour itemCount = 3 : "3 items"
-
Utiliser des espaces réservés pour les valeurs dynamiques
Les applications affichent souvent un contenu personnalisé ou dynamique, comme le nom d'un utilisateur ou le nombre de notifications qu'il a reçues. Au lieu de coder ce contenu en dur, vous pouvez utiliser des caractères de remplacement dans vos chaînes, comme suit :
<resources>
<string name="welcome_message"> Bienvenue, %1$s ! Vous avez %2$d nouveaux messages.</string>
</resources>
Voici comment cela fonctionne :
- %1$s est un espace réservé pour une chaîne de caractères (comme un nom).
- %2$d est un espace réservé pour un nombre (comme le nombre de messages).
Lorsque l'application s'exécute, ces espaces réservés sont remplacés dynamiquement par les valeurs saisies par l'utilisateur et leurs données dynamiques.
-
Ajouter des indices contextuels
Les traducteurs ne savent pas toujours comment une chaîne est utilisée dans votre application. Par exemple, un mot comme "menu" peut désigner une liste déroulante, la liste des plats d'un restaurant ou une page de paramètres. Pour éviter toute confusion, vous pouvez ajouter des commentaires directement dans votre strings.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- This string is used as a label for the navigation menu →
<string name="menu_label">Menu</string>
<!-- This string is used for the settings button in the app →
<string name="settings_label">Settings</string>
</resources>
Ces notes indiquent au traducteur que le mot "menu" fait référence à une fonction de navigation dans l'application, et non à un menu de restaurant.
Tester la localisation dans Android
Il est essentiel de tester votre application Android localisée pour s'assurer qu'elle fonctionne dans différentes langues et régions. En testant sur des émulateurs et des appareils réels, vous pouvez détecter les problèmes et fournir une application qui semble naturelle et fonctionnelle pour les utilisateurs du monde entier.
Pourquoi tester sur des appareils réels ?
Les appareils réels offrent la simulation la plus proche de la manière dont les utilisateurs interagiront avec votre application. Ils vous montrent comment le texte traduit apparaît sur un écran de téléphone réel - s'il est trop long ou coupé.
Pourquoi tester avec des émulateurs ?
Les émulateurs sont un moyen pratique de tester votre application dans de nombreuses configurations. Ils vous permettent de passer rapidement d'une langue à l'autre et d'une région à l'autre pour vérifier les traductions, les ajustements de la mise en page et le comportement de l'interface utilisateur.
La combinaison de ces deux méthodes vous permet de maintenir une fonctionnalité et une expérience utilisateur optimales dans plusieurs langues et localités.
Comment utiliser Smartling pour la localisation Android
Smartling simplifie la localisation sur Android. Avec des outils alimentés par l'IA, des intégrations de fichiers Android XML transparentes et une équipe de traducteurs experts, Smartling offre de multiples services pour rationaliser l'ensemble du processus de traduction du début à la fin et automatiser les flux de travail manuels.
Votre entreprise peut tirer parti des systèmes d'automatisation et des données de Smartling pour localiser plus rapidement et maintenir la cohérence de la marque sur les marchés mondiaux, en devançant vos concurrents tout en offrant une expérience utilisateur inégalée.
Prêt à localiser plus intelligemment, et non plus difficilement ? Téléchargez notre livre électronique gratuit, "10 stratégies pour améliorer l'efficacité de la traduction". Vous apprendrez comment améliorer la rapidité, la qualité et le coût des traductions grâce à des stratégies concrètes et des exemples concrets.
Si vous souhaitez entrer en contact avec des utilisateurs Android de pays et de cultures différents, vous devrez localiser votre application pour qu'elle prenne en charge plusieurs langues. Ce processus commence par l'internationalisation d'Android (i18n), qui jette les bases d'une localisation transparente.
L'internationalisation de votre application Android consiste à la concevoir de manière à ce qu'elle puisse être utilisée dans plusieurs langues sans qu'il soit nécessaire de la modifier. Votre application semblera ainsi familière aux utilisateurs d'une autre région ou d'une autre culture, ce qui en améliorera l'utilisation et ouvrira la porte à de nouveaux marchés. Le processus ne doit être effectué qu'une seule fois, ce qui vous permet d'économiser du temps et de l'argent pour chaque localisation ultérieure.
Ce guide étape par étape vous guidera dans le processus d'internationalisation et de localisation de votre application Android. Vous apprendrez à préparer votre application, à gérer le contenu dynamique et à effectuer des tests dans différentes langues et localités.
Comment se préparer à la localisation d'une application Android
L'internationalisation prépare votre application Android à la localisation. Ce processus établit une base solide au sein d'Android Studio pour garantir que votre application prenne en charge plusieurs langues et régions. Voici comment commencer :
-
Installez Android Studio
Commencez par télécharger et installer Android Studio. Android Studio est l'environnement de développement officiel d'Android. Il fournit tout ce dont vous avez besoin pour internationaliser, localiser et tester votre application.
-
Créez un nouveau projet Android
Ouvrez Android Studio et créez un nouveau projet. Le modèle "Activité vide" offre un point de départ simple.
Configurez ensuite les paramètres de votre projet comme suit :
- Name (Nom) : Saisissez le nom de votre application (par exemple, "LocalizedApp").
- Nom du paquet : utilisez un identifiant unique comme "com.example.localizedappi18n".
- Langage : Sélectionnez Kotlin (recommandé) ou Java.
- SDK minimum : Définissez la version la plus basse d'Android que votre application prendra en charge.
Confirmez ensuite vos choix pour générer la structure du projet.
-
Ajoutez des éléments d'interface utilisateur avec des mises en page flexibles
Lorsque vous ajoutez des éléments d'interface utilisateur, concevez-les en tenant compte de la localisation. Des langues comme l'allemand nécessitent souvent plus d'espace que l'anglais, alors que les caractères chinois sont plus compacts. Évitez de fixer des largeurs fixes pour les éléments textuels, car les traductions plus longues dans certaines langues peuvent dépasser la taille du conteneur.
Pensez à utiliser des outils tels que ConstraintLayout pour permettre aux éléments de l'interface utilisateur d'ajuster leur position et leur taille de manière dynamique en fonction de la longueur du texte traduit.
Voici un exemple de XML :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android«
xmlns:app="http://schemas.android.com/apk/res-auto«
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/welcome_message"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Ici, le TextView est utilisé pour afficher une ressource de type chaîne de caractères (par exemple, un message de bienvenue). En utilisant wrap_content pour la largeur, l'élément se redimensionne automatiquement pour s'adapter à la longueur du texte traduit au lieu d'être limité par une dimension fixe. En outre, le ConstraintLayout maintient le TextView correctement positionné dans l'écran, quelle que soit la longueur du texte ou la taille de l'écran.
La création d'une mise en page flexible dès le départ permet à votre application d'avoir une belle apparence, quelle que soit la langue dans laquelle elle est localisée.
-
Préparer la localisation avec du texte externalisé
La dernière étape pour préparer votre application Android à la localisation consiste à stocker tout le texte destiné à l'utilisateur dans un fichier de ressources distinct au lieu de le coder en dur. Avec un fichier de ressources centralisé comme strings.xml, vous n'aurez pas besoin de remplacer manuellement le texte dispersé dans votre code.
Voici comment procéder :
- Localisez le dossier "res/values/" dans le répertoire de votre projet.
- Ouvrez le fichier "strings.xml" (s'il n'existe pas, créez-en un).
- Ajoutez votre texte au fichier à l'aide d'une paire nom-valeur :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_message"> Bienvenue dans mon application !</string>
</resources>
Retournez au fichier activity_main.xml et mettez à jour le TextView pour qu'il fasse référence à la ressource string :
<TextView
android:text="@string/welcome_message"
En organisant votre projet de cette manière, vous internationaliserez votre application Android, ce qui vous permettra de délimiter facilement le contenu qui doit être localisé dans une autre langue.
Comment localiser une application Android en 4 étapes
Maintenant que vous avez préparé votre application Android, il est temps de passer en revue le processus de localisation étape par étape, de la mise en place de ressources spécifiques à la langue au changement dynamique de la locale de l'application Android.
-
Développez strings.xml pour la localisation
Lors de la phase de préparation, vous avez créé un fichier strings.xml pour gérer tout le texte de votre application Android. Il est maintenant temps d'élargir cette approche en créant des versions linguistiques du fichier pour chaque langue prise en charge.
Tout d'abord, créez de nouveaux dossiers pour chaque langue cible dans le répertoire res de votre projet. Utilisez un nom de dossier qui inclut le code de langue approprié (par exemple, "res/values-es/" pour l'espagnol et "res/values-fr/" pour le français).
Copiez votre fichier strings.xml par défaut dans chaque dossier. Ensuite, traduisez manuellement le texte pour chaque langue. Par exemple, le fichier anglais par défaut pourrait être le suivant :
<TextView
<string name="hello_world">Hello, World!string>
La version espagnole se trouve dans "values-es/strings.xml" serait :
<TextView
<string name="hello_world">¡Hola, Mundo!string>
Une fois que vous avez créé ces fichiers XML spécifiques à la langue, Android choisit automatiquement la version correcte de strings.xml en fonction des paramètres de langue de l'appareil de l'utilisateur.
-
Traiter les pluriels pour des traductions précises
Les pluriels sont délicats car chaque langue les traite différemment. Par exemple, "one item" est singulier en anglais, mais tous les autres nombres sont pluriels, qu'il s'agisse de "zero items" ou de "two hundred items". Cependant, des langues comme le russe, le gallois et le tchèque utilisent des règles plus spécifiques pour les pluriels en fonction du nombre.
Voici comment définir des chaînes plurielles dans strings.xml pour l'anglais :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="item_count">
<item quantity="one">%d item</item>
<item quantity="other"> %d items</item>
</plurals>
</resources>
Cela explique les valeurs quantitatives suivantes :
- Un : utilisé pour les formes singulières (par exemple, un objet).
- Autre : Utilisé pour les formes plurielles (par exemple, zéro élément, deux éléments, trois éléments).
L'anglais n'exige que "one" et "other", mais d'autres langues ont davantage de classifications. Pour gérer cela, Android fournit une balise dans strings.xml. Android prend en charge les balises zéro, un, deux, quelques, plusieurs et autres. Voici des exemples de langues qui utilisent chaque balise :
- L'arabe utilise un accord grammatical spécial pour le zéro.
- Le russe traite différemment tout nombre se terminant par "1", sauf s'il se termine par "11".
- Le gallois utilise un pluriel distinct lorsqu'il y a deux éléments d'une même chose.
- Des langues comme le tchèque et le maltais font la distinction entre les petits et les grands nombres.
- Le chinois ne fait aucune distinction.
Voici comment récupérer et formater la chaîne plurielle en Kotlin :
val itemCount = 3
val message = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)
Dans ce code, R.plurals.item_count est l'identifiant de la ressource plurielle. Le premier nombre d'articles sélectionne la chaîne de pluriel en fonction des règles de pluriel de la locale de l'appareil, et le deuxième itemCount remplace le caractère générique%d.
Par exemple, voici les résultats pour l'anglais :
- Pour itemCount = 1 : "1 item"
- Pour itemCount = 3 : "3 items"
-
Utiliser des espaces réservés pour les valeurs dynamiques
Les applications affichent souvent un contenu personnalisé ou dynamique, comme le nom d'un utilisateur ou le nombre de notifications qu'il a reçues. Au lieu de coder ce contenu en dur, vous pouvez utiliser des caractères de remplacement dans vos chaînes, comme suit :
<resources>
<string name="welcome_message"> Bienvenue, %1$s ! Vous avez %2$d nouveaux messages.</string>
</resources>
Voici comment cela fonctionne :
- %1$s est un espace réservé pour une chaîne de caractères (comme un nom).
- %2$d est un espace réservé pour un nombre (comme le nombre de messages).
Lorsque l'application s'exécute, ces espaces réservés sont remplacés dynamiquement par les valeurs saisies par l'utilisateur et leurs données dynamiques.
-
Ajouter des indices contextuels
Les traducteurs ne savent pas toujours comment une chaîne est utilisée dans votre application. Par exemple, un mot comme "menu" peut désigner une liste déroulante, la liste des plats d'un restaurant ou une page de paramètres. Pour éviter toute confusion, vous pouvez ajouter des commentaires directement dans votre strings.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- This string is used as a label for the navigation menu →
<string name="menu_label">Menu</string>
<!-- This string is used for the settings button in the app →
<string name="settings_label">Settings</string>
</resources>
Ces notes indiquent au traducteur que le mot "menu" fait référence à une fonction de navigation dans l'application, et non à un menu de restaurant.
Tester la localisation dans Android
Il est essentiel de tester votre application Android localisée pour s'assurer qu'elle fonctionne dans différentes langues et régions. En testant sur des émulateurs et des appareils réels, vous pouvez détecter les problèmes et fournir une application qui semble naturelle et fonctionnelle pour les utilisateurs du monde entier.
Pourquoi tester sur des appareils réels ?
Les appareils réels offrent la simulation la plus proche de la manière dont les utilisateurs interagiront avec votre application. Ils vous montrent comment le texte traduit apparaît sur un écran de téléphone réel - s'il est trop long ou coupé.
Pourquoi tester avec des émulateurs ?
Les émulateurs sont un moyen pratique de tester votre application dans de nombreuses configurations. Ils vous permettent de passer rapidement d'une langue à l'autre et d'une région à l'autre pour vérifier les traductions, les ajustements de la mise en page et le comportement de l'interface utilisateur.
La combinaison de ces deux méthodes vous permet de maintenir une fonctionnalité et une expérience utilisateur optimales dans plusieurs langues et localités.
Comment utiliser Smartling pour la localisation Android
Smartling simplifie la localisation sur Android. Avec des outils alimentés par l'IA, des intégrations de fichiers Android XML transparentes et une équipe de traducteurs experts, Smartling offre de multiples services pour rationaliser l'ensemble du processus de traduction du début à la fin et automatiser les flux de travail manuels.
Votre entreprise peut tirer parti des systèmes d'automatisation et des données de Smartling pour localiser plus rapidement et maintenir la cohérence de la marque sur les marchés mondiaux, en devançant vos concurrents tout en offrant une expérience utilisateur inégalée.
Prêt à localiser plus intelligemment, et non plus difficilement ? Téléchargez notre livre électronique gratuit, "10 stratégies pour améliorer l'efficacité de la traduction". Vous apprendrez comment améliorer la rapidité, la qualité et le coût des traductions grâce à des stratégies concrètes et des exemples concrets.
Si vous souhaitez entrer en contact avec des utilisateurs Android de pays et de cultures différents, vous devrez localiser votre application pour qu'elle prenne en charge plusieurs langues. Ce processus commence par l'internationalisation d'Android (i18n), qui jette les bases d'une localisation transparente.
L'internationalisation de votre application Android consiste à la concevoir de manière à ce qu'elle puisse être utilisée dans plusieurs langues sans qu'il soit nécessaire de la modifier. Votre application semblera ainsi familière aux utilisateurs d'une autre région ou d'une autre culture, ce qui en améliorera l'utilisation et ouvrira la porte à de nouveaux marchés. Le processus ne doit être effectué qu'une seule fois, ce qui vous permet d'économiser du temps et de l'argent pour chaque localisation ultérieure.
Ce guide étape par étape vous guidera dans le processus d'internationalisation et de localisation de votre application Android. Vous apprendrez à préparer votre application, à gérer le contenu dynamique et à effectuer des tests dans différentes langues et localités.
Comment se préparer à la localisation d'une application Android
L'internationalisation prépare votre application Android à la localisation. Ce processus établit une base solide au sein d'Android Studio pour garantir que votre application prenne en charge plusieurs langues et régions. Voici comment commencer :
-
Installez Android Studio
Commencez par télécharger et installer Android Studio. Android Studio est l'environnement de développement officiel d'Android. Il fournit tout ce dont vous avez besoin pour internationaliser, localiser et tester votre application.
-
Créez un nouveau projet Android
Ouvrez Android Studio et créez un nouveau projet. Le modèle "Activité vide" offre un point de départ simple.
Configurez ensuite les paramètres de votre projet comme suit :
- Name (Nom) : Saisissez le nom de votre application (par exemple, "LocalizedApp").
- Nom du paquet : utilisez un identifiant unique comme "com.example.localizedappi18n".
- Langage : Sélectionnez Kotlin (recommandé) ou Java.
- SDK minimum : Définissez la version la plus basse d'Android que votre application prendra en charge.
Confirmez ensuite vos choix pour générer la structure du projet.
-
Ajoutez des éléments d'interface utilisateur avec des mises en page flexibles
Lorsque vous ajoutez des éléments d'interface utilisateur, concevez-les en tenant compte de la localisation. Des langues comme l'allemand nécessitent souvent plus d'espace que l'anglais, alors que les caractères chinois sont plus compacts. Évitez de fixer des largeurs fixes pour les éléments textuels, car les traductions plus longues dans certaines langues peuvent dépasser la taille du conteneur.
Pensez à utiliser des outils tels que ConstraintLayout pour permettre aux éléments de l'interface utilisateur d'ajuster leur position et leur taille de manière dynamique en fonction de la longueur du texte traduit.
Voici un exemple de XML :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android«
xmlns:app="http://schemas.android.com/apk/res-auto«
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/welcome_message"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Ici, le TextView est utilisé pour afficher une ressource de type chaîne de caractères (par exemple, un message de bienvenue). En utilisant wrap_content pour la largeur, l'élément se redimensionne automatiquement pour s'adapter à la longueur du texte traduit au lieu d'être limité par une dimension fixe. En outre, le ConstraintLayout maintient le TextView correctement positionné dans l'écran, quelle que soit la longueur du texte ou la taille de l'écran.
La création d'une mise en page flexible dès le départ permet à votre application d'avoir une belle apparence, quelle que soit la langue dans laquelle elle est localisée.
-
Préparer la localisation avec du texte externalisé
La dernière étape pour préparer votre application Android à la localisation consiste à stocker tout le texte destiné à l'utilisateur dans un fichier de ressources distinct au lieu de le coder en dur. Avec un fichier de ressources centralisé comme strings.xml, vous n'aurez pas besoin de remplacer manuellement le texte dispersé dans votre code.
Voici comment procéder :
- Localisez le dossier "res/values/" dans le répertoire de votre projet.
- Ouvrez le fichier "strings.xml" (s'il n'existe pas, créez-en un).
- Ajoutez votre texte au fichier à l'aide d'une paire nom-valeur :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_message"> Bienvenue dans mon application !</string>
</resources>
Retournez au fichier activity_main.xml et mettez à jour le TextView pour qu'il fasse référence à la ressource string :
<TextView
android:text="@string/welcome_message"
En organisant votre projet de cette manière, vous internationaliserez votre application Android, ce qui vous permettra de délimiter facilement le contenu qui doit être localisé dans une autre langue.
Comment localiser une application Android en 4 étapes
Maintenant que vous avez préparé votre application Android, il est temps de passer en revue le processus de localisation étape par étape, de la mise en place de ressources spécifiques à la langue au changement dynamique de la locale de l'application Android.
-
Développez strings.xml pour la localisation
Lors de la phase de préparation, vous avez créé un fichier strings.xml pour gérer tout le texte de votre application Android. Il est maintenant temps d'élargir cette approche en créant des versions linguistiques du fichier pour chaque langue prise en charge.
Tout d'abord, créez de nouveaux dossiers pour chaque langue cible dans le répertoire res de votre projet. Utilisez un nom de dossier qui inclut le code de langue approprié (par exemple, "res/values-es/" pour l'espagnol et "res/values-fr/" pour le français).
Copiez votre fichier strings.xml par défaut dans chaque dossier. Ensuite, traduisez manuellement le texte pour chaque langue. Par exemple, le fichier anglais par défaut pourrait être le suivant :
<TextView
<string name="hello_world">Hello, World!string>
La version espagnole se trouve dans "values-es/strings.xml" serait :
<TextView
<string name="hello_world">¡Hola, Mundo!string>
Une fois que vous avez créé ces fichiers XML spécifiques à la langue, Android choisit automatiquement la version correcte de strings.xml en fonction des paramètres de langue de l'appareil de l'utilisateur.
-
Traiter les pluriels pour des traductions précises
Les pluriels sont délicats car chaque langue les traite différemment. Par exemple, "one item" est singulier en anglais, mais tous les autres nombres sont pluriels, qu'il s'agisse de "zero items" ou de "two hundred items". Cependant, des langues comme le russe, le gallois et le tchèque utilisent des règles plus spécifiques pour les pluriels en fonction du nombre.
Voici comment définir des chaînes plurielles dans strings.xml pour l'anglais :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="item_count">
<item quantity="one">%d item</item>
<item quantity="other"> %d items</item>
</plurals>
</resources>
Cela explique les valeurs quantitatives suivantes :
- Un : utilisé pour les formes singulières (par exemple, un objet).
- Autre : Utilisé pour les formes plurielles (par exemple, zéro élément, deux éléments, trois éléments).
L'anglais n'exige que "one" et "other", mais d'autres langues ont davantage de classifications. Pour gérer cela, Android fournit une balise dans strings.xml. Android prend en charge les balises zéro, un, deux, quelques, plusieurs et autres. Voici des exemples de langues qui utilisent chaque balise :
- L'arabe utilise un accord grammatical spécial pour le zéro.
- Le russe traite différemment tout nombre se terminant par "1", sauf s'il se termine par "11".
- Le gallois utilise un pluriel distinct lorsqu'il y a deux éléments d'une même chose.
- Des langues comme le tchèque et le maltais font la distinction entre les petits et les grands nombres.
- Le chinois ne fait aucune distinction.
Voici comment récupérer et formater la chaîne plurielle en Kotlin :
val itemCount = 3
val message = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)
Dans ce code, R.plurals.item_count est l'identifiant de la ressource plurielle. Le premier nombre d'articles sélectionne la chaîne de pluriel en fonction des règles de pluriel de la locale de l'appareil, et le deuxième itemCount remplace le caractère générique%d.
Par exemple, voici les résultats pour l'anglais :
- Pour itemCount = 1 : "1 item"
- Pour itemCount = 3 : "3 items"
-
Utiliser des espaces réservés pour les valeurs dynamiques
Les applications affichent souvent un contenu personnalisé ou dynamique, comme le nom d'un utilisateur ou le nombre de notifications qu'il a reçues. Au lieu de coder ce contenu en dur, vous pouvez utiliser des caractères de remplacement dans vos chaînes, comme suit :
<resources>
<string name="welcome_message"> Bienvenue, %1$s ! Vous avez %2$d nouveaux messages.</string>
</resources>
Voici comment cela fonctionne :
- %1$s est un espace réservé pour une chaîne de caractères (comme un nom).
- %2$d est un espace réservé pour un nombre (comme le nombre de messages).
Lorsque l'application s'exécute, ces espaces réservés sont remplacés dynamiquement par les valeurs saisies par l'utilisateur et leurs données dynamiques.
-
Ajouter des indices contextuels
Les traducteurs ne savent pas toujours comment une chaîne est utilisée dans votre application. Par exemple, un mot comme "menu" peut désigner une liste déroulante, la liste des plats d'un restaurant ou une page de paramètres. Pour éviter toute confusion, vous pouvez ajouter des commentaires directement dans votre strings.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- This string is used as a label for the navigation menu →
<string name="menu_label">Menu</string>
<!-- This string is used for the settings button in the app →
<string name="settings_label">Settings</string>
</resources>
Ces notes indiquent au traducteur que le mot "menu" fait référence à une fonction de navigation dans l'application, et non à un menu de restaurant.
Tester la localisation dans Android
Il est essentiel de tester votre application Android localisée pour s'assurer qu'elle fonctionne dans différentes langues et régions. En testant sur des émulateurs et des appareils réels, vous pouvez détecter les problèmes et fournir une application qui semble naturelle et fonctionnelle pour les utilisateurs du monde entier.
Pourquoi tester sur des appareils réels ?
Les appareils réels offrent la simulation la plus proche de la manière dont les utilisateurs interagiront avec votre application. Ils vous montrent comment le texte traduit apparaît sur un écran de téléphone réel - s'il est trop long ou coupé.
Pourquoi tester avec des émulateurs ?
Les émulateurs sont un moyen pratique de tester votre application dans de nombreuses configurations. Ils vous permettent de passer rapidement d'une langue à l'autre et d'une région à l'autre pour vérifier les traductions, les ajustements de la mise en page et le comportement de l'interface utilisateur.
La combinaison de ces deux méthodes vous permet de maintenir une fonctionnalité et une expérience utilisateur optimales dans plusieurs langues et localités.
Comment utiliser Smartling pour la localisation Android
Smartling simplifie la localisation sur Android. Avec des outils alimentés par l'IA, des intégrations de fichiers Android XML transparentes et une équipe de traducteurs experts, Smartling offre de multiples services pour rationaliser l'ensemble du processus de traduction du début à la fin et automatiser les flux de travail manuels.
Votre entreprise peut tirer parti des systèmes d'automatisation et des données de Smartling pour localiser plus rapidement et maintenir la cohérence de la marque sur les marchés mondiaux, en devançant vos concurrents tout en offrant une expérience utilisateur inégalée.
Prêt à localiser plus intelligemment, et non plus difficilement ? Téléchargez notre livre électronique gratuit, "10 stratégies pour améliorer l'efficacité de la traduction". Vous apprendrez comment améliorer la rapidité, la qualité et le coût des traductions grâce à des stratégies concrètes et des exemples concrets.
Si vous souhaitez entrer en contact avec des utilisateurs Android de pays et de cultures différents, vous devrez localiser votre application pour qu'elle prenne en charge plusieurs langues. Ce processus commence par l'internationalisation d'Android (i18n), qui jette les bases d'une localisation transparente.
L'internationalisation de votre application Android consiste à la concevoir de manière à ce qu'elle puisse être utilisée dans plusieurs langues sans qu'il soit nécessaire de la modifier. Votre application semblera ainsi familière aux utilisateurs d'une autre région ou d'une autre culture, ce qui en améliorera l'utilisation et ouvrira la porte à de nouveaux marchés. Le processus ne doit être effectué qu'une seule fois, ce qui vous permet d'économiser du temps et de l'argent pour chaque localisation ultérieure.
Ce guide étape par étape vous guidera dans le processus d'internationalisation et de localisation de votre application Android. Vous apprendrez à préparer votre application, à gérer le contenu dynamique et à effectuer des tests dans différentes langues et localités.
Comment se préparer à la localisation d'une application Android
L'internationalisation prépare votre application Android à la localisation. Ce processus établit une base solide au sein d'Android Studio pour garantir que votre application prenne en charge plusieurs langues et régions. Voici comment commencer :
-
Installez Android Studio
Commencez par télécharger et installer Android Studio. Android Studio est l'environnement de développement officiel d'Android. Il fournit tout ce dont vous avez besoin pour internationaliser, localiser et tester votre application.
-
Créez un nouveau projet Android
Ouvrez Android Studio et créez un nouveau projet. Le modèle "Activité vide" offre un point de départ simple.
Configurez ensuite les paramètres de votre projet comme suit :
- Name (Nom) : Saisissez le nom de votre application (par exemple, "LocalizedApp").
- Nom du paquet : utilisez un identifiant unique comme "com.example.localizedappi18n".
- Langage : Sélectionnez Kotlin (recommandé) ou Java.
- SDK minimum : Définissez la version la plus basse d'Android que votre application prendra en charge.
Confirmez ensuite vos choix pour générer la structure du projet.
-
Ajoutez des éléments d'interface utilisateur avec des mises en page flexibles
Lorsque vous ajoutez des éléments d'interface utilisateur, concevez-les en tenant compte de la localisation. Des langues comme l'allemand nécessitent souvent plus d'espace que l'anglais, alors que les caractères chinois sont plus compacts. Évitez de fixer des largeurs fixes pour les éléments textuels, car les traductions plus longues dans certaines langues peuvent dépasser la taille du conteneur.
Pensez à utiliser des outils tels que ConstraintLayout pour permettre aux éléments de l'interface utilisateur d'ajuster leur position et leur taille de manière dynamique en fonction de la longueur du texte traduit.
Voici un exemple de XML :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android«
xmlns:app="http://schemas.android.com/apk/res-auto«
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/welcome_message"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Ici, le TextView est utilisé pour afficher une ressource de type chaîne de caractères (par exemple, un message de bienvenue). En utilisant wrap_content pour la largeur, l'élément se redimensionne automatiquement pour s'adapter à la longueur du texte traduit au lieu d'être limité par une dimension fixe. En outre, le ConstraintLayout maintient le TextView correctement positionné dans l'écran, quelle que soit la longueur du texte ou la taille de l'écran.
La création d'une mise en page flexible dès le départ permet à votre application d'avoir une belle apparence, quelle que soit la langue dans laquelle elle est localisée.
-
Préparer la localisation avec du texte externalisé
La dernière étape pour préparer votre application Android à la localisation consiste à stocker tout le texte destiné à l'utilisateur dans un fichier de ressources distinct au lieu de le coder en dur. Avec un fichier de ressources centralisé comme strings.xml, vous n'aurez pas besoin de remplacer manuellement le texte dispersé dans votre code.
Voici comment procéder :
- Localisez le dossier "res/values/" dans le répertoire de votre projet.
- Ouvrez le fichier "strings.xml" (s'il n'existe pas, créez-en un).
- Ajoutez votre texte au fichier à l'aide d'une paire nom-valeur :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_message"> Bienvenue dans mon application !</string>
</resources>
Retournez au fichier activity_main.xml et mettez à jour le TextView pour qu'il fasse référence à la ressource string :
<TextView
android:text="@string/welcome_message"
En organisant votre projet de cette manière, vous internationaliserez votre application Android, ce qui vous permettra de délimiter facilement le contenu qui doit être localisé dans une autre langue.
Comment localiser une application Android en 4 étapes
Maintenant que vous avez préparé votre application Android, il est temps de passer en revue le processus de localisation étape par étape, de la mise en place de ressources spécifiques à la langue au changement dynamique de la locale de l'application Android.
-
Développez strings.xml pour la localisation
Lors de la phase de préparation, vous avez créé un fichier strings.xml pour gérer tout le texte de votre application Android. Il est maintenant temps d'élargir cette approche en créant des versions linguistiques du fichier pour chaque langue prise en charge.
Tout d'abord, créez de nouveaux dossiers pour chaque langue cible dans le répertoire res de votre projet. Utilisez un nom de dossier qui inclut le code de langue approprié (par exemple, "res/values-es/" pour l'espagnol et "res/values-fr/" pour le français).
Copiez votre fichier strings.xml par défaut dans chaque dossier. Ensuite, traduisez manuellement le texte pour chaque langue. Par exemple, le fichier anglais par défaut pourrait être le suivant :
<TextView
<string name="hello_world">Hello, World!string>
La version espagnole se trouve dans "values-es/strings.xml" serait :
<TextView
<string name="hello_world">¡Hola, Mundo!string>
Une fois que vous avez créé ces fichiers XML spécifiques à la langue, Android choisit automatiquement la version correcte de strings.xml en fonction des paramètres de langue de l'appareil de l'utilisateur.
-
Traiter les pluriels pour des traductions précises
Les pluriels sont délicats car chaque langue les traite différemment. Par exemple, "one item" est singulier en anglais, mais tous les autres nombres sont pluriels, qu'il s'agisse de "zero items" ou de "two hundred items". Cependant, des langues comme le russe, le gallois et le tchèque utilisent des règles plus spécifiques pour les pluriels en fonction du nombre.
Voici comment définir des chaînes plurielles dans strings.xml pour l'anglais :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="item_count">
<item quantity="one">%d item</item>
<item quantity="other"> %d items</item>
</plurals>
</resources>
Cela explique les valeurs quantitatives suivantes :
- Un : utilisé pour les formes singulières (par exemple, un objet).
- Autre : Utilisé pour les formes plurielles (par exemple, zéro élément, deux éléments, trois éléments).
L'anglais n'exige que "one" et "other", mais d'autres langues ont davantage de classifications. Pour gérer cela, Android fournit une balise dans strings.xml. Android prend en charge les balises zéro, un, deux, quelques, plusieurs et autres. Voici des exemples de langues qui utilisent chaque balise :
- L'arabe utilise un accord grammatical spécial pour le zéro.
- Le russe traite différemment tout nombre se terminant par "1", sauf s'il se termine par "11".
- Le gallois utilise un pluriel distinct lorsqu'il y a deux éléments d'une même chose.
- Des langues comme le tchèque et le maltais font la distinction entre les petits et les grands nombres.
- Le chinois ne fait aucune distinction.
Voici comment récupérer et formater la chaîne plurielle en Kotlin :
val itemCount = 3
val message = resources.getQuantityString(R.plurals.item_count, itemCount, itemCount)
Dans ce code, R.plurals.item_count est l'identifiant de la ressource plurielle. Le premier nombre d'articles sélectionne la chaîne de pluriel en fonction des règles de pluriel de la locale de l'appareil, et le deuxième itemCount remplace le caractère générique%d.
Par exemple, voici les résultats pour l'anglais :
- Pour itemCount = 1 : "1 item"
- Pour itemCount = 3 : "3 items"
-
Utiliser des espaces réservés pour les valeurs dynamiques
Les applications affichent souvent un contenu personnalisé ou dynamique, comme le nom d'un utilisateur ou le nombre de notifications qu'il a reçues. Au lieu de coder ce contenu en dur, vous pouvez utiliser des caractères de remplacement dans vos chaînes, comme suit :
<resources>
<string name="welcome_message"> Bienvenue, %1$s ! Vous avez %2$d nouveaux messages.</string>
</resources>
Voici comment cela fonctionne :
- %1$s est un espace réservé pour une chaîne de caractères (comme un nom).
- %2$d est un espace réservé pour un nombre (comme le nombre de messages).
Lorsque l'application s'exécute, ces espaces réservés sont remplacés dynamiquement par les valeurs saisies par l'utilisateur et leurs données dynamiques.
-
Ajouter des indices contextuels
Les traducteurs ne savent pas toujours comment une chaîne est utilisée dans votre application. Par exemple, un mot comme "menu" peut désigner une liste déroulante, la liste des plats d'un restaurant ou une page de paramètres. Pour éviter toute confusion, vous pouvez ajouter des commentaires directement dans votre strings.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- This string is used as a label for the navigation menu →
<string name="menu_label">Menu</string>
<!-- This string is used for the settings button in the app →
<string name="settings_label">Settings</string>
</resources>
Ces notes indiquent au traducteur que le mot "menu" fait référence à une fonction de navigation dans l'application, et non à un menu de restaurant.
Tester la localisation dans Android
Il est essentiel de tester votre application Android localisée pour s'assurer qu'elle fonctionne dans différentes langues et régions. En testant sur des émulateurs et des appareils réels, vous pouvez détecter les problèmes et fournir une application qui semble naturelle et fonctionnelle pour les utilisateurs du monde entier.
Pourquoi tester sur des appareils réels ?
Les appareils réels offrent la simulation la plus proche de la manière dont les utilisateurs interagiront avec votre application. Ils vous montrent comment le texte traduit apparaît sur un écran de téléphone réel - s'il est trop long ou coupé.
Pourquoi tester avec des émulateurs ?
Les émulateurs sont un moyen pratique de tester votre application dans de nombreuses configurations. Ils vous permettent de passer rapidement d'une langue à l'autre et d'une région à l'autre pour vérifier les traductions, les ajustements de la mise en page et le comportement de l'interface utilisateur.
La combinaison de ces deux méthodes vous permet de maintenir une fonctionnalité et une expérience utilisateur optimales dans plusieurs langues et localités.
Comment utiliser Smartling pour la localisation Android
Smartling simplifie la localisation sur Android. Avec des outils alimentés par l'IA, des intégrations de fichiers Android XML transparentes et une équipe de traducteurs experts, Smartling offre de multiples services pour rationaliser l'ensemble du processus de traduction du début à la fin et automatiser les flux de travail manuels.
Votre entreprise peut tirer parti des systèmes d'automatisation et des données de Smartling pour localiser plus rapidement et maintenir la cohérence de la marque sur les marchés mondiaux, en devançant vos concurrents tout en offrant une expérience utilisateur inégalée.
Prêt à localiser plus intelligemment, et non plus difficilement ? Téléchargez notre livre électronique gratuit, "10 stratégies pour améliorer l'efficacité de la traduction". Vous apprendrez comment améliorer la rapidité, la qualité et le coût des traductions grâce à des stratégies concrètes et des exemples concrets.
Tags : Sites web et applications web Blog