Project

General

Profile

1 61381 k.triantaf
import { Injectable } from "@angular/core";
2
import { IMyLocales, IMyOptions } from "../interfaces/index";
3
4
@Injectable()
5
export class LocaleService {
6
    private locales: IMyLocales = {
7
        "en": {
8
            dayLabels: {su: "Sun", mo: "Mon", tu: "Tue", we: "Wed", th: "Thu", fr: "Fri", sa: "Sat"},
9
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "May", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dec" },
10
            dateFormat: "yyyy-mm-dd",
11
            todayBtnTxt: "Today",
12
            firstDayOfWeek: "mo",
13
            sunHighlight: true,
14
        },
15
        "he": {
16
            dayLabels: {su: "רא", mo: "שנ", tu: "של", we: "רב", th: "חמ", fr: "שי", sa: "שב"},
17
            monthLabels: { 1: "ינו", 2: "פבר", 3: "מרץ", 4: "אפר", 5: "מאי", 6: "יונ", 7: "יול", 8: "אוג", 9: "ספט", 10: "אוק", 11: "נוב", 12: "דצמ" },
18
            dateFormat: "dd/mm/yyyy",
19
            todayBtnTxt: "היום",
20
            firstDayOfWeek: "su",
21
            sunHighlight: false
22
        },
23
        "ja": {
24
            dayLabels: {su: "", mo: "", tu: "", we: "", th: "", fr: "", sa: ""},
25
            monthLabels: {1: "1月", 2: "2月", 3: "3月", 4: "4月", 5: "5月", 6: "6月", 7: "7月", 8: "8月", 9: "9月", 10: "10月", 11: "11月", 12: "12月"},
26
            dateFormat: "yyyy.mm.dd",
27
            todayBtnTxt: "今日",
28
            sunHighlight: false
29
        },
30
        "fr": {
31
            dayLabels: {su: "Dim", mo: "Lun", tu: "Mar", we: "Mer", th: "Jeu", fr: "Ven", sa: "Sam"},
32
            monthLabels: {1: "Jan", 2: "Fév", 3: "Mar", 4: "Avr", 5: "Mai", 6: "Juin", 7: "Juil", 8: "Aoû", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Déc"},
33
            dateFormat: "dd/mm/yyyy",
34
            todayBtnTxt: "Aujourd'hui",
35
            firstDayOfWeek: "mo",
36
            sunHighlight: true,
37
        },
38
        "fi": {
39
            dayLabels: {su: "Su", mo: "Ma", tu: "Ti", we: "Ke", th: "To", fr: "Pe", sa: "La"},
40
            monthLabels: {1: "Tam", 2: "Hel", 3: "Maa", 4: "Huh", 5: "Tou", 6: "Kes", 7: "Hei", 8: "Elo", 9: "Syy", 10: "Lok", 11: "Mar", 12: "Jou"},
41
            dateFormat: "dd.mm.yyyy",
42
            todayBtnTxt: "Tänään",
43
            firstDayOfWeek: "mo",
44
            sunHighlight: true,
45
        },
46
        "es": {
47
            dayLabels: {su: "Do", mo: "Lu", tu: "Ma", we: "Mi", th: "Ju", fr: "Vi", sa: "Sa"},
48
            monthLabels: {1: "Ene", 2: "Feb", 3: "Mar", 4: "Abr", 5: "May", 6: "Jun", 7: "Jul", 8: "Ago", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dic"},
49
            dateFormat: "dd.mm.yyyy",
50
            todayBtnTxt: "Hoy",
51
            firstDayOfWeek: "mo",
52
            sunHighlight: true,
53
        },
54
        "hu": {
55
            dayLabels: {su: "Vas", mo: "Hét", tu: "Kedd", we: "Sze", th: "Csü", fr: "Pén", sa: "Szo"},
56
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Már", 4: "Ápr", 5: "Máj", 6: "Jún", 7: "Júl", 8: "Aug", 9: "Szep", 10: "Okt", 11: "Nov", 12: "Dec" },
57
            dateFormat: "yyyy-mm-dd",
58
            todayBtnTxt: "Ma",
59
            firstDayOfWeek: "mo",
60
            sunHighlight: true
61
        },
62
        "sv": {
63
            dayLabels: {su: "Sön", mo: "Mån", tu: "Tis", we: "Ons", th: "Tor", fr: "Fre", sa: "Lör"},
64
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Maj", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Dec" },
65
            dateFormat: "yyyy-mm-dd",
66
            todayBtnTxt: "Idag",
67
            firstDayOfWeek: "mo",
68
            sunHighlight: false
69
        },
70
        "nl": {
71
            dayLabels: {su: "Zon", mo: "Maa", tu: "Din", we: "Woe", th: "Don", fr: "Vri", sa: "Zat"},
72
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Mei", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Dec" },
73
            dateFormat: "dd-mm-yyyy",
74
            todayBtnTxt: "Vandaag",
75
            firstDayOfWeek: "mo",
76
            sunHighlight: false
77
        },
78
        "ru": {
79
            dayLabels: {su: "Вс", mo: "Пн", tu: "Вт", we: "Ср", th: "Чт", fr: "Пт", sa: "Сб"},
80
            monthLabels: { 1: "Янв", 2: "Фев", 3: "Март", 4: "Апр", 5: "Май", 6: "Июнь", 7: "Июль", 8: "Авг", 9: "Сент", 10: "Окт", 11: "Ноя", 12: "Дек" },
81
            dateFormat: "dd.mm.yyyy",
82
            todayBtnTxt: "Сегодня",
83
            firstDayOfWeek: "mo",
84
            sunHighlight: true
85
        },
86
        "uk": {
87
            dayLabels: {su: "Нд", mo: "Пн", tu: "Вт", we: "Ср", th: "Чт", fr: "Пт", sa: "Сб"},
88
            monthLabels: { 1: "Січ", 2: "Лют", 3: "Бер", 4: "Кві", 5: "Тра", 6: "Чер", 7: "Лип", 8: "Сер", 9: "Вер", 10: "Жов", 11: "Лис", 12: "Гру" },
89
            dateFormat: "dd.mm.yyyy",
90
            todayBtnTxt: "Сьогодні",
91
            firstDayOfWeek: "mo",
92
            sunHighlight: true
93
        },
94
        "no": {
95
            dayLabels: {su: "Søn", mo: "Man", tu: "Tir", we: "Ons", th: "Tor", fr: "Fre", sa: "Lør"},
96
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Mai", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Des" },
97
            dateFormat: "dd.mm.yyyy",
98
            todayBtnTxt: "I dag",
99
            firstDayOfWeek: "mo",
100
            sunHighlight: false
101
        },
102
        "tr": {
103
            dayLabels: {su: "Paz", mo: "Pzt", tu: "Sal", we: "Çar", th: "Per", fr: "Cum", sa: "Cmt"},
104
            monthLabels: { 1: "Oca", 2: "Şub", 3: "Mar", 4: "Nis", 5: "May", 6: "Haz", 7: "Tem", 8: "Ağu", 9: "Eyl", 10: "Eki", 11: "Kas", 12: "Ara" },
105
            dateFormat: "dd.mm.yyyy",
106
            todayBtnTxt: "Bugün",
107
            firstDayOfWeek: "mo",
108
            sunHighlight: false
109
        },
110
        "pt-br": {
111
            dayLabels: {su: "Dom", mo: "Seg", tu: "Ter", we: "Qua", th: "Qui", fr: "Sex", sa: "Sab"},
112
            monthLabels: { 1: "Jan", 2: "Fev", 3: "Mar", 4: "Abr", 5: "Mai", 6: "Jun", 7: "Jul", 8: "Ago", 9: "Set", 10: "Out", 11: "Nov", 12: "Dez" },
113
            dateFormat: "dd/mm/yyyy",
114
            todayBtnTxt: "Hoje",
115
            firstDayOfWeek: "su",
116
            sunHighlight: true
117
        },
118
        "de": {
119
            dayLabels: {su: "So", mo: "Mo", tu: "Di", we: "Mi", th: "Do", fr: "Fr", sa: "Sa"},
120
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mär", 4: "Apr", 5: "Mai", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Dez" },
121
            dateFormat: "dd.mm.yyyy",
122
            todayBtnTxt: "Heute",
123
            firstDayOfWeek: "mo",
124
            sunHighlight: true
125
        },
