diff --git a/api/routes.py b/api/routes.py index 2aaac2bf..31d28286 100644 --- a/api/routes.py +++ b/api/routes.py @@ -1928,6 +1928,15 @@ _LOGIN_LOCALE = { "invalid_pw": "Invalid password", "conn_failed": "Connection failed", }, + "fr": { + "lang": "fr-FR", + "title": "Se connecter", + "subtitle": "Entrez votre mot de passe pour continuer", + "placeholder": "Mot de passe", + "btn": "Se connecter", + "invalid_pw": "Mot de passe invalide", + "conn_failed": "\u00c9chec de la connexion", + }, "es": { "lang": "es-ES", "title": "Iniciar sesi\u00f3n", diff --git a/tests/test_issue1488_composer_voice_buttons.py b/tests/test_issue1488_composer_voice_buttons.py index 787bf8a8..f1e1a78e 100644 --- a/tests/test_issue1488_composer_voice_buttons.py +++ b/tests/test_issue1488_composer_voice_buttons.py @@ -123,7 +123,7 @@ class TestComposerVoiceButtonI18n: "voice_mode_toggle_active", ) - LOCALES = ("en", "it", "ja", "ru", "es", "de", "zh", "zh-Hant", "pt", "ko") + LOCALES = ("en", "fr", "it", "ja", "ru", "es", "de", "zh", "zh-Hant", "pt", "ko") def test_legacy_voice_toggle_key_removed(self): """The old key whose string was 'Voice input' caused the duplicate- @@ -171,7 +171,7 @@ class TestComposerVoiceButtonI18n: class TestVoiceModePreferenceGate: """boot.js must hide btnVoiceMode by default, surface it via Preferences.""" - LOCALES = ("en", "it", "ja", "ru", "es", "de", "zh", "zh-Hant", "pt", "ko") + LOCALES = ("en", "fr", "it", "ja", "ru", "es", "de", "zh", "zh-Hant", "pt", "ko") def test_voice_mode_pref_is_localstorage_backed(self): """The pref reads from localStorage key 'hermes-voice-mode-button'.""" diff --git a/tests/test_login_locale_parity.py b/tests/test_login_locale_parity.py index 77392f96..313e2632 100644 --- a/tests/test_login_locale_parity.py +++ b/tests/test_login_locale_parity.py @@ -293,8 +293,10 @@ def test_login_locale_resolver_handles_new_locales(): assert _resolve_login_locale_key("pt-PT") == "pt" assert _resolve_login_locale_key("ko") == "ko" assert _resolve_login_locale_key("ko-KR") == "ko" + assert _resolve_login_locale_key("fr") == "fr" + assert _resolve_login_locale_key("fr-FR") == "fr" + assert _resolve_login_locale_key("fr-CA") == "fr" # Unknown locale still falls back to en. - assert _resolve_login_locale_key("fr") == "en" assert _resolve_login_locale_key("xx-YY") == "en"