JoshuaArus / the_crew_companion

Mobile companion to play The Crew board game
https://the-crew-companion.firebaseapp.com/#/
GNU General Public License v3.0
7 stars 1 forks source link

Ajout d'un LanguageNotifier pour changer la langue dans les "Settings" #33

Closed maximerauch closed 3 years ago

maximerauch commented 3 years ago

Description

Ajout d'un LanguageNotifier pour permettre de changer la langue dans les Settings Au chargement de l'application, on récupère la langue de l'appareil. Lors de l'initialisation de AppLocalizations la fonction est appelée isSupported. Si la langue n'est pas supportée, on utilise la première fournie dans supportedLocales.

Optimisation de la classe AppLocalizations De ce fait, le chargement des _fallbackLocalizedStrings n'est plus nécessaire car on va forcément charger une langue supportée. De plus, si la traduction n'est pas disponible dans cette langue, on va afficher la clé de traduction plutôt qu'une traduction d'un fallback. C'est un choix personnel car ça permet d'alléger l'application et réduire le temps de chargement (une langue au lieu de deux). On peut imaginer un script d'aide au développement pour comparer les clés entre les fichiers de traduction pour vérifier ce qui est manquant.

J'ai également rendu currentLocale nullable pour qu'on puisse tester son initialisation :

JoshuaArus commented 3 years ago

J'ai l'impression que toute l'interface se rafraichit correctement SAUF la homeScreen :/

language

maximerauch commented 3 years ago

Ouai j'ai vu ça, j'ai pas trop compris alors que l'ensemble de l'appli est chargée après reload...

maximerauch commented 3 years ago

Le problème est corrigé ; le fait de ne pas faire appel au notifier on ne repassait pas dans la reconstruction de la page d'accueil. C'est maintenant bon avec le refacto de LanguageNotifier et AppLocalizations.