我正在使用python 3.4& django 1.10。
我有一些代码可以设置,然后根据用户在模板上选择的语言,通过选择的语言列表动态显示字符串。
例如,如果用户选择de
,则会显示德语值,en
会显示英语(美国)详细信息等。
我正在尝试将今天的日期字符串本地化为不同的语言代码。
我搜索了谷歌和搜索引擎优化,但无法弄清楚这一点,或者即使这是可能的。
有人有任何建议吗?
感谢。
这是我的代码:
from django.template.defaultfilters import date as _date
from datetime import datetime
GENERIC_DETAILS_LIVE_PREVIEW_LABELS = {
'ar': {
....
'nac_generic_descriptor': u"موظف السنة", # Employee of the year
'nac_generic_preview_date': _date(datetime.now(), "N j, Y"), # todays date localised
....
},
'en': {
....
'nac_generic_descriptor': u"Employee of the year", # Employee of the year
'nac_generic_preview_date': _date(datetime.now(), "N j, Y"), # todays date localised
....
},
'it': {
....
'nac_generic_descriptor': u"Impiegato dell'anno", # Employee of the year
'nac_generic_preview_date': _date(datetime.now(), "N j, Y"), # todays date localised
....
},
'de': {
....
'nac_generic_descriptor': u"Mitarbeiter des Jahres", # Employee of the year
'nac_generic_preview_date': _date(datetime.now(), "N j, Y"), # todays date localised
....
},
'fr': {
....
'nac_generic_descriptor': u"Employé de l'année", # Employee of the year
'nac_generic_preview_date': _date(datetime.now(), "N j, Y"), # todays date localised
....
},
'es': {
....
'nac_generic_descriptor': u"Empleado del año", # Employee of the year
'nac_generic_preview_date': _date(datetime.now(), "N j, Y"), # todays date localised
....
},
}
答案 0 :(得分:1)
我使用Babel让它工作。
这是我的代码:
from datetime import date, datetime, time
from babel.dates import format_date, format_datetime, format_time
GENERIC_DETAILS_LIVE_PREVIEW_LABELS = {
'ar': {
....
'nac_generic_descriptor': u"موظف السنة", # Employee of the year
'nac_generic_preview_date': format_date(datetime.now(), format='long', locale='ar'), # todays date localised
....
},
'en': {
....
'nac_generic_descriptor': u"Employee of the year", # Employee of the year
'nac_generic_preview_date': format_date(datetime.now(), format='long', locale='en_US'), # todays date localised
....
},
'it': {
....
'nac_generic_descriptor': u"Impiegato dell'anno", # Employee of the year
'nac_generic_preview_date': format_date(datetime.now(), format='long', locale='it_IT'), # todays date localised
....
},
'de': {
....
'nac_generic_descriptor': u"Mitarbeiter des Jahres", # Employee of the year
'nac_generic_preview_date': format_date(datetime.now(), format='long', locale='de_DE'), # todays date localised
....
},
'fr': {
....
'nac_generic_descriptor': u"Employé de l'année", # Employee of the year
'nac_generic_preview_date': format_date(datetime.now(), format='long', locale='fr_FR'), # todays date localised
....
},
'es': {
....
'nac_generic_descriptor': u"Empleado del año", # Employee of the year
'nac_generic_preview_date': format_date(datetime.now(), format='long', locale='es_ES'), # todays date localised
....
},
}
在我的模板中,日期现在显示为:
zh:2017年4月3日
fr:3 avril 2017
es:3 de abril de 2017
etcetra,etcetra。
我希望这有助于某人。