blob: b0538768962c6c9f2a9c748f114bbd5e5c219906 (
plain)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
###
ownCloud - News
@author Bernhard Posselt
@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
License as published by the Free Software Foundation; either
version 3 of the License, or any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU AFFERO GENERAL PUBLIC LICENSE for more details.
You should have received a copy of the GNU Affero General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
###
angular.module('News').factory 'Language', ->
class Language
constructor: ->
@_language = 'en'
@_langs = [
'ar-ma'
'ar'
'bg'
'ca'
'cs'
'cv'
'da'
'de'
'el'
'en-ca'
'en-gb'
'eo'
'es'
'et'
'eu'
'fi'
'fr-ca'
'fr'
'gl'
'he'
'hi'
'hu'
'id'
'is'
'it'
'ja'
'ka'
'ko'
'lv'
'ms-my'
'nb'
'ne'
'nl'
'pl'
'pt-br'
'pt'
'ro'
'ru'
'sk'
'sl'
'sv'
'th'
'tr'
'tzm-la'
'tzm'
'uk'
'zh-cn'
'zh-tw'
]
handle: (data) ->
# fix broken server locales
data = data.replace('_', '-').toLowerCase()
# check if the first part is available, if so use this
if not (data in @_langs)
data = data.split('-')[0]
# if its not available default to english
if not (data in @_langs)
data = 'en'
@_language = data
getLanguage: ->
return @_language
getMomentFromTimestamp: (timestamp) ->
return moment.unix(timestamp).lang(@_language)
return new Language()
|