getFallbackTranslation = function (langKey, translationId, interpolateParams, Interpolator) {
        var deferred = $q.defer();

        getTranslationTable(langKey).then(function (translationTable) {
          if (Object.prototype.hasOwnProperty.call(translationTable, translationId)) {
            Interpolator.setLocale(langKey);
            deferred.resolve(Interpolator.interpolate(translationTable[translationId], interpolateParams));
            Interpolator.setLocale($uses);
          } else {
            deferred.reject();
          }
        }, deferred.reject);

        return deferred.promise;
      }
@name getFallbackTranslation
@private

@description
Returns a promise that will resolve to the translation
or be rejected if no translation was found for the language.
This function is currently only used for fallback language translation.

@param langKey The language to translate to.
@param translationId
@param interpolateParams
@param Interpolator
@returns {Q.promise}