AngularJS: Définition des langues dans angular-translate à partir du contrôleur ou du service
Je m'intéresse à l'aide d'angular-translate.
Raison de la configuration des appels qui arrivent d'abord sur le démarrage, je ne peux fournir de la langue json au cours de config. Ni est-il possible d'utiliser la async chargeur.
J'ai besoin d'être en mesure de spécifier les langues à partir d'un contrôleur ou d'un service à un moment plus tard.
$translateProvider.translations(.., ...)
est l'appel à utiliser, mais $translateProvider
n'est pas disponible dans les contrôleurs ou des services, mais en apparence seulement à config.
$translate
ne semble pas avoir la capacité de charge d'un langage JSON.
Est-il une solution de contournement?
source d'informationauteur Joel Basson
Vous devez vous connecter pour publier un commentaire.
Première injecter
$translate
dans votre contrôleur.Ensuite, vous pouvez obtenir et de définir langage courant avec
$translate.use()
.Si vous devez ajouter de nouvelles traductions d'après la config, alors vous pouvez utiliser partiellement les chargeurs.
Si ce n'est pas assez dynamique, alors vous pouvez toujours faire la traduction à la volée.
Ce serait cracher quelque chose comme
Y est arrivé.
dans le .config
la customLoader...
et puis un TranslationService de partager les données
Peut-être vérifier ce:
http://www.ng-newsletter.com/posts/angular-translate.html
Sous "changement de la langue au moment de l'exécution"
celui-ci fonctionne. storageService dispose de locaux de stockage et d'après la définition de 'NG_TRANSLATE_LANG_KEY' dans le stockage local. Vous pouvez l'appeler comme ci-dessous.
Je pense que la meilleure façon de gérer le chargement dynamique est
dans le résoudre config routeur bloc comme