Skip to content

Commit 968c554

Browse files
committed
fix(currentLanguage): Refactor currentLanguage provider to a property on original $translate service
1 parent 1f4cca1 commit 968c554

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed
Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
(function (angular) {
2-
32
/**
4-
* @ngdoc overview
5-
* @name pascalprecht.translate.$translateCurrentLanguage
3+
* @ngdoc property
4+
* @name pascalprecht.translate.$translate#currentLanguage
5+
* @methodOf pascalprecht.translate.$translate
66
*
77
* @description
88
* A helper method to retrieve current language when using angular-translate (pascalprecht.translate).
@@ -11,15 +11,25 @@
1111
* use() returns currently used language (if loaded), otherwise undefined.
1212
* In case both proposedLanguage() and use() fails fallback to language key stored in storage.
1313
* If all above fails return preferredLanguage(), aka default language.
14+
*
15+
* @return {string} current language key
1416
*/
1517

1618
angular.module("pascalprecht.translate")
17-
.provider("$translateCurrentLanguage", $translateCurrentLanguageProvider);
19+
.decorator("$translate", $translateDecorator);
20+
21+
$translateDecorator.$inject = [
22+
"$delegate"
23+
];
24+
25+
function $translateDecorator($delegate) {
26+
Object.defineProperty($delegate, "currentLanguage", {
27+
get: function () {
28+
return $delegate.proposedLanguage() || $delegate.use() || $delegate.storage().get($delegate.storageKey()) || $delegate.preferredLanguage();
29+
}
30+
});
1831

19-
function $translateCurrentLanguageProvider() {
20-
this.$get = ["$translate", function ($translate) {
21-
return $translate.proposedLanguage() || $translate.use() || $translate.storage().get($translate.storageKey()) || $translate.preferredLanguage();
22-
}];
32+
return $delegate;
2333
}
2434

2535
})(window.angular);

0 commit comments

Comments
 (0)