126
        "it": {
127
            dayLabels: { su: "Dom", mo: "Lun", tu: "Mar", we: "Mer", th: "Gio", fr: "Ven", sa: "Sab" },
128
            monthLabels: { 1: "Gen", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Mag", 6: "Giu", 7: "Lug", 8: "Ago", 9: "Set", 10: "Ott", 11: "Nov", 12: "Dic" },
129
            dateFormat: "dd/mm/yyyy",
130
            todayBtnTxt: "Oggi",
131
            firstDayOfWeek: "mo",
132
            sunHighlight: true
133
        },
134
        "it-ch": {
135
            dayLabels: { su: "Dom", mo: "Lun", tu: "Mar", we: "Mer", th: "Gio", fr: "Ven", sa: "Sab" },
136
            monthLabels: { 1: "Gen", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Mag", 6: "Giu", 7: "Lug", 8: "Ago", 9: "Set", 10: "Ott", 11: "Nov", 12: "Dic" },
137
            dateFormat: "dd.mm.yyyy",
138
            todayBtnTxt: "Oggi",
139
            firstDayOfWeek: "mo",
140
            sunHighlight: true
141
        },
142
        "pl": {
143
            dayLabels: { su: "Nie", mo: "Pon", tu: "Wto", we: "Śro", th: "Czw", fr: "Pią", sa: "Sob" },
144
            monthLabels: { 1: "Sty", 2: "Lut", 3: "Mar", 4: "Kwi", 5: "Maj", 6: "Cze", 7: "Lip", 8: "Sie", 9: "Wrz", 10: "Paź", 11: "Lis", 12: "Gru" },
145
            dateFormat: "yyyy-mm-dd",
146
            todayBtnTxt: "Dzisiaj",
147
            firstDayOfWeek: "mo",
148
            sunHighlight: true,
149
        },
150
        "my": {
151
            dayLabels: {su: "တနင်္ဂနွေ", mo: "တနင်္လာ", tu: "အင်္ဂါ", we: "ဗုဒ္ဓဟူး", th: "ကြသပတေး", fr: "သောကြာ", sa: "စနေ"},
152
            monthLabels: { 1: "ဇန်နဝါရီ", 2: "ဖေဖော်ဝါရီ", 3: "မတ်", 4: "ဧပြီ", 5: "မေ", 6: "ဇွန်", 7: "ဇူလိုင်", 8: "ဩဂုတ်", 9: "စက်တင်ဘာ", 10: "အောက်တိုဘာ", 11: "နိုဝင်ဘာ", 12: "ဒီဇင်ဘာ" },
153
            dateFormat: "yyyy-mm-dd",
154
            todayBtnTxt: "ယနေ့",
155
            firstDayOfWeek: "mo",
156
            sunHighlight: true,
157
        },
158
        "sk": {
159
            dayLabels: { su: "Ne", mo: "Po", tu: "Ut", we: "St", th: "Št", fr: "Pi", sa: "So" },
160
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Máj", 6: "Jún", 7: "Júl", 8: "Aug", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Dec" },
161
            dateFormat: "dd.mm.yyyy",
162
            todayBtnTxt: "Dnes",
163
            firstDayOfWeek: "mo",
164
            sunHighlight: true,
165
        },
166
        "sl": {
167
            dayLabels: { su: "Ned", mo: "Pon", tu: "Tor", we: "Sre", th: "Čet", fr: "Pet", sa: "Sob" },
168
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Maj", 6: "Jun", 7: "Jul", 8: "Avg", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Dec" },
169
            dateFormat: "dd. mm. yyyy",
170
            todayBtnTxt: "Danes",
171
            firstDayOfWeek: "mo",
172
            sunHighlight: true,
173
        },
