feat(i18n): translate public pages, remaining hardcoded texts and API errors #177
No reviewers
Labels
No labels
bug
enhancement
feature
groupe/admin-ui
groupe/chat-ui
groupe/error-handling
groupe/event-composer
groupe/i18n-forms
groupe/ui-polish
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Transcendence/frontend!177
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/public-pages-language"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Traduction de l'interface en en / fr / tc, pages publiques comprises, et des erreurs attendues renvoyées par l'API.
Pages publiques (connexion, inscription, confidentialité, CGU)
localStorage, sans appel API, puisque l'utilisateur n'est pas connecté. À la première visite, elle est détectée depuis le navigateur (fr*,zh*, sinon anglais).LanguageSwitcher) sur/login,/register,/privacyet/terms.Textes en dur
src/friends) : onglets, listes, états vides, modales Ajouter un ami / Nouvelle conversation / Renommer, confirmations, widgets de l'accueil, avec les pluriels.events.liveNowmanquait en tc. Correction de « Messages privée » en « Messages privés ».Dates
Les dates (calendrier, messages, événements, fichiers récents, invitations) suivent la langue de l'application et non plus celle du navigateur.
Erreurs attendues de l'API
errorCode(les 60 codes du backend), dansAPIError: toasts, alertes et formulaires en profitent sans autre changement. Les valeurs utiles du détail (nom déjà pris, nombre de participants…) sont reprises dans le message traduit.INVALID_AUTH, les autres échecs ne sont plus masqués.Vérifications
Testé dans les devcontainers : pages publiques et messages privés en FR / 汉语, calendrier en français, erreurs réelles du backend (nom de canal pris, validation, invitation invalide, mauvais mot de passe, ressource introuvable) traduites, pluriels en/fr/tc. Toutes les clés existent dans les 3 langues et tous les
errorCodeont une traduction. Lint ettscOK.Pas traduits volontairement : les noms de marque (Keep Grouped, Keepy), les noms des langues, les clés de champs de formulaire, et l'écran de chargement, pré-rendu en HTML avant le chargement du JS.
Partie de #160. Restent hors de cette PR : la description inexacte du modal d'invitation, la troncature du champ date et les libellés tronqués de l'accueil en FR.
feat(i18n): translate the public pages with a locally saved languageto feat(i18n): translate public pages, remaining hardcoded texts and API errors