@@ -24,21 +24,32 @@ def __iter__(self):
2424 lang = translation .get_language ()
2525 if lang :
2626 lang = lang .lower ()
27- if lang .startswith ('zh' ) and lang not in ('zh-cn' , 'zh-tw' ,):
28- if lang == 'zh-hk' :
29- lang = 'zh-tw'
30- else :
31- lang = 'zh-cn'
32- elif len (lang ) > 2 and lang not in ('ar-ma' , 'en-au' , 'en-ca' , 'en-gb' ,
33- 'fa-ir' , 'fr-ca' , 'ms-my' , 'pt-br' ,
34- 'rs-latin' , 'tzm-la' , ):
35- lang = lang [:2 ]
36- if lang != 'en' :
27+ #There is language name that length>2 *or* contains uppercase.
28+ lang_map = {
29+ 'ar-ma' : 'ar-ma' ,
30+ 'en-au' : 'en-au' ,
31+ 'en-ca' : 'en-ca' ,
32+ 'en-gb' : 'en-gb' ,
33+ 'en-us' : 'en-us' ,
34+ 'fa-ir' : 'fa-ir' ,
35+ 'fr-ca' : 'fr-ca' ,
36+ 'ms-my' : 'ms-my' ,
37+ 'pt-br' : 'bt-BR' ,
38+ 'rs-latin' : 'rs-latin' ,
39+ 'tzm-la' : 'tzm-la' ,
40+ 'tzm' : 'tzm' ,
41+ 'zh-cn' : 'zh-CN' ,
42+ 'zh-tw' : 'zh-TW' ,
43+ 'zh-hk' : 'zh-TW' ,
44+ }
45+ if len (lang ) > 2 :
46+ lang = lang_map .get (lang , 'en-us' )
47+ if lang not in ('en' , 'en-us' ):
3748 yield 'bootstrap3_datetime/js/locales/bootstrap-datetimepicker.%s.js' % (lang )
3849
3950 js = JsFiles ()
4051 css = {'all' : ('bootstrap3_datetime/css/bootstrap-datetimepicker.min.css' ,), }
41-
52+
4253 # http://momentjs.com/docs/#/parsing/string-format/
4354 # http://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
4455 format_map = (('DDD' , r'%j' ),
@@ -67,15 +78,15 @@ def conv_datetime_format_js2py(cls, format):
6778 for js , py in cls .format_map :
6879 format = format .replace (js , py )
6980 return format
70-
81+
7182 html_template = '''
7283 <div%(div_attrs)s>
7384 <input%(input_attrs)s/>
7485 <span class="input-group-addon">
7586 <span%(icon_attrs)s></span>
7687 </span>
7788 </div>'''
78-
89+
7990 js_template = '''
8091 <script>
8192 $(function() {
@@ -128,3 +139,4 @@ def render(self, name, value, attrs=None):
128139 js = self .js_template % dict (picker_id = picker_id ,
129140 options = json .dumps (self .options or {}))
130141 return mark_safe (force_text (html + js ))
142+
0 commit comments