174
        "zh-cn": {
175
            dayLabels: {su: "", mo: "", tu: "", we: "", th: "", fr: "", sa: ""},
176
            monthLabels: { 1: "1月", 2: "2月", 3: "3月", 4: "4月", 5: "5月", 6: "6月", 7: "7月", 8: "8月", 9: "9月", 10: "10月", 11: "11月", 12: "12月" },
177
            dateFormat: "yyyy-mm-dd",
178
            todayBtnTxt: "今天",
179
            firstDayOfWeek: "mo",
180
            sunHighlight: true,
181
        },
182
        "ro": {
183
            dayLabels: {su: "du", mo: "lu", tu: "ma", we: "mi", th: "jo", fr: "vi", sa: "sa"},
184
            monthLabels: { 1: "ian", 2: "feb", 3: "mart", 4: "apr", 5: "mai", 6: "iun", 7: "iul", 8: "aug", 9: "sept", 10: "oct", 11: "nov", 12: "dec" },
185
            dateFormat: "dd.mm.yyyy",
186
            todayBtnTxt: "Astăzi",
187
            firstDayOfWeek: "mo",
188
            sunHighlight: true,
189
        },
190
        "ca": {
191
            dayLabels: {su: "dg", mo: "dl", tu: "dt", we: "dc", th: "dj", fr: "dv", sa: "ds"},
192
            monthLabels: {1: "Gen", 2: "Febr", 3: "Març", 4: "Abr", 5: "Maig", 6: "Juny", 7: "Jul", 8: "Ag", 9: "Set", 10: "Oct", 11: "Nov", 12: "Des"},
193
            dateFormat: "dd.mm.yyyy",
194
            todayBtnTxt: "Avui",
195
            firstDayOfWeek: "mo",
196
            sunHighlight: true,
197
        },
