Passer au contenu principal

Android (Kotlin)

Le plugin Gradle translate-projects-android ajoute la tâche ./gradlew translateProjects : il lit res/values/strings.xml, traduit les textes dans chaque langue que vous configurez et écrit values-<langue>/strings.xml.

En cours de développement

Le plugin n'est pas encore publié. La version et l'installation finale seront complétées lors de sa publication sur le Gradle Plugin Portal.

Prérequis​

  • Un projet Android avec Gradle et le DSL Kotlin (build.gradle.kts).
  • JDK 17 ou supérieur pour exécuter Gradle.
  • Un projet et un token API de Translate Projects. Consulte Premiers pas.

1. Installez le plugin​

Ajoutez le plugin dans le build.gradle.kts du module de l'application :

app/build.gradle.kts
plugins {
id("com.android.application")
id("dev.translateprojects.android") version "VERSION"
}

Le plugin est téléchargé depuis le Gradle Plugin Portal, déjà présent dans les dépôts par défaut (gradlePluginPortal() dans settings.gradle.kts).

2. Configurez le plugin​

app/build.gradle.kts
translateProjects {
sourceLang = "es"
targetLangs = listOf("en", "pt-BR", "fr")
apiKey = providers.environmentVariable("TRANSLATE_PROJECTS_API_KEY")
}
OptionObligatoireDescription
sourceLangOuiLangue de res/values/strings.xml. Elle doit être la langue par défaut du projet.
targetLangsOuiLangues cibles, avec les codes de l'API (en, pt-BR, zh-Hans).
apiKeyOuiToken API du projet. Lisez-le depuis une variable d'environnement, ne l'écrivez jamais dans le fichier.

3. Écris tes textes​

Rédigez les textes dans la langue de base dans res/values/strings.xml, comme dans n'importe quelle application Android :

app/src/main/res/values/strings.xml
<resources>
<string name="app_name" translatable="false">Ruteo</string>
<string name="welcome">Hola, %1$s</string>
<string name="login_button">Iniciar sesión</string>
<plurals name="routes_count">
<item quantity="one">%d ruta</item>
<item quantity="other">%d rutas</item>
</plurals>
<string-array name="days">
<item>Lunes</item>
<item>Martes</item>
</string-array>
</resources>

4. Traduis​

Terminal
export TRANSLATE_PROJECTS_API_KEY=tu_token
./gradlew translateProjects

Fichiers générés​

app/src/main/res/
├── values/strings.xml ← langue de base, elle n'est pas modifiée
├── values-en/strings.xml
├── values-pt-rBR/strings.xml ← pt-BR utilise le format Android
└── values-fr/strings.xml

Le name de chaque texte est sa clé dans Translate Projects : vous pouvez donc relire et modifier les traductions dans le tableau de bord.

Ce qui est respecté​

  • Les placeholders (%1$s, %d, %2$.2f) restent intacts.
  • plurals et string-array sont traduits élément par élément et conservent leur structure.
  • Les textes avec translatable="false" ne sont ni envoyés ni copiés dans les autres langues.
  • Les apostrophes et guillemets sont échappés comme l'exige Android (\', \"), et le CDATA ainsi que le HTML de base (<b>, <i>, <u>) sont conservés.

Cache​

Une seconde exécution sans nouveaux textes effectue deux requêtes et ne traduit rien. Si quelqu'un corrige une traduction dans le panneau de Translate Projects, la prochaine exécution la récupère sans --force ; vos modifications manuelles dans le fichier restent prioritaires. Plus de détails dans Cache et erreurs.

Erreurs courantes​

  • Le token est manquant: exportez TRANSLATE_PROJECTS_API_KEY dans le même terminal (ou comme secret en CI) avant d'exécuter Gradle.
  • Token invalide (Token no válido): copiez à nouveau le token du projet. Les strings.xml existants ne sont pas modifiés.
  • La langue source n'est pas la langue par défaut: sourceLang doit être la langue par défaut du projet.
  • Clé d'IA manquante (MISSING_API_KEY): configurez le fournisseur, le modèle et la clé dans le projet ; les textes manquants seront réessayés lors de la prochaine exécution.
  • Traduction partielle, erreurs 5xx ou réseau: les langues incomplètes sont à nouveau demandées lors de l'exécution suivante.
Gratuit

🚀 Automatisez vos traductions gratuitement​

Translate Projects est gratuit. Vous créez votre projet, connectez la clé de votre fournisseur d'IA et ne lui payez que ce que vous dépensez.

  • Sans forfaits ni carte de crédit: Toutes les fonctionnalités sont disponibles dès le premier jour.
  • Utilisez votre propre IA: Claude, OpenAI, DeepSeek ou Gemini. Votre clé est stockée chiffrée.
  • Réseau de traductions partagé: Si un texte a déjà été traduit, vous le recevez instantanément sans dépenser votre clé.
  • Panneau d'administration: Vérifiez et modifiez toutes vos traductions depuis un seul endroit.

Créer un compte gratuitement →

Support

Nous sommes là pour vous aider​

Si vous avez des questions, besoin d'aide ou souhaitez contribuer, n'hésitez pas à me contacter. Je suis à votre disposition pour vous soutenir dans tout ce dont vous avez besoin.

Soutenez le projet​

Si ce projet vous a été utile, je vous invite à m'offrir un café. Votre soutien m'aide à continuer de m'améliorer et à créer du contenu de valeur. Merci d'être là ! ☕

Buy me a coffee