From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../date-fns/locale/vi/_lib/localize/index.js | 210 +++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 node_modules/date-fns/locale/vi/_lib/localize/index.js (limited to 'node_modules/date-fns/locale/vi/_lib/localize') diff --git a/node_modules/date-fns/locale/vi/_lib/localize/index.js b/node_modules/date-fns/locale/vi/_lib/localize/index.js new file mode 100644 index 0000000..6ad9963 --- /dev/null +++ b/node_modules/date-fns/locale/vi/_lib/localize/index.js @@ -0,0 +1,210 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _index = _interopRequireDefault(require("../../../_lib/buildLocalizeFn/index.js")); +// Vietnamese locale reference: http://www.localeplanet.com/icu/vi-VN/index.html +// Capitalization reference: http://hcmup.edu.vn/index.php?option=com_content&view=article&id=4106%3Avit-hoa-trong-vn-bn-hanh-chinh&catid=2345%3Atham-kho&Itemid=4103&lang=vi&site=134 +var eraValues = { + narrow: ['TCN', 'SCN'], + abbreviated: ['trước CN', 'sau CN'], + wide: ['trước Công Nguyên', 'sau Công Nguyên'] +}; +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], + wide: ['Quý 1', 'Quý 2', 'Quý 3', 'Quý 4'] +}; +var formattingQuarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], + // I notice many news outlet use this "quý II/2018" + wide: ['quý I', 'quý II', 'quý III', 'quý IV'] +}; + +// Note: in English, the names of days of the week and months are capitalized. +// If you are making a new locale based on this one, check if the same is true for the language you're working on. +// Generally, formatted dates should look like they are in the middle of a sentence, +// e.g. in Spanish language the weekdays and months should be in the lowercase. +var monthValues = { + narrow: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], + abbreviated: ['Thg 1', 'Thg 2', 'Thg 3', 'Thg 4', 'Thg 5', 'Thg 6', 'Thg 7', 'Thg 8', 'Thg 9', 'Thg 10', 'Thg 11', 'Thg 12'], + wide: ['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'] +}; +// In Vietnamese date formatting, month number less than 10 expected to have leading zero +var formattingMonthValues = { + narrow: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'], + abbreviated: ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6', 'thg 7', 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'], + wide: ['tháng 01', 'tháng 02', 'tháng 03', 'tháng 04', 'tháng 05', 'tháng 06', 'tháng 07', 'tháng 08', 'tháng 09', 'tháng 10', 'tháng 11', 'tháng 12'] +}; +var dayValues = { + narrow: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], + short: ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6', 'Th 7'], + abbreviated: ['CN', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7'], + wide: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'] +}; + +// Vietnamese are used to AM/PM borrowing from English, hence `narrow` and +// `abbreviated` are just like English but I'm leaving the `wide` +// format being localized with abbreviations found in some systems (SÁng / CHiều); +// however, personally, I don't think `Chiều` sounds appropriate for `PM` +var dayPeriodValues = { + // narrow date period is extremely rare in Vietnamese + // I used abbreviated form for noon, morning and afternoon + // which are regconizable by Vietnamese, others cannot be any shorter + narrow: { + am: 'am', + pm: 'pm', + midnight: 'nửa đêm', + noon: 'tr', + morning: 'sg', + afternoon: 'ch', + evening: 'tối', + night: 'đêm' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'nửa đêm', + noon: 'trưa', + morning: 'sáng', + afternoon: 'chiều', + evening: 'tối', + night: 'đêm' + }, + wide: { + am: 'SA', + pm: 'CH', + midnight: 'nửa đêm', + noon: 'trưa', + morning: 'sáng', + afternoon: 'chiều', + evening: 'tối', + night: 'đêm' + } +}; +var formattingDayPeriodValues = { + narrow: { + am: 'am', + pm: 'pm', + midnight: 'nửa đêm', + noon: 'tr', + morning: 'sg', + afternoon: 'ch', + evening: 'tối', + night: 'đêm' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'nửa đêm', + noon: 'trưa', + morning: 'sáng', + afternoon: 'chiều', + evening: 'tối', + night: 'đêm' + }, + wide: { + am: 'SA', + pm: 'CH', + midnight: 'nửa đêm', + noon: 'giữa trưa', + morning: 'vào buổi sáng', + afternoon: 'vào buổi chiều', + evening: 'vào buổi tối', + night: 'vào ban đêm' + } +}; +var ordinalNumber = function ordinalNumber(dirtyNumber, options) { + var number = Number(dirtyNumber); + var unit = options === null || options === void 0 ? void 0 : options.unit; + if (unit === 'quarter') { + // many news outlets use "quý I"... + switch (number) { + case 1: + return 'I'; + case 2: + return 'II'; + case 3: + return 'III'; + case 4: + return 'IV'; + } + } else if (unit === 'day') { + // day of week in Vietnamese has ordinal number meaning, + // so we should use them, else it'll sound weird + switch (number) { + case 1: + return 'thứ 2'; + // meaning 2nd day but it's the first day of the week :D + case 2: + return 'thứ 3'; + // meaning 3rd day + case 3: + return 'thứ 4'; + // meaning 4th day and so on + case 4: + return 'thứ 5'; + case 5: + return 'thứ 6'; + case 6: + return 'thứ 7'; + case 7: + return 'chủ nhật'; + // meaning Sunday, there's no 8th day :D + } + } else if (unit === 'week') { + if (number === 1) { + return 'thứ nhất'; + } else { + return 'thứ ' + number; + } + } else if (unit === 'dayOfYear') { + if (number === 1) { + return 'đầu tiên'; + } else { + return 'thứ ' + number; + } + } + + // there are no different forms of ordinal numbers in Vietnamese + return String(number); +}; +var localize = { + ordinalNumber: ordinalNumber, + era: (0, _index.default)({ + values: eraValues, + defaultWidth: 'wide' + }), + quarter: (0, _index.default)({ + values: quarterValues, + defaultWidth: 'wide', + formattingValues: formattingQuarterValues, + defaultFormattingWidth: 'wide', + argumentCallback: function argumentCallback(quarter) { + return quarter - 1; + } + }), + month: (0, _index.default)({ + values: monthValues, + defaultWidth: 'wide', + formattingValues: formattingMonthValues, + defaultFormattingWidth: 'wide' + }), + day: (0, _index.default)({ + values: dayValues, + defaultWidth: 'wide' + }), + dayPeriod: (0, _index.default)({ + values: dayPeriodValues, + defaultWidth: 'wide', + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: 'wide' + }) +}; +var _default = localize; +exports.default = _default; +module.exports = exports.default; \ No newline at end of file -- cgit v1.2.3