如何使用i18n和angular-localization设置defaultLocale?

时间:2016-06-03 17:51:49

标签: angularjs ionic-framework internationalization

我需要帮助!我试图在我的controller.js中更改defaultLocale,而我正在使用带有角度的i18n。结构是:

angular.module('starter.controllers', ['ngLocalize', 'ngLocalize.Config'])
.value('localeConf', {
    basePath: 'js/Locales',
    defaultLocale: 'pt-BR',
    sharedDictionary: 'common',
    fileExtension: '.lang.json',  
    ...

指令:

.controller('ConfiguracaoCtrl', function ($scope,... , locale, localeConf) {...

和功能:

$scope.selecionaIdioma = function(idioma){


        localeConf.defaultLocale = idioma; //tried to set a language
        localStorage.setItem("appIdioma",idioma);

    }

我有翻译语言的文件:js> locales> es-CL> common.lang.json和js> locales> pt-BR> common.lang.json

“defaultLocale”已更改,但语言未更改。请问,我知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以使用ngStorage:https://github.com/gsklee/ngStorage

在您的应用中添加lib:angular.module('app', ['ngStorage']). 然后在控制器中使用,在控制器中注入:$localStorage

然后您可以使用$localStorage.lanaguage = 'something'

再次获取信息:$scope.language = $localStorage.language

答案 1 :(得分:0)

我得到如下......

我宣布了一个全局变量:

var idioma = window.localStorage.appIdioma;

并设定:     ...

defaultLocale: idioma,

为我工作。