mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 21:51:23 +00:00
GUAC-1230: Do not rely on loader for fallback. Force fallback within angular-translate by returning an empty translation.
This commit is contained in:
@@ -30,19 +30,16 @@ angular.module('index').config(['$injector', function($injector) {
|
|||||||
var preferenceServiceProvider = $injector.get('preferenceServiceProvider');
|
var preferenceServiceProvider = $injector.get('preferenceServiceProvider');
|
||||||
|
|
||||||
// Fallback to US English
|
// Fallback to US English
|
||||||
var fallbackLanguages = ['en'];
|
$translateProvider.fallbackLanguage('en');
|
||||||
|
|
||||||
// Prefer chosen language, use fallback languages if necessary
|
// Prefer chosen language
|
||||||
$translateProvider.fallbackLanguage(fallbackLanguages);
|
|
||||||
$translateProvider.preferredLanguage(preferenceServiceProvider.preferences.language);
|
$translateProvider.preferredLanguage(preferenceServiceProvider.preferences.language);
|
||||||
|
|
||||||
// Escape any HTML in translation strings
|
// Escape any HTML in translation strings
|
||||||
$translateProvider.useSanitizeValueStrategy('escape');
|
$translateProvider.useSanitizeValueStrategy('escape');
|
||||||
|
|
||||||
// Load translations via translationLoader service
|
// Load translations via translationLoader service
|
||||||
$translateProvider.useLoader('translationLoader', {
|
$translateProvider.useLoader('translationLoader');
|
||||||
fallbackLanguages : fallbackLanguages
|
|
||||||
});
|
|
||||||
|
|
||||||
// Provide pluralization, etc. via messageformat.js
|
// Provide pluralization, etc. via messageformat.js
|
||||||
$translateProvider.useMessageFormatInterpolation();
|
$translateProvider.useMessageFormatInterpolation();
|
||||||
|
@@ -56,9 +56,9 @@ angular.module('locale').factory('translationLoader', ['$injector', function tra
|
|||||||
// Get current language key
|
// Get current language key
|
||||||
var currentKey = remainingKeys.shift();
|
var currentKey = remainingKeys.shift();
|
||||||
|
|
||||||
// If no languages to try, just fail
|
// If no languages to try, "succeed" with an empty translation (force fallback)
|
||||||
if (!currentKey) {
|
if (!currentKey) {
|
||||||
deferred.reject(requestedKey);
|
deferred.resolve('{}');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,14 +122,8 @@ angular.module('locale').factory('translationLoader', ['$injector', function tra
|
|||||||
|
|
||||||
var translation = $q.defer();
|
var translation = $q.defer();
|
||||||
|
|
||||||
// Get requested language from options
|
// Satisfy the translation request using possible variations of the given key
|
||||||
var requestedKey = options.key;
|
satisfyTranslation(translation, options.key, getKeyVariations(options.key));
|
||||||
|
|
||||||
// Append fallback languages to requested language
|
|
||||||
var keys = getKeyVariations(requestedKey).concat(options.fallbackLanguages);
|
|
||||||
|
|
||||||
// Satisfy the translation request
|
|
||||||
satisfyTranslation(translation, requestedKey, keys);
|
|
||||||
|
|
||||||
// Return promise which is resolved only after the translation file is loaded
|
// Return promise which is resolved only after the translation file is loaded
|
||||||
return translation.promise;
|
return translation.promise;
|
||||||
|
Reference in New Issue
Block a user