我需要帮助!我试图在我的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”已更改,但语言未更改。请问,我知道我做错了什么?
答案 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,
为我工作。