/ / Localizzazione e lingua translate - angularjs, localizzazione

Localizzazione e lingua translate - angularjs, localizzazione

io uso angolare-tradurre, e il suo funzionamento corretto. Ho una casella di selezione per la lingua selezionata.

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

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

Ecco ctrl per cambiare lingua

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

e in vista, e questo funziona.

<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>

Il problema è che voglio usare angular-i18n per le impostazioni locali. e cambiare sulla stessa casella di selezione, come per cambiare lingua sulla pagina. Se seleziono l'inglese, cambio lingua e localizzazione ... lo stesso per croato ecc.

Aggiungo il file .config

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

e nel controller aggiungo

$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;
});

e, a vista, funziona se aggiungo questo

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

Ma questo mi dà una seconda casella di selezione. cerco di aggiungere sulla prima casella di selezione qualcosa del genere, ma questo non funziona

<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>

Se qualcuno può aiutarmi, per favore

risposte:

0 per risposta № 1

Ho risolto questo problema, ho iniziato

<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>