Merge Request #60

Merged
noosfero-themes/angular-theme!60
Created by Michel Felipe

Translate - Set browser lang like default

Change the default language to navigation.language defined browser. This was set in angular.config() flow.

Assignee: None
Milestone: 2016.07

Merged by Victor Costa

Source branch has been removed
Commits (1)
2 participants
src/app/index.config.ts
@@ -25,13 +25,16 @@ export function noosferoModuleConfig($logProvider: ng.ILogProvider, @@ -25,13 +25,16 @@ export function noosferoModuleConfig($logProvider: ng.ILogProvider,
25 } 25 }
26 26
27 function configTranslation($translateProvider: angular.translate.ITranslateProvider, tmhDynamicLocaleProvider: any) { 27 function configTranslation($translateProvider: angular.translate.ITranslateProvider, tmhDynamicLocaleProvider: any) {
  28 + let defaultLanguage = (<any>navigator)['languages'] ? (<any>navigator)['languages'][0] : (navigator.language || (<any>navigator)['userLanguage']);
  29 + defaultLanguage = defaultLanguage ? defaultLanguage.replace(/-br|-us/i, '') : 'en';
  30 +
28 $translateProvider.useStaticFilesLoader({ 31 $translateProvider.useStaticFilesLoader({
29 prefix: '/languages/', 32 prefix: '/languages/',
30 suffix: '.json' 33 suffix: '.json'
31 }); 34 });
32 $translateProvider.addInterpolation('$translateMessageFormatInterpolation'); 35 $translateProvider.addInterpolation('$translateMessageFormatInterpolation');
33 $translateProvider.useMissingTranslationHandlerLog(); 36 $translateProvider.useMissingTranslationHandlerLog();
34 - $translateProvider.preferredLanguage('en'); 37 + $translateProvider.preferredLanguage(defaultLanguage);
35 $translateProvider.useSanitizeValueStrategy('escape'); 38 $translateProvider.useSanitizeValueStrategy('escape');
36 tmhDynamicLocaleProvider.localeLocationPattern('bower_components/angular-i18n/angular-locale_{{locale}}.js'); 39 tmhDynamicLocaleProvider.localeLocationPattern('bower_components/angular-i18n/angular-locale_{{locale}}.js');
37 tmhDynamicLocaleProvider.useCookieStorage(); 40 tmhDynamicLocaleProvider.useCookieStorage();