Возможно ли вернуть локализованную информацию из формата времени D3?D3 время форматирования языкового стандарта
d3.time.format('%B %Y')(new Date(d))
Это всегда возвращает значения EN.
Возможно ли вернуть локализованную информацию из формата времени D3?D3 время форматирования языкового стандарта
d3.time.format('%B %Y')(new Date(d))
Это всегда возвращает значения EN.
Да, это возможно. Существует страница wiki github here.
В принципе, вам необходимо использовать метод d3.locale(definition)
. Определение является объектом, как это:
{
"decimal": ".",
"thousands": ",",
"grouping": [3],
"currency": ["$", ""],
"dateTime": "%a %b %e %X %Y",
"date": "%m/%d/%Y",
"time": "%H:%M:%S",
"periods": ["AM", "PM"],
"days": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
"months": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
"shortMonths": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
}
Update
форматирование чисел, дат и валют зависит от языка и языка. В то время как сборка по умолчанию D3 предназначена для английского языка, вы можете изменить поведение форматов D3, загрузив новые локали по мере необходимости.
Таким образом, местный код не идентифицируется автоматически, и вы должны загрузить его самостоятельно.
Маленький пример:
var ua = d3.locale(<uk_UA definition>); //you need this object to be available everywhere this locale is required
ua.timeFormat('%B %Y'); //use this instead of d3.time.format('%B %Y')
Ok, но язык не идентифицируются автоматически? В каждом локали я должен вставить другой объект дефиниции? –
, пожалуйста, см. Обновление – ieaglle