Internationalisation (i18n)
Pascal Obstétar
2026-02-19
Source:vignettes/internationalization.Rmd
internationalization.RmdIntroduction
Le package nemeton supporte nativement le
français et l’anglais pour tous les
messages, erreurs et documentations. Cette vignette explique comment
utiliser le système d’internationalisation (i18n).
Définir la langue
Langue par défaut
Par défaut, le package détecte la langue du système :
# Afficher la langue actuelle
Sys.getenv("LANG")
#> [1] "C.UTF-8"Changer la langue
Utilisez nemeton_set_language() pour définir
explicitement la langue :
# Passer en français
nemeton_set_language("fr")
# Switch to English
nemeton_set_language("en")Vérifier la langue active
# La langue est stockée dans une option
getOption("nemeton.lang")
# [1] "fr" ou "en"Messages et erreurs
Les messages d’information, d’avertissement et d’erreur s’affichent dans la langue définie.
Exemple en français
nemeton_set_language("fr")
# Erreur si données manquantes
nemeton_compute(NULL, NULL, "carbon_biomass")
# Erreur : Les données 'data' doivent être un objet sfExample in English
nemeton_set_language("en")
# Error with missing data
nemeton_compute(NULL, NULL, "carbon_biomass")
# Error: 'data' must be an sf objectMessages disponibles
Le système i18n couvre :
- Erreurs de validation : Types de données, paramètres manquants
- Avertissements : Indicateurs manquants, valeurs atypiques
- Messages d’information : Progression des calculs, résultats
- Noms de familles : Labels pour les 12 familles d’indicateurs
Noms de familles bilingues
# En français
nemeton_set_language("fr")
get_family_name("C")
# [1] "Carbone & Vitalité"
get_family_name("W")
# [1] "Eau"
# In English
nemeton_set_language("en")
get_family_name("C")
# [1] "Carbon & Vitality"
get_family_name("W")
# [1] "Water Regulation"Persistance de la langue
La langue définie reste active pour toute la session R :
# Définir le français au début du script
nemeton_set_language("fr")
# Tous les appels suivants utilisent le français
results <- nemeton_compute(...)
normalized <- normalize_indicators(...)
plot_indicators_map(...)Documentation bilingue
Aide des fonctions
La documentation des fonctions (help) est en anglais (standard R), avec des exemples en français dans les vignettes.
?nemeton_compute
?plot_indicators_mapVignettes
Les vignettes sont disponibles en français :
-
vignette("getting-started_fr")- Démarrage rapide -
vignette("indicator-families_fr")- Familles d’indicateurs -
vignette("temporal-analysis_fr")- Analyse temporelle
Contribuer aux traductions
Le système i18n utilise des fichiers de traduction dans
R/i18n.R.
Ajouter une traduction
Pour contribuer une nouvelle langue :
- Créer une nouvelle section dans
R/i18n.R - Traduire tous les messages
- Mettre à jour
nemeton_set_language()pour supporter le nouveau code langue - Soumettre une Pull Request
Exemple complet bilingue
# ===== VERSION FRANÇAISE =====
nemeton_set_language("fr")
data(massif_demo_units)
layers <- massif_demo_layers()
results <- nemeton_compute(
massif_demo_units,
layers,
indicators = "carbon_biomass"
)
# ℹ Calcul de 1 indicateurs...
# ✔ 1/1 indicateurs calculés
plot_indicators_map(
results,
indicators = "carbon_biomass",
title = "Stock de carbone",
legend_title = "Mg C/parcel"
)
# ===== ENGLISH VERSION =====
nemeton_set_language("en")
data(massif_demo_units)
layers <- massif_demo_layers()
results <- nemeton_compute(
massif_demo_units,
layers,
indicators = "carbon_biomass"
)
# ℹ Computing 1 indicators...
# ✔ 1/1 indicators computed
plot_indicators_map(
results,
indicators = "carbon_biomass",
title = "Carbon Stock",
legend_title = "Mg C/parcel"
)Bonnes pratiques
- Définir la langue une seule fois au début du script
- Documenter la langue utilisée dans vos analyses
-
Utiliser les noms de familles localisés avec
get_family_name() - Tester les deux langues si vous partagez du code international
Limitations
- Documentation R : Aide des fonctions uniquement en anglais (standard CRAN)
-
Noms de colonnes : Identifiants techniques toujours
en anglais (ex:
carbon_norm) - Palettes et thèmes : Labels graphiques définis par l’utilisateur
Roadmap
Versions futures : - Support additionnel : Espagnol, Italien, Allemand - Traduction automatique des labels de graphiques - Templates de rapports multilingues
Session Info
sessionInfo()
#> R version 4.5.2 (2025-10-31)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.3 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
#>
#> locale:
#> [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8
#> [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8
#> [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C
#> [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: UTC
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] nemeton_0.14.1.9000
#>
#> loaded via a namespace (and not attached):
#> [1] terra_1.8-93 cli_3.6.5 knitr_1.51 rlang_1.1.7
#> [5] xfun_0.56 KernSmooth_2.23-26 DBI_1.2.3 otel_0.2.0
#> [9] promises_1.5.0 sf_1.0-24 textshaping_1.0.4 jsonlite_2.0.0
#> [13] glue_1.8.0 e1071_1.7-17 htmltools_0.5.9 ragg_1.5.0
#> [17] sass_0.4.10 rmarkdown_2.30 grid_4.5.2 classInt_0.4-11
#> [21] evaluate_1.0.5 jquerylib_0.1.4 fastmap_1.2.0 yaml_2.3.12
#> [25] lifecycle_1.0.5 compiler_4.5.2 codetools_0.2-20 fs_1.6.6
#> [29] Rcpp_1.1.1 htmlwidgets_1.6.4 later_1.4.6 systemfonts_1.3.1
#> [33] digest_0.6.39 R6_2.6.1 class_7.3-23 magrittr_2.0.4
#> [37] bslib_0.10.0 proxy_0.4-29 tools_4.5.2 units_1.0-0
#> [41] pkgdown_2.2.0 cachem_1.1.0 desc_1.4.3