function hasAnimationClasses(animation, and) {
    var a = (animation.addClass || '').length > 0;
    var b = (animation.removeClass || '').length > 0;
    return and ? a && b : a || b;
  }
@ngdoc function
@name pascalprecht.translate.$translate#use
@methodOf pascalprecht.translate.$translate

@description
Tells angular-translate which language to use by given language key. This method is
used to change language at runtime. It also takes care of storing the language
key in a configured store to let your app remember the choosed language.

When trying to 'use' a language which isn't available it tries to load it
asynchronously with registered loaders.

Returns promise object with loaded language file data or string of the currently used language.

If no or a falsy key is given it returns the currently used language key.
The returned string will be ```undefined``` if setting up $translate hasn't finished.
@example
$translate.use("en_US").then(function(data){
  $scope.text = $translate("HELLO");
});

@param {string=} key Language key
@return {object|string} Promise with loaded language data or the language key if a falsy param was given.