La première suggestion, où l’on applique des codes aux noms de fichiers, est utilisée dans plusieurs endroits (Sphinx: https://sphinx-doc.org/en/master/usage/advanced/intl.html). Les générateurs de sites statiques utilisent beaucoup cette approche (Hugo: https://gohugo.io/content-management/multilingual/ || Jekyll: https://github.com/kurtsson/jekyll-multiple-languages-plugin).
Gettext/Sphinx est un système complexe, et n’est probablement pas pour les débutants. Par contre, des fichiers README multilingues seraient utiles.
Pour [FICHIER ORIGINAL]
on brise l’entrée en deux parties, [FILENAME] + [EXTENSION]. [EXTENSION]
contient uniquement le texte après le dernier .
, pour gérer les fichiers avec plusieurs .
Dans leur nom. [LANGUAGE CODE]
est un des codes languages typiques de ISO 639-1 (en, fr, ar, jp, etc.).
- On cherche en premier pour
[NOM DE FICHIER] . [CODE DE LANGUAGE] . [EXTENSION]
. Si c’est trouvé, on utilise ce fichier. - Sinon, on utilise
[FICHIER ORIGINAL]
.
Pour README.md, the nom par défaut est toujours README.[CODE DE LANGUE].md
. Les usagers peuvent ajouter README.fr.md
pour supporter le français, ou README.ar.md
pour l’arabe. Les codes de language peuvent être déterminés par des sites comme crates.io.
Pour les fichiers Crate TOML, de façon similaire:
[package]
name = "hello_world"
description = "hi"
[package.fr]
name = "bonjour_le_monde"
description = "allô"
Si le language n’est pas spécifié, on utilise la valeur par défaut spécifiée dans la configuration sans code de language. Aucun code de language n’est utilisé comme sous-clef dans la spécification.