198
        "id": {
199
            dayLabels: {su: "Min", mo: "Sen", tu: "Sel", we: "Rab", th: "Kam", fr: "Jum", sa: "Sab"},
200
            monthLabels: {1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "Mei", 6: "Jun", 7: "Jul", 8: "Ags", 9: "Sep", 10: "Okt", 11: "Nov", 12: "Des"},
201
            dateFormat: "dd-mm-yyyy",
202
            todayBtnTxt: "Hari ini",
203
            firstDayOfWeek: "su",
204
            sunHighlight: true
205
        },
206
        "en-au": {
207
            dayLabels: {su: "Sun", mo: "Mon", tu: "Tue", we: "Wed", th: "Thu", fr: "Fri", sa: "Sat"},
208
            monthLabels: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "May", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dec" },
209
            dateFormat: "dd/mm/yyyy",
210
            todayBtnTxt: "Today",
211
            firstDayOfWeek: "mo",
212
            sunHighlight: true
213
        },
214
        "am-et": {
215
            dayLabels: {su: "እሑድ", mo: "ሰኞ", tu: "ማክሰኞ", we: "ረቡዕ", th: "ሐሙስ", fr: "ዓርብ", sa: "ቅዳሜ"},
216
            monthLabels: { 1: "ጃንዩ", 2: "ፌብሩ", 3: "ማርች", 4: "ኤፕረ", 5: "ሜይ", 6: "ጁን", 7: "ጁላይ", 8: "ኦገስ", 9: "ሴፕቴ", 10: "ኦክተ", 11: "ኖቬም", 12: "ዲሴም" },
217
            dateFormat: "yyyy-mm-dd",
218
            todayBtnTxt: "ዛሬ",
219
            firstDayOfWeek: "mo",
220
            sunHighlight: true
221
        }
222
    };
223
224
    getLocaleOptions(locale: string): IMyOptions {
225
        if (locale && this.locales.hasOwnProperty(locale)) {
226
            // User given locale
227
            return this.locales[locale];
228
        }
229
        // Default: en
230
        return this.locales["en"];
231
    }
232
}