mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-10-03 09:04:32 -04:00
97 lines
5.9 KiB
HTML
97 lines
5.9 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="fr-rCA" dir="ltr">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Translate the App</title>
|
||
<link rel="stylesheet" href="../../styles/docs.css">
|
||
</head>
|
||
<body data-page="translate" data-locale="fr-rCA">
|
||
<pre class="markdown-content"># Translate the App
|
||
|
||
The app and its in-app docs are translated on Crowdin — this page shows how to contribute. The app uses [Crowdin](https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
|
||
|
||
## Ce qui est traduit
|
||
|
||
Ressource | Emplacement de la source | Notes |
|
||
------------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||
Chaînes UI | `core/resources/src/commonMain/composeResources/values/strings.xml` | Boutons, étiquettes, messages et tout texte visible par l'utilisateur |
|
||
Pages du Guide de l'utilisateur | `docs/en/user/*.md` | Documentation dans l'application affichée dans Aide et Documentation |
|
||
Métadonnées Fastlane | `fastlane/metadata/android/fr-FR/` | Google Play listing title, description, and changelogs |
|
||
|
||
> ℹ️ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
|
||
|
||
## Comment contribuer
|
||
|
||
1. **Visitez le projet Crowdin.** Ouvrez le [projet Meshtastic Android Crowdin](https://crowdin.com/project/meshtastic-android) et connectez-vous ou créez un compte gratuit.
|
||
2. **Choisissez votre langue.** Sélectionnez une langue existante ou demandez-en une nouvelle en ouvrant un [problème GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new).
|
||
3. **Traductions** Crowdin montre la source anglaise à gauche et votre traduction à droite. Traduisez chaque portion et sauvegardez.
|
||
4. **Vérifier le contexte.** De nombreuses portions incluent des captures d'écran ou des commentaires de contexte — cochez celles-ci pour comprendre où le texte apparaît dans l'application. A scheduled job pulls approved translations from Crowdin and opens a pull request; they ship once a maintainer merges it and a new build goes out.
|
||
|
||
> 💡 **Tip:** Keep translations short. UI strings often appear in buttons, chips, or narrow columns. Si une traduction est considérablement plus longue que l'original anglais, pensez à abréger en conservant la signification claire.
|
||
|
||
## Ajouter une nouvelle langue
|
||
|
||
Si votre langue n'est pas encore listée sur Crowdin :
|
||
|
||
1. Ouvrir un ticket sur [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) demandant la nouvelle langue.
|
||
2. Un responsable ajoutera la langue à Crowdin et configurera `crowdin.yml`.
|
||
3. Une fois ajouté, vous pouvez commencer à traduire immédiatement.
|
||
|
||
## Comment sont organisées les traductions
|
||
|
||
L'application Android utilise des **Ressources Multiplateforme** pour tous les textes visibles par l'utilisateur:
|
||
|
||
```text
|
||
core/resources/src/commonMain/composeResources/
|
||
├── values/ ← English (default)
|
||
│ └── strings.xml
|
||
├── values-de/ ← German
|
||
│ └── strings.xml
|
||
├── values-fr/ ← French
|
||
│ └── strings.xml
|
||
└── ...
|
||
```
|
||
|
||
La documentation dans l'application suit un modèle similaire dans `docs/`:
|
||
|
||
```text
|
||
docs/
|
||
├── en/user/ ← English source (default)
|
||
│ ├── onboarding.md
|
||
│ └── ...
|
||
├── fr-rFR/user/ ← French (France)
|
||
│ ├── onboarding.md
|
||
│ └── ...
|
||
├── de-rDE/user/ ← German (Germany)
|
||
│ └── ...
|
||
└── ...
|
||
```
|
||
|
||
Doc locale folders use Android locale qualifiers, either `{lang}` or `{lang}-r{REGION}` (for example `fr`, `fr-rFR`, `de-rDE`, `ja-rJP`). The `values-*` folders for app strings use bare language codes instead (`values-fr`, `values-de`, `values-ja`), because `crowdin.yml` writes strings with `%two_letters_code%` and doc pages with `%android_code%`. The two sets do not line up one-to-one.
|
||
|
||
The app automatically selects the correct locale based on your phone's **Language & Region** settings.
|
||
|
||
A page that came from Crowdin is labeled **Community translated** under its title in the app. If a page has no Crowdin translation for your language yet, the Google-flavor Android build machine-translates the English source on the fly and labels it **Auto-translated** instead; F-Droid and desktop builds show the English page. Your Crowdin translation replaces the machine one as soon as it lands.
|
||
|
||
## Directives de Traduction
|
||
|
||
- **Ne traduisez pas** des termes techniques tels que "LoRa", "MQTT", "BLE", "TAK", "SNR", ou "RSSI" — ce sont des termes universels.
|
||
- **Garder les espaces réservés intact.** Les chaînes comme `%1$s` ou `%d` sont remplies au moment de l'exécution. Ne les supprimez ni ne les réordonnez pas à moins que la grammaire de votre langue ne l'exige.
|
||
- **Respectez le ton** L'application utilise un ton amical Évitez des formulations trop formelles
|
||
- **Test if possible.** Switch your phone's language and open the app to see how translations look in context.
|
||
|
||
## Des questions ?
|
||
|
||
If you have questions about a specific string's context or need help getting started, open a discussion on the [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions) page.
|
||
|
||
Thank you for helping expand the reach of Meshtastic.
|
||
|
||
## Related Topics
|
||
|
||
- [Units & Locale](units-and-locale) — how the app picks number, date, and unit formats for your region
|
||
- [Help & Documentation](help-and-docs) — the in-app docs browser these pages are published to
|
||
- [Onboarding](onboarding) — where a new user first meets the translated strings
|
||
</pre>
|
||
</body>
|
||
</html> |