La fonction était recopiée dans VoiceOrchestrator, AssistantChatSheet et GeoBeaconTriggerService. La limite « FR/NL/EN/DE seulement, le reste retombe sur le français » est une décision assumée, mais elle n'était documentée que dans la première : les deux autres ressemblaient à un oubli qu'on aurait envie de « corriger » en ajoutant des langues, ce qui aurait produit un support partiel silencieux — les listes de commandes vocales, elles, ne couvrent que ces quatre langues. Une seule copie dans Helpers/voiceLanguage.dart, une seule décision. flutter analyze lib sans erreur, flutter build apk --debug --flavor dev vert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
25 lines
1.3 KiB
Dart
25 lines
1.3 KiB
Dart
/// Code de langue passé au moteur de synthèse vocale.
|
|
///
|
|
/// ⛔ **L'assistant vocal est limité à FR/NL/EN/DE — décidé le 2026-08-13**, cf.
|
|
/// `DOCS/voice-latency-plan.md` §1.6. Les six autres langues déclarées dans
|
|
/// `constants.dart` retombent sur `fr-FR` : un visiteur italien se fait répondre en
|
|
/// français, sans erreur ni trace. En ajouter une coûte peu — les traductions `voice.*`
|
|
/// existent déjà pour les 10 langues, Whisper est multilingue et le wake word est
|
|
/// phonétique — mais il faut aussi compléter les quatre listes de commandes de
|
|
/// `VoiceOrchestrator`, sinon la langue n'est supportée qu'à moitié.
|
|
///
|
|
/// ⚠️ **Ce fichier existe parce que la fonction était copiée trois fois** : dans
|
|
/// `VoiceOrchestrator`, dans `AssistantChatSheet` et dans `GeoBeaconTriggerService` — et
|
|
/// la décision ci-dessus n'était écrite que dans la première. Les deux autres ressemblaient
|
|
/// à un oubli qu'on aurait envie de « corriger » en ajoutant des langues, ce qui aurait
|
|
/// produit un support partiel silencieux. Une seule copie, une seule décision.
|
|
String toVoiceLangCode(String? language) {
|
|
switch ((language ?? 'FR').toUpperCase()) {
|
|
case 'FR': return 'fr-FR';
|
|
case 'NL': return 'nl-NL';
|
|
case 'EN': return 'en-US';
|
|
case 'DE': return 'de-DE';
|
|
default: return 'fr-FR';
|
|
}
|
|
}
|