/ / Localisation et traduction de la langue - angularjs, localisation

Localisation et traduction linguistique - angularjs, localisation

J'utilise angular-translate et son fonctionnement est correct. J'ai la boîte de sélection pour sélectionner la langue.

.config(["$translateProvider", function($translateProvider) {
$translateProvider.translations("en", translationsEN);
$translateProvider.translations("hr", translationsCRO);
$translateProvider.preferredLanguage("en");
$translateProvider.fallbackLanguage("en");
$translateProvider.useSanitizeValueStrategy("escape");

$translateProvider.useSanitizeValueStrategy("sanitize"); */
}]);

Voici ctrl pour changer de langue

$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};

et en vue, et cela fonctionne.

<ul class="dropdown-menu">
<li><a ng-click="changeLanguage("hr")" translate="BUTTON_LANG_CRO"></a></li>
<li><a ng-click="changeLanguage("en")" translate="BUTTON_LANG_EN"></a></li>
</ul>

Le problème est que je veux utiliser angular-i18n pour les paramètres régionaux. et changer sur la même boîte de sélection, comme pour changer de langue sur la page. Si je choisis l'anglais, change de langue et de localisation ... idem pour le croate, etc.

J'ajoute un fichier .config

.config(function(tmhDynamicLocaleProvider) {
tmhDynamicLocaleProvider.localeLocationPattern("bower_components/angular-i18n/angular-locale_{{locale}}.js");
});

et dans le contrôleur j'ajoute

$rootScope.availableLocales = {
"en": "English",
"hr": "Hrvatski"};
$scope.changeLanguage("hr");
$rootScope.model = {selectedLocale: "en"};
$rootScope.$locale = $locale;
$rootScope.changeLocale = tmhDynamicLocale.set;

sveKlupeServiceFactory.query(function (res) {
$scope.klupe = res.smart_benches;
});

et, en vue fonctionne si j'ajoute cela

<select ng-model="model.selectedLocale" ng-options="key as value for (key, value) in availableLocales" ng-change="changeLocale(model.selectedLocale)"></select>

Mais cela me donne une deuxième case de sélection. J'essaie d'ajouter sur la première case de sélection quelque chose comme ça, mais cela ne fonctionne pas

<li><a ng-model="model.selectedLocale" ng-click="changeLanguage("hr"); changeLocale(model.selectedLocale)" translate="BUTTON_LANG_CRO"></a></li>
<li><a ng-model="model.selectedLocale" ng-click="changeLanguage("en"); changeLocale(model.selectedLocale)" translate="BUTTON_LANG_EN"></a></li>

Si quelqu'un peut m'aider pls, thnx

Réponses:

0 pour la réponse № 1

Je répare cela, je mets sur

<li><a ng-model="model.selectedLocale"
ng-click="changeLanguage("hr");
changeLocale("hr")"  //here i set "hr"
translate="BUTTON_LANG_CRO"></a>    </li>
<li><a ng-model="model.selectedLocale"
ng-click="changeLanguage("en");
changeLocale("en")" //here i set "en"
translate="BUTTON_LANG_EN"></a></li>