2 Commits
Author SHA1 Message Date
jo2904andClaude Opus 5.5 5550727888 AppLocale : proposer le français
Ajoute 'fr' à AppLocale et à framework.enabled_locales, qui doivent
rester synchronisés (le commentaire de translation.yaml le dit). Le
sélecteur de langue des réglages et celui de l'installation lisent
AppLocale::cases() : « 🇫🇷 Français » y apparaît sans autre
modification.

Deux réglages suivent la langue et devaient connaître le français :
- ClockFormat::forLocale() : le français écrit 14 h 00, donc 24 heures
  par défaut comme l'allemand. Sans ça, un utilisateur francophone qui
  n'a rien choisi verrait « 2 PM ». Testé dans ClockFormatResolverTest.
- Le sélecteur d'emoji charge ses noms et mots-clés par langue (la
  recherche « cœur » ne trouve rien dans les données anglaises).
  assets/emoji/fr/data.json vient de emoji-picker-element-data, comme
  en/ et de/. J'ai vérifié que ces deux fichiers sont identiques octet
  pour octet à ceux publiés par le paquet, donc fr/ vient bien de la
  même source. Le gabarit choisit maintenant de, fr ou en d'après la
  langue au lieu du seul test « starts with 'de' ».

Laissé tel quel : DeterministicDateDetector, qui lit les dates dans le
contenu des mails selon leur langue, et non la langue de l'interface.
Apprendre les dates françaises (« le 4 août ») est un autre chantier.

Docs : README, features/appearance.md (et sa traduction allemande, avec
le hash mis à jour), et une entrée de CHANGELOG.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018nYWPc4bWacb79hm4ytfni
2026-10-13 23:33:38 +02:00
jo2904andClaude Opus 5.5 32f6926df8 traductions : catalogues français (messages, validators, security)
Les 3 118 clés de messages.en.yaml, plus les domaines validators et
security, traduits en français. Le catalogue seul ne change rien à
l'écran : la locale est déclarée au commit suivant. CatalogueParityTest
vérifie désormais le français comme l'allemand et le pirate. C'est le
seul garde-fou, car Symfony retombe sans bruit sur l'anglais quand une
clé manque.

Choix de traduction, pour qui reprendra ces fichiers :
- Vouvoiement, l'usage des logiciels en français, alors que
  l'allemand tutoie. Aucun test ne l'impose, contrairement à
  GermanIsInformalTest.
- « Agenda » pour calendar, « libellé » pour label, « suivi » pour
  star (comme Gmail en français), « mettre en attente » pour snooze,
  « courrier » pour mail quand c'est le contenu et « mail » pour un
  message. Les termes des consoles Google et Microsoft sont repris tels
  que leurs interfaces françaises les affichent.
- Apostrophe typographique (’) partout dans le texte. Avec une
  apostrophe droite, chaque chaîne entre guillemets simples devrait la
  doubler, et un oubli casse le fichier entier. L'espace avant « : » à
  la française oblige aussi à mettre la valeur entre guillemets :
  security.fr.yaml ne se chargeait plus à cause de ça (« A colon cannot
  be used in an unquoted mapping value »). C'est corrigé et vérifié en
  chargeant les trois fichiers.
- Placeholders (%count%, {skinTone}, {{ limit }}) et formes plurielles
  ({0}…|{1}…|]1,Inf[…) contrôlés clé par clé contre l'anglais : aucun
  écart.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018nYWPc4bWacb79hm4ytfni
2026-10-13 23:33:25 +02:00