From eacc99bf48ecb04005ba8c18507fcfd135a6bd3e Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 14 Dec 2017 22:41:29 -0500 Subject: [PATCH 01/11] use d3.locale formats just like the localization dicts of #2195 --- lib/locale-en-us.js | 3 + lib/locale-en.js | 20 +++ src/lib/dates.js | 30 +++-- src/plot_api/plot_config.js | 13 +- src/plots/cartesian/axes.js | 4 +- src/plots/cartesian/set_convert.js | 12 +- src/plots/layout_attributes.js | 6 +- src/plots/plots.js | 89 ++++++++++++- src/registry.js | 22 +++- src/traces/heatmap/hover.js | 4 +- test/jasmine/assets/supply_defaults.js | 1 + test/jasmine/tests/lib_date_test.js | 30 +++-- test/jasmine/tests/localize_test.js | 176 +++++++++++++++++++++---- test/jasmine/tests/plots_test.js | 4 +- 14 files changed, 343 insertions(+), 71 deletions(-) diff --git a/lib/locale-en-us.js b/lib/locale-en-us.js index 97996970ae0..015495311ca 100644 --- a/lib/locale-en-us.js +++ b/lib/locale-en-us.js @@ -13,5 +13,8 @@ module.exports = { name: 'en-US', dictionary: { 'Click to enter Colorscale title': 'Click to enter Colorscale title' + }, + format: { + date: '%m/%d/%Y' } }; diff --git a/lib/locale-en.js b/lib/locale-en.js index ead5a904c11..33e4e455f42 100644 --- a/lib/locale-en.js +++ b/lib/locale-en.js @@ -13,5 +13,25 @@ module.exports = { name: 'en', dictionary: { 'Click to enter Colorscale title': 'Click to enter Colourscale title' + }, + format: { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], + 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' + ], + periods: ['AM', 'PM'], + dateTime: '%a %b %e %X %Y', + date: '%d/%m/%Y', + time: '%H:%M:%S', + decimal: '.', + thousands: ',', + grouping: [3], + currency: ['$', ''] } }; diff --git a/src/lib/dates.js b/src/lib/dates.js index 7b959c1c2c4..0b0ba670fab 100644 --- a/src/lib/dates.js +++ b/src/lib/dates.js @@ -367,7 +367,7 @@ exports.cleanDate = function(v, dflt, calendar) { * %{n}f where n is the max number of digits of fractional seconds */ var fracMatch = /%\d?f/g; -function modDateFormat(fmt, x, calendar) { +function modDateFormat(fmt, x, formatter, calendar) { fmt = fmt.replace(fracMatch, function(match) { var digits = Math.min(+(match.charAt(1)) || 6, 6), @@ -387,7 +387,7 @@ function modDateFormat(fmt, x, calendar) { return 'Invalid'; } } - return utcFormat(fmt)(d); + return formatter(fmt)(d); } /* @@ -433,10 +433,12 @@ function formatTime(x, tr) { return timeStr; } -var yearFormat = utcFormat('%Y'), - monthFormat = utcFormat('%b %Y'), - dayFormat = utcFormat('%b %-d'), - yearMonthDayFormat = utcFormat('%b %-d, %Y'); +// TODO: do these strings need to be localized? +// ie this gives "Dec 13, 2017" but some languages may want eg "13-Dec 2017" +var yearFormatD3 = '%Y'; +var monthFormatD3 = '%b %Y'; +var dayFormatD3 = '%b %-d'; +var yearMonthDayFormatD3 = '%b %-d, %Y'; function yearFormatWorld(cDate) { return cDate.formatDate('yyyy'); } function monthFormatWorld(cDate) { return cDate.formatDate('M yyyy'); } @@ -450,6 +452,8 @@ function yearMonthDayFormatWorld(cDate) { return cDate.formatDate('M d, yyyy'); * fmt: optional, an explicit format string (d3 format, even for world calendars) * tr: tickround ('y', 'm', 'd', 'M', 'S', or # digits) * used if no explicit fmt is provided + * formatter: locale-aware d3 date formatter for standard gregorian calendars + * should be the result of exports.getD3DateFormat(gd) * calendar: optional string, the world calendar system to use * * returns the date/time as a string, potentially with the leading portion @@ -458,13 +462,13 @@ function yearMonthDayFormatWorld(cDate) { return cDate.formatDate('M d, yyyy'); * the axis may choose to strip things after it when they don't change from * one tick to the next (as it does with automatic formatting) */ -exports.formatDate = function(x, fmt, tr, calendar) { +exports.formatDate = function(x, fmt, tr, formatter, calendar) { var headStr, dateStr; calendar = isWorldCalendar(calendar) && calendar; - if(fmt) return modDateFormat(fmt, x, calendar); + if(fmt) return modDateFormat(fmt, x, formatter, calendar); if(calendar) { try { @@ -488,14 +492,14 @@ exports.formatDate = function(x, fmt, tr, calendar) { else { var d = new Date(Math.floor(x + 0.05)); - if(tr === 'y') dateStr = yearFormat(d); - else if(tr === 'm') dateStr = monthFormat(d); + if(tr === 'y') dateStr = formatter(yearFormatD3)(d); + else if(tr === 'm') dateStr = formatter(monthFormatD3)(d); else if(tr === 'd') { - headStr = yearFormat(d); - dateStr = dayFormat(d); + headStr = formatter(yearFormatD3)(d); + dateStr = formatter(dayFormatD3)(d); } else { - headStr = yearMonthDayFormat(d); + headStr = formatter(yearMonthDayFormatD3)(d); dateStr = formatTime(x, tr); } } diff --git a/src/plot_api/plot_config.js b/src/plot_api/plot_config.js index b1663e6b9ac..da8ec6926f6 100644 --- a/src/plot_api/plot_config.js +++ b/src/plot_api/plot_config.js @@ -137,11 +137,20 @@ module.exports = { // Localization dictionaries // Dictionaries can be provided either here (specific to one chart) or globally - // by registering them as modules. + // by registering them as modules (which contain dateFormat specs as well). // Here `dictionaries` should be an object of objects // {'da': {'Reset axes': 'Nulstil aksler', ...}, ...} // When looking for a translation we look at these dictionaries first, then // the ones registered as modules. If those fail, we strip off any // regionalization ('en-US' -> 'en') and try each again - dictionaries: {} + dictionaries: {}, + + // Localization specs for dates and numbers + // Each localization should be an object with keys matching most of d3.locale, + // see https://github.com/d3/d3-3.x-api-reference/blob/master/Localization.md + // {'da': {months: [...], shortMonths: [...], ...}, ...} + // Unlike d3.locale, every key is optional, we will fall back on English ('en'). + // Currently `grouping` and `currency` are ignored for our automatic number + // formatting, but can be used in custom formats. + formats: {} }; diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index a72ed431335..957762ec52b 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -1273,7 +1273,7 @@ function formatDate(ax, out, hover, extraPrecision) { else tr = {y: 'm', m: 'd', d: 'M', M: 'S', S: 4}[tr]; } - var dateStr = Lib.formatDate(out.x, fmt, tr, ax.calendar), + var dateStr = Lib.formatDate(out.x, fmt, tr, ax._dateFormat, ax.calendar), headStr; var splitIndex = dateStr.indexOf('\n'); @@ -1451,7 +1451,7 @@ function numFormat(v, ax, fmtoverride, hover) { if(ax.hoverformat) tickformat = ax.hoverformat; } - if(tickformat) return d3.format(tickformat)(v).replace(/-/g, MINUS_SIGN); + if(tickformat) return ax._numFormat(tickformat)(v).replace(/-/g, MINUS_SIGN); // 'epsilon' - rounding increment var e = Math.pow(10, -tickRound) / 2; diff --git a/src/plots/cartesian/set_convert.js b/src/plots/cartesian/set_convert.js index a1ea55c76fd..4fb66f70b73 100644 --- a/src/plots/cartesian/set_convert.js +++ b/src/plots/cartesian/set_convert.js @@ -447,9 +447,19 @@ module.exports = function setConvert(ax, fullLayout) { ax._min = []; ax._max = []; - // copy ref to fullLayout.separators so that + // Fropagate localization into the axis so that // methods in Axes can use it w/o having to pass fullLayout + // Default (non-d3) number formatting uses separators directly + // dates and d3-formatted numbers use the d3 locale + // Fall back on default format for dummy axes that don't care about formatting + var locale = fullLayout._d3locale; + if(ax.type === 'date') { + ax._dateFormat = locale ? locale.timeFormat.utc : d3.time.format.utc; + } + // occasionally we need _numFormat to pass through + // even though it won't be needed by this axis ax._separators = fullLayout.separators; + ax._numFormat = locale ? locale.numberFormat : d3.format; // and for bar charts and box plots: reset forced minimum tick spacing delete ax._minDtick; diff --git a/src/plots/layout_attributes.js b/src/plots/layout_attributes.js index 86f473a6afb..3e07d25be92 100644 --- a/src/plots/layout_attributes.js +++ b/src/plots/layout_attributes.js @@ -147,12 +147,12 @@ module.exports = { separators: { valType: 'string', role: 'style', - dflt: '.,', editType: 'plot', description: [ 'Sets the decimal and thousand separators.', - 'For example, *. * puts a \'.\' before decimals and', - 'a space between thousands.' + 'For example, *. * puts a \'.\' before decimals and a space', + 'between thousands. In English locales, dflt is *.,* but', + 'other locales may alter this default.' ].join(' ') }, hidesources: { diff --git a/src/plots/plots.js b/src/plots/plots.js index db5d224674a..9638cd82702 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -438,6 +438,8 @@ plots.supplyDefaults = function(gd) { }; newFullLayout._traceWord = _(gd, 'trace'); + var formatObj = getD3FormatObj(gd); + // first fill in what we can of layout without looking at data // because fullData needs a few things from layout @@ -447,7 +449,7 @@ plots.supplyDefaults = function(gd) { var oldWidth = oldFullLayout.width, oldHeight = oldFullLayout.height; - plots.supplyLayoutGlobalDefaults(newLayout, newFullLayout); + plots.supplyLayoutGlobalDefaults(newLayout, newFullLayout, formatObj); if(!newLayout.width) newFullLayout.width = oldWidth; if(!newLayout.height) newFullLayout.height = oldHeight; @@ -455,7 +457,7 @@ plots.supplyDefaults = function(gd) { else { // coerce the updated layout and autosize if needed - plots.supplyLayoutGlobalDefaults(newLayout, newFullLayout); + plots.supplyLayoutGlobalDefaults(newLayout, newFullLayout, formatObj); var missingWidthOrHeight = (!newLayout.width || !newLayout.height), autosize = newFullLayout.autosize, @@ -472,6 +474,8 @@ plots.supplyDefaults = function(gd) { } } + newFullLayout._d3locale = getFormatter(formatObj, newFullLayout.separators); + newFullLayout._initialAutoSizeIsDone = true; // keep track of how many traces are inputted @@ -563,6 +567,83 @@ function remapTransformedArrays(cd0, newTrace) { } } +var formatKeys = [ + 'days', 'shortDays', 'months', 'shortMonths', 'periods', + 'dateTime', 'date', 'time', + 'decimal', 'thousands', 'grouping', 'currency' +]; + +/** + * getD3FormatObj: use _context to get the d3.locale argument object. + * decimal and thousands can be overridden later by layout.separators + * grouping and currency are not presently used by our automatic number + * formatting system but can be used by custom formats. + * + * @returns {object} d3.locale format object + */ +function getD3FormatObj(gd) { + var locale = gd._context.locale; + if(!locale) locale === 'en-US'; + + var formatDone = false; + var formatObj = {}; + + function includeFormat(newFormat) { + var formatFinished = true; + for(var i = 0; i < formatKeys.length; i++) { + var formatKey = formatKeys[i]; + if(!formatObj[formatKey]) { + if(newFormat[formatKey]) { + formatObj[formatKey] = newFormat[formatKey]; + } + else formatFinished = false; + } + } + if(formatFinished) formatDone = true; + } + + // same as localize, look for format parts in each format spec in the chain + for(var i = 0; i < 2; i++) { + var formats = gd._context.formats; + for(var j = 0; j < 2; j++) { + var formatj = formats[locale]; + if(formatj) { + includeFormat(formatj); + if(formatDone) break; + } + formats = Registry.formatRegistry; + } + + var baseLocale = locale.split('-')[0]; + if(formatDone || baseLocale === locale) break; + locale = baseLocale; + } + + // lastly pick out defaults from english (non-US, as DMY is so much more common) + if(!formatDone) includeFormat(Registry.formatRegistry.en); + + return formatObj; +} + +/** + * getFormatter: combine the final separators with the locale formatting object + * we pulled earlier to generate number and time formatters + * TODO: remove separators in v2, only use locale, so we don't need this step? + * + * @param {object} formatObj: d3.locale format object + * @param {string} separators: length-2 string to override decimal and thousands + * separators in number formatting + * + * @returns {object} {numberFormat, timeFormat} d3 formatter factory functions + * for numbers and time + */ +function getFormatter(formatObj, separators) { + formatObj.decimal = separators.charAt(0); + formatObj.thousands = separators.charAt(1); + + return d3.locale(formatObj); +} + // Create storage for all of the data related to frames and transitions: plots.createTransitionData = function(gd) { // Set up the default keyframe if it doesn't exist: @@ -1144,7 +1225,7 @@ function applyTransforms(fullTrace, fullData, layout, fullLayout) { return dataOut; } -plots.supplyLayoutGlobalDefaults = function(layoutIn, layoutOut) { +plots.supplyLayoutGlobalDefaults = function(layoutIn, layoutOut, formatObj) { function coerce(attr, dflt) { return Lib.coerce(layoutIn, layoutOut, plots.layoutAttributes, attr, dflt); } @@ -1183,7 +1264,7 @@ plots.supplyLayoutGlobalDefaults = function(layoutIn, layoutOut) { coerce('paper_bgcolor'); - coerce('separators'); + coerce('separators', formatObj.decimal + formatObj.thousands); coerce('hidesources'); coerce('colorway'); diff --git a/src/registry.js b/src/registry.js index b688c1df2dd..ac851ee06de 100644 --- a/src/registry.js +++ b/src/registry.js @@ -29,6 +29,7 @@ exports.layoutArrayContainers = []; exports.layoutArrayRegexes = []; exports.traceLayoutAttributes = {}; exports.localeRegistry = {}; +exports.formatRegistry = {}; /** * register a module as the handler for a trace type @@ -328,23 +329,38 @@ function getTraceType(traceType) { * the dictionary mapping input strings to localized strings * generally the keys should be the literal input strings, but * if default translations are provided you can use any string as a key. + * @param {object} module.format + * a `d3.locale` format specifier for this locale + * any omitted keys we'll fall back on en-US */ exports.registerLocale = function(_module) { var locale = _module.name; var baseLocale = locale.split('-')[0]; var newDict = _module.dictionary; + var newFormat = _module.format; + var hasDict = newDict && Object.keys(newDict).length; + var hasFormat = newFormat && Object.keys(newFormat).length; var locales = exports.localeRegistry; + var formats = exports.formatRegistry; + // Should we use this dict for the base locale? // In case we're overwriting a previous dict for this locale, check // whether the base matches the full locale dict now. If we're not // overwriting, locales[locale] is undefined so this just checks if // baseLocale already had a dict or not. - if(baseLocale !== locale && locales[baseLocale] === locales[locale]) { - locales[baseLocale] = newDict; + // Same logic for dateFormats + if(baseLocale !== locale) { + if(hasDict && locales[baseLocale] === locales[locale]) { + locales[baseLocale] = newDict; + } + if(hasFormat && formats[baseLocale] === formats[locale]) { + formats[baseLocale] = newFormat; + } } - locales[locale] = newDict; + if(hasDict) locales[locale] = newDict; + if(hasFormat) formats[locale] = newFormat; }; diff --git a/src/traces/heatmap/hover.js b/src/traces/heatmap/hover.js index f8ccaaf0bd9..2db26dfba48 100644 --- a/src/traces/heatmap/hover.js +++ b/src/traces/heatmap/hover.js @@ -29,7 +29,6 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode, hoverLay zmask = cd0.zmask, range = [trace.zmin, trace.zmax], zhoverformat = trace.zhoverformat, - _separators = trace._separators, x2 = x, y2 = y, xl, @@ -109,7 +108,8 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode, hoverLay type: 'linear', range: range, hoverformat: zhoverformat, - _separators: _separators + _separators: xa._separators, + _numFormat: xa._numFormat }; var zLabelObj = Axes.tickText(dummyAx, zVal, 'hover'); zLabel = zLabelObj.text; diff --git a/test/jasmine/assets/supply_defaults.js b/test/jasmine/assets/supply_defaults.js index 259950a647e..ba58755c92c 100644 --- a/test/jasmine/assets/supply_defaults.js +++ b/test/jasmine/assets/supply_defaults.js @@ -9,6 +9,7 @@ module.exports = function supplyDefaults(gd) { if(!gd._context) gd._context = {}; if(!gd._context.locale) gd._context.locale = 'en'; if(!gd._context.dictionaries) gd._context.dictionaries = {}; + if(!gd._context.formats) gd._context.formats = {}; Plots.supplyDefaults(gd); }; diff --git a/test/jasmine/tests/lib_date_test.js b/test/jasmine/tests/lib_date_test.js index 592d111ed22..7a24ec16f01 100644 --- a/test/jasmine/tests/lib_date_test.js +++ b/test/jasmine/tests/lib_date_test.js @@ -7,6 +7,8 @@ var calComponent = require('@src/components/calendars'); // use only the parts of world-calendars that we've imported for our tests var calendars = require('@src/components/calendars/calendars'); +var utcFormat = require('d3').time.format.utc; + describe('dates', function() { 'use strict'; @@ -308,7 +310,7 @@ describe('dates', function() { expect(Lib.dateTime2ms(canonicalTick[calendar], calendar)).toBeDefined(calendar); var sunday = Lib.dateTime2ms(canonicalSunday[calendar], calendar); // convert back implicitly with gregorian calendar - expect(Lib.formatDate(sunday, '%A')).toBe('Sunday', calendar); + expect(Lib.formatDate(sunday, '%A', null, utcFormat)).toBe('Sunday', calendar); expect(Lib.dateTime2ms(dfltRange[calendar][0], calendar)).toBeDefined(calendar); expect(Lib.dateTime2ms(dfltRange[calendar][1], calendar)).toBeDefined(calendar); @@ -480,7 +482,7 @@ describe('dates', function() { describe('formatDate', function() { function assertFormatRounds(ms, calendar, results) { ['y', 'm', 'd', 'M', 'S', 1, 2, 3, 4].forEach(function(tr, i) { - expect(Lib.formatDate(ms, '', tr, calendar)) + expect(Lib.formatDate(ms, '', tr, utcFormat, calendar)) .toBe(results[i], calendar); }); } @@ -551,11 +553,11 @@ describe('dates', function() { expectedCoptic = v[2]; // tickround is irrelevant here... - expect(Lib.formatDate(ms, fmt, 'y')) + expect(Lib.formatDate(ms, fmt, 'y', utcFormat)) .toBe(expectedGregorian, fmt); - expect(Lib.formatDate(ms, fmt, 4, 'gregorian')) + expect(Lib.formatDate(ms, fmt, 4, utcFormat, 'gregorian')) .toBe(expectedGregorian, fmt); - expect(Lib.formatDate(ms, fmt, 'y', 'coptic')) + expect(Lib.formatDate(ms, fmt, 'y', utcFormat, 'coptic')) .toBe(expectedCoptic, fmt); }); }); @@ -588,25 +590,25 @@ describe('dates', function() { ]); // and using the custom format machinery - expect(Lib.formatDate(-0.1, '%Y-%m-%d %H:%M:%S.%f')) + expect(Lib.formatDate(-0.1, '%Y-%m-%d %H:%M:%S.%f', null, utcFormat)) .toBe('1969-12-31 23:59:59.9999'); - expect(Lib.formatDate(-0.1, '%Y-%m-%d %H:%M:%S.%f', null, 'coptic')) + expect(Lib.formatDate(-0.1, '%Y-%m-%d %H:%M:%S.%f', null, utcFormat, 'coptic')) .toBe('1686-04-22 23:59:59.9999'); }); it('should remove extra fractional second zeros', function() { - expect(Lib.formatDate(0.1, '', 4)).toBe('00:00:00.0001\nJan 1, 1970'); - expect(Lib.formatDate(0.1, '', 3)).toBe('00:00:00\nJan 1, 1970'); - expect(Lib.formatDate(0.1, '', 0)).toBe('00:00:00\nJan 1, 1970'); - expect(Lib.formatDate(0.1, '', 'S')).toBe('00:00:00\nJan 1, 1970'); - expect(Lib.formatDate(0.1, '', 3, 'coptic')) + expect(Lib.formatDate(0.1, '', 4, utcFormat)).toBe('00:00:00.0001\nJan 1, 1970'); + expect(Lib.formatDate(0.1, '', 3, utcFormat)).toBe('00:00:00\nJan 1, 1970'); + expect(Lib.formatDate(0.1, '', 0, utcFormat)).toBe('00:00:00\nJan 1, 1970'); + expect(Lib.formatDate(0.1, '', 'S', utcFormat)).toBe('00:00:00\nJan 1, 1970'); + expect(Lib.formatDate(0.1, '', 3, utcFormat, 'coptic')) .toBe('00:00:00\nKoi 23, 1686'); // because the decimal point is explicitly part of the format // string here, we can't remove it OR the very first zero after it. - expect(Lib.formatDate(0.1, '%S.%f')).toBe('00.0001'); - expect(Lib.formatDate(0.1, '%S.%3f')).toBe('00.0'); + expect(Lib.formatDate(0.1, '%S.%f', null, utcFormat)).toBe('00.0001'); + expect(Lib.formatDate(0.1, '%S.%3f', null, utcFormat)).toBe('00.0'); }); }); diff --git a/test/jasmine/tests/localize_test.js b/test/jasmine/tests/localize_test.js index 4d1989a65e7..58cef3e9622 100644 --- a/test/jasmine/tests/localize_test.js +++ b/test/jasmine/tests/localize_test.js @@ -1,6 +1,8 @@ var Lib = require('@src/lib'); var _ = Lib._; -var registry = require('@src/registry'); +var Registry = require('@src/registry'); + +var d3 = require('d3'); var Plotly = require('@lib'); var createGraphDiv = require('../assets/create_graph_div'); @@ -12,96 +14,218 @@ describe('localization', function() { var gd; var preregisteredDicts; + var preregisteredFormats; beforeEach(function() { gd = createGraphDiv(); // empty out any dictionaries we might register by default - preregisteredDicts = registry.localeRegistry; - registry.localeRegistry = {}; + preregisteredDicts = Registry.localeRegistry; + Registry.localeRegistry = {}; + + // we always need `en` format as it's the fallback + preregisteredFormats = Registry.formatRegistry; + Registry.formatRegistry = {en: preregisteredFormats.en}; }); afterEach(function() { destroyGraphDiv(); - registry.localeRegistry = preregisteredDicts; + Registry.localeRegistry = preregisteredDicts; + Registry.formatRegistry = preregisteredFormats; }); - function plot(locale, dicts) { + function plot(locale, dicts, formats) { var config = {}; if(locale) config.locale = locale; if(dicts) config.dictionaries = dicts; + if(formats) config.formats = formats; + + return Plotly.newPlot(gd, [{x: ['2001-01-01', '2002-01-01'], y: [0.5, 3.5]}], {}, config); + } + + function firstXLabel() { + return d3.select(gd).select('.xtick').text(); + } - return Plotly.newPlot(gd, [{y: [1, 2]}], {}, config); + function firstYLabel() { + return d3.select(gd).select('.ytick').text(); } - it('uses the input string if no dictionaries are provided', function(done) { + var monthNums = ['!1', '!2', '!3', '!4', '!5', '!6', '!7', '!8', '!9', '!10', '!11', '!12']; + var monthLetters = ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd']; + var dayLetters = ['s', 'm', 't', 'w', 't', 'f', 's']; + + it('uses the input string and standard formats if no locales are provided', function(done) { plot() .then(function() { ['a', 'list of', 'Test strings 234!!!'].forEach(function(s) { expect(_(gd, s)).toBe(s); }); + expect(firstXLabel()).toBe('Jan 2001'); + expect(firstYLabel()).toBe('0.5'); }) .catch(failTest) .then(done); }); it('uses the region first, then language (registered case)', function(done) { - plot('en-AU') + plot('eg-AU') .then(function() { expect(_(gd, 'dollar')).toBe('dollar'); // "en-GB" is registered first, so it gets copied into the base "en" - Plotly.register({moduleType: 'locale', name: 'en-GB', dictionary: {dollar: 'pound'}}); - Plotly.register({moduleType: 'locale', name: 'en-US', dictionary: {dollar: 'greenback', cent: 'penny'}}); + Plotly.register({ + moduleType: 'locale', + name: 'eg-GB', + dictionary: {dollar: 'pound'}, + format: {decimal: 'D'} + }); + Plotly.register({ + moduleType: 'locale', + name: 'eg-US', + dictionary: {dollar: 'greenback', cent: 'penny'}, + format: {decimal: 'P', shortMonths: monthNums} + }); expect(_(gd, 'dollar')).toBe('pound'); // copying to the base happens at the dictionary level, so items missing // from the first dictionary will not be picked up from later ones expect(_(gd, 'cent')).toBe('cent'); - // "en-AU" is exactly what we're looking for. - Plotly.register({moduleType: 'locale', name: 'en-AU', dictionary: {dollar: 'dollah'}}); + // formatting changes need a redraw + expect(firstXLabel()).toBe('Jan 2001'); + expect(firstYLabel()).toBe('0.5'); + Plotly.redraw(gd); + expect(firstXLabel()).toBe('Jan 2001'); + expect(firstYLabel()).toBe('0D5'); + + // "eg-AU" is exactly what we're looking for. + Plotly.register({ + moduleType: 'locale', + name: 'eg-AU', + dictionary: {dollar: 'dollah'}, + format: {decimal: '~', shortMonths: monthNums} + }); expect(_(gd, 'dollar')).toBe('dollah'); expect(_(gd, 'cent')).toBe('cent'); + + Plotly.redraw(gd); + expect(firstXLabel()).toBe('!1 2001'); + expect(firstYLabel()).toBe('0~5'); }) .catch(failTest) .then(done); }); it('gives higher precedence to region than context vs registered', function(done) { - // four dictionaries, highest to lowest priority - // hopefully nobody will supply this many conflicting dictionaries, but + // four locales, highest to lowest priority + // hopefully nobody will supply this many conflicting locales, but // if they do, this is what should happen! var ctx_fr_QC = { - a: 'a-ctx-QC' + dictionary: {a: 'a-ctx-QC'}, + format: {decimal: '~'} }; - Plotly.register({moduleType: 'locale', name: 'fr-QC', dictionary: { - a: 'a-reg-QC', b: 'b-reg-QC' - }}); + Plotly.register({ + moduleType: 'locale', + name: 'fr-QC', + dictionary: {a: 'a-reg-QC', b: 'b-reg-QC'}, + format: {decimal: 'X', thousands: '@'} + }); var ctx_fr = { - a: 'a-ctx', b: 'b-ctx', c: 'c-ctx' + dictionary: {a: 'a-ctx', b: 'b-ctx', c: 'c-ctx'}, + format: {decimal: 'X', thousands: 'X', shortMonths: monthNums} }; - Plotly.register({moduleType: 'locale', name: 'fr', dictionary: { - a: 'a-reg', b: 'b-reg', c: 'c-reg', d: 'd-reg' - }}); - - plot('fr-QC', {fr: ctx_fr, 'fr-QC': ctx_fr_QC}) + Plotly.register({ + moduleType: 'locale', + name: 'fr', + dictionary: {a: 'a-reg', b: 'b-reg', c: 'c-reg', d: 'd-reg'}, + format: {decimal: 'X', thousands: 'X', shortMonths: monthLetters, shortDays: dayLetters} + }); + + plot('fr-QC', + {fr: ctx_fr.dictionary, 'fr-QC': ctx_fr_QC.dictionary}, + {fr: ctx_fr.format, 'fr-QC': ctx_fr_QC.format} + ) .then(function() { expect(_(gd, 'a')).toBe('a-ctx-QC'); expect(_(gd, 'b')).toBe('b-reg-QC'); expect(_(gd, 'c')).toBe('c-ctx'); expect(_(gd, 'd')).toBe('d-reg'); expect(_(gd, 'e')).toBe('e'); + + expect(gd._fullLayout.separators).toBe('~@'); + expect(firstXLabel()).toBe('!1 2001'); + expect(firstYLabel()).toBe('0~5'); + var d0 = new Date(0); // thursday, Jan 1 1970 (UTC) + // sanity check that d0 is what we think... + expect(d3.time.format.utc('%a %b %A %B')(d0)).toBe('Thu Jan Thursday January'); + // full names were not overridden, so fall back on english + expect(gd._fullLayout.xaxis._dateFormat('%a %b %A %B')(d0)).toBe('t !1 Thursday January'); }) .catch(failTest) .then(done); }); - it('does not generate an automatic base language dictionary in context', function(done) { - plot('fr', {'fr-QC': {fries: 'poutine'}}) + it('does not generate an automatic base locale in context', function(done) { + plot('fr', {'fr-QC': {fries: 'poutine'}}, {'fr-QC': {decimal: '^', shortMonths: monthNums}}) .then(function() { expect(_(gd, 'fries')).toBe('fries'); + expect(firstXLabel()).toBe('Jan 2001'); + expect(firstYLabel()).toBe('0.5'); + }) + .catch(failTest) + .then(done); + }); + + it('allows registering dictionary and format separately without overwriting the other', function() { + expect(Registry.localeRegistry.es).toBeUndefined(); + expect(Registry.formatRegistry.es).toBeUndefined(); + + var d1 = {I: 'Yo'}; + var f1 = {decimal: 'ñ'}; + var d2 = {You: 'Tú'}; + var f2 = {thousands: '¿'}; + + Plotly.register({ + moduleType: 'locale', + name: 'es', + dictionary: d1, + format: f1 + }); + + expect(Registry.localeRegistry.es).toBe(d1); + expect(Registry.formatRegistry.es).toBe(f1); + + Plotly.register({ + moduleType: 'locale', + name: 'es', + dictionary: d2 + }); + + expect(Registry.localeRegistry.es).toBe(d2); + expect(Registry.formatRegistry.es).toBe(f1); + + Plotly.register({ + moduleType: 'locale', + name: 'es', + format: f2 + }); + + expect(Registry.localeRegistry.es).toBe(d2); + expect(Registry.formatRegistry.es).toBe(f2); + }); + + it('uses number format for default but still supports explicit layout.separators', function(done) { + plot('da', null, {da: {decimal: 'D', thousands: 'T'}}) + .then(function() { + expect(firstYLabel()).toBe('0D5'); + expect(gd._fullLayout.separators).toBe('DT'); + + return Plotly.relayout(gd, {separators: 'p#'}); + }) + .then(function() { + expect(firstYLabel()).toBe('0p5'); }) .catch(failTest) .then(done); diff --git a/test/jasmine/tests/plots_test.js b/test/jasmine/tests/plots_test.js index b6f31cab997..3b36ed99057 100644 --- a/test/jasmine/tests/plots_test.js +++ b/test/jasmine/tests/plots_test.js @@ -160,11 +160,13 @@ describe('Test Plots', function() { layoutOut, expected; + var formatObj = require('@lib/locale-en').format; + function supplyLayoutDefaults(layoutIn, layoutOut) { layoutOut._dfltTitle = { plot: 'ppplot' }; - return Plots.supplyLayoutGlobalDefaults(layoutIn, layoutOut); + return Plots.supplyLayoutGlobalDefaults(layoutIn, layoutOut, formatObj); } beforeEach(function() { From fe812eb611e6225215e1acd49e3ae9cf289af752 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 14 Dec 2017 22:47:56 -0500 Subject: [PATCH 02/11] pull in all locales existing in world-calendars --- dist/plotly-locale-af.js | 1 + dist/plotly-locale-am.js | 1 + dist/plotly-locale-ar-dz.js | 1 + dist/plotly-locale-ar-eg.js | 1 + dist/plotly-locale-ar.js | 1 + dist/plotly-locale-az.js | 1 + dist/plotly-locale-bg.js | 1 + dist/plotly-locale-bs.js | 1 + dist/plotly-locale-ca.js | 1 + dist/plotly-locale-cs.js | 1 + dist/plotly-locale-da.js | 1 + dist/plotly-locale-de-ch.js | 1 + dist/plotly-locale-de.js | 1 + dist/plotly-locale-el.js | 1 + dist/plotly-locale-en-us.js | 2 +- dist/plotly-locale-en.js | 2 +- dist/plotly-locale-eo.js | 1 + dist/plotly-locale-es-ar.js | 1 + dist/plotly-locale-es-pe.js | 1 + dist/plotly-locale-es.js | 1 + dist/plotly-locale-et.js | 1 + dist/plotly-locale-eu.js | 1 + dist/plotly-locale-fa.js | 1 + dist/plotly-locale-fi.js | 1 + dist/plotly-locale-fo.js | 1 + dist/plotly-locale-fr-ch.js | 1 + dist/plotly-locale-fr.js | 1 + dist/plotly-locale-gl.js | 1 + dist/plotly-locale-gu.js | 1 + dist/plotly-locale-he.js | 1 + dist/plotly-locale-hi-in.js | 1 + dist/plotly-locale-hr.js | 1 + dist/plotly-locale-hu.js | 1 + dist/plotly-locale-hy.js | 1 + dist/plotly-locale-id.js | 1 + dist/plotly-locale-is.js | 1 + dist/plotly-locale-it.js | 1 + dist/plotly-locale-ja.js | 1 + dist/plotly-locale-ka.js | 1 + dist/plotly-locale-km.js | 1 + dist/plotly-locale-ko.js | 1 + dist/plotly-locale-lt.js | 1 + dist/plotly-locale-lv.js | 1 + dist/plotly-locale-me-me.js | 1 + dist/plotly-locale-me.js | 1 + dist/plotly-locale-mk.js | 1 + dist/plotly-locale-ml.js | 1 + dist/plotly-locale-ms.js | 1 + dist/plotly-locale-mt.js | 1 + dist/plotly-locale-nl-be.js | 1 + dist/plotly-locale-nl.js | 1 + dist/plotly-locale-no.js | 1 + dist/plotly-locale-pa.js | 1 + dist/plotly-locale-pl.js | 1 + dist/plotly-locale-pt-br.js | 1 + dist/plotly-locale-rm.js | 1 + dist/plotly-locale-ro.js | 1 + dist/plotly-locale-ru.js | 1 + dist/plotly-locale-sk.js | 1 + dist/plotly-locale-sl.js | 1 + dist/plotly-locale-sq.js | 1 + dist/plotly-locale-sr-sr.js | 1 + dist/plotly-locale-sr.js | 1 + dist/plotly-locale-sv.js | 1 + dist/plotly-locale-ta.js | 1 + dist/plotly-locale-th.js | 1 + dist/plotly-locale-tr.js | 1 + dist/plotly-locale-tt.js | 1 + dist/plotly-locale-uk.js | 1 + dist/plotly-locale-ur.js | 1 + dist/plotly-locale-vi.js | 1 + dist/plotly-locale-zh-cn.js | 1 + dist/plotly-locale-zh-hk.js | 1 + dist/plotly-locale-zh-tw.js | 1 + lib/locale-af.js | 31 +++++++ lib/locale-am.js | 28 ++++++ lib/locale-ar-dz.js | 28 ++++++ lib/locale-ar-eg.js | 25 ++++++ lib/locale-ar.js | 28 ++++++ lib/locale-az.js | 31 +++++++ lib/locale-bg.js | 28 ++++++ lib/locale-bs.js | 31 +++++++ lib/locale-ca.js | 31 +++++++ lib/locale-cs.js | 28 ++++++ lib/locale-da.js | 28 ++++++ lib/locale-de-ch.js | 31 +++++++ lib/locale-de.js | 31 +++++++ lib/locale-el.js | 28 ++++++ lib/locale-eo.js | 28 ++++++ lib/locale-es-ar.js | 28 ++++++ lib/locale-es-pe.js | 28 ++++++ lib/locale-es.js | 28 ++++++ lib/locale-et.js | 31 +++++++ lib/locale-eu.js | 31 +++++++ lib/locale-fa.js | 25 ++++++ lib/locale-fi.js | 31 +++++++ lib/locale-fo.js | 31 +++++++ lib/locale-fr-ch.js | 28 ++++++ lib/locale-fr.js | 28 ++++++ lib/locale-gl.js | 28 ++++++ lib/locale-gu.js | 28 ++++++ lib/locale-he.js | 25 ++++++ lib/locale-hi-in.js | 28 ++++++ lib/locale-hr.js | 31 +++++++ lib/locale-hu.js | 28 ++++++ lib/locale-hy.js | 31 +++++++ lib/locale-id.js | 28 ++++++ lib/locale-is.js | 31 +++++++ lib/locale-it.js | 31 +++++++ lib/locale-ja.js | 28 ++++++ lib/locale-ka.js | 31 +++++++ lib/locale-km.js | 31 +++++++ lib/locale-ko.js | 28 ++++++ lib/locale-lt.js | 31 +++++++ lib/locale-lv.js | 31 +++++++ lib/locale-me-me.js | 31 +++++++ lib/locale-me.js | 28 ++++++ lib/locale-mk.js | 28 ++++++ lib/locale-ml.js | 28 ++++++ lib/locale-ms.js | 28 ++++++ lib/locale-mt.js | 31 +++++++ lib/locale-nl-be.js | 31 +++++++ lib/locale-nl.js | 31 +++++++ lib/locale-no.js | 28 ++++++ lib/locale-pa.js | 31 +++++++ lib/locale-pl.js | 31 +++++++ lib/locale-pt-br.js | 31 +++++++ lib/locale-rm.js | 31 +++++++ lib/locale-ro.js | 28 ++++++ lib/locale-ru.js | 31 +++++++ lib/locale-sk.js | 28 ++++++ lib/locale-sl.js | 28 ++++++ lib/locale-sq.js | 31 +++++++ lib/locale-sr-sr.js | 28 ++++++ lib/locale-sr.js | 28 ++++++ lib/locale-sv.js | 28 ++++++ lib/locale-ta.js | 31 +++++++ lib/locale-th.js | 28 ++++++ lib/locale-tr.js | 28 ++++++ lib/locale-tt.js | 31 +++++++ lib/locale-uk.js | 31 +++++++ lib/locale-ur.js | 25 ++++++ lib/locale-vi.js | 38 ++++++++ lib/locale-zh-cn.js | 22 +++++ lib/locale-zh-hk.js | 22 +++++ lib/locale-zh-tw.js | 22 +++++ tasks/pull_date_format.js | 169 ++++++++++++++++++++++++++++++++++++ 147 files changed, 2332 insertions(+), 2 deletions(-) create mode 100644 dist/plotly-locale-af.js create mode 100644 dist/plotly-locale-am.js create mode 100644 dist/plotly-locale-ar-dz.js create mode 100644 dist/plotly-locale-ar-eg.js create mode 100644 dist/plotly-locale-ar.js create mode 100644 dist/plotly-locale-az.js create mode 100644 dist/plotly-locale-bg.js create mode 100644 dist/plotly-locale-bs.js create mode 100644 dist/plotly-locale-ca.js create mode 100644 dist/plotly-locale-cs.js create mode 100644 dist/plotly-locale-da.js create mode 100644 dist/plotly-locale-de-ch.js create mode 100644 dist/plotly-locale-de.js create mode 100644 dist/plotly-locale-el.js create mode 100644 dist/plotly-locale-eo.js create mode 100644 dist/plotly-locale-es-ar.js create mode 100644 dist/plotly-locale-es-pe.js create mode 100644 dist/plotly-locale-es.js create mode 100644 dist/plotly-locale-et.js create mode 100644 dist/plotly-locale-eu.js create mode 100644 dist/plotly-locale-fa.js create mode 100644 dist/plotly-locale-fi.js create mode 100644 dist/plotly-locale-fo.js create mode 100644 dist/plotly-locale-fr-ch.js create mode 100644 dist/plotly-locale-fr.js create mode 100644 dist/plotly-locale-gl.js create mode 100644 dist/plotly-locale-gu.js create mode 100644 dist/plotly-locale-he.js create mode 100644 dist/plotly-locale-hi-in.js create mode 100644 dist/plotly-locale-hr.js create mode 100644 dist/plotly-locale-hu.js create mode 100644 dist/plotly-locale-hy.js create mode 100644 dist/plotly-locale-id.js create mode 100644 dist/plotly-locale-is.js create mode 100644 dist/plotly-locale-it.js create mode 100644 dist/plotly-locale-ja.js create mode 100644 dist/plotly-locale-ka.js create mode 100644 dist/plotly-locale-km.js create mode 100644 dist/plotly-locale-ko.js create mode 100644 dist/plotly-locale-lt.js create mode 100644 dist/plotly-locale-lv.js create mode 100644 dist/plotly-locale-me-me.js create mode 100644 dist/plotly-locale-me.js create mode 100644 dist/plotly-locale-mk.js create mode 100644 dist/plotly-locale-ml.js create mode 100644 dist/plotly-locale-ms.js create mode 100644 dist/plotly-locale-mt.js create mode 100644 dist/plotly-locale-nl-be.js create mode 100644 dist/plotly-locale-nl.js create mode 100644 dist/plotly-locale-no.js create mode 100644 dist/plotly-locale-pa.js create mode 100644 dist/plotly-locale-pl.js create mode 100644 dist/plotly-locale-pt-br.js create mode 100644 dist/plotly-locale-rm.js create mode 100644 dist/plotly-locale-ro.js create mode 100644 dist/plotly-locale-ru.js create mode 100644 dist/plotly-locale-sk.js create mode 100644 dist/plotly-locale-sl.js create mode 100644 dist/plotly-locale-sq.js create mode 100644 dist/plotly-locale-sr-sr.js create mode 100644 dist/plotly-locale-sr.js create mode 100644 dist/plotly-locale-sv.js create mode 100644 dist/plotly-locale-ta.js create mode 100644 dist/plotly-locale-th.js create mode 100644 dist/plotly-locale-tr.js create mode 100644 dist/plotly-locale-tt.js create mode 100644 dist/plotly-locale-uk.js create mode 100644 dist/plotly-locale-ur.js create mode 100644 dist/plotly-locale-vi.js create mode 100644 dist/plotly-locale-zh-cn.js create mode 100644 dist/plotly-locale-zh-hk.js create mode 100644 dist/plotly-locale-zh-tw.js create mode 100644 lib/locale-af.js create mode 100644 lib/locale-am.js create mode 100644 lib/locale-ar-dz.js create mode 100644 lib/locale-ar-eg.js create mode 100644 lib/locale-ar.js create mode 100644 lib/locale-az.js create mode 100644 lib/locale-bg.js create mode 100644 lib/locale-bs.js create mode 100644 lib/locale-ca.js create mode 100644 lib/locale-cs.js create mode 100644 lib/locale-da.js create mode 100644 lib/locale-de-ch.js create mode 100644 lib/locale-de.js create mode 100644 lib/locale-el.js create mode 100644 lib/locale-eo.js create mode 100644 lib/locale-es-ar.js create mode 100644 lib/locale-es-pe.js create mode 100644 lib/locale-es.js create mode 100644 lib/locale-et.js create mode 100644 lib/locale-eu.js create mode 100644 lib/locale-fa.js create mode 100644 lib/locale-fi.js create mode 100644 lib/locale-fo.js create mode 100644 lib/locale-fr-ch.js create mode 100644 lib/locale-fr.js create mode 100644 lib/locale-gl.js create mode 100644 lib/locale-gu.js create mode 100644 lib/locale-he.js create mode 100644 lib/locale-hi-in.js create mode 100644 lib/locale-hr.js create mode 100644 lib/locale-hu.js create mode 100644 lib/locale-hy.js create mode 100644 lib/locale-id.js create mode 100644 lib/locale-is.js create mode 100644 lib/locale-it.js create mode 100644 lib/locale-ja.js create mode 100644 lib/locale-ka.js create mode 100644 lib/locale-km.js create mode 100644 lib/locale-ko.js create mode 100644 lib/locale-lt.js create mode 100644 lib/locale-lv.js create mode 100644 lib/locale-me-me.js create mode 100644 lib/locale-me.js create mode 100644 lib/locale-mk.js create mode 100644 lib/locale-ml.js create mode 100644 lib/locale-ms.js create mode 100644 lib/locale-mt.js create mode 100644 lib/locale-nl-be.js create mode 100644 lib/locale-nl.js create mode 100644 lib/locale-no.js create mode 100644 lib/locale-pa.js create mode 100644 lib/locale-pl.js create mode 100644 lib/locale-pt-br.js create mode 100644 lib/locale-rm.js create mode 100644 lib/locale-ro.js create mode 100644 lib/locale-ru.js create mode 100644 lib/locale-sk.js create mode 100644 lib/locale-sl.js create mode 100644 lib/locale-sq.js create mode 100644 lib/locale-sr-sr.js create mode 100644 lib/locale-sr.js create mode 100644 lib/locale-sv.js create mode 100644 lib/locale-ta.js create mode 100644 lib/locale-th.js create mode 100644 lib/locale-tr.js create mode 100644 lib/locale-tt.js create mode 100644 lib/locale-uk.js create mode 100644 lib/locale-ur.js create mode 100644 lib/locale-vi.js create mode 100644 lib/locale-zh-cn.js create mode 100644 lib/locale-zh-hk.js create mode 100644 lib/locale-zh-tw.js create mode 100644 tasks/pull_date_format.js diff --git a/dist/plotly-locale-af.js b/dist/plotly-locale-af.js new file mode 100644 index 00000000000..ffe1997ff17 --- /dev/null +++ b/dist/plotly-locale-af.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"af",dictionary:{},format:{days:["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],shortDays:["Son","Maan","Dins","Woens","Don","Vry","Sat"],months:["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember"],shortMonths:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-am.js b/dist/plotly-locale-am.js new file mode 100644 index 00000000000..b86fb9eb0f8 --- /dev/null +++ b/dist/plotly-locale-am.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"am",dictionary:{},format:{days:["\u1230\u1295\u12f4\u12ed","\u1218\u1295\u12f4\u12ed","\u1275\u12e9\u1235\u12f4\u12ed","\u12cc\u1295\u1235\u12f4\u12ed","\u1270\u122d\u1230\u12f4\u12ed","\u134d\u122b\u12ed\u12f4\u12ed","\u1233\u1270\u122d\u12f4\u12ed"],shortDays:["\u1230\u1295\u12f4","\u1218\u1295\u12f4","\u1275\u12e9\u1235","\u12cc\u1295\u1235","\u1270\u122d\u1230","\u134d\u122b\u12ed","\u1233\u1270\u122d"],months:["\u1303\u1295\u12cb\u122a","\u1348\u1265\u122d\u12cb\u122a","\u121b\u122d\u127d","\u12a0\u1355\u122a\u120d","\u121c\u12ed","\u1301\u1295","\u1301\u120b\u12ed","\u12a6\u1308\u1235\u1275","\u1234\u1355\u1274\u121d\u1260\u122d","\u12a6\u12ad\u1276\u1260\u122d","\u1296\u126c\u121d\u1260\u122d","\u12f2\u1234\u121d\u1260\u122d"],shortMonths:["\u1303\u1295\u12cb","\u1348\u1265\u122d","\u121b\u122d\u127d","\u12a0\u1355\u122a","\u121c\u12ed","\u1301\u1295","\u1301\u120b\u12ed","\u12a6\u1308\u1235","\u1234\u1355\u1274","\u12a6\u12ad\u1276","\u1296\u126c\u121d","\u12f2\u1234\u121d"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ar-dz.js b/dist/plotly-locale-ar-dz.js new file mode 100644 index 00000000000..207dcc555a8 --- /dev/null +++ b/dist/plotly-locale-ar-dz.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ar-DZ",dictionary:{},format:{days:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],shortDays:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],months:["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ar-eg.js b/dist/plotly-locale-ar-eg.js new file mode 100644 index 00000000000..a35e66cb1d3 --- /dev/null +++ b/dist/plotly-locale-ar-eg.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ar-EG",dictionary:{},format:{days:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],shortDays:["\u0623\u062d\u062f","\u0627\u062b\u0646\u064a\u0646","\u062b\u0644\u0627\u062b\u0627\u0621","\u0623\u0631\u0628\u0639\u0627\u0621","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639\u0629","\u0633\u0628\u062a"],months:["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0625\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0629","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ar.js b/dist/plotly-locale-ar.js new file mode 100644 index 00000000000..5ff10426f8f --- /dev/null +++ b/dist/plotly-locale-ar.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ar",dictionary:{},format:{days:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],shortDays:["\u0627\u0644\u0623\u062d\u062f","\u0627\u0644\u0627\u062b\u0646\u064a\u0646","\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","\u0627\u0644\u062e\u0645\u064a\u0633","\u0627\u0644\u062c\u0645\u0639\u0629","\u0627\u0644\u0633\u0628\u062a"],months:["\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a","\u0634\u0628\u0627\u0637","\u0622\u0630\u0627\u0631","\u0646\u064a\u0633\u0627\u0646","\u0622\u0630\u0627\u0631","\u062d\u0632\u064a\u0631\u0627\u0646","\u062a\u0645\u0648\u0632","\u0622\u0628","\u0623\u064a\u0644\u0648\u0644","\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644","\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a","\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-az.js b/dist/plotly-locale-az.js new file mode 100644 index 00000000000..b404f009025 --- /dev/null +++ b/dist/plotly-locale-az.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"az",dictionary:{},format:{days:["Bazar","Bazar ert\u0259si","\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131","\xc7\u0259r\u015f\u0259nb\u0259","C\xfcm\u0259 ax\u015fam\u0131","C\xfcm\u0259","\u015e\u0259nb\u0259"],shortDays:["B","Be","\xc7a","\xc7","Ca","C","\u015e"],months:["Yanvar","Fevral","Mart","Aprel","May","\u0130yun","\u0130yul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],shortMonths:["Yan","Fev","Mar","Apr","May","\u0130yun","\u0130yul","Avq","Sen","Okt","Noy","Dek"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-bg.js b/dist/plotly-locale-bg.js new file mode 100644 index 00000000000..b9026b0bae8 --- /dev/null +++ b/dist/plotly-locale-bg.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"bg",dictionary:{},format:{days:["\u041d\u0435\u0434\u0435\u043b\u044f","\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a","\u0412\u0442\u043e\u0440\u043d\u0438\u043a","\u0421\u0440\u044f\u0434\u0430","\u0427\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a","\u041f\u0435\u0442\u044a\u043a","\u0421\u044a\u0431\u043e\u0442\u0430"],shortDays:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0412\u0442\u043e","\u0421\u0440\u044f","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u044a\u0431"],months:["\u042f\u043d\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0439","\u042e\u043d\u0438","\u042e\u043b\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438","\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438","\u041d\u043e\u0435\u043c\u0432\u0440\u0438","\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438"],shortMonths:["\u042f\u043d\u0443","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u042e\u043d\u0438","\u042e\u043b\u0438","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u043a"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-bs.js b/dist/plotly-locale-bs.js new file mode 100644 index 00000000000..2264f8e9361 --- /dev/null +++ b/dist/plotly-locale-bs.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"bs",dictionary:{},format:{days:["Nedelja","Ponedeljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],shortDays:["Ned","Pon","Uto","Sri","\u010cet","Pet","Sub"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ca.js b/dist/plotly-locale-ca.js new file mode 100644 index 00000000000..ab8cbc89845 --- /dev/null +++ b/dist/plotly-locale-ca.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ca",dictionary:{},format:{days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],shortDays:["Dug","Dln","Dmt","Dmc","Djs","Dvn","Dsb"],months:["Gener","Febrer","Mar\xe7","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],shortMonths:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-cs.js b/dist/plotly-locale-cs.js new file mode 100644 index 00000000000..ab522dfc36b --- /dev/null +++ b/dist/plotly-locale-cs.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"cs",dictionary:{},format:{days:["ned\u011ble","pond\u011bl\xed","\xfater\xfd","st\u0159eda","\u010dtvrtek","p\xe1tek","sobota"],shortDays:["ne","po","\xfat","st","\u010dt","p\xe1","so"],months:["leden","\xfanor","b\u0159ezen","duben","kv\u011bten","\u010derven","\u010dervenec","srpen","z\xe1\u0159\xed","\u0159\xedjen","listopad","prosinec"],shortMonths:["led","\xfano","b\u0159e","dub","kv\u011b","\u010der","\u010dvc","srp","z\xe1\u0159","\u0159\xedj","lis","pro"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-da.js b/dist/plotly-locale-da.js new file mode 100644 index 00000000000..67332babb37 --- /dev/null +++ b/dist/plotly-locale-da.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"da",dictionary:{},format:{days:["S\xf8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xf8rdag"],shortDays:["S\xf8n","Man","Tir","Ons","Tor","Fre","L\xf8r"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],date:"%d-%m-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-de-ch.js b/dist/plotly-locale-de-ch.js new file mode 100644 index 00000000000..f86362d3cb5 --- /dev/null +++ b/dist/plotly-locale-de-ch.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"de-CH",dictionary:{},format:{days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","M\xe4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","M\xe4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-de.js b/dist/plotly-locale-de.js new file mode 100644 index 00000000000..5f8e8407cbb --- /dev/null +++ b/dist/plotly-locale-de.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"de",dictionary:{},format:{days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","M\xe4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","M\xe4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-el.js b/dist/plotly-locale-el.js new file mode 100644 index 00000000000..e8dd7130859 --- /dev/null +++ b/dist/plotly-locale-el.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"el",dictionary:{},format:{days:["\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae","\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1","\u03a4\u03c1\u03af\u03c4\u03b7","\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7","\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7","\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae","\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"],shortDays:["\u039a\u03c5\u03c1","\u0394\u03b5\u03c5","\u03a4\u03c1\u03b9","\u03a4\u03b5\u03c4","\u03a0\u03b5\u03bc","\u03a0\u03b1\u03c1","\u03a3\u03b1\u03b2"],months:["\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2","\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2","\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2","\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2","\u039c\u03ac\u03b9\u03bf\u03c2","\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2","\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2","\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2","\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2","\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2","\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2","\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2"],shortMonths:["\u0399\u03b1\u03bd","\u03a6\u03b5\u03b2","\u039c\u03b1\u03c1","\u0391\u03c0\u03c1","\u039c\u03b1\u03b9","\u0399\u03bf\u03c5\u03bd","\u0399\u03bf\u03c5\u03bb","\u0391\u03c5\u03b3","\u03a3\u03b5\u03c0","\u039f\u03ba\u03c4","\u039d\u03bf\u03b5","\u0394\u03b5\u03ba"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-en-us.js b/dist/plotly-locale-en-us.js index b091f1616d2..77919824099 100644 --- a/dist/plotly-locale-en-us.js +++ b/dist/plotly-locale-en-us.js @@ -1 +1 @@ -Plotly.register({moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"}}); \ No newline at end of file +Plotly.register({moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-en.js b/dist/plotly-locale-en.js index 17c53abca69..098395c9786 100644 --- a/dist/plotly-locale-en.js +++ b/dist/plotly-locale-en.js @@ -1 +1 @@ -Plotly.register({moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"}}); \ No newline at end of file +Plotly.register({moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"],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"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""]}}); \ No newline at end of file diff --git a/dist/plotly-locale-eo.js b/dist/plotly-locale-eo.js new file mode 100644 index 00000000000..362c571253e --- /dev/null +++ b/dist/plotly-locale-eo.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"eo",dictionary:{},format:{days:["Diman\u0109o","Lundo","Mardo","Merkredo","\u0134a\u016ddo","Vendredo","Sabato"],shortDays:["Dim","Lun","Mar","Mer","\u0134a\u016d","Ven","Sab"],months:["Januaro","Februaro","Marto","Aprilo","Majo","Junio","Julio","A\u016dgusto","Septembro","Oktobro","Novembro","Decembro"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","A\u016dg","Sep","Okt","Nov","Dec"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-es-ar.js b/dist/plotly-locale-es-ar.js new file mode 100644 index 00000000000..ab35da45e38 --- /dev/null +++ b/dist/plotly-locale-es-ar.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"es-AR",dictionary:{},format:{days:["Domingo","Lunes","Martes","Mi\xe9rcoles","Jueves","Viernes","S\xe1bado"],shortDays:["Dom","Lun","Mar","Mi\xe9","Juv","Vie","S\xe1b"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-es-pe.js b/dist/plotly-locale-es-pe.js new file mode 100644 index 00000000000..ce1ddfa24b8 --- /dev/null +++ b/dist/plotly-locale-es-pe.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"es-PE",dictionary:{},format:{days:["Domingo","Lunes","Martes","Mi\xe9rcoles","Jueves","Viernes","S\xe1bado"],shortDays:["Dom","Lun","Mar","Mi\xe9","Jue","Vie","Sab"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-es.js b/dist/plotly-locale-es.js new file mode 100644 index 00000000000..9b5a4ec9ac5 --- /dev/null +++ b/dist/plotly-locale-es.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"es",dictionary:{},format:{days:["Domingo","Lunes","Martes","Mi\xe9rcoles","Jueves","Viernes","S\xe1bado"],shortDays:["Dom","Lun","Mar","Mi\xe9","Juv","Vie","S\xe1b"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],shortMonths:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-et.js b/dist/plotly-locale-et.js new file mode 100644 index 00000000000..851dfbba6f7 --- /dev/null +++ b/dist/plotly-locale-et.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"et",dictionary:{},format:{days:["P\xfchap\xe4ev","Esmasp\xe4ev","Teisip\xe4ev","Kolmap\xe4ev","Neljap\xe4ev","Reede","Laup\xe4ev"],shortDays:["P\xfchap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],months:["Jaanuar","Veebruar","M\xe4rts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],shortMonths:["Jaan","Veebr","M\xe4rts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-eu.js b/dist/plotly-locale-eu.js new file mode 100644 index 00000000000..ea1b639d133 --- /dev/null +++ b/dist/plotly-locale-eu.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"eu",dictionary:{},format:{days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],shortDays:["Iga","Ast","Ast","Ast","Ost","Ost","Lar"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],shortMonths:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],date:"%Y/%m/%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-fa.js b/dist/plotly-locale-fa.js new file mode 100644 index 00000000000..212eb36e273 --- /dev/null +++ b/dist/plotly-locale-fa.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"fa",dictionary:{},format:{days:["\u064a\u06a9\u0634\u0646\u0628\u0647","\u062f\u0648\u0634\u0646\u0628\u0647","\u0633\u0647\u200c\u0634\u0646\u0628\u0647","\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647","\u067e\u0646\u062c\u0634\u0646\u0628\u0647","\u062c\u0645\u0639\u0647","\u0634\u0646\u0628\u0647"],shortDays:["\u064a","\u062f","\u0633","\u0686","\u067e","\u062c","\u0634"],months:["\u0641\u0631\u0648\u0631\u062f\u064a\u0646","\u0627\u0631\u062f\u064a\u0628\u0647\u0634\u062a","\u062e\u0631\u062f\u0627\u062f","\u062a\u064a\u0631","\u0645\u0631\u062f\u0627\u062f","\u0634\u0647\u0631\u064a\u0648\u0631","\u0645\u0647\u0631","\u0622\u0628\u0627\u0646","\u0622\u0630\u0631","\u062f\u064a","\u0628\u0647\u0645\u0646","\u0627\u0633\u0641\u0646\u062f"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%Y/%m/%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-fi.js b/dist/plotly-locale-fi.js new file mode 100644 index 00000000000..b7ce5419761 --- /dev/null +++ b/dist/plotly-locale-fi.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"fi",dictionary:{},format:{days:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","Su"],months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kes\xe4kuu","Hein\xe4kuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kes\xe4","Hein\xe4","Elo","Syys","Loka","Marras","Joulu"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-fo.js b/dist/plotly-locale-fo.js new file mode 100644 index 00000000000..428ee3ff9f3 --- /dev/null +++ b/dist/plotly-locale-fo.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"fo",dictionary:{},format:{days:["Sunnudagur","M\xe1nadagur","T\xfdsdagur","Mikudagur","H\xf3sdagur","Fr\xedggjadagur","Leyardagur"],shortDays:["Sun","M\xe1n","T\xfds","Mik","H\xf3s","Fr\xed","Ley"],months:["Januar","Februar","Mars","Apr\xedl","Mei","Juni","Juli","August","September","Oktober","November","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],date:"%d-%m-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-fr-ch.js b/dist/plotly-locale-fr-ch.js new file mode 100644 index 00000000000..e632be05124 --- /dev/null +++ b/dist/plotly-locale-fr-ch.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"fr-CH",dictionary:{},format:{days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],shortDays:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],months:["Janvier","F\xe9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\xfbt","Septembre","Octobre","Novembre","D\xe9cembre"],shortMonths:["Jan","F\xe9v","Mar","Avr","Mai","Jun","Jul","Ao\xfb","Sep","Oct","Nov","D\xe9c"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-fr.js b/dist/plotly-locale-fr.js new file mode 100644 index 00000000000..8e61d3e89ff --- /dev/null +++ b/dist/plotly-locale-fr.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"fr",dictionary:{},format:{days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],shortDays:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],months:["Janvier","F\xe9vrier","Mars","Avril","Mai","Juin","Juillet","Ao\xfbt","Septembre","Octobre","Novembre","D\xe9cembre"],shortMonths:["Jan","F\xe9v","Mar","Avr","Mai","Jun","Jul","Ao\xfb","Sep","Oct","Nov","D\xe9c"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-gl.js b/dist/plotly-locale-gl.js new file mode 100644 index 00000000000..cd2c4a4fd06 --- /dev/null +++ b/dist/plotly-locale-gl.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"gl",dictionary:{},format:{days:["Domingo","Luns","Martes","M\xe9rcores","Xoves","Venres","S\xe1bado"],shortDays:["Dom","Lun","Mar","M\xe9r","Xov","Ven","S\xe1b"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xu\xf1o","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],shortMonths:["Xan","Feb","Mar","Abr","Mai","Xu\xf1","Xul","Ago","Set","Out","Nov","Dec"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-gu.js b/dist/plotly-locale-gu.js new file mode 100644 index 00000000000..ab48b700b75 --- /dev/null +++ b/dist/plotly-locale-gu.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"gu",dictionary:{},format:{days:["\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0","\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0","\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0","\u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0","\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0","\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0","\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0"],shortDays:["\u0ab0\u0ab5\u0abf","\u0ab8\u0acb\u0aae","\u0aae\u0a82\u0a97\u0ab3","\u0aac\u0ac1\u0aa7","\u0a97\u0ac1\u0ab0\u0ac1","\u0ab6\u0ac1\u0a95\u0acd\u0ab0","\u0ab6\u0aa8\u0abf"],months:["\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0","\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0","\u0aae\u0abe\u0ab0\u0acd\u0a9a","\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2","\u0aae\u0ac7","\u0a9c\u0ac2\u0aa8","\u0a9c\u0ac1\u0ab2\u0abe\u0a88","\u0a91\u0a97\u0ab8\u0acd\u0a9f","\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0","\u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0","\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0","\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0"],shortMonths:["\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1","\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1","\u0aae\u0abe\u0ab0\u0acd\u0a9a","\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2","\u0aae\u0ac7","\u0a9c\u0ac2\u0aa8","\u0a9c\u0ac1\u0ab2\u0abe\u0a88","\u0a91\u0a97\u0ab8\u0acd\u0a9f","\u0ab8\u0aaa\u0acd\u0a9f\u0ac7","\u0a91\u0a95\u0acd\u0a9f\u0acb","\u0aa8\u0ab5\u0ac7","\u0aa1\u0abf\u0ab8\u0ac7"],date:"%d-%b-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-he.js b/dist/plotly-locale-he.js new file mode 100644 index 00000000000..cfc4f88a9e5 --- /dev/null +++ b/dist/plotly-locale-he.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"he",dictionary:{},format:{days:["\u05e8\u05d0\u05e9\u05d5\u05df","\u05e9\u05e0\u05d9","\u05e9\u05dc\u05d9\u05e9\u05d9","\u05e8\u05d1\u05d9\u05e2\u05d9","\u05d7\u05de\u05d9\u05e9\u05d9","\u05e9\u05d9\u05e9\u05d9","\u05e9\u05d1\u05ea"],shortDays:["\u05d0'","\u05d1'","\u05d2'","\u05d3'","\u05d4'","\u05d5'","\u05e9\u05d1\u05ea"],months:["\u05d9\u05e0\u05d5\u05d0\u05e8","\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8","\u05de\u05e8\u05e5","\u05d0\u05e4\u05e8\u05d9\u05dc","\u05de\u05d0\u05d9","\u05d9\u05d5\u05e0\u05d9","\u05d9\u05d5\u05dc\u05d9","\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8","\u05e1\u05e4\u05d8\u05de\u05d1\u05e8","\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8","\u05e0\u05d5\u05d1\u05de\u05d1\u05e8","\u05d3\u05e6\u05de\u05d1\u05e8"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-hi-in.js b/dist/plotly-locale-hi-in.js new file mode 100644 index 00000000000..bd8b970cc53 --- /dev/null +++ b/dist/plotly-locale-hi-in.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"hi-IN",dictionary:{},format:{days:["\u0930\u0935\u093f\u0935\u093e\u0930","\u0938\u094b\u092e\u0935\u093e\u0930","\u092e\u0902\u0917\u0932\u0935\u093e\u0930","\u092c\u0941\u0927\u0935\u093e\u0930","\u0917\u0941\u0930\u0941\u0935\u093e\u0930","\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930","\u0936\u0928\u093f\u0935\u093e\u0930"],shortDays:["\u0930\u0935\u093f","\u0938\u094b\u092e","\u092e\u0902\u0917\u0932","\u092c\u0941\u0927","\u0917\u0941\u0930\u0941","\u0936\u0941\u0915\u094d\u0930","\u0936\u0928\u093f"],months:["\u091c\u0928\u0935\u0930\u0940"," \u092b\u0930\u0935\u0930\u0940","\u092e\u093e\u0930\u094d\u091a","\u0905\u092a\u094d\u0930\u0948\u0932","\u092e\u0908","\u091c\u0942\u0928","\u091c\u0941\u0932\u093e\u0908","\u0905\u0917\u0938\u094d\u0924","\u0938\u093f\u0924\u092e\u094d\u092c\u0930","\u0905\u0915\u094d\u091f\u0942\u092c\u0930","\u0928\u0935\u092e\u094d\u092c\u0930","\u0926\u093f\u0938\u092e\u094d\u092c\u0930"],shortMonths:["\u091c\u0928","\u092b\u0930","\u092e\u093e\u0930\u094d\u091a","\u0905\u092a\u094d\u0930\u0948","\u092e\u0908","\u091c\u0942\u0928","\u091c\u0941\u0932\u093e\u0908","\u0905\u0917","\u0938\u093f\u0924","\u0905\u0915\u094d\u091f\u0942","\u0928\u0935","\u0926\u093f\u0938"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-hr.js b/dist/plotly-locale-hr.js new file mode 100644 index 00000000000..9436c217fb6 --- /dev/null +++ b/dist/plotly-locale-hr.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"hr",dictionary:{},format:{days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],shortDays:["Ned","Pon","Uto","Sri","\u010cet","Pet","Sub"],months:["Sije\u010danj","Velja\u010da","O\u017eujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],shortMonths:["Sij","Velj","O\u017eu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],date:"%d.%m.%Y."}}); \ No newline at end of file diff --git a/dist/plotly-locale-hu.js b/dist/plotly-locale-hu.js new file mode 100644 index 00000000000..3fdb74f5f4f --- /dev/null +++ b/dist/plotly-locale-hu.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"hu",dictionary:{},format:{days:["Vas\xe1rnap","H\xe9tf\xf6","Kedd","Szerda","Cs\xfct\xf6rt\xf6k","P\xe9ntek","Szombat"],shortDays:["Vas","H\xe9t","Ked","Sze","Cs\xfc","P\xe9n","Szo"],months:["Janu\xe1r","Febru\xe1r","M\xe1rcius","\xc1prilis","M\xe1jus","J\xfanius","J\xfalius","Augusztus","Szeptember","Okt\xf3ber","November","December"],shortMonths:["Jan","Feb","M\xe1r","\xc1pr","M\xe1j","J\xfan","J\xfal","Aug","Szep","Okt","Nov","Dec"],date:"%Y-%m-%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-hy.js b/dist/plotly-locale-hy.js new file mode 100644 index 00000000000..da43bb6705b --- /dev/null +++ b/dist/plotly-locale-hy.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"hy",dictionary:{},format:{days:["\u056f\u056b\u0580\u0561\u056f\u056b","\u0565\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b","\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b","\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b","\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b","\u0578\u0582\u0580\u0562\u0561\u0569","\u0577\u0561\u0562\u0561\u0569"],shortDays:["\u056f\u056b\u0580","\u0565\u0580\u056f","\u0565\u0580\u0584","\u0579\u0580\u0584","\u0570\u0576\u0563","\u0578\u0582\u0580\u0562","\u0577\u0562\u0569"],months:["\u0540\u0578\u0582\u0576\u057e\u0561\u0580","\u0553\u0565\u057f\u0580\u057e\u0561\u0580","\u0544\u0561\u0580\u057f","\u0531\u057a\u0580\u056b\u056c","\u0544\u0561\u0575\u056b\u057d","\u0540\u0578\u0582\u0576\u056b\u057d","\u0540\u0578\u0582\u056c\u056b\u057d","\u0555\u0563\u0578\u057d\u057f\u0578\u057d","\u054d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580","\u0540\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580","\u0546\u0578\u0575\u0565\u0574\u0562\u0565\u0580","\u0534\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580"],shortMonths:["\u0540\u0578\u0582\u0576\u057e","\u0553\u0565\u057f\u0580","\u0544\u0561\u0580\u057f","\u0531\u057a\u0580","\u0544\u0561\u0575\u056b\u057d","\u0540\u0578\u0582\u0576\u056b\u057d","\u0540\u0578\u0582\u056c","\u0555\u0563\u057d","\u054d\u0565\u057a","\u0540\u0578\u056f","\u0546\u0578\u0575","\u0534\u0565\u056f"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-id.js b/dist/plotly-locale-id.js new file mode 100644 index 00000000000..7c11ec5ecce --- /dev/null +++ b/dist/plotly-locale-id.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"id",dictionary:{},format:{days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],shortDays:["Min","Sen","Sel","Rab","kam","Jum","Sab"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-is.js b/dist/plotly-locale-is.js new file mode 100644 index 00000000000..c9695f3e4cb --- /dev/null +++ b/dist/plotly-locale-is.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"is",dictionary:{},format:{days:["Sunnudagur","M\xe1nudagur","\xderi\xf0judagur","Mi\xf0vikudagur","Fimmtudagur","F\xf6studagur","Laugardagur"],shortDays:["Sun","M\xe1n","\xderi","Mi\xf0","Fim","F\xf6s","Lau"],months:["Jan\xfaar","Febr\xfaar","Mars","Apr\xedl","Ma\xed","J\xfan\xed","J\xfal\xed","\xc1g\xfast","September","Okt\xf3ber","N\xf3vember","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Ma\xed","J\xfan","J\xfal","\xc1g\xfa","Sep","Okt","N\xf3v","Des"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-it.js b/dist/plotly-locale-it.js new file mode 100644 index 00000000000..0e19a40655f --- /dev/null +++ b/dist/plotly-locale-it.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"it",dictionary:{},format:{days:["Domenica","Luned\xec","Marted\xec","Mercoled\xec","Gioved\xec","Venerd\xec","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ja.js b/dist/plotly-locale-ja.js new file mode 100644 index 00000000000..f2b943baf57 --- /dev/null +++ b/dist/plotly-locale-ja.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ja",dictionary:{},format:{days:["\u65e5\u66dc\u65e5","\u6708\u66dc\u65e5","\u706b\u66dc\u65e5","\u6c34\u66dc\u65e5","\u6728\u66dc\u65e5","\u91d1\u66dc\u65e5","\u571f\u66dc\u65e5"],shortDays:["\u65e5","\u6708","\u706b","\u6c34","\u6728","\u91d1","\u571f"],months:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],shortMonths:["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],date:"%Y/%m/%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ka.js b/dist/plotly-locale-ka.js new file mode 100644 index 00000000000..69af4229053 --- /dev/null +++ b/dist/plotly-locale-ka.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ka",dictionary:{},format:{days:["\u10d9\u10d5\u10d8\u10e0\u10d0","\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8","\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8","\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8","\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8","\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8","\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8"],shortDays:["\u10d9\u10d5","\u10dd\u10e0\u10e8","\u10e1\u10d0\u10db","\u10dd\u10d7\u10ee","\u10ee\u10e3\u10d7","\u10de\u10d0\u10e0","\u10e8\u10d0\u10d1"],months:["\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8","\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8","\u10db\u10d0\u10e0\u10e2\u10d8","\u10d0\u10de\u10e0\u10d8\u10da\u10d8","\u10db\u10d0\u10d8\u10e1\u10d8","\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8","\u10d8\u10d5\u10da\u10d8\u10e1\u10d8","\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd","\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8","\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8","\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8","\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8"],shortMonths:["\u10d8\u10d0\u10dc","\u10d7\u10d4\u10d1","\u10db\u10d0\u10e0","\u10d0\u10de\u10e0","\u10db\u10d0\u10d8\u10e1\u10d8","\u10d8\u10d5\u10dc","\u10d8\u10d5\u10da","\u10d0\u10d2\u10d5","\u10e1\u10d4\u10e5","\u10dd\u10e5\u10e2","\u10dc\u10dd\u10d4","\u10d3\u10d4\u10d9"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-km.js b/dist/plotly-locale-km.js new file mode 100644 index 00000000000..9f65ead1271 --- /dev/null +++ b/dist/plotly-locale-km.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"km",dictionary:{},format:{days:["\u1790\u17d2\u1784\u17c3\u200b\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799","\u1790\u17d2\u1784\u17c3\u200b\u1785\u1793\u17d2\u1791","\u1790\u17d2\u1784\u17c3\u200b\u17a2\u1784\u17d2\u1782\u17b6\u179a","\u1790\u17d2\u1784\u17c3\u200b\u1796\u17bb\u1792","\u1790\u17d2\u1784\u17c3\u200b\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17d2\u178f\u17b7\u17cd","\u1790\u17d2\u1784\u17c3\u200b\u179f\u17bb\u1780\u17d2\u179a","\u1790\u17d2\u1784\u17c3\u200b\u179f\u17c5\u179a\u17cd"],shortDays:["\u17a2\u17b6","\u1785\u1793\u17d2\u1791","\u17a2\u1784\u17d2\u1782","\u1796\u17bb\u1792","\u1796\u17d2\u179a\u17a0","\u179f\u17bb","\u179f\u17c5\u179a\u17cd"],months:["\u1781\u17c2\u200b\u1798\u1780\u179a\u17b6","\u1781\u17c2\u200b\u1780\u17bb\u1798\u17d2\u1797\u17c8","\u1781\u17c2\u200b\u1798\u17b7\u1793\u17b6","\u1781\u17c2\u200b\u1798\u17c1\u179f\u17b6","\u1781\u17c2\u200b\u17a7\u179f\u1797\u17b6","\u1781\u17c2\u200b\u1798\u17b7\u1790\u17bb\u1793\u17b6","\u1781\u17c2\u200b\u1780\u1780\u17d2\u1780\u178a\u17b6","\u1781\u17c2\u200b\u179f\u17b8\u17a0\u17b6","\u1781\u17c2\u200b\u1780\u1789\u17d2\u1789\u17b6","\u1781\u17c2\u200b\u178f\u17bb\u179b\u17b6","\u1781\u17c2\u200b\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6","\u1781\u17c2\u200b\u1792\u17d2\u1793\u17bc"],shortMonths:["\u1798\u1780","\u1780\u17bb","\u1798\u17b7\u1793\u17b6","\u1798\u17c1","\u17a7\u179f","\u1798\u17b7\u1790\u17bb","\u1780\u1780\u17d2\u1780","\u179f\u17b8","\u1780\u1789\u17d2\u1789\u17b6","\u178f\u17bb\u179b\u17b6","\u179c\u17b7\u1785\u17d2\u1786\u17b7","\u1792\u17d2\u1793\u17bc"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ko.js b/dist/plotly-locale-ko.js new file mode 100644 index 00000000000..30fa2dc3c4f --- /dev/null +++ b/dist/plotly-locale-ko.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ko",dictionary:{},format:{days:["\uc77c\uc694\uc77c","\uc6d4\uc694\uc77c","\ud654\uc694\uc77c","\uc218\uc694\uc77c","\ubaa9\uc694\uc77c","\uae08\uc694\uc77c","\ud1a0\uc694\uc77c"],shortDays:["\uc77c","\uc6d4","\ud654","\uc218","\ubaa9","\uae08","\ud1a0"],months:["1\uc6d4","2\uc6d4","3\uc6d4","4\uc6d4","5\uc6d4","6\uc6d4","7\uc6d4","8\uc6d4","9\uc6d4","10\uc6d4","11\uc6d4","12\uc6d4"],shortMonths:["1\uc6d4","2\uc6d4","3\uc6d4","4\uc6d4","5\uc6d4","6\uc6d4","7\uc6d4","8\uc6d4","9\uc6d4","10\uc6d4","11\uc6d4","12\uc6d4"],date:"%Y-%m-%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-lt.js b/dist/plotly-locale-lt.js new file mode 100644 index 00000000000..6da061bc16f --- /dev/null +++ b/dist/plotly-locale-lt.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"lt",dictionary:{},format:{days:["sekmadienis","pirmadienis","antradienis","tre\u010diadienis","ketvirtadienis","penktadienis","\u0161e\u0161tadienis"],shortDays:["sek","pir","ant","tre","ket","pen","\u0161e\u0161"],months:["Sausis","Vasaris","Kovas","Balandis","Gegu\u017e\u0117","Bir\u017eelis","Liepa","Rugpj\u016btis","Rugs\u0117jis","Spalis","Lapkritis","Gruodis"],shortMonths:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],date:"%Y-%m-%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-lv.js b/dist/plotly-locale-lv.js new file mode 100644 index 00000000000..ade0fdfb41b --- /dev/null +++ b/dist/plotly-locale-lv.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"lv",dictionary:{},format:{days:["sv\u0113tdiena","pirmdiena","otrdiena","tre\u0161diena","ceturtdiena","piektdiena","sestdiena"],shortDays:["svt","prm","otr","tre","ctr","pkt","sst"],months:["Janv\u0101ris","Febru\u0101ris","Marts","Apr\u012blis","Maijs","J\u016bnijs","J\u016blijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],shortMonths:["Jan","Feb","Mar","Apr","Mai","J\u016bn","J\u016bl","Aug","Sep","Okt","Nov","Dec"],date:"%d-%m-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-me-me.js b/dist/plotly-locale-me-me.js new file mode 100644 index 00000000000..53e3348d5ba --- /dev/null +++ b/dist/plotly-locale-me-me.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"me-ME",dictionary:{},format:{days:["Ne\u0111elja","Pone\u0111eljak","Utorak","Srijeda","\u010cetvrtak","Petak","Subota"],shortDays:["Ne\u0111","Pon","Uto","Sri","\u010cet","Pet","Sub"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-me.js b/dist/plotly-locale-me.js new file mode 100644 index 00000000000..7665823348c --- /dev/null +++ b/dist/plotly-locale-me.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"me",dictionary:{},format:{days:["\u041d\u0435\u0452\u0435\u0459\u0430","\u041f\u043e\u043d\u0435\u0452\u0435\u0459\u0430\u043a","\u0423\u0442\u043e\u0440\u0430\u043a","\u0421\u0440\u0438\u0458\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043a","\u041f\u0435\u0442\u0430\u043a","\u0421\u0443\u0431\u043e\u0442\u0430"],shortDays:["\u041d\u0435\u0452","\u041f\u043e\u043d","\u0423\u0442\u043e","\u0421\u0440\u0438","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u0443\u0431"],months:["\u0408\u0430\u043d\u0443\u0430\u0440","\u0424\u0435\u0431\u0440\u0443\u0430\u0440","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440","\u041e\u043a\u0442\u043e\u0431\u0430\u0440","\u041d\u043e\u0432\u0435\u043c\u0431\u0430\u0440","\u0414\u0435\u0446\u0435\u043c\u0431\u0430\u0440"],shortMonths:["\u0408\u0430\u043d","\u0424\u0435\u0431","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u0446"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-mk.js b/dist/plotly-locale-mk.js new file mode 100644 index 00000000000..1d59e58207c --- /dev/null +++ b/dist/plotly-locale-mk.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"mk",dictionary:{},format:{days:["\u041d\u0435\u0434\u0435\u043b\u0430","\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a","\u0412\u0442\u043e\u0440\u043d\u0438\u043a","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u043e\u043a","\u041f\u0435\u0442\u043e\u043a","\u0421\u0430\u0431\u043e\u0442\u0430"],shortDays:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0412\u0442\u043e","\u0421\u0440\u0435","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u0430\u0431"],months:["\u0408\u0430\u043d\u0443\u0430\u0440\u0438","\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0458","\u0408\u0443\u043d\u0438","\u0408\u0443\u043b\u0438","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438","\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438","\u041d\u043e\u0435\u043c\u0432\u0440\u0438","\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438"],shortMonths:["\u0408\u0430\u043d","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u043a"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ml.js b/dist/plotly-locale-ml.js new file mode 100644 index 00000000000..603c6622f25 --- /dev/null +++ b/dist/plotly-locale-ml.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ml",dictionary:{},format:{days:["\u0d1e\u0d3e\u0d2f\u0d30\u0d4d\u200d","\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d4d\u200d","\u0d1a\u0d4a\u0d35\u0d4d\u0d35","\u0d2c\u0d41\u0d27\u0d28\u0d4d\u200d","\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02","\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f","\u0d36\u0d28\u0d3f"],shortDays:["\u0d1e\u0d3e\u0d2f","\u0d24\u0d3f\u0d19\u0d4d\u0d15","\u0d1a\u0d4a\u0d35\u0d4d\u0d35","\u0d2c\u0d41\u0d27","\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02","\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f","\u0d36\u0d28\u0d3f"],months:["\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f","\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f","\u0d2e\u0d3e\u0d30\u0d4d\u200d\u0d1a\u0d4d\u0d1a\u0d4d","\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u200d","\u0d2e\u0d47\u0d2f\u0d4d","\u0d1c\u0d42\u0d23\u0d4d\u200d","\u0d1c\u0d42\u0d32\u0d48","\u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d","\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d30\u0d4d\u200d","\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d30\u0d4d\u200d","\u0d28\u0d35\u0d02\u0d2c\u0d30\u0d4d\u200d","\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d30\u0d4d\u200d"],shortMonths:["\u0d1c\u0d28\u0d41","\u0d2b\u0d46\u0d2c\u0d4d","\u0d2e\u0d3e\u0d30\u0d4d\u200d","\u0d0f\u0d2a\u0d4d\u0d30\u0d3f","\u0d2e\u0d47\u0d2f\u0d4d","\u0d1c\u0d42\u0d23\u0d4d\u200d","\u0d1c\u0d42\u0d32\u0d3e","\u0d06\u0d17","\u0d38\u0d46\u0d2a\u0d4d","\u0d12\u0d15\u0d4d\u0d1f\u0d4b","\u0d28\u0d35\u0d02","\u0d21\u0d3f\u0d38"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ms.js b/dist/plotly-locale-ms.js new file mode 100644 index 00000000000..193e23d990e --- /dev/null +++ b/dist/plotly-locale-ms.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ms",dictionary:{},format:{days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],shortDays:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],shortMonths:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-mt.js b/dist/plotly-locale-mt.js new file mode 100644 index 00000000000..8d6d075280d --- /dev/null +++ b/dist/plotly-locale-mt.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"mt",dictionary:{},format:{days:["Il-\u0126add","It-Tnejn","It-Tlieta","L-Erbg\u0127a","Il-\u0126amis","Il-\u0120img\u0127a","Is-Sibt"],shortDays:["\u0126ad","Tne","Tli","Erb","\u0126am","\u0120im","Sib"],months:["Jannar","Frar","Marzu","April","Mejju","\u0120unju","Lulju","Awissu","Settembru","Ottubru","Novembru","Di\u010bembru"],shortMonths:["Jan","Fra","Mar","Apr","Mej","\u0120un","Lul","Awi","Set","Ott","Nov","Di\u010b"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-nl-be.js b/dist/plotly-locale-nl-be.js new file mode 100644 index 00000000000..f5de7d18b19 --- /dev/null +++ b/dist/plotly-locale-nl-be.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"nl-BE",dictionary:{},format:{days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zon","maa","din","woe","don","vri","zat"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-nl.js b/dist/plotly-locale-nl.js new file mode 100644 index 00000000000..a60155fa16c --- /dev/null +++ b/dist/plotly-locale-nl.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"nl",dictionary:{},format:{days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zon","maa","din","woe","don","vri","zat"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","maa","apr","mei","jun","jul","aug","sep","okt","nov","dec"],date:"%d-%m-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-no.js b/dist/plotly-locale-no.js new file mode 100644 index 00000000000..7d221b5c99a --- /dev/null +++ b/dist/plotly-locale-no.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"no",dictionary:{},format:{days:["S\xf8ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xf8rdag"],shortDays:["S\xf8n","Man","Tir","Ons","Tor","Fre","L\xf8r"],months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],shortMonths:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-pa.js b/dist/plotly-locale-pa.js new file mode 100644 index 00000000000..37b86bad56b --- /dev/null +++ b/dist/plotly-locale-pa.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"pa",dictionary:{},format:{days:["\u0a10\u0a24\u0a35\u0a3e\u0a30","\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30","\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30","\u0a2c\u0a41\u0a71\u0a27\u0a35\u0a3e\u0a30","\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30","\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30","\u0a38\u0a3c\u0a28\u0a3f\u0a71\u0a1a\u0a30\u0a35\u0a3e\u0a30"],shortDays:["\u0a10\u0a24","\u0a38\u0a4b\u0a2e","\u0a2e\u0a70\u0a17\u0a32","\u0a2c\u0a41\u0a71\u0a27","\u0a35\u0a40\u0a30","\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30","\u0a38\u0a3c\u0a28\u0a3f\u0a71\u0a1a\u0a30"],months:["\u0a1c\u0a28\u0a35\u0a30\u0a40","\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40","\u0a2e\u0a3e\u0a30\u0a1a","\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32","\u0a2e\u0a08","\u0a1c\u0a42\u0a28","\u0a1c\u0a41\u0a32\u0a3e\u0a08","\u0a05\u0a17\u0a38\u0a24","\u0a38\u0a24\u0a70\u0a2c\u0a30","\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30","\u0a28\u0a35\u0a70\u0a2c\u0a30","\u0a26\u0a38\u0a70\u0a2c\u0a30"],shortMonths:["\u0a1c\u0a28","\u0a2b\u0a3c\u0a30","\u0a2e\u0a3e\u0a30","\u0a05\u0a2a\u0a4d\u0a30\u0a48","\u0a2e\u0a08","\u0a1c\u0a42\u0a28","\u0a1c\u0a41\u0a32\u0a3e","\u0a05\u0a17","\u0a38\u0a24\u0a70","\u0a05\u0a15","\u0a28\u0a35\u0a70","\u0a26\u0a38\u0a70"],date:"%d-%m-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-pl.js b/dist/plotly-locale-pl.js new file mode 100644 index 00000000000..8776d0b29b1 --- /dev/null +++ b/dist/plotly-locale-pl.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"pl",dictionary:{},format:{days:["Niedziela","Poniedzialek","Wtorek","\u015aroda","Czwartek","Pi\u0105tek","Sobota"],shortDays:["Nie","Pn","Wt","\u015ar","Czw","Pt","So"],months:["Stycze\u0144","Luty","Marzec","Kwiecie\u0144","Maj","Czerwiec","Lipiec","Sierpie\u0144","Wrzesie\u0144","Pa\u017adziernik","Listopad","Grudzie\u0144"],shortMonths:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],date:"%Y-%m-%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-pt-br.js b/dist/plotly-locale-pt-br.js new file mode 100644 index 00000000000..b2e911bdcd7 --- /dev/null +++ b/dist/plotly-locale-pt-br.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"pt-BR",dictionary:{},format:{days:["Domingo","Segunda-feira","Ter\xe7a-feira","Quarta-feira","Quinta-feira","Sexta-feira","S\xe1bado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","S\xe1b"],months:["Janeiro","Fevereiro","Mar\xe7o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-rm.js b/dist/plotly-locale-rm.js new file mode 100644 index 00000000000..a9a34ac2c4b --- /dev/null +++ b/dist/plotly-locale-rm.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"rm",dictionary:{},format:{days:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"],shortDays:["Dum","Gli","Mar","Mes","Gie","Ven","Som"],months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],shortMonths:["Scha","Fev","Mar","Avr","Matg","Zer","Fan","Avu","Sett","Oct","Nov","Dec"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ro.js b/dist/plotly-locale-ro.js new file mode 100644 index 00000000000..d1baf09d703 --- /dev/null +++ b/dist/plotly-locale-ro.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ro",dictionary:{},format:{days:["Duminic\u0103","Luni","Marti","Miercuri","Joi","Vineri","S\xe2mb\u0103t\u0103"],shortDays:["Dum","Lun","Mar","Mie","Joi","Vin","S\xe2m"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],shortMonths:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Noi","Dec"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ru.js b/dist/plotly-locale-ru.js new file mode 100644 index 00000000000..58deaa96a2e --- /dev/null +++ b/dist/plotly-locale-ru.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ru",dictionary:{},format:{days:["\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","\u0432\u0442\u043e\u0440\u043d\u0438\u043a","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043f\u044f\u0442\u043d\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043e\u0442\u0430"],shortDays:["\u0432\u0441\u043a","\u043f\u043d\u0434","\u0432\u0442\u0440","\u0441\u0440\u0434","\u0447\u0442\u0432","\u043f\u0442\u043d","\u0441\u0431\u0442"],months:["\u042f\u043d\u0432\u0430\u0440\u044c","\u0424\u0435\u0432\u0440\u0430\u043b\u044c","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0435\u043b\u044c","\u041c\u0430\u0439","\u0418\u044e\u043d\u044c","\u0418\u044e\u043b\u044c","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","\u041e\u043a\u0442\u044f\u0431\u0440\u044c","\u041d\u043e\u044f\u0431\u0440\u044c","\u0414\u0435\u043a\u0430\u0431\u0440\u044c"],shortMonths:["\u042f\u043d\u0432","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433","\u0421\u0435\u043d","\u041e\u043a\u0442","\u041d\u043e\u044f","\u0414\u0435\u043a"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-sk.js b/dist/plotly-locale-sk.js new file mode 100644 index 00000000000..5d7d3880a5d --- /dev/null +++ b/dist/plotly-locale-sk.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"sk",dictionary:{},format:{days:["Nedel'a","Pondelok","Utorok","Streda","\u0160tvrtok","Piatok","Sobota"],shortDays:["Ned","Pon","Uto","Str","\u0160tv","Pia","Sob"],months:["Janu\xe1r","Febru\xe1r","Marec","Apr\xedl","M\xe1j","J\xfan","J\xfal","August","September","Okt\xf3ber","November","December"],shortMonths:["Jan","Feb","Mar","Apr","M\xe1j","J\xfan","J\xfal","Aug","Sep","Okt","Nov","Dec"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-sl.js b/dist/plotly-locale-sl.js new file mode 100644 index 00000000000..2653a4fee41 --- /dev/null +++ b/dist/plotly-locale-sl.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"sl",dictionary:{},format:{days:["Nedelja","Ponedeljek","Torek","Sreda","\u010cetrtek","Petek","Sobota"],shortDays:["Ned","Pon","Tor","Sre","\u010cet","Pet","Sob"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-sq.js b/dist/plotly-locale-sq.js new file mode 100644 index 00000000000..fb947ec9b8f --- /dev/null +++ b/dist/plotly-locale-sq.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"sq",dictionary:{},format:{days:["E Diel","E H\xebn\xeb","E Mart\xeb","E M\xebrkur\xeb","E Enjte","E Premte","E Shtune"],shortDays:["Di","H\xeb","Ma","M\xeb","En","Pr","Sh"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","N\xebntor","Dhjetor"],shortMonths:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","N\xebn","Dhj"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-sr-sr.js b/dist/plotly-locale-sr-sr.js new file mode 100644 index 00000000000..b2b2d231b13 --- /dev/null +++ b/dist/plotly-locale-sr-sr.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"sr-SR",dictionary:{},format:{days:["Nedelja","Ponedeljak","Utorak","Sreda","\u010cetvrtak","Petak","Subota"],shortDays:["Ned","Pon","Uto","Sre","\u010cet","Pet","Sub"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-sr.js b/dist/plotly-locale-sr.js new file mode 100644 index 00000000000..5d3f2c08c6f --- /dev/null +++ b/dist/plotly-locale-sr.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"sr",dictionary:{},format:{days:["\u041d\u0435\u0434\u0435\u0459\u0430","\u041f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a","\u0423\u0442\u043e\u0440\u0430\u043a","\u0421\u0440\u0435\u0434\u0430","\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043a","\u041f\u0435\u0442\u0430\u043a","\u0421\u0443\u0431\u043e\u0442\u0430"],shortDays:["\u041d\u0435\u0434","\u041f\u043e\u043d","\u0423\u0442\u043e","\u0421\u0440\u0435","\u0427\u0435\u0442","\u041f\u0435\u0442","\u0421\u0443\u0431"],months:["\u0408\u0430\u043d\u0443\u0430\u0440","\u0424\u0435\u0431\u0440\u0443\u0430\u0440","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0438\u043b","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440","\u041e\u043a\u0442\u043e\u0431\u0430\u0440","\u041d\u043e\u0432\u0435\u043c\u0431\u0430\u0440","\u0414\u0435\u0446\u0435\u043c\u0431\u0430\u0440"],shortMonths:["\u0408\u0430\u043d","\u0424\u0435\u0431","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0458","\u0408\u0443\u043d","\u0408\u0443\u043b","\u0410\u0432\u0433","\u0421\u0435\u043f","\u041e\u043a\u0442","\u041d\u043e\u0432","\u0414\u0435\u0446"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-sv.js b/dist/plotly-locale-sv.js new file mode 100644 index 00000000000..ccef6dfc47f --- /dev/null +++ b/dist/plotly-locale-sv.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"sv",dictionary:{},format:{days:["S\xf6ndag","M\xe5ndag","Tisdag","Onsdag","Torsdag","Fredag","L\xf6rdag"],shortDays:["S\xf6n","M\xe5n","Tis","Ons","Tor","Fre","L\xf6r"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],date:"%Y-%m-%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ta.js b/dist/plotly-locale-ta.js new file mode 100644 index 00000000000..246be9cb730 --- /dev/null +++ b/dist/plotly-locale-ta.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ta",dictionary:{},format:{days:["\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8","\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8"],shortDays:["\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1","\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd","\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd","\u0baa\u0bc1\u0ba4\u0ba9\u0bcd","\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd","\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf","\u0b9a\u0ba9\u0bbf"],months:["\u0ba4\u0bc8","\u0bae\u0bbe\u0b9a\u0bbf","\u0baa\u0b99\u0bcd\u0b95\u0bc1\u0ba9\u0bbf","\u0b9a\u0bbf\u0ba4\u0bcd\u0ba4\u0bbf\u0bb0\u0bc8","\u0bb5\u0bc8\u0b95\u0bbe\u0b9a\u0bbf","\u0b86\u0ba9\u0bbf","\u0b86\u0b9f\u0bbf","\u0b86\u0bb5\u0ba3\u0bbf","\u0baa\u0bc1\u0bb0\u0b9f\u0bcd\u0b9f\u0bbe\u0b9a\u0bbf","\u0b90\u0baa\u0bcd\u0baa\u0b9a\u0bbf","\u0b95\u0bbe\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4\u0bbf\u0b95\u0bc8","\u0bae\u0bbe\u0bb0\u0bcd\u0b95\u0bb4\u0bbf"],shortMonths:["\u0ba4\u0bc8","\u0bae\u0bbe\u0b9a\u0bbf","\u0baa\u0b99\u0bcd","\u0b9a\u0bbf\u0ba4\u0bcd","\u0bb5\u0bc8\u0b95\u0bbe","\u0b86\u0ba9\u0bbf","\u0b86\u0b9f\u0bbf","\u0b86\u0bb5","\u0baa\u0bc1\u0bb0","\u0b90\u0baa\u0bcd","\u0b95\u0bbe\u0bb0\u0bcd","\u0bae\u0bbe\u0bb0\u0bcd"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-th.js b/dist/plotly-locale-th.js new file mode 100644 index 00000000000..e4953410e7f --- /dev/null +++ b/dist/plotly-locale-th.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"th",dictionary:{},format:{days:["\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c","\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c","\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23","\u0e1e\u0e38\u0e18","\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35","\u0e28\u0e38\u0e01\u0e23\u0e4c","\u0e40\u0e2a\u0e32\u0e23\u0e4c"],shortDays:["\u0e2d\u0e32.","\u0e08.","\u0e2d.","\u0e1e.","\u0e1e\u0e24.","\u0e28.","\u0e2a."],months:["\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21","\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c","\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21","\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19","\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21","\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19","\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21","\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21","\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19","\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21","\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19","\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"],shortMonths:["\u0e21.\u0e04.","\u0e01.\u0e1e.","\u0e21\u0e35.\u0e04.","\u0e40\u0e21.\u0e22.","\u0e1e.\u0e04.","\u0e21\u0e34.\u0e22.","\u0e01.\u0e04.","\u0e2a.\u0e04.","\u0e01.\u0e22.","\u0e15.\u0e04.","\u0e1e.\u0e22.","\u0e18.\u0e04."],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-tr.js b/dist/plotly-locale-tr.js new file mode 100644 index 00000000000..9c2ed4455c9 --- /dev/null +++ b/dist/plotly-locale-tr.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"tr",dictionary:{},format:{days:["Pazar","Pazartesi","Sal\u0131","\xc7ar\u015famba","Per\u015fembe","Cuma","Cumartesi"],shortDays:["Pz","Pt","Sa","\xc7a","Pe","Cu","Ct"],months:["Ocak","\u015eubat","Mart","Nisan","May\u0131s","Haziran","Temmuz","A\u011fustos","Eyl\xfcl","Ekim","Kas\u0131m","Aral\u0131k"],shortMonths:["Oca","\u015eub","Mar","Nis","May","Haz","Tem","A\u011fu","Eyl","Eki","Kas","Ara"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-tt.js b/dist/plotly-locale-tt.js new file mode 100644 index 00000000000..e23ccabd2b3 --- /dev/null +++ b/dist/plotly-locale-tt.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"tt",dictionary:{},format:{days:["\u044f\u043a\u0448\u04d9\u043c\u0431\u0435","\u0434\u04af\u0448\u04d9\u043c\u0431\u0435","\u0441\u0438\u0448\u04d9\u043c\u0431\u0435","\u0447\u04d9\u0440\u0448\u04d9\u043c\u0431\u0435","\u043f\u04d9\u043d\u0497\u0435\u0448\u04d9\u043c\u0431\u0435","\u0497\u043e\u043c\u0433\u0430","\u0448\u0438\u043c\u0431\u04d9"],shortDays:["\u044f\u043a\u0448","\u0434\u04af\u0448","\u0441\u0438\u0448","\u0447\u04d9\u0440","\u043f\u04d9\u043d","\u0497\u043e\u043c","\u0448\u0438\u043c"],months:["\u0413\u044b\u043d\u0432\u0430\u0440","\u0424\u0435\u0432\u0440\u0430\u043b\u044c","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0435\u043b\u044c","\u041c\u0430\u0439","\u0418\u044e\u043d\u044c","\u0418\u044e\u043b\u044c","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","\u041e\u043a\u0442\u044f\u0431\u0440\u044c","\u041d\u043e\u044f\u0431\u0440\u044c","\u0414\u0435\u043a\u0430\u0431\u0440\u044c"],shortMonths:["\u0413\u044b\u0439\u043d","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433","\u0421\u0435\u043d","\u041e\u043a\u0442","\u041d\u043e\u044f","\u0414\u0435\u043a"],date:"%d.%m.%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-uk.js b/dist/plotly-locale-uk.js new file mode 100644 index 00000000000..0a258799e71 --- /dev/null +++ b/dist/plotly-locale-uk.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"uk",dictionary:{},format:{days:["\u043d\u0435\u0434\u0456\u043b\u044f","\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a","\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a","\u0441\u0435\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440","\u043f'\u044f\u0442\u043d\u0438\u0446\u044f","\u0441\u0443\u0431\u043e\u0442\u0430"],shortDays:["\u043d\u0435\u0434","\u043f\u043d\u0434","\u0432\u0456\u0432","\u0441\u0440\u0434","\u0447\u0442\u0432","\u043f\u0442\u043d","\u0441\u0431\u0442"],months:["\u0421\u0456\u0447\u0435\u043d\u044c","\u041b\u044e\u0442\u0438\u0439","\u0411\u0435\u0440\u0435\u0437\u0435\u043d\u044c","\u041a\u0432\u0456\u0442\u0435\u043d\u044c","\u0422\u0440\u0430\u0432\u0435\u043d\u044c","\u0427\u0435\u0440\u0432\u0435\u043d\u044c","\u041b\u0438\u043f\u0435\u043d\u044c","\u0421\u0435\u0440\u043f\u0435\u043d\u044c","\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c","\u0416\u043e\u0432\u0442\u0435\u043d\u044c","\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434","\u0413\u0440\u0443\u0434\u0435\u043d\u044c"],shortMonths:["\u0421\u0456\u0447","\u041b\u044e\u0442","\u0411\u0435\u0440","\u041a\u0432\u0456","\u0422\u0440\u0430","\u0427\u0435\u0440","\u041b\u0438\u043f","\u0421\u0435\u0440","\u0412\u0435\u0440","\u0416\u043e\u0432","\u041b\u0438\u0441","\u0413\u0440\u0443"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-ur.js b/dist/plotly-locale-ur.js new file mode 100644 index 00000000000..dc1075f40a0 --- /dev/null +++ b/dist/plotly-locale-ur.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"ur",dictionary:{},format:{days:["\u0627\u062a\u0648\u0627\u0631","\u067e\u064a\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"],shortDays:["\u0627\u062a\u0648\u0627\u0631","\u067e\u064a\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"],months:["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],shortMonths:["1","2","3","4","5","6","7","8","9","10","11","12"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-vi.js b/dist/plotly-locale-vi.js new file mode 100644 index 00000000000..148d6260c5e --- /dev/null +++ b/dist/plotly-locale-vi.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"vi",dictionary:{},format:{days:["Ch\u1ee7 Nh\u1eadt","Th\u1ee9 Hai","Th\u1ee9 Ba","Th\u1ee9 T\u01b0","Th\u1ee9 N\u0103m","Th\u1ee9 S\xe1u","Th\u1ee9 B\u1ea3y"],shortDays:["CN","T2","T3","T4","T5","T6","T7"],months:["Th\xe1ng M\u1ed9t","Th\xe1ng Hai","Th\xe1ng Ba","Th\xe1ng T\u01b0","Th\xe1ng N\u0103m","Th\xe1ng S\xe1u","Th\xe1ng B\u1ea3y","Th\xe1ng T\xe1m","Th\xe1ng Ch\xedn","Th\xe1ng M\u01b0\u1eddi","Th\xe1ng M\u01b0\u1eddi M\u1ed9t","Th\xe1ng M\u01b0\u1eddi Hai"],shortMonths:["Th\xe1ng 1","Th\xe1ng 2","Th\xe1ng 3","Th\xe1ng 4","Th\xe1ng 5","Th\xe1ng 6","Th\xe1ng 7","Th\xe1ng 8","Th\xe1ng 9","Th\xe1ng 10","Th\xe1ng 11","Th\xe1ng 12"],date:"%d/%m/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-zh-cn.js b/dist/plotly-locale-zh-cn.js new file mode 100644 index 00000000000..01dac3c1564 --- /dev/null +++ b/dist/plotly-locale-zh-cn.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"zh-CN",dictionary:{},format:{days:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],shortDays:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],months:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],shortMonths:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"],date:"%Y-%m-%d"}}); \ No newline at end of file diff --git a/dist/plotly-locale-zh-hk.js b/dist/plotly-locale-zh-hk.js new file mode 100644 index 00000000000..0e573a31611 --- /dev/null +++ b/dist/plotly-locale-zh-hk.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"zh-HK",dictionary:{},format:{days:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],shortDays:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],months:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],shortMonths:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"],date:"%d-%m-%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-zh-tw.js b/dist/plotly-locale-zh-tw.js new file mode 100644 index 00000000000..dd2e808e8cc --- /dev/null +++ b/dist/plotly-locale-zh-tw.js @@ -0,0 +1 @@ +Plotly.register({moduleType:"locale",name:"zh-TW",dictionary:{},format:{days:["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],shortDays:["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"],months:["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"],shortMonths:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"],date:"%Y/%m/%d"}}); \ No newline at end of file diff --git a/lib/locale-af.js b/lib/locale-af.js new file mode 100644 index 00000000000..7b94d06d4f4 --- /dev/null +++ b/lib/locale-af.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'af', + dictionary: {}, + format: { + days: [ + 'Sondag', 'Maandag', 'Dinsdag', 'Woensdag', + 'Donderdag', 'Vrydag', 'Saterdag' + ], + shortDays: ['Son', 'Maan', 'Dins', 'Woens', 'Don', 'Vry', 'Sat'], + months: [ + 'Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', + 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-am.js b/lib/locale-am.js new file mode 100644 index 00000000000..635744b9391 --- /dev/null +++ b/lib/locale-am.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'am', + dictionary: {}, + format: { + days: ['ሰንዴይ', 'መንዴይ', 'ትዩስዴይ', 'ዌንስዴይ', 'ተርሰዴይ', 'ፍራይዴይ', 'ሳተርዴይ'], + shortDays: ['ሰንዴ', 'መንዴ', 'ትዩስ', 'ዌንስ', 'ተርሰ', 'ፍራይ', 'ሳተር'], + months: [ + 'ጃንዋሪ', 'ፈብርዋሪ', 'ማርች', 'አፕሪል', 'ሜይ', 'ጁን', + 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክቶበር', 'ኖቬምበር', 'ዲሴምበር' + ], + shortMonths: [ + 'ጃንዋ', 'ፈብር', 'ማርች', 'አፕሪ', 'ሜይ', 'ጁን', + 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክቶ', 'ኖቬም', 'ዲሴም' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ar-dz.js b/lib/locale-ar-dz.js new file mode 100644 index 00000000000..5a474f6a5a0 --- /dev/null +++ b/lib/locale-ar-dz.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ar-DZ', + dictionary: {}, + format: { + days: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + shortDays: [ + 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', + 'الخميس', 'الجمعة', 'السبت' + ], + months: [ + 'جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', + 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر' + ], + shortMonths: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ar-eg.js b/lib/locale-ar-eg.js new file mode 100644 index 00000000000..ef6d7b3d845 --- /dev/null +++ b/lib/locale-ar-eg.js @@ -0,0 +1,25 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ar-EG', + dictionary: {}, + format: { + days: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + shortDays: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], + months: [ + 'يناير', 'فبراير', 'مارس', 'إبريل', 'مايو', 'يونية', + 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر' + ], + shortMonths: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ar.js b/lib/locale-ar.js new file mode 100644 index 00000000000..ef4ab0702c7 --- /dev/null +++ b/lib/locale-ar.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ar', + dictionary: {}, + format: { + days: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + shortDays: [ + 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', + 'الخميس', 'الجمعة', 'السبت' + ], + months: [ + 'كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', + 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول' + ], + shortMonths: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-az.js b/lib/locale-az.js new file mode 100644 index 00000000000..9e02d18b639 --- /dev/null +++ b/lib/locale-az.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'az', + dictionary: {}, + format: { + days: [ + 'Bazar', 'Bazar ertəsi', 'Çərşənbə axşamı', 'Çərşənbə', + 'Cümə axşamı', 'Cümə', 'Şənbə' + ], + shortDays: ['B', 'Be', 'Ça', 'Ç', 'Ca', 'C', 'Ş'], + months: [ + 'Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', + 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr' + ], + shortMonths: [ + 'Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyun', + 'İyul', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-bg.js b/lib/locale-bg.js new file mode 100644 index 00000000000..c7346f5a8cc --- /dev/null +++ b/lib/locale-bg.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'bg', + dictionary: {}, + format: { + days: ['Неделя', 'Понеделник', 'Вторник', 'Сряда', 'Четвъртък', 'Петък', 'Събота'], + shortDays: ['Нед', 'Пон', 'Вто', 'Сря', 'Чет', 'Пет', 'Съб'], + months: [ + 'Януари', 'Февруари', 'Март', 'Април', 'Май', 'Юни', + 'Юли', 'Август', 'Септември', 'Октомври', 'Ноември', 'Декември' + ], + shortMonths: [ + 'Яну', 'Фев', 'Мар', 'Апр', 'Май', 'Юни', + 'Юли', 'Авг', 'Сеп', 'Окт', 'Нов', 'Дек' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-bs.js b/lib/locale-bs.js new file mode 100644 index 00000000000..a538908d8b5 --- /dev/null +++ b/lib/locale-bs.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'bs', + dictionary: {}, + format: { + days: [ + 'Nedelja', 'Ponedeljak', 'Utorak', 'Srijeda', + 'Četvrtak', 'Petak', 'Subota' + ], + shortDays: ['Ned', 'Pon', 'Uto', 'Sri', 'Čet', 'Pet', 'Sub'], + months: [ + 'Januar', 'Februar', 'Mart', 'April', 'Maj', 'Juni', + 'Juli', 'August', 'Septembar', 'Oktobar', 'Novembar', 'Decembar' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-ca.js b/lib/locale-ca.js new file mode 100644 index 00000000000..63d7b634d6d --- /dev/null +++ b/lib/locale-ca.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ca', + dictionary: {}, + format: { + days: [ + 'Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', + 'Dijous', 'Divendres', 'Dissabte' + ], + shortDays: ['Dug', 'Dln', 'Dmt', 'Dmc', 'Djs', 'Dvn', 'Dsb'], + months: [ + 'Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', + 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre' + ], + shortMonths: [ + 'Gen', 'Feb', 'Mar', 'Abr', 'Mai', 'Jun', + 'Jul', 'Ago', 'Set', 'Oct', 'Nov', 'Des' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-cs.js b/lib/locale-cs.js new file mode 100644 index 00000000000..82da23f1a7a --- /dev/null +++ b/lib/locale-cs.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'cs', + dictionary: {}, + format: { + days: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'], + shortDays: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'], + months: [ + 'leden', 'únor', 'březen', 'duben', 'květen', 'červen', + 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec' + ], + shortMonths: [ + 'led', 'úno', 'bře', 'dub', 'kvě', 'čer', + 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-da.js b/lib/locale-da.js new file mode 100644 index 00000000000..9458ae7f07d --- /dev/null +++ b/lib/locale-da.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'da', + dictionary: {}, + format: { + days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'], + shortDays: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'], + months: [ + 'Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', + 'Juli', 'August', 'September', 'Oktober', 'November', 'December' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d-%m-%Y' + } +}; diff --git a/lib/locale-de-ch.js b/lib/locale-de-ch.js new file mode 100644 index 00000000000..924cd6a1dee --- /dev/null +++ b/lib/locale-de-ch.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'de-CH', + dictionary: {}, + format: { + days: [ + 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', + 'Donnerstag', 'Freitag', 'Samstag' + ], + shortDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], + months: [ + 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', + 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-de.js b/lib/locale-de.js new file mode 100644 index 00000000000..dec3c8be8c5 --- /dev/null +++ b/lib/locale-de.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'de', + dictionary: {}, + format: { + days: [ + 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', + 'Donnerstag', 'Freitag', 'Samstag' + ], + shortDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], + months: [ + 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', + 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-el.js b/lib/locale-el.js new file mode 100644 index 00000000000..7aa9a821666 --- /dev/null +++ b/lib/locale-el.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'el', + dictionary: {}, + format: { + days: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'], + shortDays: ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ'], + months: [ + 'Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', + 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος' + ], + shortMonths: [ + 'Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαι', 'Ιουν', + 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-eo.js b/lib/locale-eo.js new file mode 100644 index 00000000000..616990c3c66 --- /dev/null +++ b/lib/locale-eo.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'eo', + dictionary: {}, + format: { + days: ['Dimanĉo', 'Lundo', 'Mardo', 'Merkredo', 'Ĵaŭdo', 'Vendredo', 'Sabato'], + shortDays: ['Dim', 'Lun', 'Mar', 'Mer', 'Ĵaŭ', 'Ven', 'Sab'], + months: [ + 'Januaro', 'Februaro', 'Marto', 'Aprilo', 'Majo', 'Junio', + 'Julio', 'Aŭgusto', 'Septembro', 'Oktobro', 'Novembro', 'Decembro' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Aŭg', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-es-ar.js b/lib/locale-es-ar.js new file mode 100644 index 00000000000..67b64987020 --- /dev/null +++ b/lib/locale-es-ar.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'es-AR', + dictionary: {}, + format: { + days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + shortDays: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'], + months: [ + 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', + 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' + ], + shortMonths: [ + 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', + 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-es-pe.js b/lib/locale-es-pe.js new file mode 100644 index 00000000000..94795067576 --- /dev/null +++ b/lib/locale-es-pe.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'es-PE', + dictionary: {}, + format: { + days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + shortDays: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sab'], + months: [ + 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', + 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' + ], + shortMonths: [ + 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', + 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-es.js b/lib/locale-es.js new file mode 100644 index 00000000000..d090ef1985f --- /dev/null +++ b/lib/locale-es.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'es', + dictionary: {}, + format: { + days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], + shortDays: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'], + months: [ + 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', + 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' + ], + shortMonths: [ + 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', + 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-et.js b/lib/locale-et.js new file mode 100644 index 00000000000..4275f0c9f6c --- /dev/null +++ b/lib/locale-et.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'et', + dictionary: {}, + format: { + days: [ + 'Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', + 'Neljapäev', 'Reede', 'Laupäev' + ], + shortDays: ['Pühap', 'Esmasp', 'Teisip', 'Kolmap', 'Neljap', 'Reede', 'Laup'], + months: [ + 'Jaanuar', 'Veebruar', 'Märts', 'Aprill', 'Mai', 'Juuni', + 'Juuli', 'August', 'September', 'Oktoober', 'November', 'Detsember' + ], + shortMonths: [ + 'Jaan', 'Veebr', 'Märts', 'Apr', 'Mai', 'Juuni', + 'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-eu.js b/lib/locale-eu.js new file mode 100644 index 00000000000..eedd3097f50 --- /dev/null +++ b/lib/locale-eu.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'eu', + dictionary: {}, + format: { + days: [ + 'Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', + 'Osteguna', 'Ostirala', 'Larunbata' + ], + shortDays: ['Iga', 'Ast', 'Ast', 'Ast', 'Ost', 'Ost', 'Lar'], + months: [ + 'Urtarrila', 'Otsaila', 'Martxoa', 'Apirila', 'Maiatza', 'Ekaina', + 'Uztaila', 'Abuztua', 'Iraila', 'Urria', 'Azaroa', 'Abendua' + ], + shortMonths: [ + 'Urt', 'Ots', 'Mar', 'Api', 'Mai', 'Eka', + 'Uzt', 'Abu', 'Ira', 'Urr', 'Aza', 'Abe' + ], + date: '%Y/%m/%d' + } +}; diff --git a/lib/locale-fa.js b/lib/locale-fa.js new file mode 100644 index 00000000000..f9e2fd62634 --- /dev/null +++ b/lib/locale-fa.js @@ -0,0 +1,25 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'fa', + dictionary: {}, + format: { + days: ['يکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], + shortDays: ['ي', 'د', 'س', 'چ', 'پ', 'ج', 'ش'], + months: [ + 'فروردين', 'ارديبهشت', 'خرداد', 'تير', 'مرداد', 'شهريور', + 'مهر', 'آبان', 'آذر', 'دي', 'بهمن', 'اسفند' + ], + shortMonths: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + date: '%Y/%m/%d' + } +}; diff --git a/lib/locale-fi.js b/lib/locale-fi.js new file mode 100644 index 00000000000..4a00a946d1d --- /dev/null +++ b/lib/locale-fi.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'fi', + dictionary: {}, + format: { + days: [ + 'Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', + 'Torstai', 'Perjantai', 'Lauantai' + ], + shortDays: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'Su'], + months: [ + 'Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', + 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu' + ], + shortMonths: [ + 'Tammi', 'Helmi', 'Maalis', 'Huhti', 'Touko', 'Kesä', + 'Heinä', 'Elo', 'Syys', 'Loka', 'Marras', 'Joulu' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-fo.js b/lib/locale-fo.js new file mode 100644 index 00000000000..f4a1958d1a9 --- /dev/null +++ b/lib/locale-fo.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'fo', + dictionary: {}, + format: { + days: [ + 'Sunnudagur', 'Mánadagur', 'Týsdagur', 'Mikudagur', + 'Hósdagur', 'Fríggjadagur', 'Leyardagur' + ], + shortDays: ['Sun', 'Mán', 'Týs', 'Mik', 'Hós', 'Frí', 'Ley'], + months: [ + 'Januar', 'Februar', 'Mars', 'Apríl', 'Mei', 'Juni', + 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des' + ], + date: '%d-%m-%Y' + } +}; diff --git a/lib/locale-fr-ch.js b/lib/locale-fr-ch.js new file mode 100644 index 00000000000..e99d53de0b7 --- /dev/null +++ b/lib/locale-fr-ch.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'fr-CH', + dictionary: {}, + format: { + days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], + shortDays: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], + months: [ + 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', + 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' + ], + shortMonths: [ + 'Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', + 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-fr.js b/lib/locale-fr.js new file mode 100644 index 00000000000..21a04980fa9 --- /dev/null +++ b/lib/locale-fr.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'fr', + dictionary: {}, + format: { + days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], + shortDays: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], + months: [ + 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', + 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' + ], + shortMonths: [ + 'Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', + 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-gl.js b/lib/locale-gl.js new file mode 100644 index 00000000000..45ca52ac32b --- /dev/null +++ b/lib/locale-gl.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'gl', + dictionary: {}, + format: { + days: ['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', 'Venres', 'Sábado'], + shortDays: ['Dom', 'Lun', 'Mar', 'Mér', 'Xov', 'Ven', 'Sáb'], + months: [ + 'Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio', 'Xuño', + 'Xullo', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Decembro' + ], + shortMonths: [ + 'Xan', 'Feb', 'Mar', 'Abr', 'Mai', 'Xuñ', + 'Xul', 'Ago', 'Set', 'Out', 'Nov', 'Dec' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-gu.js b/lib/locale-gu.js new file mode 100644 index 00000000000..0a49026f5ea --- /dev/null +++ b/lib/locale-gu.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'gu', + dictionary: {}, + format: { + days: ['રવિવાર', 'સોમવાર', 'મંગળવાર', 'બુધવાર', 'ગુરુવાર', 'શુક્રવાર', 'શનિવાર'], + shortDays: ['રવિ', 'સોમ', 'મંગળ', 'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'], + months: [ + 'જાન્યુઆરી', 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', + 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટેમ્બર', 'ઑક્ટોબર', 'નવેમ્બર', 'ડિસેમ્બર' + ], + shortMonths: [ + 'જાન્યુ', 'ફેબ્રુ', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', + 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે', 'ઑક્ટો', 'નવે', 'ડિસે' + ], + date: '%d-%b-%Y' + } +}; diff --git a/lib/locale-he.js b/lib/locale-he.js new file mode 100644 index 00000000000..8fd66469017 --- /dev/null +++ b/lib/locale-he.js @@ -0,0 +1,25 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'he', + dictionary: {}, + format: { + days: ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'], + shortDays: ['א\'', 'ב\'', 'ג\'', 'ד\'', 'ה\'', 'ו\'', 'שבת'], + months: [ + 'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', + 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר' + ], + shortMonths: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-hi-in.js b/lib/locale-hi-in.js new file mode 100644 index 00000000000..148943ef7d3 --- /dev/null +++ b/lib/locale-hi-in.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'hi-IN', + dictionary: {}, + format: { + days: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], + shortDays: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], + months: [ + 'जनवरी', ' फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', + 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर' + ], + shortMonths: [ + 'जन', 'फर', 'मार्च', 'अप्रै', 'मई', 'जून', + 'जुलाई', 'अग', 'सित', 'अक्टू', 'नव', 'दिस' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-hr.js b/lib/locale-hr.js new file mode 100644 index 00000000000..39443132586 --- /dev/null +++ b/lib/locale-hr.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'hr', + dictionary: {}, + format: { + days: [ + 'Nedjelja', 'Ponedjeljak', 'Utorak', 'Srijeda', + 'Četvrtak', 'Petak', 'Subota' + ], + shortDays: ['Ned', 'Pon', 'Uto', 'Sri', 'Čet', 'Pet', 'Sub'], + months: [ + 'Siječanj', 'Veljača', 'Ožujak', 'Travanj', 'Svibanj', 'Lipanj', + 'Srpanj', 'Kolovoz', 'Rujan', 'Listopad', 'Studeni', 'Prosinac' + ], + shortMonths: [ + 'Sij', 'Velj', 'Ožu', 'Tra', 'Svi', 'Lip', + 'Srp', 'Kol', 'Ruj', 'Lis', 'Stu', 'Pro' + ], + date: '%d.%m.%Y.' + } +}; diff --git a/lib/locale-hu.js b/lib/locale-hu.js new file mode 100644 index 00000000000..ca8c702f8af --- /dev/null +++ b/lib/locale-hu.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'hu', + dictionary: {}, + format: { + days: ['Vasárnap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'], + shortDays: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'], + months: [ + 'Január', 'Február', 'Március', 'Április', 'Május', 'Június', + 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December' + ], + shortMonths: [ + 'Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', + 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec' + ], + date: '%Y-%m-%d' + } +}; diff --git a/lib/locale-hy.js b/lib/locale-hy.js new file mode 100644 index 00000000000..3167b525edd --- /dev/null +++ b/lib/locale-hy.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'hy', + dictionary: {}, + format: { + days: [ + 'կիրակի', 'եկուշաբթի', 'երեքշաբթի', 'չորեքշաբթի', + 'հինգշաբթի', 'ուրբաթ', 'շաբաթ' + ], + shortDays: ['կիր', 'երկ', 'երք', 'չրք', 'հնգ', 'ուրբ', 'շբթ'], + months: [ + 'Հունվար', 'Փետրվար', 'Մարտ', 'Ապրիլ', 'Մայիս', 'Հունիս', + 'Հուլիս', 'Օգոստոս', 'Սեպտեմբեր', 'Հոկտեմբեր', 'Նոյեմբեր', 'Դեկտեմբեր' + ], + shortMonths: [ + 'Հունվ', 'Փետր', 'Մարտ', 'Ապր', 'Մայիս', 'Հունիս', + 'Հուլ', 'Օգս', 'Սեպ', 'Հոկ', 'Նոյ', 'Դեկ' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-id.js b/lib/locale-id.js new file mode 100644 index 00000000000..cc6d6466cd3 --- /dev/null +++ b/lib/locale-id.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'id', + dictionary: {}, + format: { + days: ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], + shortDays: ['Min', 'Sen', 'Sel', 'Rab', 'kam', 'Jum', 'Sab'], + months: [ + 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', + 'Juli', 'Agustus', 'September', 'Oktober', 'Nopember', 'Desember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', + 'Jul', 'Agus', 'Sep', 'Okt', 'Nop', 'Des' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-is.js b/lib/locale-is.js new file mode 100644 index 00000000000..2da0327c688 --- /dev/null +++ b/lib/locale-is.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'is', + dictionary: {}, + format: { + days: [ + 'Sunnudagur', 'Mánudagur', 'Þriðjudagur', 'Miðvikudagur', + 'Fimmtudagur', 'Föstudagur', 'Laugardagur' + ], + shortDays: ['Sun', 'Mán', 'Þri', 'Mið', 'Fim', 'Fös', 'Lau'], + months: [ + 'Janúar', 'Febrúar', 'Mars', 'Apríl', 'Maí', 'Júní', + 'Júlí', 'Ágúst', 'September', 'Október', 'Nóvember', 'Desember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maí', 'Jún', + 'Júl', 'Ágú', 'Sep', 'Okt', 'Nóv', 'Des' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-it.js b/lib/locale-it.js new file mode 100644 index 00000000000..c7d83de4217 --- /dev/null +++ b/lib/locale-it.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'it', + dictionary: {}, + format: { + days: [ + 'Domenica', 'Lunedì', 'Martedì', 'Mercoledì', + 'Giovedì', 'Venerdì', 'Sabato' + ], + shortDays: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'], + months: [ + 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', + 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre' + ], + shortMonths: [ + 'Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', + 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ja.js b/lib/locale-ja.js new file mode 100644 index 00000000000..0438812226b --- /dev/null +++ b/lib/locale-ja.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ja', + dictionary: {}, + format: { + days: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'], + shortDays: ['日', '月', '火', '水', '木', '金', '土'], + months: [ + '1月', '2月', '3月', '4月', '5月', '6月', + '7月', '8月', '9月', '10月', '11月', '12月' + ], + shortMonths: [ + '1月', '2月', '3月', '4月', '5月', '6月', + '7月', '8月', '9月', '10月', '11月', '12月' + ], + date: '%Y/%m/%d' + } +}; diff --git a/lib/locale-ka.js b/lib/locale-ka.js new file mode 100644 index 00000000000..1afafcea4c0 --- /dev/null +++ b/lib/locale-ka.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ka', + dictionary: {}, + format: { + days: [ + 'კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', + 'ხუთშაბათი', 'პარასკევი', 'შაბათი' + ], + shortDays: ['კვ', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'], + months: [ + 'იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', + 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი' + ], + shortMonths: [ + 'იან', 'თებ', 'მარ', 'აპრ', 'მაისი', 'ივნ', + 'ივლ', 'აგვ', 'სექ', 'ოქტ', 'ნოე', 'დეკ' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-km.js b/lib/locale-km.js new file mode 100644 index 00000000000..3a0a5f43e4a --- /dev/null +++ b/lib/locale-km.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'km', + dictionary: {}, + format: { + days: [ + 'ថ្ងៃ​អាទិត្យ', 'ថ្ងៃ​ចន្ទ', 'ថ្ងៃ​អង្គារ', 'ថ្ងៃ​ពុធ', + 'ថ្ងៃ​ព្រហស្បត្តិ៍', 'ថ្ងៃ​សុក្រ', 'ថ្ងៃ​សៅរ៍' + ], + shortDays: ['អា', 'ចន្ទ', 'អង្គ', 'ពុធ', 'ព្រហ', 'សុ', 'សៅរ៍'], + months: [ + 'ខែ​មករា', 'ខែ​កុម្ភៈ', 'ខែ​មិនា', 'ខែ​មេសា', 'ខែ​ឧសភា', 'ខែ​មិថុនា', + 'ខែ​កក្កដា', 'ខែ​សីហា', 'ខែ​កញ្ញា', 'ខែ​តុលា', 'ខែ​វិច្ឆិកា', 'ខែ​ធ្នូ' + ], + shortMonths: [ + 'មក', 'កុ', 'មិនា', 'មេ', 'ឧស', 'មិថុ', + 'កក្ក', 'សី', 'កញ្ញា', 'តុលា', 'វិច្ឆិ', 'ធ្នូ' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ko.js b/lib/locale-ko.js new file mode 100644 index 00000000000..5e8022f2cc8 --- /dev/null +++ b/lib/locale-ko.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ko', + dictionary: {}, + format: { + days: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + shortDays: ['일', '월', '화', '수', '목', '금', '토'], + months: [ + '1월', '2월', '3월', '4월', '5월', '6월', + '7월', '8월', '9월', '10월', '11월', '12월' + ], + shortMonths: [ + '1월', '2월', '3월', '4월', '5월', '6월', + '7월', '8월', '9월', '10월', '11월', '12월' + ], + date: '%Y-%m-%d' + } +}; diff --git a/lib/locale-lt.js b/lib/locale-lt.js new file mode 100644 index 00000000000..00cdd84a510 --- /dev/null +++ b/lib/locale-lt.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'lt', + dictionary: {}, + format: { + days: [ + 'sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', + 'ketvirtadienis', 'penktadienis', 'šeštadienis' + ], + shortDays: ['sek', 'pir', 'ant', 'tre', 'ket', 'pen', 'šeš'], + months: [ + 'Sausis', 'Vasaris', 'Kovas', 'Balandis', 'Gegužė', 'Birželis', + 'Liepa', 'Rugpjūtis', 'Rugsėjis', 'Spalis', 'Lapkritis', 'Gruodis' + ], + shortMonths: [ + 'Sau', 'Vas', 'Kov', 'Bal', 'Geg', 'Bir', + 'Lie', 'Rugp', 'Rugs', 'Spa', 'Lap', 'Gru' + ], + date: '%Y-%m-%d' + } +}; diff --git a/lib/locale-lv.js b/lib/locale-lv.js new file mode 100644 index 00000000000..dfb09b91303 --- /dev/null +++ b/lib/locale-lv.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'lv', + dictionary: {}, + format: { + days: [ + 'svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', + 'ceturtdiena', 'piektdiena', 'sestdiena' + ], + shortDays: ['svt', 'prm', 'otr', 'tre', 'ctr', 'pkt', 'sst'], + months: [ + 'Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', + 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decembris' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jūn', + 'Jūl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d-%m-%Y' + } +}; diff --git a/lib/locale-me-me.js b/lib/locale-me-me.js new file mode 100644 index 00000000000..a1a85aaad6e --- /dev/null +++ b/lib/locale-me-me.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'me-ME', + dictionary: {}, + format: { + days: [ + 'Neđelja', 'Poneđeljak', 'Utorak', 'Srijeda', + 'Četvrtak', 'Petak', 'Subota' + ], + shortDays: ['Neđ', 'Pon', 'Uto', 'Sri', 'Čet', 'Pet', 'Sub'], + months: [ + 'Januar', 'Februar', 'Mart', 'April', 'Maj', 'Jun', + 'Jul', 'Avgust', 'Septembar', 'Oktobar', 'Novembar', 'Decembar' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-me.js b/lib/locale-me.js new file mode 100644 index 00000000000..1e53649ee8d --- /dev/null +++ b/lib/locale-me.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'me', + dictionary: {}, + format: { + days: ['Неђеља', 'Понеђељак', 'Уторак', 'Сриједа', 'Четвртак', 'Петак', 'Субота'], + shortDays: ['Неђ', 'Пон', 'Уто', 'Сри', 'Чет', 'Пет', 'Суб'], + months: [ + 'Јануар', 'Фебруар', 'Март', 'Април', 'Мај', 'Јун', + 'Јул', 'Август', 'Септембар', 'Октобар', 'Новембар', 'Децембар' + ], + shortMonths: [ + 'Јан', 'Феб', 'Мар', 'Апр', 'Мај', 'Јун', + 'Јул', 'Авг', 'Сеп', 'Окт', 'Нов', 'Дец' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-mk.js b/lib/locale-mk.js new file mode 100644 index 00000000000..81999ad04a5 --- /dev/null +++ b/lib/locale-mk.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'mk', + dictionary: {}, + format: { + days: ['Недела', 'Понеделник', 'Вторник', 'Среда', 'Четврток', 'Петок', 'Сабота'], + shortDays: ['Нед', 'Пон', 'Вто', 'Сре', 'Чет', 'Пет', 'Саб'], + months: [ + 'Јануари', 'Февруари', 'Март', 'Април', 'Мај', 'Јуни', + 'Јули', 'Август', 'Септември', 'Октомври', 'Ноември', 'Декември' + ], + shortMonths: [ + 'Јан', 'Фев', 'Мар', 'Апр', 'Мај', 'Јун', + 'Јул', 'Авг', 'Сеп', 'Окт', 'Нов', 'Дек' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ml.js b/lib/locale-ml.js new file mode 100644 index 00000000000..e29f510c894 --- /dev/null +++ b/lib/locale-ml.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ml', + dictionary: {}, + format: { + days: ['ഞായര്‍', 'തിങ്കള്‍', 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', 'വെള്ളി', 'ശനി'], + shortDays: ['ഞായ', 'തിങ്ക', 'ചൊവ്വ', 'ബുധ', 'വ്യാഴം', 'വെള്ളി', 'ശനി'], + months: [ + 'ജനുവരി', 'ഫെബ്രുവരി', 'മാര്‍ച്ച്', 'ഏപ്രില്‍', 'മേയ്', 'ജൂണ്‍', + 'ജൂലൈ', 'ആഗസ്റ്റ്', 'സെപ്റ്റംബര്‍', 'ഒക്ടോബര്‍', 'നവംബര്‍', 'ഡിസംബര്‍' + ], + shortMonths: [ + 'ജനു', 'ഫെബ്', 'മാര്‍', 'ഏപ്രി', 'മേയ്', 'ജൂണ്‍', + 'ജൂലാ', 'ആഗ', 'സെപ്', 'ഒക്ടോ', 'നവം', 'ഡിസ' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ms.js b/lib/locale-ms.js new file mode 100644 index 00000000000..23040e1a30f --- /dev/null +++ b/lib/locale-ms.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ms', + dictionary: {}, + format: { + days: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], + shortDays: ['Aha', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], + months: [ + 'Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', + 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', + 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-mt.js b/lib/locale-mt.js new file mode 100644 index 00000000000..9b8a3c96100 --- /dev/null +++ b/lib/locale-mt.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'mt', + dictionary: {}, + format: { + days: [ + 'Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', + 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt' + ], + shortDays: ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'], + months: [ + 'Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', + 'Lulju', 'Awissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru' + ], + shortMonths: [ + 'Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', + 'Lul', 'Awi', 'Set', 'Ott', 'Nov', 'Diċ' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-nl-be.js b/lib/locale-nl-be.js new file mode 100644 index 00000000000..769f6212504 --- /dev/null +++ b/lib/locale-nl-be.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'nl-BE', + dictionary: {}, + format: { + days: [ + 'zondag', 'maandag', 'dinsdag', 'woensdag', + 'donderdag', 'vrijdag', 'zaterdag' + ], + shortDays: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'], + months: [ + 'januari', 'februari', 'maart', 'april', 'mei', 'juni', + 'juli', 'augustus', 'september', 'oktober', 'november', 'december' + ], + shortMonths: [ + 'jan', 'feb', 'maa', 'apr', 'mei', 'jun', + 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-nl.js b/lib/locale-nl.js new file mode 100644 index 00000000000..51459b9cc4d --- /dev/null +++ b/lib/locale-nl.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'nl', + dictionary: {}, + format: { + days: [ + 'zondag', 'maandag', 'dinsdag', 'woensdag', + 'donderdag', 'vrijdag', 'zaterdag' + ], + shortDays: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'], + months: [ + 'januari', 'februari', 'maart', 'april', 'mei', 'juni', + 'juli', 'augustus', 'september', 'oktober', 'november', 'december' + ], + shortMonths: [ + 'jan', 'feb', 'maa', 'apr', 'mei', 'jun', + 'jul', 'aug', 'sep', 'okt', 'nov', 'dec' + ], + date: '%d-%m-%Y' + } +}; diff --git a/lib/locale-no.js b/lib/locale-no.js new file mode 100644 index 00000000000..1041ac38bb2 --- /dev/null +++ b/lib/locale-no.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'no', + dictionary: {}, + format: { + days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'], + shortDays: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'], + months: [ + 'Januar', 'Februar', 'Mars', 'April', 'Mai', 'Juni', + 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-pa.js b/lib/locale-pa.js new file mode 100644 index 00000000000..32c96a58870 --- /dev/null +++ b/lib/locale-pa.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'pa', + dictionary: {}, + format: { + days: [ + 'ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬੁੱਧਵਾਰ', + 'ਵੀਰਵਾਰ', 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨਿੱਚਰਵਾਰ' + ], + shortDays: ['ਐਤ', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬੁੱਧ', 'ਵੀਰ', 'ਸ਼ੁੱਕਰ', 'ਸ਼ਨਿੱਚਰ'], + months: [ + 'ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', + 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ' + ], + shortMonths: [ + 'ਜਨ', 'ਫ਼ਰ', 'ਮਾਰ', 'ਅਪ੍ਰੈ', 'ਮਈ', 'ਜੂਨ', + 'ਜੁਲਾ', 'ਅਗ', 'ਸਤੰ', 'ਅਕ', 'ਨਵੰ', 'ਦਸੰ' + ], + date: '%d-%m-%Y' + } +}; diff --git a/lib/locale-pl.js b/lib/locale-pl.js new file mode 100644 index 00000000000..ee1d00244e8 --- /dev/null +++ b/lib/locale-pl.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'pl', + dictionary: {}, + format: { + days: [ + 'Niedziela', 'Poniedzialek', 'Wtorek', 'Środa', + 'Czwartek', 'Piątek', 'Sobota' + ], + shortDays: ['Nie', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So'], + months: [ + 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', + 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień' + ], + shortMonths: [ + 'Sty', 'Lu', 'Mar', 'Kw', 'Maj', 'Cze', + 'Lip', 'Sie', 'Wrz', 'Pa', 'Lis', 'Gru' + ], + date: '%Y-%m-%d' + } +}; diff --git a/lib/locale-pt-br.js b/lib/locale-pt-br.js new file mode 100644 index 00000000000..97ed7d1c6aa --- /dev/null +++ b/lib/locale-pt-br.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'pt-BR', + dictionary: {}, + format: { + days: [ + 'Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', + 'Quinta-feira', 'Sexta-feira', 'Sábado' + ], + shortDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'], + months: [ + 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', + 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro' + ], + shortMonths: [ + 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', + 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-rm.js b/lib/locale-rm.js new file mode 100644 index 00000000000..451f76ac510 --- /dev/null +++ b/lib/locale-rm.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'rm', + dictionary: {}, + format: { + days: [ + 'Dumengia', 'Glindesdi', 'Mardi', 'Mesemna', + 'Gievgia', 'Venderdi', 'Sonda' + ], + shortDays: ['Dum', 'Gli', 'Mar', 'Mes', 'Gie', 'Ven', 'Som'], + months: [ + 'Schaner', 'Favrer', 'Mars', 'Avrigl', 'Matg', 'Zercladur', + 'Fanadur', 'Avust', 'Settember', 'October', 'November', 'December' + ], + shortMonths: [ + 'Scha', 'Fev', 'Mar', 'Avr', 'Matg', 'Zer', + 'Fan', 'Avu', 'Sett', 'Oct', 'Nov', 'Dec' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ro.js b/lib/locale-ro.js new file mode 100644 index 00000000000..d5865ae040a --- /dev/null +++ b/lib/locale-ro.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ro', + dictionary: {}, + format: { + days: ['Duminică', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'], + shortDays: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'], + months: [ + 'Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Iunie', + 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie' + ], + shortMonths: [ + 'Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', + 'Iul', 'Aug', 'Sep', 'Oct', 'Noi', 'Dec' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-ru.js b/lib/locale-ru.js new file mode 100644 index 00000000000..b5b1f6a46f1 --- /dev/null +++ b/lib/locale-ru.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ru', + dictionary: {}, + format: { + days: [ + 'воскресенье', 'понедельник', 'вторник', 'среда', + 'четверг', 'пятница', 'суббота' + ], + shortDays: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'сбт'], + months: [ + 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', + 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' + ], + shortMonths: [ + 'Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', + 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-sk.js b/lib/locale-sk.js new file mode 100644 index 00000000000..ec45ca71e41 --- /dev/null +++ b/lib/locale-sk.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'sk', + dictionary: {}, + format: { + days: ['Nedel\'a', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'], + shortDays: ['Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'], + months: [ + 'Január', 'Február', 'Marec', 'Apríl', 'Máj', 'Jún', + 'Júl', 'August', 'September', 'Október', 'November', 'December' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', + 'Júl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-sl.js b/lib/locale-sl.js new file mode 100644 index 00000000000..e1ef19406f8 --- /dev/null +++ b/lib/locale-sl.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'sl', + dictionary: {}, + format: { + days: ['Nedelja', 'Ponedeljek', 'Torek', 'Sreda', 'Četrtek', 'Petek', 'Sobota'], + shortDays: ['Ned', 'Pon', 'Tor', 'Sre', 'Čet', 'Pet', 'Sob'], + months: [ + 'Januar', 'Februar', 'Marec', 'April', 'Maj', 'Junij', + 'Julij', 'Avgust', 'September', 'Oktober', 'November', 'December' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-sq.js b/lib/locale-sq.js new file mode 100644 index 00000000000..4d16a024c57 --- /dev/null +++ b/lib/locale-sq.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'sq', + dictionary: {}, + format: { + days: [ + 'E Diel', 'E Hënë', 'E Martë', 'E Mërkurë', + 'E Enjte', 'E Premte', 'E Shtune' + ], + shortDays: ['Di', 'Hë', 'Ma', 'Më', 'En', 'Pr', 'Sh'], + months: [ + 'Janar', 'Shkurt', 'Mars', 'Prill', 'Maj', 'Qershor', + 'Korrik', 'Gusht', 'Shtator', 'Tetor', 'Nëntor', 'Dhjetor' + ], + shortMonths: [ + 'Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', + 'Kor', 'Gus', 'Sht', 'Tet', 'Nën', 'Dhj' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-sr-sr.js b/lib/locale-sr-sr.js new file mode 100644 index 00000000000..ce70bd6d769 --- /dev/null +++ b/lib/locale-sr-sr.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'sr-SR', + dictionary: {}, + format: { + days: ['Nedelja', 'Ponedeljak', 'Utorak', 'Sreda', 'Četvrtak', 'Petak', 'Subota'], + shortDays: ['Ned', 'Pon', 'Uto', 'Sre', 'Čet', 'Pet', 'Sub'], + months: [ + 'Januar', 'Februar', 'Mart', 'April', 'Maj', 'Jun', + 'Jul', 'Avgust', 'Septembar', 'Oktobar', 'Novembar', 'Decembar' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-sr.js b/lib/locale-sr.js new file mode 100644 index 00000000000..849660d0951 --- /dev/null +++ b/lib/locale-sr.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'sr', + dictionary: {}, + format: { + days: ['Недеља', 'Понедељак', 'Уторак', 'Среда', 'Четвртак', 'Петак', 'Субота'], + shortDays: ['Нед', 'Пон', 'Уто', 'Сре', 'Чет', 'Пет', 'Суб'], + months: [ + 'Јануар', 'Фебруар', 'Март', 'Април', 'Мај', 'Јун', + 'Јул', 'Август', 'Септембар', 'Октобар', 'Новембар', 'Децембар' + ], + shortMonths: [ + 'Јан', 'Феб', 'Мар', 'Апр', 'Мај', 'Јун', + 'Јул', 'Авг', 'Сеп', 'Окт', 'Нов', 'Дец' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-sv.js b/lib/locale-sv.js new file mode 100644 index 00000000000..4b4738a4e54 --- /dev/null +++ b/lib/locale-sv.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'sv', + dictionary: {}, + format: { + days: ['Söndag', 'Måndag', 'Tisdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lördag'], + shortDays: ['Sön', 'Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör'], + months: [ + 'Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', + 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December' + ], + shortMonths: [ + 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', + 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec' + ], + date: '%Y-%m-%d' + } +}; diff --git a/lib/locale-ta.js b/lib/locale-ta.js new file mode 100644 index 00000000000..0497af7c838 --- /dev/null +++ b/lib/locale-ta.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ta', + dictionary: {}, + format: { + days: [ + 'ஞாயிற்றுக்கிழமை', 'திங்கட்கிழமை', 'செவ்வாய்க்கிழமை', 'புதன்கிழமை', + 'வியாழக்கிழமை', 'வெள்ளிக்கிழமை', 'சனிக்கிழமை' + ], + shortDays: ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'], + months: [ + 'தை', 'மாசி', 'பங்குனி', 'சித்திரை', 'வைகாசி', 'ஆனி', + 'ஆடி', 'ஆவணி', 'புரட்டாசி', 'ஐப்பசி', 'கார்த்திகை', 'மார்கழி' + ], + shortMonths: [ + 'தை', 'மாசி', 'பங்', 'சித்', 'வைகா', 'ஆனி', + 'ஆடி', 'ஆவ', 'புர', 'ஐப்', 'கார்', 'மார்' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-th.js b/lib/locale-th.js new file mode 100644 index 00000000000..1fca3eb3f5e --- /dev/null +++ b/lib/locale-th.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'th', + dictionary: {}, + format: { + days: ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์'], + shortDays: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'], + months: [ + 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', + 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม' + ], + shortMonths: [ + 'ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', + 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-tr.js b/lib/locale-tr.js new file mode 100644 index 00000000000..bffe30abbcc --- /dev/null +++ b/lib/locale-tr.js @@ -0,0 +1,28 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'tr', + dictionary: {}, + format: { + days: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'], + shortDays: ['Pz', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'], + months: [ + 'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', + 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık' + ], + shortMonths: [ + 'Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', + 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-tt.js b/lib/locale-tt.js new file mode 100644 index 00000000000..17b4aaadff4 --- /dev/null +++ b/lib/locale-tt.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'tt', + dictionary: {}, + format: { + days: [ + 'якшәмбе', 'дүшәмбе', 'сишәмбе', 'чәршәмбе', + 'пәнҗешәмбе', 'җомга', 'шимбә' + ], + shortDays: ['якш', 'дүш', 'сиш', 'чәр', 'пән', 'җом', 'шим'], + months: [ + 'Гынвар', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', + 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' + ], + shortMonths: [ + 'Гыйн', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', + 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек' + ], + date: '%d.%m.%Y' + } +}; diff --git a/lib/locale-uk.js b/lib/locale-uk.js new file mode 100644 index 00000000000..bf38fcd2233 --- /dev/null +++ b/lib/locale-uk.js @@ -0,0 +1,31 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'uk', + dictionary: {}, + format: { + days: [ + 'неділя', 'понеділок', 'вівторок', 'середа', + 'четвер', 'п\'ятниця', 'субота' + ], + shortDays: ['нед', 'пнд', 'вів', 'срд', 'чтв', 'птн', 'сбт'], + months: [ + 'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', + 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень' + ], + shortMonths: [ + 'Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер', + 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-ur.js b/lib/locale-ur.js new file mode 100644 index 00000000000..01b270a84d5 --- /dev/null +++ b/lib/locale-ur.js @@ -0,0 +1,25 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'ur', + dictionary: {}, + format: { + days: ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + shortDays: ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'], + months: [ + 'جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', + 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر' + ], + shortMonths: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-vi.js b/lib/locale-vi.js new file mode 100644 index 00000000000..cc352d05e88 --- /dev/null +++ b/lib/locale-vi.js @@ -0,0 +1,38 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'vi', + dictionary: {}, + format: { + days: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'], + shortDays: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], + months: [ + 'Tháng Một', + 'Tháng Hai', + 'Tháng Ba', + 'Tháng Tư', + 'Tháng Năm', + 'Tháng Sáu', + 'Tháng Bảy', + 'Tháng Tám', + 'Tháng Chín', + 'Tháng Mười', + 'Tháng Mười Một', + 'Tháng Mười Hai' + ], + shortMonths: [ + 'Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', + 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12' + ], + date: '%d/%m/%Y' + } +}; diff --git a/lib/locale-zh-cn.js b/lib/locale-zh-cn.js new file mode 100644 index 00000000000..e3c20b16291 --- /dev/null +++ b/lib/locale-zh-cn.js @@ -0,0 +1,22 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'zh-CN', + dictionary: {}, + format: { + days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + shortDays: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + shortMonths: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'], + date: '%Y-%m-%d' + } +}; diff --git a/lib/locale-zh-hk.js b/lib/locale-zh-hk.js new file mode 100644 index 00000000000..0b7a80c0277 --- /dev/null +++ b/lib/locale-zh-hk.js @@ -0,0 +1,22 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'zh-HK', + dictionary: {}, + format: { + days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + shortDays: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + shortMonths: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'], + date: '%d-%m-%Y' + } +}; diff --git a/lib/locale-zh-tw.js b/lib/locale-zh-tw.js new file mode 100644 index 00000000000..04ee9497f52 --- /dev/null +++ b/lib/locale-zh-tw.js @@ -0,0 +1,22 @@ +/** +* Copyright 2012-2017, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +module.exports = { + moduleType: 'locale', + name: 'zh-TW', + dictionary: {}, + format: { + days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], + shortDays: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], + months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], + shortMonths: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'], + date: '%Y/%m/%d' + } +}; diff --git a/tasks/pull_date_format.js b/tasks/pull_date_format.js new file mode 100644 index 00000000000..be250cfd9ca --- /dev/null +++ b/tasks/pull_date_format.js @@ -0,0 +1,169 @@ +var path = require('path'); +var fs = require('fs'); +var constants = require('./util/constants'); +var common = require('./util/common'); + +var args = process.argv.slice(2); +var argLocale = args[0]; + +var pathToEn = path.join(constants.pathToLib, 'locale-en.js'); +var pathToWCRegions = path.join(__dirname, '../node_modules/world-calendars/dist/regional'); + +if(!argLocale) { + fs.readdir(pathToWCRegions, function(err, items) { + if(err) throw err; + + items.forEach(function(item) { + var itemLocale = item.split('.')[0]; + if(itemLocale.substr(0, 2) === 'en') { + console.log('skipping English ' + itemLocale); + return; + } + pullOneLocale(itemLocale); + }); + }); +} +else { + pullOneLocale(argLocale); +} + +function pullOneLocale(locale) { + var pathToInput = path.join(pathToWCRegions, locale + '.js'); + var pathToOutput = path.join(constants.pathToLib, 'locale-' + locale.toLowerCase() + '.js'); + + fs.readFile(pathToInput, 'utf8', function(err, wcCode) { + if(err) { + throw new Error('pull_date_format failed: ' + pathToInput + ' not found'); + } + + var preStartStr = 'prototype.regionalOptions'; + var startStr = '] = {'; + var endStr = '};'; + + var startIndex = wcCode.indexOf(startStr, wcCode.indexOf(preStartStr)) + startStr.length - 1; + var endIndex = wcCode.indexOf(endStr, startIndex) + 1; + + var dataStr = wcCode.substr(startIndex, endIndex - startIndex); + + // strip out `main.substitute(Chinese)?Digits` - we don't care about the digits field for now anyway + dataStr = dataStr.replace(/main[\.][A-Za-z]+\([^\)]*\)/g, '""'); + + dataStr = cleanHTMLEntities(dataStr); + var wcDataObj = eval('a=' + dataStr); + + fs.readFile(pathToOutput, 'utf8', function(err, existingOutputText) { + var isNew = false; + if(err || !existingOutputText.trim()) { + existingOutputText = fs.readFileSync(pathToEn, 'utf8'); + isNew = true; + } + + var outObjStartStr = 'module.exports = '; + var outObjEndStr = '};'; + var outObjStartIndex = existingOutputText.indexOf(outObjStartStr) + outObjStartStr.length; + var outObjEndIndex = existingOutputText.indexOf(outObjEndStr, outObjStartIndex) + 1; + var outPrefix = existingOutputText.substr(0, outObjStartIndex); + var outSuffix = existingOutputText.substr(outObjEndIndex); + var objText = existingOutputText.substr(outObjStartIndex, outObjEndIndex - outObjStartIndex); + var outObj; + try { + outObj = eval('a=' + objText); + } + catch(e) { + throw new Error(locale + '--' + objText); + } + + if(isNew) { + outObj.name = locale; + outObj.dictionary = {}; + outObj.format = {}; + } + + var format = outObj.format = (outObj.format || {}); + + format.days = wcDataObj.dayNames; + format.shortDays = wcDataObj.dayNamesShort; + format.months = wcDataObj.monthNames; + format.shortMonths = wcDataObj.monthNamesShort; + format.date = translateDateFormat(wcDataObj.dateFormat); + // leave out `dateTime` and `time` fields. We could include them as cmd line args later + // for now these will get inherited from english. + + var outStr = JSON.stringify(outObj, null, 4) + .replace(/'/g, '\\\'') // escape single quotes + .replace(/"([A-Za-z]\w+)":/g, '$1:') // unquote simple identifier keys + .replace(/([^\\])"/g, '$1\'') // replace unescaped doublequotes with singlequotes + .replace(/\\"/g, '"'); // unescape escaped doublequotes + + outStr = shortenArrays(outStr); + + common.writeFile(pathToOutput, outPrefix + outStr + outSuffix, function() { + console.log('ok pull_date_format ' + locale); + }); + }); + }); +} + +/* + * Turn HTML entities into unicode - for explicit compatibility with SVG + * There are just a few in world-calendars that aren't already in unicode anyway. + */ +var entityMap = { + ccedil: '\u00e7', + auml: '\u00e4', + '#x10C': '\u010c' +}; +function cleanHTMLEntities(s) { + return s.replace(/&([^;]+);/g, function(entity, entityID) { + var outChar = entityMap[entityID]; + if(!outChar) { + throw new Error('no unicode character listed for ' + entity); + } + return outChar; + }); +} + +/* + * Convert world-calendars date format ('dd.mm.yyyy') to d3 ('%d.%m.%Y') + */ +function translateDateFormat(wcDateFormat) { + var out = wcDateFormat + .replace('yyyy', '%Y') + // bosnian (bs) uses 2-digit year in world-calendars, but I don't want to continue that! + .replace('yy', '%Y') + .replace('mm', '%m') + .replace('dd', '%d') + // gujarati (gu) uses short month name in world-calendars - keep it? + .replace('M', '%b'); + + return out; +} + +/** + * Either put the whole array on one line, split it into 2 lines, + * or leave it as is (one line per item), whatever we can fit into 90 characters. + * A trailing comma may still be after the 90-character limit + */ +function shortenArrays(s) { + var maxLen = 91; // max line length plus one for the initial \n. + + return s.replace(/(\n.+\[)\n([^\]]+)\n(\s*)\]/g, function(wholeMatch, prefix, arrayStr, bracketSpaces) { + + var parts = arrayStr.trim().split(/,\n\s*/); + + var singleLine = prefix + parts.join(', ') + ']'; + if(singleLine.length <= maxLen) { + return singleLine; + } + + var arraySpaces = bracketSpaces + ' '; + var splitPoint = Math.ceil(parts.length / 2); + var line1 = arraySpaces + parts.slice(0, splitPoint).join(', ') + ','; + var line2 = arraySpaces + parts.slice(splitPoint).join(', '); + if(line1.length <= maxLen && line2.length <= maxLen) { + return [prefix, line1, line2, bracketSpaces + ']'].join('\n'); + } + + return wholeMatch; + }); +} From 64968ddc737e23c54d5560e54bd2e43d9ed0f7bc Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 10:19:18 -0500 Subject: [PATCH 03/11] move locales en and en-US into the core --- dist/plotly-locale-en-us.js | 1 - dist/plotly-locale-en.js | 1 - lib/index-basic.js | 6 ------ lib/index-cartesian.js | 6 ------ lib/index-finance.js | 6 ------ lib/index-geo.js | 6 ------ lib/index-gl2d.js | 6 ------ lib/index-gl3d.js | 6 ------ lib/index-mapbox.js | 6 ------ lib/index.js | 6 ------ src/core.js | 6 ++++++ {lib => src}/locale-en-us.js | 0 {lib => src}/locale-en.js | 0 tasks/pull_date_format.js | 2 +- test/jasmine/tests/plots_test.js | 2 +- 15 files changed, 8 insertions(+), 52 deletions(-) delete mode 100644 dist/plotly-locale-en-us.js delete mode 100644 dist/plotly-locale-en.js rename {lib => src}/locale-en-us.js (100%) rename {lib => src}/locale-en.js (100%) diff --git a/dist/plotly-locale-en-us.js b/dist/plotly-locale-en-us.js deleted file mode 100644 index 77919824099..00000000000 --- a/dist/plotly-locale-en-us.js +++ /dev/null @@ -1 +0,0 @@ -Plotly.register({moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}); \ No newline at end of file diff --git a/dist/plotly-locale-en.js b/dist/plotly-locale-en.js deleted file mode 100644 index 098395c9786..00000000000 --- a/dist/plotly-locale-en.js +++ /dev/null @@ -1 +0,0 @@ -Plotly.register({moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"],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"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""]}}); \ No newline at end of file diff --git a/lib/index-basic.js b/lib/index-basic.js index 6bf47b0d84a..4c837e413ad 100644 --- a/lib/index-basic.js +++ b/lib/index-basic.js @@ -15,10 +15,4 @@ Plotly.register([ require('./pie') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index-cartesian.js b/lib/index-cartesian.js index 6dc20783571..5818a717748 100644 --- a/lib/index-cartesian.js +++ b/lib/index-cartesian.js @@ -23,10 +23,4 @@ Plotly.register([ require('./violin') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index-finance.js b/lib/index-finance.js index f53dee82c9f..4759344b760 100644 --- a/lib/index-finance.js +++ b/lib/index-finance.js @@ -18,10 +18,4 @@ Plotly.register([ require('./candlestick') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index-geo.js b/lib/index-geo.js index 40dec26e9e9..2283f1f0489 100644 --- a/lib/index-geo.js +++ b/lib/index-geo.js @@ -15,10 +15,4 @@ Plotly.register([ require('./choropleth') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index-gl2d.js b/lib/index-gl2d.js index 31128063e7a..9c24ec21267 100644 --- a/lib/index-gl2d.js +++ b/lib/index-gl2d.js @@ -18,10 +18,4 @@ Plotly.register([ require('./parcoords') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index-gl3d.js b/lib/index-gl3d.js index b7a635e27f9..7134846cb7d 100644 --- a/lib/index-gl3d.js +++ b/lib/index-gl3d.js @@ -16,10 +16,4 @@ Plotly.register([ require('./mesh3d') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index-mapbox.js b/lib/index-mapbox.js index 9c6ed2b4bf3..17b075b5f49 100644 --- a/lib/index-mapbox.js +++ b/lib/index-mapbox.js @@ -14,10 +14,4 @@ Plotly.register([ require('./scattermapbox') ]); -// locales -Plotly.register([ - require('./locale-en'), - require('./locale-en-us') -]); - module.exports = Plotly; diff --git a/lib/index.js b/lib/index.js index 131ff4e8511..7dac73a1f64 100644 --- a/lib/index.js +++ b/lib/index.js @@ -71,10 +71,4 @@ Plotly.register([ require('./calendars') ]); -// locales -Plotly.register([ - require('./locale-en.js'), - require('./locale-en-us.js') -]); - module.exports = Plotly; diff --git a/src/core.js b/src/core.js index b51b8e82ce9..7541284feb0 100644 --- a/src/core.js +++ b/src/core.js @@ -65,6 +65,12 @@ exports.register([ require('./components/rangeselector') ]); +// locales en and en-US are required for default behavior +exports.register([ + require('./locale-en'), + require('./locale-en-US') +]); + // plot icons exports.Icons = require('../build/ploticon'); diff --git a/lib/locale-en-us.js b/src/locale-en-us.js similarity index 100% rename from lib/locale-en-us.js rename to src/locale-en-us.js diff --git a/lib/locale-en.js b/src/locale-en.js similarity index 100% rename from lib/locale-en.js rename to src/locale-en.js diff --git a/tasks/pull_date_format.js b/tasks/pull_date_format.js index be250cfd9ca..bc329be41da 100644 --- a/tasks/pull_date_format.js +++ b/tasks/pull_date_format.js @@ -6,7 +6,7 @@ var common = require('./util/common'); var args = process.argv.slice(2); var argLocale = args[0]; -var pathToEn = path.join(constants.pathToLib, 'locale-en.js'); +var pathToEn = path.join(constants.pathToSrc, 'locale-en.js'); var pathToWCRegions = path.join(__dirname, '../node_modules/world-calendars/dist/regional'); if(!argLocale) { diff --git a/test/jasmine/tests/plots_test.js b/test/jasmine/tests/plots_test.js index 3b36ed99057..82d0f0e0e4c 100644 --- a/test/jasmine/tests/plots_test.js +++ b/test/jasmine/tests/plots_test.js @@ -160,7 +160,7 @@ describe('Test Plots', function() { layoutOut, expected; - var formatObj = require('@lib/locale-en').format; + var formatObj = require('@src/locale-en').format; function supplyLayoutDefaults(layoutIn, layoutOut) { layoutOut._dfltTitle = { From a52782857bd9a7de4021e9c62ba9f0cec04d2509 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 11:01:54 -0500 Subject: [PATCH 04/11] :see_no_evil: --- src/core.js | 2 +- src/plots/cartesian/set_convert.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core.js b/src/core.js index 7541284feb0..820c646a99d 100644 --- a/src/core.js +++ b/src/core.js @@ -68,7 +68,7 @@ exports.register([ // locales en and en-US are required for default behavior exports.register([ require('./locale-en'), - require('./locale-en-US') + require('./locale-en-us') ]); // plot icons diff --git a/src/plots/cartesian/set_convert.js b/src/plots/cartesian/set_convert.js index 4fb66f70b73..82ac789be31 100644 --- a/src/plots/cartesian/set_convert.js +++ b/src/plots/cartesian/set_convert.js @@ -447,7 +447,7 @@ module.exports = function setConvert(ax, fullLayout) { ax._min = []; ax._max = []; - // Fropagate localization into the axis so that + // Propagate localization into the axis so that // methods in Axes can use it w/o having to pass fullLayout // Default (non-d3) number formatting uses separators directly // dates and d3-formatted numbers use the d3 locale From 43b73e0a6a54bdc0586973696d1f0c9cc2bf0f79 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 12:52:09 -0500 Subject: [PATCH 05/11] test case correctness of all require statements --- package.json | 1 + tasks/test_syntax.js | 29 ++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 788d6af96b7..26da4f3e43b 100644 --- a/package.json +++ b/package.json @@ -144,6 +144,7 @@ "read-last-lines": "^1.1.0", "requirejs": "^2.3.1", "through2": "^2.0.3", + "true-case-path": "^1.0.2", "watchify": "^3.9.0", "xml2js": "^0.4.16" } diff --git a/tasks/test_syntax.js b/tasks/test_syntax.js index 473415da3d2..9c6e9804bd6 100644 --- a/tasks/test_syntax.js +++ b/tasks/test_syntax.js @@ -6,6 +6,7 @@ var glob = require('glob'); var madge = require('madge'); var readLastLines = require('read-last-lines'); var eslint = require('eslint'); +var trueCasePath = require('true-case-path'); var constants = require('./util/constants'); var srcGlob = path.join(constants.pathToSrc, '**/*.js'); @@ -55,6 +56,8 @@ function assertJasmineSuites() { * - check for header comment * - check that we don't have any features that break in IE * - check that we don't use getComputedStyle unexpectedly + * - check that require statements use lowercase (to match assertFileNames) + * or match the case of the source file */ function assertSrcContents() { var licenseSrc = constants.licenseSrc; @@ -70,6 +73,9 @@ function assertSrcContents() { // Forbidden in IE in any context var IE_BLACK_LIST = ['classList']; + // require'd built-in modules + var BUILTINS = ['events']; + var getComputedStyleCnt = 0; glob(combineGlobs([srcGlob, libGlob]), function(err, files) { @@ -100,7 +106,28 @@ function assertSrcContents() { } else if(node.type === 'Identifier' && node.source() === 'getComputedStyle') { if(node.parent.source() !== 'window.getComputedStyle') { - logs.push(file + ': getComputedStyle must be called as a `window` property.'); + logs.push(file + ' : getComputedStyle must be called as a `window` property.'); + } + } + else if(node.type === 'CallExpression' && node.callee.name === 'require') { + var pathNode = node.arguments[0]; + var pathStr = pathNode.value; + if(pathNode.type !== 'Literal') { + logs.push(file + ' : You may only `require` literals.'); + } + else if(BUILTINS.indexOf(pathStr) === -1) { + // node version 8.9.0+ can use require.resolve(request, {paths: [...]}) + // and avoid this explicit conversion to the current location + if(pathStr.charAt(0) === '.') { + pathStr = path.relative(__dirname, path.join(path.dirname(file), pathStr)); + } + var fullPath = require.resolve(pathStr); + var casedPath = trueCasePath(fullPath); + + if(fullPath !== trueCasePath(fullPath)) { + logs.push(file + ' : `require` path is not case-correct:\n' + + fullPath + ' -> ' + casedPath); + } } } }); From 27037af204754658a68af4d9d75c1dd530939e79 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 17:18:58 -0500 Subject: [PATCH 06/11] combine dictionaries and formats into locales in both registry (they were already combined in the API just not under the hood) and in config (where you were required to split them out yourself previously) --- src/lib/localize.js | 8 +- src/plot_api/plot_config.js | 129 +++++++++++++++---------- src/plots/plots.js | 8 +- src/registry.js | 19 ++-- test/jasmine/assets/supply_defaults.js | 3 +- test/jasmine/tests/bar_test.js | 2 +- test/jasmine/tests/localize_test.js | 45 ++++----- test/jasmine/tests/modebar_test.js | 2 +- 8 files changed, 120 insertions(+), 96 deletions(-) diff --git a/src/lib/localize.js b/src/lib/localize.js index 4a5e367c12c..8bd6c445e93 100644 --- a/src/lib/localize.js +++ b/src/lib/localize.js @@ -17,7 +17,7 @@ var Registry = require('../registry'); * @param {object} gd: the graphDiv for context * gd._context.locale determines the language (& optional region/country) * the dictionary for each locale may either be supplied in - * gd._context.dictionaries or globally via Plotly.register + * gd._context.locales or globally via Plotly.register * @param {string} s: the string to translate */ module.exports = function localize(gd, s) { @@ -35,14 +35,14 @@ module.exports = function localize(gd, s) { * fall back on the base. */ for(var i = 0; i < 2; i++) { - var dicts = gd._context.dictionaries; + var locales = gd._context.locales; for(var j = 0; j < 2; j++) { - var dict = dicts[locale]; + var dict = (locales[locale] || {}).dictionary; if(dict) { var out = dict[s]; if(out) return out; } - dicts = Registry.localeRegistry; + locales = Registry.localeRegistry; } var baseLocale = locale.split('-')[0]; diff --git a/src/plot_api/plot_config.js b/src/plot_api/plot_config.js index da8ec6926f6..a6b3d579e90 100644 --- a/src/plot_api/plot_config.js +++ b/src/plot_api/plot_config.js @@ -21,13 +21,17 @@ module.exports = { // no interactivity, for export or image generation staticPlot: false, - // we can edit titles, move annotations, etc - sets all pieces of `edits` - // unless a separate `edits` config item overrides individual parts + /* + * we can edit titles, move annotations, etc - sets all pieces of `edits` + * unless a separate `edits` config item overrides individual parts + */ editable: false, edits: { - // annotationPosition: the main anchor of the annotation, which is the - // text (if no arrow) or the arrow (which drags the whole thing leaving - // the arrow length & direction unchanged) + /* + * annotationPosition: the main anchor of the annotation, which is the + * text (if no arrow) or the arrow (which drags the whole thing leaving + * the arrow length & direction unchanged) + */ annotationPosition: false, // just for annotations with arrows, change the length and direction of the arrow annotationTail: false, @@ -43,8 +47,10 @@ module.exports = { titleText: false }, - // DO autosize once regardless of layout.autosize - // (use default width or height values otherwise) + /* + * DO autosize once regardless of layout.autosize + * (use default width or height values otherwise) + */ autosizable: false, // set the length of the undo/redo queue @@ -68,7 +74,10 @@ module.exports = { // enable axis pan/zoom drag handles showAxisDragHandles: true, - // enable direct range entry at the pan/zoom drag points (drag handles must be enabled above) + /* + * enable direct range entry at the pan/zoom drag points + * (drag handles must be enabled above) + */ showAxisRangeEntryBoxes: true, // link to open this plot in plotly @@ -86,18 +95,24 @@ module.exports = { // display the mode bar (true, false, or 'hover') displayModeBar: 'hover', - // remove mode bar button by name - // (see ./components/modebar/buttons.js for the list of names) + /* + * remove mode bar button by name + * (see ./components/modebar/buttons.js for the list of names) + */ modeBarButtonsToRemove: [], - // add mode bar button using config objects - // (see ./components/modebar/buttons.js for list of arguments) + /* + * add mode bar button using config objects + * (see ./components/modebar/buttons.js for list of arguments) + */ modeBarButtonsToAdd: [], - // fully custom mode bar buttons as nested array, - // where the outer arrays represents button groups, and - // the inner arrays have buttons config objects or names of default buttons - // (see ./components/modebar/buttons.js for more info) + /* + * fully custom mode bar buttons as nested array, + * where the outer arrays represents button groups, and + * the inner arrays have buttons config objects or names of default buttons + * (see ./components/modebar/buttons.js for more info) + */ modeBarButtons: false, // add the plotly logo on the end of the mode bar @@ -106,51 +121,65 @@ module.exports = { // increase the pixel ratio for Gl plot images plotGlPixelRatio: 2, - // background setting function - // 'transparent' sets the background `layout.paper_color` - // 'opaque' blends bg color with white ensuring an opaque background - // or any other custom function of gd + /* + * background setting function + * 'transparent' sets the background `layout.paper_color` + * 'opaque' blends bg color with white ensuring an opaque background + * or any other custom function of gd + */ setBackground: 'transparent', // URL to topojson files used in geo charts topojsonURL: 'https://cdn.plot.ly/', - // Mapbox access token (required to plot mapbox trace types) - // If using an Mapbox Atlas server, set this option to '', - // so that plotly.js won't attempt to authenticate to the public Mapbox server. + /* + * Mapbox access token (required to plot mapbox trace types) + * If using an Mapbox Atlas server, set this option to '', + * so that plotly.js won't attempt to authenticate to the public Mapbox server. + */ mapboxAccessToken: null, - // Turn all console logging on or off (errors will be thrown) - // This should ONLY be set via Plotly.setPlotConfig - // 0: no logs - // 1: warnings and errors, but not informational messages - // 2: verbose logs + /* + * Turn all console logging on or off (errors will be thrown) + * This should ONLY be set via Plotly.setPlotConfig + * 0: no logs + * 1: warnings and errors, but not informational messages + * 2: verbose logs + */ logging: 1, - // Set global transform to be applied to all traces with no - // specification needed + /* + * Set global transform to be applied to all traces with no + * specification needed + */ globalTransforms: [], - // Which localization should we use? - // Should be a string like 'en' or 'en-US'. + /* + * Which localization should we use? + * Should be a string like 'en' or 'en-US'. + */ locale: 'en-US', - // Localization dictionaries - // Dictionaries can be provided either here (specific to one chart) or globally - // by registering them as modules (which contain dateFormat specs as well). - // Here `dictionaries` should be an object of objects - // {'da': {'Reset axes': 'Nulstil aksler', ...}, ...} - // When looking for a translation we look at these dictionaries first, then - // the ones registered as modules. If those fail, we strip off any - // regionalization ('en-US' -> 'en') and try each again - dictionaries: {}, - - // Localization specs for dates and numbers - // Each localization should be an object with keys matching most of d3.locale, - // see https://github.com/d3/d3-3.x-api-reference/blob/master/Localization.md - // {'da': {months: [...], shortMonths: [...], ...}, ...} - // Unlike d3.locale, every key is optional, we will fall back on English ('en'). - // Currently `grouping` and `currency` are ignored for our automatic number - // formatting, but can be used in custom formats. - formats: {} + /* + * Localization definitions + * Locales can be provided either here (specific to one chart) or globally + * by registering them as modules. + * Should be an object of objects {locale: {dictionary: {...}, format: {...}}} + * { + * da: { + * dictionary: {'Reset axes': 'Nulstil aksler', ...}, + * format: {months: [...], shortMonths: [...]} + * }, + * ... + * } + * All parts are optional. When looking for translation or format fields, we + * look first for an exact match in a config locale, then in a registered + * module. If those fail, we strip off any regionalization ('en-US' -> 'en') + * and try each (config, registry) again. The final fallback for translation + * is untranslated (which is US English) and for formats is the base English + * (the only consequence being the last fallback date format %x is DD/MM/YYYY + * instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored + * for our automatic number formatting, but can be used in custom formats. + */ + locales: {} }; diff --git a/src/plots/plots.js b/src/plots/plots.js index 9638cd82702..7fb5ade0c80 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -604,14 +604,14 @@ function getD3FormatObj(gd) { // same as localize, look for format parts in each format spec in the chain for(var i = 0; i < 2; i++) { - var formats = gd._context.formats; + var locales = gd._context.locales; for(var j = 0; j < 2; j++) { - var formatj = formats[locale]; + var formatj = (locales[locale] || {}).format; if(formatj) { includeFormat(formatj); if(formatDone) break; } - formats = Registry.formatRegistry; + locales = Registry.localeRegistry; } var baseLocale = locale.split('-')[0]; @@ -620,7 +620,7 @@ function getD3FormatObj(gd) { } // lastly pick out defaults from english (non-US, as DMY is so much more common) - if(!formatDone) includeFormat(Registry.formatRegistry.en); + if(!formatDone) includeFormat(Registry.localeRegistry.en.format); return formatObj; } diff --git a/src/registry.js b/src/registry.js index ac851ee06de..89cd47420e3 100644 --- a/src/registry.js +++ b/src/registry.js @@ -29,7 +29,6 @@ exports.layoutArrayContainers = []; exports.layoutArrayRegexes = []; exports.traceLayoutAttributes = {}; exports.localeRegistry = {}; -exports.formatRegistry = {}; /** * register a module as the handler for a trace type @@ -344,7 +343,8 @@ exports.registerLocale = function(_module) { var locales = exports.localeRegistry; - var formats = exports.formatRegistry; + var localeObj = locales[locale]; + if(!localeObj) locales[locale] = localeObj = {}; // Should we use this dict for the base locale? // In case we're overwriting a previous dict for this locale, check @@ -353,14 +353,17 @@ exports.registerLocale = function(_module) { // baseLocale already had a dict or not. // Same logic for dateFormats if(baseLocale !== locale) { - if(hasDict && locales[baseLocale] === locales[locale]) { - locales[baseLocale] = newDict; + var baseLocaleObj = locales[baseLocale]; + if(!baseLocaleObj) locales[baseLocale] = baseLocaleObj = {}; + + if(hasDict && baseLocaleObj.dictionary === localeObj.dictionary) { + baseLocaleObj.dictionary = newDict; } - if(hasFormat && formats[baseLocale] === formats[locale]) { - formats[baseLocale] = newFormat; + if(hasFormat && baseLocaleObj.format === localeObj.format) { + baseLocaleObj.format = newFormat; } } - if(hasDict) locales[locale] = newDict; - if(hasFormat) formats[locale] = newFormat; + if(hasDict) localeObj.dictionary = newDict; + if(hasFormat) localeObj.format = newFormat; }; diff --git a/test/jasmine/assets/supply_defaults.js b/test/jasmine/assets/supply_defaults.js index ba58755c92c..249b85cecf1 100644 --- a/test/jasmine/assets/supply_defaults.js +++ b/test/jasmine/assets/supply_defaults.js @@ -8,8 +8,7 @@ var Plots = require('@src/plots/plots'); module.exports = function supplyDefaults(gd) { if(!gd._context) gd._context = {}; if(!gd._context.locale) gd._context.locale = 'en'; - if(!gd._context.dictionaries) gd._context.dictionaries = {}; - if(!gd._context.formats) gd._context.formats = {}; + if(!gd._context.locales) gd._context.locales = {}; Plots.supplyDefaults(gd); }; diff --git a/test/jasmine/tests/bar_test.js b/test/jasmine/tests/bar_test.js index 68c9cbb9700..756f678dcca 100644 --- a/test/jasmine/tests/bar_test.js +++ b/test/jasmine/tests/bar_test.js @@ -1522,7 +1522,7 @@ function mockBarPlot(dataWithoutTraceType, layout) { data: dataWithTraceType, layout: layout || {}, calcdata: [], - _context: {locale: 'en', dictionaries: {}} + _context: {locale: 'en', locales: {}} }; supplyAllDefaults(gd); diff --git a/test/jasmine/tests/localize_test.js b/test/jasmine/tests/localize_test.js index 58cef3e9622..2635411d512 100644 --- a/test/jasmine/tests/localize_test.js +++ b/test/jasmine/tests/localize_test.js @@ -13,32 +13,26 @@ describe('localization', function() { 'use strict'; var gd; - var preregisteredDicts; - var preregisteredFormats; + var preregisteredLocales; beforeEach(function() { gd = createGraphDiv(); - // empty out any dictionaries we might register by default - preregisteredDicts = Registry.localeRegistry; - Registry.localeRegistry = {}; - + // empty out any locales we might register by default // we always need `en` format as it's the fallback - preregisteredFormats = Registry.formatRegistry; - Registry.formatRegistry = {en: preregisteredFormats.en}; + preregisteredLocales = Registry.localeRegistry; + Registry.localeRegistry = {en: {format: preregisteredLocales.en.format}}; }); afterEach(function() { destroyGraphDiv(); - Registry.localeRegistry = preregisteredDicts; - Registry.formatRegistry = preregisteredFormats; + Registry.localeRegistry = preregisteredLocales; }); - function plot(locale, dicts, formats) { + function plot(locale, locales) { var config = {}; if(locale) config.locale = locale; - if(dicts) config.dictionaries = dicts; - if(formats) config.formats = formats; + if(locales) config.locales = locales; return Plotly.newPlot(gd, [{x: ['2001-01-01', '2002-01-01'], y: [0.5, 3.5]}], {}, config); } @@ -143,10 +137,7 @@ describe('localization', function() { format: {decimal: 'X', thousands: 'X', shortMonths: monthLetters, shortDays: dayLetters} }); - plot('fr-QC', - {fr: ctx_fr.dictionary, 'fr-QC': ctx_fr_QC.dictionary}, - {fr: ctx_fr.format, 'fr-QC': ctx_fr_QC.format} - ) + plot('fr-QC', {fr: ctx_fr, 'fr-QC': ctx_fr_QC}) .then(function() { expect(_(gd, 'a')).toBe('a-ctx-QC'); expect(_(gd, 'b')).toBe('b-reg-QC'); @@ -168,7 +159,10 @@ describe('localization', function() { }); it('does not generate an automatic base locale in context', function(done) { - plot('fr', {'fr-QC': {fries: 'poutine'}}, {'fr-QC': {decimal: '^', shortMonths: monthNums}}) + plot('fr', {'fr-QC': { + dictionary: {fries: 'poutine'}, + format: {decimal: '^', shortMonths: monthNums} + }}) .then(function() { expect(_(gd, 'fries')).toBe('fries'); expect(firstXLabel()).toBe('Jan 2001'); @@ -180,7 +174,6 @@ describe('localization', function() { it('allows registering dictionary and format separately without overwriting the other', function() { expect(Registry.localeRegistry.es).toBeUndefined(); - expect(Registry.formatRegistry.es).toBeUndefined(); var d1 = {I: 'Yo'}; var f1 = {decimal: 'ñ'}; @@ -194,8 +187,8 @@ describe('localization', function() { format: f1 }); - expect(Registry.localeRegistry.es).toBe(d1); - expect(Registry.formatRegistry.es).toBe(f1); + expect(Registry.localeRegistry.es.dictionary).toBe(d1); + expect(Registry.localeRegistry.es.format).toBe(f1); Plotly.register({ moduleType: 'locale', @@ -203,8 +196,8 @@ describe('localization', function() { dictionary: d2 }); - expect(Registry.localeRegistry.es).toBe(d2); - expect(Registry.formatRegistry.es).toBe(f1); + expect(Registry.localeRegistry.es.dictionary).toBe(d2); + expect(Registry.localeRegistry.es.format).toBe(f1); Plotly.register({ moduleType: 'locale', @@ -212,12 +205,12 @@ describe('localization', function() { format: f2 }); - expect(Registry.localeRegistry.es).toBe(d2); - expect(Registry.formatRegistry.es).toBe(f2); + expect(Registry.localeRegistry.es.dictionary).toBe(d2); + expect(Registry.localeRegistry.es.format).toBe(f2); }); it('uses number format for default but still supports explicit layout.separators', function(done) { - plot('da', null, {da: {decimal: 'D', thousands: 'T'}}) + plot('da', {da: {format: {decimal: 'D', thousands: 'T'}}}) .then(function() { expect(firstYLabel()).toBe('0D5'); expect(gd._fullLayout.separators).toBe('DT'); diff --git a/test/jasmine/tests/modebar_test.js b/test/jasmine/tests/modebar_test.js index 425732ef006..9f0bd48b54e 100644 --- a/test/jasmine/tests/modebar_test.js +++ b/test/jasmine/tests/modebar_test.js @@ -39,7 +39,7 @@ describe('ModeBar', function() { modeBarButtonsToRemove: [], modeBarButtonsToAdd: [], locale: 'en', - dictionaries: {} + locales: {} } }; } From 2a8d38f2f05e6e9f8b472aa17fc215547106d0fc Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 17:53:52 -0500 Subject: [PATCH 07/11] explicit test for #1264 --- test/jasmine/tests/localize_test.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/jasmine/tests/localize_test.js b/test/jasmine/tests/localize_test.js index 2635411d512..65394e6ef11 100644 --- a/test/jasmine/tests/localize_test.js +++ b/test/jasmine/tests/localize_test.js @@ -219,6 +219,16 @@ describe('localization', function() { }) .then(function() { expect(firstYLabel()).toBe('0p5'); + + return Plotly.relayout(gd, {'yaxis.tickformat': '.3f'}); + }) + .then(function() { + expect(firstYLabel()).toBe('0p500'); + + return Plotly.relayout(gd, {separators: null}); + }) + .then(function() { + expect(firstYLabel()).toBe('0D500'); }) .catch(failTest) .then(done); From d0e01584136a68d4373b7896ccbe758c9adbb527 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 18:48:21 -0500 Subject: [PATCH 08/11] use require.resolve in pull_date_format --- tasks/pull_date_format.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/pull_date_format.js b/tasks/pull_date_format.js index bc329be41da..23c1ab3d50b 100644 --- a/tasks/pull_date_format.js +++ b/tasks/pull_date_format.js @@ -7,7 +7,7 @@ var args = process.argv.slice(2); var argLocale = args[0]; var pathToEn = path.join(constants.pathToSrc, 'locale-en.js'); -var pathToWCRegions = path.join(__dirname, '../node_modules/world-calendars/dist/regional'); +var pathToWCRegions = path.dirname(require.resolve('world-calendars/dist/regional/en-GB')); if(!argLocale) { fs.readdir(pathToWCRegions, function(err, items) { From 592fc9eacd31f7d36a172edc6694ae570bca38bb Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 15 Dec 2017 18:49:15 -0500 Subject: [PATCH 09/11] :hocho: unused trace._separators --- src/traces/carpet/axis_defaults.js | 2 -- src/traces/contour/plot.js | 3 +-- src/traces/contour/style_defaults.js | 6 +----- src/traces/heatmap/style_defaults.js | 4 +--- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/traces/carpet/axis_defaults.js b/src/traces/carpet/axis_defaults.js index 8d155985d06..bf932626ffe 100644 --- a/src/traces/carpet/axis_defaults.js +++ b/src/traces/carpet/axis_defaults.js @@ -179,8 +179,6 @@ module.exports = function handleAxisDefaults(containerIn, containerOut, options) } } - containerOut._separators = options.fullLayout.separators; - // fill in categories containerOut._initialCategories = axType === 'category' ? orderedCategories(letter, containerOut.categoryorder, containerOut.categoryarray, options.data) : diff --git a/src/traces/contour/plot.js b/src/traces/contour/plot.js index a4f13aa1a73..fff4b9bb234 100644 --- a/src/traces/contour/plot.js +++ b/src/traces/contour/plot.js @@ -421,7 +421,7 @@ exports.createLineClip = function(lineContainer, clipLinesForLabels, clips, uid) exports.labelFormatter = function(contours, colorbar, fullLayout) { if(contours.labelformat) { - return d3.format(contours.labelformat); + return fullLayout._d3locale.numberFormat(contours.labelformat); } else { var formatAxis; @@ -431,7 +431,6 @@ exports.labelFormatter = function(contours, colorbar, fullLayout) { else { formatAxis = { type: 'linear', - _separators: '.,', _id: 'ycontour', nticks: (contours.end - contours.start) / contours.size, showexponent: 'all', diff --git a/src/traces/contour/style_defaults.js b/src/traces/contour/style_defaults.js index 9a3c27a24c7..967c426dfb7 100644 --- a/src/traces/contour/style_defaults.js +++ b/src/traces/contour/style_defaults.js @@ -46,9 +46,5 @@ module.exports = function handleStyleDefaults(traceIn, traceOut, coerce, layout, coerce('contours.labelformat'); } - if(opts.hasHover !== false) { - coerce('zhoverformat'); - // Needed for formatting of hoverlabel if format is not explicitly specified - traceOut._separators = layout.separators; - } + if(opts.hasHover !== false) coerce('zhoverformat'); }; diff --git a/src/traces/heatmap/style_defaults.js b/src/traces/heatmap/style_defaults.js index 522c374e3dc..1a627db1d5d 100644 --- a/src/traces/heatmap/style_defaults.js +++ b/src/traces/heatmap/style_defaults.js @@ -9,7 +9,7 @@ 'use strict'; -module.exports = function handleStyleDefaults(traceIn, traceOut, coerce, layout) { +module.exports = function handleStyleDefaults(traceIn, traceOut, coerce) { var zsmooth = coerce('zsmooth'); if(zsmooth === false) { // ensure that xgap and ygap are coerced only when zsmooth allows them to have an effect. @@ -18,6 +18,4 @@ module.exports = function handleStyleDefaults(traceIn, traceOut, coerce, layout) } coerce('zhoverformat'); - // Needed for formatting of hoverlabel if format is not explicitly specified - traceOut._separators = layout.separators; }; From 614d5befb50a6b95774fbc04b5fd58596b5cb66d Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Mon, 18 Dec 2017 14:51:55 -0500 Subject: [PATCH 10/11] move lib/locale-* to lib/locales/* and update scripts accordingly dist will stay flat, to make script and CDN use consistent --- lib/{locale-af.js => locales/af.js} | 0 lib/{locale-am.js => locales/am.js} | 0 lib/{locale-ar-dz.js => locales/ar-dz.js} | 0 lib/{locale-ar-eg.js => locales/ar-eg.js} | 0 lib/{locale-ar.js => locales/ar.js} | 0 lib/{locale-az.js => locales/az.js} | 0 lib/{locale-bg.js => locales/bg.js} | 0 lib/{locale-bs.js => locales/bs.js} | 0 lib/{locale-ca.js => locales/ca.js} | 0 lib/{locale-cs.js => locales/cs.js} | 0 lib/{locale-da.js => locales/da.js} | 0 lib/{locale-de-ch.js => locales/de-ch.js} | 0 lib/{locale-de.js => locales/de.js} | 0 lib/{locale-el.js => locales/el.js} | 0 lib/{locale-eo.js => locales/eo.js} | 0 lib/{locale-es-ar.js => locales/es-ar.js} | 0 lib/{locale-es-pe.js => locales/es-pe.js} | 0 lib/{locale-es.js => locales/es.js} | 0 lib/{locale-et.js => locales/et.js} | 0 lib/{locale-eu.js => locales/eu.js} | 0 lib/{locale-fa.js => locales/fa.js} | 0 lib/{locale-fi.js => locales/fi.js} | 0 lib/{locale-fo.js => locales/fo.js} | 0 lib/{locale-fr-ch.js => locales/fr-ch.js} | 0 lib/{locale-fr.js => locales/fr.js} | 0 lib/{locale-gl.js => locales/gl.js} | 0 lib/{locale-gu.js => locales/gu.js} | 0 lib/{locale-he.js => locales/he.js} | 0 lib/{locale-hi-in.js => locales/hi-in.js} | 0 lib/{locale-hr.js => locales/hr.js} | 0 lib/{locale-hu.js => locales/hu.js} | 0 lib/{locale-hy.js => locales/hy.js} | 0 lib/{locale-id.js => locales/id.js} | 0 lib/{locale-is.js => locales/is.js} | 0 lib/{locale-it.js => locales/it.js} | 0 lib/{locale-ja.js => locales/ja.js} | 0 lib/{locale-ka.js => locales/ka.js} | 0 lib/{locale-km.js => locales/km.js} | 0 lib/{locale-ko.js => locales/ko.js} | 0 lib/{locale-lt.js => locales/lt.js} | 0 lib/{locale-lv.js => locales/lv.js} | 0 lib/{locale-me-me.js => locales/me-me.js} | 0 lib/{locale-me.js => locales/me.js} | 0 lib/{locale-mk.js => locales/mk.js} | 0 lib/{locale-ml.js => locales/ml.js} | 0 lib/{locale-ms.js => locales/ms.js} | 0 lib/{locale-mt.js => locales/mt.js} | 0 lib/{locale-nl-be.js => locales/nl-be.js} | 0 lib/{locale-nl.js => locales/nl.js} | 0 lib/{locale-no.js => locales/no.js} | 0 lib/{locale-pa.js => locales/pa.js} | 0 lib/{locale-pl.js => locales/pl.js} | 0 lib/{locale-pt-br.js => locales/pt-br.js} | 0 lib/{locale-rm.js => locales/rm.js} | 0 lib/{locale-ro.js => locales/ro.js} | 0 lib/{locale-ru.js => locales/ru.js} | 0 lib/{locale-sk.js => locales/sk.js} | 0 lib/{locale-sl.js => locales/sl.js} | 0 lib/{locale-sq.js => locales/sq.js} | 0 lib/{locale-sr-sr.js => locales/sr-sr.js} | 0 lib/{locale-sr.js => locales/sr.js} | 0 lib/{locale-sv.js => locales/sv.js} | 0 lib/{locale-ta.js => locales/ta.js} | 0 lib/{locale-th.js => locales/th.js} | 0 lib/{locale-tr.js => locales/tr.js} | 0 lib/{locale-tt.js => locales/tt.js} | 0 lib/{locale-uk.js => locales/uk.js} | 0 lib/{locale-ur.js => locales/ur.js} | 0 lib/{locale-vi.js => locales/vi.js} | 0 lib/{locale-zh-cn.js => locales/zh-cn.js} | 0 lib/{locale-zh-hk.js => locales/zh-hk.js} | 0 lib/{locale-zh-tw.js => locales/zh-tw.js} | 0 tasks/bundle.js | 4 ++-- tasks/pull_date_format.js | 2 +- 74 files changed, 3 insertions(+), 3 deletions(-) rename lib/{locale-af.js => locales/af.js} (100%) rename lib/{locale-am.js => locales/am.js} (100%) rename lib/{locale-ar-dz.js => locales/ar-dz.js} (100%) rename lib/{locale-ar-eg.js => locales/ar-eg.js} (100%) rename lib/{locale-ar.js => locales/ar.js} (100%) rename lib/{locale-az.js => locales/az.js} (100%) rename lib/{locale-bg.js => locales/bg.js} (100%) rename lib/{locale-bs.js => locales/bs.js} (100%) rename lib/{locale-ca.js => locales/ca.js} (100%) rename lib/{locale-cs.js => locales/cs.js} (100%) rename lib/{locale-da.js => locales/da.js} (100%) rename lib/{locale-de-ch.js => locales/de-ch.js} (100%) rename lib/{locale-de.js => locales/de.js} (100%) rename lib/{locale-el.js => locales/el.js} (100%) rename lib/{locale-eo.js => locales/eo.js} (100%) rename lib/{locale-es-ar.js => locales/es-ar.js} (100%) rename lib/{locale-es-pe.js => locales/es-pe.js} (100%) rename lib/{locale-es.js => locales/es.js} (100%) rename lib/{locale-et.js => locales/et.js} (100%) rename lib/{locale-eu.js => locales/eu.js} (100%) rename lib/{locale-fa.js => locales/fa.js} (100%) rename lib/{locale-fi.js => locales/fi.js} (100%) rename lib/{locale-fo.js => locales/fo.js} (100%) rename lib/{locale-fr-ch.js => locales/fr-ch.js} (100%) rename lib/{locale-fr.js => locales/fr.js} (100%) rename lib/{locale-gl.js => locales/gl.js} (100%) rename lib/{locale-gu.js => locales/gu.js} (100%) rename lib/{locale-he.js => locales/he.js} (100%) rename lib/{locale-hi-in.js => locales/hi-in.js} (100%) rename lib/{locale-hr.js => locales/hr.js} (100%) rename lib/{locale-hu.js => locales/hu.js} (100%) rename lib/{locale-hy.js => locales/hy.js} (100%) rename lib/{locale-id.js => locales/id.js} (100%) rename lib/{locale-is.js => locales/is.js} (100%) rename lib/{locale-it.js => locales/it.js} (100%) rename lib/{locale-ja.js => locales/ja.js} (100%) rename lib/{locale-ka.js => locales/ka.js} (100%) rename lib/{locale-km.js => locales/km.js} (100%) rename lib/{locale-ko.js => locales/ko.js} (100%) rename lib/{locale-lt.js => locales/lt.js} (100%) rename lib/{locale-lv.js => locales/lv.js} (100%) rename lib/{locale-me-me.js => locales/me-me.js} (100%) rename lib/{locale-me.js => locales/me.js} (100%) rename lib/{locale-mk.js => locales/mk.js} (100%) rename lib/{locale-ml.js => locales/ml.js} (100%) rename lib/{locale-ms.js => locales/ms.js} (100%) rename lib/{locale-mt.js => locales/mt.js} (100%) rename lib/{locale-nl-be.js => locales/nl-be.js} (100%) rename lib/{locale-nl.js => locales/nl.js} (100%) rename lib/{locale-no.js => locales/no.js} (100%) rename lib/{locale-pa.js => locales/pa.js} (100%) rename lib/{locale-pl.js => locales/pl.js} (100%) rename lib/{locale-pt-br.js => locales/pt-br.js} (100%) rename lib/{locale-rm.js => locales/rm.js} (100%) rename lib/{locale-ro.js => locales/ro.js} (100%) rename lib/{locale-ru.js => locales/ru.js} (100%) rename lib/{locale-sk.js => locales/sk.js} (100%) rename lib/{locale-sl.js => locales/sl.js} (100%) rename lib/{locale-sq.js => locales/sq.js} (100%) rename lib/{locale-sr-sr.js => locales/sr-sr.js} (100%) rename lib/{locale-sr.js => locales/sr.js} (100%) rename lib/{locale-sv.js => locales/sv.js} (100%) rename lib/{locale-ta.js => locales/ta.js} (100%) rename lib/{locale-th.js => locales/th.js} (100%) rename lib/{locale-tr.js => locales/tr.js} (100%) rename lib/{locale-tt.js => locales/tt.js} (100%) rename lib/{locale-uk.js => locales/uk.js} (100%) rename lib/{locale-ur.js => locales/ur.js} (100%) rename lib/{locale-vi.js => locales/vi.js} (100%) rename lib/{locale-zh-cn.js => locales/zh-cn.js} (100%) rename lib/{locale-zh-hk.js => locales/zh-hk.js} (100%) rename lib/{locale-zh-tw.js => locales/zh-tw.js} (100%) diff --git a/lib/locale-af.js b/lib/locales/af.js similarity index 100% rename from lib/locale-af.js rename to lib/locales/af.js diff --git a/lib/locale-am.js b/lib/locales/am.js similarity index 100% rename from lib/locale-am.js rename to lib/locales/am.js diff --git a/lib/locale-ar-dz.js b/lib/locales/ar-dz.js similarity index 100% rename from lib/locale-ar-dz.js rename to lib/locales/ar-dz.js diff --git a/lib/locale-ar-eg.js b/lib/locales/ar-eg.js similarity index 100% rename from lib/locale-ar-eg.js rename to lib/locales/ar-eg.js diff --git a/lib/locale-ar.js b/lib/locales/ar.js similarity index 100% rename from lib/locale-ar.js rename to lib/locales/ar.js diff --git a/lib/locale-az.js b/lib/locales/az.js similarity index 100% rename from lib/locale-az.js rename to lib/locales/az.js diff --git a/lib/locale-bg.js b/lib/locales/bg.js similarity index 100% rename from lib/locale-bg.js rename to lib/locales/bg.js diff --git a/lib/locale-bs.js b/lib/locales/bs.js similarity index 100% rename from lib/locale-bs.js rename to lib/locales/bs.js diff --git a/lib/locale-ca.js b/lib/locales/ca.js similarity index 100% rename from lib/locale-ca.js rename to lib/locales/ca.js diff --git a/lib/locale-cs.js b/lib/locales/cs.js similarity index 100% rename from lib/locale-cs.js rename to lib/locales/cs.js diff --git a/lib/locale-da.js b/lib/locales/da.js similarity index 100% rename from lib/locale-da.js rename to lib/locales/da.js diff --git a/lib/locale-de-ch.js b/lib/locales/de-ch.js similarity index 100% rename from lib/locale-de-ch.js rename to lib/locales/de-ch.js diff --git a/lib/locale-de.js b/lib/locales/de.js similarity index 100% rename from lib/locale-de.js rename to lib/locales/de.js diff --git a/lib/locale-el.js b/lib/locales/el.js similarity index 100% rename from lib/locale-el.js rename to lib/locales/el.js diff --git a/lib/locale-eo.js b/lib/locales/eo.js similarity index 100% rename from lib/locale-eo.js rename to lib/locales/eo.js diff --git a/lib/locale-es-ar.js b/lib/locales/es-ar.js similarity index 100% rename from lib/locale-es-ar.js rename to lib/locales/es-ar.js diff --git a/lib/locale-es-pe.js b/lib/locales/es-pe.js similarity index 100% rename from lib/locale-es-pe.js rename to lib/locales/es-pe.js diff --git a/lib/locale-es.js b/lib/locales/es.js similarity index 100% rename from lib/locale-es.js rename to lib/locales/es.js diff --git a/lib/locale-et.js b/lib/locales/et.js similarity index 100% rename from lib/locale-et.js rename to lib/locales/et.js diff --git a/lib/locale-eu.js b/lib/locales/eu.js similarity index 100% rename from lib/locale-eu.js rename to lib/locales/eu.js diff --git a/lib/locale-fa.js b/lib/locales/fa.js similarity index 100% rename from lib/locale-fa.js rename to lib/locales/fa.js diff --git a/lib/locale-fi.js b/lib/locales/fi.js similarity index 100% rename from lib/locale-fi.js rename to lib/locales/fi.js diff --git a/lib/locale-fo.js b/lib/locales/fo.js similarity index 100% rename from lib/locale-fo.js rename to lib/locales/fo.js diff --git a/lib/locale-fr-ch.js b/lib/locales/fr-ch.js similarity index 100% rename from lib/locale-fr-ch.js rename to lib/locales/fr-ch.js diff --git a/lib/locale-fr.js b/lib/locales/fr.js similarity index 100% rename from lib/locale-fr.js rename to lib/locales/fr.js diff --git a/lib/locale-gl.js b/lib/locales/gl.js similarity index 100% rename from lib/locale-gl.js rename to lib/locales/gl.js diff --git a/lib/locale-gu.js b/lib/locales/gu.js similarity index 100% rename from lib/locale-gu.js rename to lib/locales/gu.js diff --git a/lib/locale-he.js b/lib/locales/he.js similarity index 100% rename from lib/locale-he.js rename to lib/locales/he.js diff --git a/lib/locale-hi-in.js b/lib/locales/hi-in.js similarity index 100% rename from lib/locale-hi-in.js rename to lib/locales/hi-in.js diff --git a/lib/locale-hr.js b/lib/locales/hr.js similarity index 100% rename from lib/locale-hr.js rename to lib/locales/hr.js diff --git a/lib/locale-hu.js b/lib/locales/hu.js similarity index 100% rename from lib/locale-hu.js rename to lib/locales/hu.js diff --git a/lib/locale-hy.js b/lib/locales/hy.js similarity index 100% rename from lib/locale-hy.js rename to lib/locales/hy.js diff --git a/lib/locale-id.js b/lib/locales/id.js similarity index 100% rename from lib/locale-id.js rename to lib/locales/id.js diff --git a/lib/locale-is.js b/lib/locales/is.js similarity index 100% rename from lib/locale-is.js rename to lib/locales/is.js diff --git a/lib/locale-it.js b/lib/locales/it.js similarity index 100% rename from lib/locale-it.js rename to lib/locales/it.js diff --git a/lib/locale-ja.js b/lib/locales/ja.js similarity index 100% rename from lib/locale-ja.js rename to lib/locales/ja.js diff --git a/lib/locale-ka.js b/lib/locales/ka.js similarity index 100% rename from lib/locale-ka.js rename to lib/locales/ka.js diff --git a/lib/locale-km.js b/lib/locales/km.js similarity index 100% rename from lib/locale-km.js rename to lib/locales/km.js diff --git a/lib/locale-ko.js b/lib/locales/ko.js similarity index 100% rename from lib/locale-ko.js rename to lib/locales/ko.js diff --git a/lib/locale-lt.js b/lib/locales/lt.js similarity index 100% rename from lib/locale-lt.js rename to lib/locales/lt.js diff --git a/lib/locale-lv.js b/lib/locales/lv.js similarity index 100% rename from lib/locale-lv.js rename to lib/locales/lv.js diff --git a/lib/locale-me-me.js b/lib/locales/me-me.js similarity index 100% rename from lib/locale-me-me.js rename to lib/locales/me-me.js diff --git a/lib/locale-me.js b/lib/locales/me.js similarity index 100% rename from lib/locale-me.js rename to lib/locales/me.js diff --git a/lib/locale-mk.js b/lib/locales/mk.js similarity index 100% rename from lib/locale-mk.js rename to lib/locales/mk.js diff --git a/lib/locale-ml.js b/lib/locales/ml.js similarity index 100% rename from lib/locale-ml.js rename to lib/locales/ml.js diff --git a/lib/locale-ms.js b/lib/locales/ms.js similarity index 100% rename from lib/locale-ms.js rename to lib/locales/ms.js diff --git a/lib/locale-mt.js b/lib/locales/mt.js similarity index 100% rename from lib/locale-mt.js rename to lib/locales/mt.js diff --git a/lib/locale-nl-be.js b/lib/locales/nl-be.js similarity index 100% rename from lib/locale-nl-be.js rename to lib/locales/nl-be.js diff --git a/lib/locale-nl.js b/lib/locales/nl.js similarity index 100% rename from lib/locale-nl.js rename to lib/locales/nl.js diff --git a/lib/locale-no.js b/lib/locales/no.js similarity index 100% rename from lib/locale-no.js rename to lib/locales/no.js diff --git a/lib/locale-pa.js b/lib/locales/pa.js similarity index 100% rename from lib/locale-pa.js rename to lib/locales/pa.js diff --git a/lib/locale-pl.js b/lib/locales/pl.js similarity index 100% rename from lib/locale-pl.js rename to lib/locales/pl.js diff --git a/lib/locale-pt-br.js b/lib/locales/pt-br.js similarity index 100% rename from lib/locale-pt-br.js rename to lib/locales/pt-br.js diff --git a/lib/locale-rm.js b/lib/locales/rm.js similarity index 100% rename from lib/locale-rm.js rename to lib/locales/rm.js diff --git a/lib/locale-ro.js b/lib/locales/ro.js similarity index 100% rename from lib/locale-ro.js rename to lib/locales/ro.js diff --git a/lib/locale-ru.js b/lib/locales/ru.js similarity index 100% rename from lib/locale-ru.js rename to lib/locales/ru.js diff --git a/lib/locale-sk.js b/lib/locales/sk.js similarity index 100% rename from lib/locale-sk.js rename to lib/locales/sk.js diff --git a/lib/locale-sl.js b/lib/locales/sl.js similarity index 100% rename from lib/locale-sl.js rename to lib/locales/sl.js diff --git a/lib/locale-sq.js b/lib/locales/sq.js similarity index 100% rename from lib/locale-sq.js rename to lib/locales/sq.js diff --git a/lib/locale-sr-sr.js b/lib/locales/sr-sr.js similarity index 100% rename from lib/locale-sr-sr.js rename to lib/locales/sr-sr.js diff --git a/lib/locale-sr.js b/lib/locales/sr.js similarity index 100% rename from lib/locale-sr.js rename to lib/locales/sr.js diff --git a/lib/locale-sv.js b/lib/locales/sv.js similarity index 100% rename from lib/locale-sv.js rename to lib/locales/sv.js diff --git a/lib/locale-ta.js b/lib/locales/ta.js similarity index 100% rename from lib/locale-ta.js rename to lib/locales/ta.js diff --git a/lib/locale-th.js b/lib/locales/th.js similarity index 100% rename from lib/locale-th.js rename to lib/locales/th.js diff --git a/lib/locale-tr.js b/lib/locales/tr.js similarity index 100% rename from lib/locale-tr.js rename to lib/locales/tr.js diff --git a/lib/locale-tt.js b/lib/locales/tt.js similarity index 100% rename from lib/locale-tt.js rename to lib/locales/tt.js diff --git a/lib/locale-uk.js b/lib/locales/uk.js similarity index 100% rename from lib/locale-uk.js rename to lib/locales/uk.js diff --git a/lib/locale-ur.js b/lib/locales/ur.js similarity index 100% rename from lib/locale-ur.js rename to lib/locales/ur.js diff --git a/lib/locale-vi.js b/lib/locales/vi.js similarity index 100% rename from lib/locale-vi.js rename to lib/locales/vi.js diff --git a/lib/locale-zh-cn.js b/lib/locales/zh-cn.js similarity index 100% rename from lib/locale-zh-cn.js rename to lib/locales/zh-cn.js diff --git a/lib/locale-zh-hk.js b/lib/locales/zh-hk.js similarity index 100% rename from lib/locale-zh-hk.js rename to lib/locales/zh-hk.js diff --git a/lib/locale-zh-tw.js b/lib/locales/zh-tw.js similarity index 100% rename from lib/locale-zh-tw.js rename to lib/locales/zh-tw.js diff --git a/tasks/bundle.js b/tasks/bundle.js index a6d7cd3dd64..c88910646c7 100644 --- a/tasks/bundle.js +++ b/tasks/bundle.js @@ -60,10 +60,10 @@ constants.partialBundlePaths.forEach(function(pathObj) { }); // "Browserify" the locales -var localeGlob = path.join(constants.pathToLib, 'locale-*.js'); +var localeGlob = path.join(constants.pathToLib, 'locales', '*.js'); glob(localeGlob, function(err, files) { files.forEach(function(file) { - var outName = 'plotly-' + path.basename(file); + var outName = 'plotly-locale-' + path.basename(file); var outPath = path.join(constants.pathToDist, outName); wrapLocale(file, outPath); }); diff --git a/tasks/pull_date_format.js b/tasks/pull_date_format.js index 23c1ab3d50b..ffda6c1e2e8 100644 --- a/tasks/pull_date_format.js +++ b/tasks/pull_date_format.js @@ -29,7 +29,7 @@ else { function pullOneLocale(locale) { var pathToInput = path.join(pathToWCRegions, locale + '.js'); - var pathToOutput = path.join(constants.pathToLib, 'locale-' + locale.toLowerCase() + '.js'); + var pathToOutput = path.join(constants.pathToLib, 'locales', locale.toLowerCase() + '.js'); fs.readFile(pathToInput, 'utf8', function(err, wcCode) { if(err) { From 331b2daca8bb6398d01d6b0190e9e1bfba9e980c Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Mon, 18 Dec 2017 15:39:19 -0500 Subject: [PATCH 11/11] describe localization in dist/README.md --- dist/README.md | 34 +++++++++++++++++++++++++++++----- tasks/stats.js | 32 ++++++++++++++++++++++++++++---- 2 files changed, 57 insertions(+), 9 deletions(-) diff --git a/dist/README.md b/dist/README.md index a64c1196075..362a483a664 100644 --- a/dist/README.md +++ b/dist/README.md @@ -14,22 +14,46 @@ or the un-minified version as: ``` -To support IE9, put: +### To support IE9 + +*Before* the plotly.js script tag, add: ```html ``` -before the plotly.js script tag. +### To support MathJax -To add MathJax, put +*Before* the plotly.js script tag, add: ```html ``` -before the plotly.js script tag. You can grab the relevant MathJax files in `./dist/extras/mathjax/`. +You can grab the relevant MathJax files in `./dist/extras/mathjax/`. + +### To include localization + +Plotly.js defaults to US English (en-US) and includes British English (en) in the standard bundle. +Many other localizations are available - here is an example using Swiss-German (de-CH), +see the contents of this directory for the full list. +They are also available on our CDN as https://cdn.plot.ly/plotly-locale-de-ch-latest.js OR https://cdn.plot.ly/plotly-locale-de-ch-1.31.2.js +Note that the file names are all lowercase, even though the region is uppercase when you apply a locale. + +*After* the plotly.js script tag, add: + +```html + + +``` + +The first line loads and registers the locale definition with plotly.js, the second sets it as the default for all Plotly plots. +You can also include multiple locale definitions and apply them to each plot separately as a `config` parameter: + +```js +Plotly.newPlot(graphDiv, data, layout, {locale: 'de-CH'}) +``` # Bundle information @@ -84,7 +108,7 @@ The `basic` partial bundle contains the `scatter`, `bar` and `pie` trace modules ### plotly.js cartesian -The `cartesian` partial bundle contains the `scatter`, `bar`, `box`, `heatmap`, `histogram`, `histogram2d`, `histogram2dcontour`, `pie`, `contour` and `scatterternary` trace modules. +The `cartesian` partial bundle contains the `scatter`, `bar`, `box`, `heatmap`, `histogram`, `histogram2d`, `histogram2dcontour`, `pie`, `contour`, `scatterternary` and `violin` trace modules. | Way to import | Location | |---------------|----------| diff --git a/tasks/stats.js b/tasks/stats.js index 63227f1f5b4..ffe345b4e56 100644 --- a/tasks/stats.js +++ b/tasks/stats.js @@ -60,22 +60,46 @@ function getInfoContent() { '', '```', '', - 'To support IE9, put:', + '### To support IE9', + '', + '*Before* the plotly.js script tag, add:', '', '```html', '', '', '```', '', - 'before the plotly.js script tag.', + '### To support MathJax', '', - 'To add MathJax, put', + '*Before* the plotly.js script tag, add:', '', '```html', '', '```', '', - 'before the plotly.js script tag. You can grab the relevant MathJax files in `./dist/extras/mathjax/`.', + 'You can grab the relevant MathJax files in `./dist/extras/mathjax/`.', + '', + '### To include localization', + '', + 'Plotly.js defaults to US English (en-US) and includes British English (en) in the standard bundle.', + 'Many other localizations are available - here is an example using Swiss-German (de-CH),', + 'see the contents of this directory for the full list.', + 'They are also available on our CDN as ' + cdnRoot + 'locale-de-ch-latest.js OR ' + cdnRoot + 'locale-de-ch-' + pkg.version + '.js', + 'Note that the file names are all lowercase, even though the region is uppercase when you apply a locale.', + '', + '*After* the plotly.js script tag, add:', + '', + '```html', + '', + '', + '```', + '', + 'The first line loads and registers the locale definition with plotly.js, the second sets it as the default for all Plotly plots.', + 'You can also include multiple locale definitions and apply them to each plot separately as a `config` parameter:', + '', + '```js', + 'Plotly.newPlot(graphDiv, data, layout, {locale: \'de-CH\'})', + '```', '' ]; }