GUAC-1053: Pull language from preferences when configuring the translate service. Fallback to US English if there is no such translation file.

This commit is contained in:
Michael Jumper
2015-04-24 15:47:00 -07:00
parent 1c14f73a1d
commit 20d51309b5
3 changed files with 197 additions and 49 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2014 Glyptodon LLC
* Copyright (C) 2015 Glyptodon LLC
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -23,21 +23,25 @@
/**
* The configuration block for setting up everything having to do with i18n.
*/
angular.module('index').config(['$translateProvider', function($translateProvider) {
angular.module('index').config(['$injector', function($injector) {
// TODONT: Use US English by default (this should come from preferences)
$translateProvider.preferredLanguage('en_US');
// Required providers
var $translateProvider = $injector.get('$translateProvider');
var preferenceServiceProvider = $injector.get('preferenceServiceProvider');
// Use US English for any undefined strings
$translateProvider.fallbackLanguage('en_US');
// Fallback to US English
var fallbackLanguages = ['en_US'];
// Load translations from static JSON files
$translateProvider.useStaticFilesLoader({
prefix: 'translations/',
suffix: '.json'
// Prefer chosen language, use fallback languages if necessary
$translateProvider.fallbackLanguage(fallbackLanguages);
$translateProvider.preferredLanguage(preferenceServiceProvider.preferences.language);
// Load translations via translationLoader service
$translateProvider.useLoader('translationLoader', {
fallbackLanguages : fallbackLanguages
});
// Provide pluralization, etc. via messageformat.js
$translateProvider.useMessageFormatInterpolation();
}]);
}]);