mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-30 00:23:21 +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