-
Notifications
You must be signed in to change notification settings - Fork 0
/
ng-localize
46 lines (35 loc) · 1.37 KB
/
ng-localize
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Localize attribute [ng-localize] for AngularJS. Manual.
NPM:
npm i baslocalize
Create new directive:
app.directive("ngLocalize", function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var language = localStorage.getItem("language") || 'en';
function resolveObject(path, obj) {
return path.split('.').reduce(function(prev, curr) {
return prev ? prev[curr] : undefined
}, obj || self);
};
element.html(resolveObject(attrs.ngLocalize, window.translations[language]));
}
};
});
For get current language:
var language = localStorage.getItem("language") || 'en';
We have variable for each languages with content:
window.translations[each language].
Template:
window.translations.cn = {
"eth": {
"collected": "筹募的ETH "
}
};
Function 'resolveObject(path, obj)' parse your variable [window.translations.cn] and find value of attribute 'ngLocalize'
in all in all nestings.
For replase your CONTENT, which has attribute 'ngLocalize' use method .html() :
element.html(resolveObject(attrs.ngLocalize, window.translations[language]));
if you want replace only TEXT, which has attribute 'ngLocalize' use .text() :
element.text(resolveObject(attrs.ngLocalize, window.translations[language]));
GOOD LUCK!