4188 lines
174 KiB
Go
4188 lines
174 KiB
Go
// Copyright 2016 - 2023 The excelize Authors. All rights reserved. Use of
|
||
// this source code is governed by a BSD-style license that can be found in
|
||
// the LICENSE file.
|
||
//
|
||
// Package excelize providing a set of functions that allow you to write to and
|
||
// read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and
|
||
// writing spreadsheet documents generated by Microsoft Excel™ 2007 and later.
|
||
// Supports complex components by high compatibility, and provided streaming
|
||
// API for generating or reading data from a worksheet with huge amounts of
|
||
// data. This library needs Go version 1.16 or later.
|
||
|
||
package excelize
|
||
|
||
import (
|
||
"fmt"
|
||
"math"
|
||
"strconv"
|
||
"strings"
|
||
"time"
|
||
|
||
"github.com/xuri/nfp"
|
||
)
|
||
|
||
// languageInfo defined the required fields of localization support for number
|
||
// format.
|
||
type languageInfo struct {
|
||
apFmt string
|
||
tags []string
|
||
useGannen bool
|
||
localMonth func(t time.Time, abbr int) string
|
||
}
|
||
|
||
// numberFormat directly maps the number format parser runtime required
|
||
// fields.
|
||
type numberFormat struct {
|
||
opts *Options
|
||
cellType CellType
|
||
section []nfp.Section
|
||
t time.Time
|
||
sectionIdx int
|
||
date1904, isNumeric, hours, seconds, useMillisecond, useGannen bool
|
||
number float64
|
||
ap, localCode, result, value, valueSectionType string
|
||
switchArgument, currencyString string
|
||
fracHolder, fracPadding, intHolder, intPadding, expBaseLen int
|
||
percent int
|
||
useCommaSep, usePointer, usePositive, useScientificNotation bool
|
||
}
|
||
|
||
// CultureName is the type of supported language country codes types for apply
|
||
// number format.
|
||
type CultureName byte
|
||
|
||
// This section defines the currently supported country code types enumeration
|
||
// for apply number format.
|
||
const (
|
||
CultureNameUnknown CultureName = iota
|
||
CultureNameEnUS
|
||
CultureNameZhCN
|
||
)
|
||
|
||
var (
|
||
// Excel styles can reference number formats that are built-in, all of which
|
||
// have an id less than 164. Note that this number format code list is under
|
||
// English localization.
|
||
builtInNumFmt = map[int]string{
|
||
0: "general",
|
||
1: "0",
|
||
2: "0.00",
|
||
3: "#,##0",
|
||
4: "#,##0.00",
|
||
9: "0%",
|
||
10: "0.00%",
|
||
11: "0.00E+00",
|
||
12: "# ?/?",
|
||
13: "# ??/??",
|
||
14: "mm-dd-yy",
|
||
15: "d-mmm-yy",
|
||
16: "d-mmm",
|
||
17: "mmm-yy",
|
||
18: "h:mm AM/PM",
|
||
19: "h:mm:ss AM/PM",
|
||
20: "hh:mm",
|
||
21: "hh:mm:ss",
|
||
22: "m/d/yy hh:mm",
|
||
37: "#,##0 ;(#,##0)",
|
||
38: "#,##0 ;[red](#,##0)",
|
||
39: "#,##0.00 ;(#,##0.00)",
|
||
40: "#,##0.00 ;[red](#,##0.00)",
|
||
41: "_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)",
|
||
42: "_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)",
|
||
43: "_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)",
|
||
44: "_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)",
|
||
45: "mm:ss",
|
||
46: "[h]:mm:ss",
|
||
47: "mm:ss.0",
|
||
48: "##0.0E+0",
|
||
49: "@",
|
||
}
|
||
// langNumFmt defined number format code provided for language glyphs where
|
||
// they occur in different language.
|
||
langNumFmt = map[string]map[int]string{
|
||
"zh-tw": {
|
||
27: "[$-404]e/m/d",
|
||
28: "[$-404]e\"年\"m\"月\"d\"日\"",
|
||
29: "[$-404]e\"年\"m\"月\"d\"日\"",
|
||
30: "m/d/yy",
|
||
31: "yyyy\"年\"m\"月\"d\"日\"",
|
||
32: "hh\"時\"mm\"分\"",
|
||
33: "hh\"時\"mm\"分\"ss\"秒\"",
|
||
34: "上午/下午 hh\"時\"mm\"分\"",
|
||
35: "上午/下午 hh\"時\"mm\"分\"ss\"秒\"",
|
||
36: "[$-404]e/m/d",
|
||
50: "[$-404]e/m/d",
|
||
51: "[$-404]e\"年\"m\"月\"d\"日\"",
|
||
52: "上午/下午 hh\"時\"mm\"分\"",
|
||
53: "上午/下午 hh\"時\"mm\"分\"ss\"秒\"",
|
||
54: "[$-404]e\"年\"m\"月\"d\"日\"",
|
||
55: "上午/下午 hh\"時\"mm\"分\"",
|
||
56: "上午/下午 hh\"時\"mm\"分\"ss\"秒\"",
|
||
57: "[$-404]e/m/d",
|
||
58: "[$-404]e\"年\"m\"月\"d\"日\"",
|
||
},
|
||
"zh-cn": {
|
||
27: "yyyy\"年\"m\"月\"",
|
||
28: "m\"月\"d\"日\"",
|
||
29: "m\"月\"d\"日\"",
|
||
30: "m/d/yy",
|
||
31: "yyyy\"年\"m\"月\"d\"日\"",
|
||
32: "h\"时\"mm\"分\"",
|
||
33: "h\"时\"mm\"分\"ss\"秒\"",
|
||
34: "上午/下午 h\"时\"mm\"分\"",
|
||
35: "上午/下午 h\"时\"mm\"分\"ss\"秒\"",
|
||
36: "yyyy\"年\"m\"月\"",
|
||
50: "yyyy\"年\"m\"月\"",
|
||
51: "m\"月\"d\"日\"",
|
||
52: "yyyy\"年\"m\"月\"",
|
||
53: "m\"月\"d\"日\"",
|
||
54: "m\"月\"d\"日\"",
|
||
55: "上午/下午 h\"时\"mm\"分\"",
|
||
56: "上午/下午 h\"时\"mm\"分\"ss\"秒\"",
|
||
57: "yyyy\"年\"m\"月\"",
|
||
58: "m\"月\"d\"日\"",
|
||
},
|
||
"ja-jp": {
|
||
27: "[$-411]ge.m.d",
|
||
28: "[$-411]ggge\"年\"m\"月\"d\"日\"",
|
||
29: "[$-411]ggge\"年\"m\"月\"d\"日\"",
|
||
30: "m/d/yy",
|
||
31: "yyyy\"年\"m\"月\"d\"日\"",
|
||
32: "h\"時\"mm\"分\"",
|
||
33: "h\"時\"mm\"分\"ss\"秒\"",
|
||
34: "yyyy\"年\"m\"月\"",
|
||
35: "m\"月\"d\"日\"",
|
||
36: "[$-411]ge.m.d",
|
||
50: "[$-411]ge.m.d",
|
||
51: "[$-411]ggge\"年\"m\"月\"d\"日\"",
|
||
52: "yyyy\"年\"m\"月\"",
|
||
53: "m\"月\"d\"日\"",
|
||
54: "[$-411]ggge\"年\"m\"月\"d\"日\"",
|
||
55: "yyyy\"年\"m\"月\"",
|
||
56: "m\"月\"d\"日\"",
|
||
57: "[$-411]ge.m.d",
|
||
58: "[$-411]ggge\"年\"m\"月\"d\"日\"",
|
||
},
|
||
"ko-kr": {
|
||
27: "yyyy\"年\" mm\"月\" dd\"日\"",
|
||
28: "mm-dd",
|
||
29: "mm-dd",
|
||
30: "mm-dd-yy",
|
||
31: "yyyy\"년\" mm\"월\" dd\"일\"",
|
||
32: "h\"시\" mm\"분\"",
|
||
33: "h\"시\" mm\"분\" ss\"초\"",
|
||
34: "yyyy-mm-dd",
|
||
35: "yyyy-mm-dd",
|
||
36: "yyyy\"年\" mm\"月\" dd\"日\"",
|
||
50: "yyyy\"年\" mm\"月\" dd\"日\"",
|
||
51: "mm-dd",
|
||
52: "yyyy-mm-dd",
|
||
53: "yyyy-mm-dd",
|
||
54: "mm-dd",
|
||
55: "yyyy-mm-dd",
|
||
56: "yyyy-mm-dd",
|
||
57: "yyyy\"年\" mm\"月\" dd\"日\"",
|
||
58: "mm-dd",
|
||
},
|
||
"th-th": {
|
||
59: "t0",
|
||
60: "t0.00",
|
||
61: "t#,##0",
|
||
62: "t#,##0.00",
|
||
67: "t0%",
|
||
68: "t0.00%",
|
||
69: "t# ?/?",
|
||
70: "t# ??/??",
|
||
71: "\u0E27/\u0E14/\u0E1B\u0E1B\u0E1B\u0E1B",
|
||
72: "\u0E27-\u0E14\u0E14\u0E14-\u0E1B\u0E1B",
|
||
73: "\u0E27-\u0E14\u0E14\u0E14",
|
||
74: "\u0E14\u0E14\u0E14-\u0E1B\u0E1B",
|
||
75: "\u0E0A:\u0E19\u0E19",
|
||
76: "\u0E0A:\u0E19\u0E19:\u0E17\u0E17",
|
||
77: "\u0E27/\u0E14/\u0E1B\u0E1B\u0E1B\u0E1B \u0E0A:\u0E19\u0E19",
|
||
78: "\u0E19\u0E19:\u0E17\u0E17",
|
||
79: "[\u0E0A%5D]\u0E19\u0E19:\u0E17\u0E17",
|
||
80: "\u0E19\u0E19:\u0E17\u0E17.0",
|
||
81: "d/m/bb",
|
||
},
|
||
}
|
||
// currencyNumFmt defined the currency number format map.
|
||
currencyNumFmt = map[int]string{
|
||
164: "\"¥\"#,##0.00",
|
||
165: "[$$-409]#,##0.00",
|
||
166: "[$$-45C]#,##0.00",
|
||
167: "[$$-1004]#,##0.00",
|
||
168: "[$$-404]#,##0.00",
|
||
169: "[$$-C09]#,##0.00",
|
||
170: "[$$-2809]#,##0.00",
|
||
171: "[$$-1009]#,##0.00",
|
||
172: "[$$-2009]#,##0.00",
|
||
173: "[$$-1409]#,##0.00",
|
||
174: "[$$-4809]#,##0.00",
|
||
175: "[$$-2C09]#,##0.00",
|
||
176: "[$$-2409]#,##0.00",
|
||
177: "[$$-1000]#,##0.00",
|
||
178: "#,##0.00\\ [$$-C0C]",
|
||
179: "[$$-475]#,##0.00",
|
||
180: "[$$-83E]#,##0.00",
|
||
181: "[$$-86B]\\ #,##0.00",
|
||
182: "[$$-340A]\\ #,##0.00",
|
||
183: "[$$-240A]#,##0.00",
|
||
184: "[$$-300A]\\ #,##0.00",
|
||
185: "[$$-440A]#,##0.00",
|
||
186: "[$$-80A]#,##0.00",
|
||
187: "[$$-500A]#,##0.00",
|
||
188: "[$$-540A]#,##0.00",
|
||
189: "[$$-380A]\\ #,##0.00",
|
||
190: "[$£-809]#,##0.00",
|
||
191: "[$£-491]#,##0.00",
|
||
192: "[$£-452]#,##0.00",
|
||
193: "[$¥-804]#,##0.00",
|
||
194: "[$¥-411]#,##0.00",
|
||
195: "[$¥-478]#,##0.00",
|
||
196: "[$¥-451]#,##0.00",
|
||
197: "[$¥-480]#,##0.00",
|
||
198: "#,##0.00\\ [$\u058F-42B]",
|
||
199: "[$\u060B-463]#,##0.00",
|
||
200: "[$\u060B-48C]#,##0.00",
|
||
201: "[$\u09F3-845]\\ #,##0.00",
|
||
202: "#,##0.00[$\u17DB-453]",
|
||
203: "[$\u20A1-140A]#,##0.00",
|
||
204: "[$\u20A6-468]\\ #,##0.00",
|
||
205: "[$\u20A6-470]\\ #,##0.00",
|
||
206: "[$\u20A9-412]#,##0.00",
|
||
207: "[$\u20AA-40D]\\ #,##0.00",
|
||
208: "#,##0.00\\ [$\u20AB-42A]",
|
||
209: "#,##0.00\\ [$\u20AC-42D]",
|
||
210: "#,##0.00\\ [$\u20AC-47E]",
|
||
211: "#,##0.00\\ [$\u20AC-403]",
|
||
212: "#,##0.00\\ [$\u20AC-483]",
|
||
213: "[$\u20AC-813]\\ #,##0.00",
|
||
214: "[$\u20AC-413]\\ #,##0.00",
|
||
215: "[$\u20AC-1809]#,##0.00",
|
||
216: "#,##0.00\\ [$\u20AC-425]",
|
||
217: "[$\u20AC-2]\\ #,##0.00",
|
||
218: "#,##0.00\\ [$\u20AC-1]",
|
||
219: "#,##0.00\\ [$\u20AC-40B]",
|
||
220: "#,##0.00\\ [$\u20AC-80C]",
|
||
221: "#,##0.00\\ [$\u20AC-40C]",
|
||
222: "#,##0.00\\ [$\u20AC-140C]",
|
||
223: "#,##0.00\\ [$\u20AC-180C]",
|
||
224: "[$\u20AC-200C]#,##0.00",
|
||
225: "#,##0.00\\ [$\u20AC-456]",
|
||
226: "#,##0.00\\ [$\u20AC-C07]",
|
||
227: "#,##0.00\\ [$\u20AC-407]",
|
||
228: "#,##0.00\\ [$\u20AC-1007]",
|
||
229: "#,##0.00\\ [$\u20AC-408]",
|
||
230: "#,##0.00\\ [$\u20AC-243B]",
|
||
231: "[$\u20AC-83C]#,##0.00",
|
||
232: "[$\u20AC-410]\\ #,##0.00",
|
||
233: "[$\u20AC-476]#,##0.00",
|
||
234: "#,##0.00\\ [$\u20AC-2C1A]",
|
||
235: "[$\u20AC-426]\\ #,##0.00",
|
||
236: "#,##0.00\\ [$\u20AC-427]",
|
||
237: "#,##0.00\\ [$\u20AC-82E]",
|
||
238: "#,##0.00\\ [$\u20AC-46E]",
|
||
239: "[$\u20AC-43A]#,##0.00",
|
||
240: "#,##0.00\\ [$\u20AC-C3B]",
|
||
241: "#,##0.00\\ [$\u20AC-482]",
|
||
242: "#,##0.00\\ [$\u20AC-816]",
|
||
243: "#,##0.00\\ [$\u20AC-301A]",
|
||
244: "#,##0.00\\ [$\u20AC-203B]",
|
||
245: "#,##0.00\\ [$\u20AC-41B]",
|
||
246: "#,##0.00\\ [$\u20AC-424]",
|
||
247: "#,##0.00\\ [$\u20AC-C0A]",
|
||
248: "#,##0.00\\ [$\u20AC-81D]",
|
||
249: "#,##0.00\\ [$\u20AC-484]",
|
||
250: "#,##0.00\\ [$\u20AC-42E]",
|
||
251: "[$\u20AC-462]\\ #,##0.00",
|
||
252: "#,##0.00\\ [$₭-454]",
|
||
253: "#,##0.00\\ [$₮-450]",
|
||
254: "[$\u20AE-C50]#,##0.00",
|
||
255: "[$\u20B1-3409]#,##0.00",
|
||
256: "[$\u20B1-464]#,##0.00",
|
||
257: "#,##0.00[$\u20B4-422]",
|
||
258: "[$\u20B8-43F]#,##0.00",
|
||
259: "[$\u20B9-460]#,##0.00",
|
||
260: "[$\u20B9-4009]\\ #,##0.00",
|
||
261: "[$\u20B9-447]\\ #,##0.00",
|
||
262: "[$\u20B9-439]\\ #,##0.00",
|
||
263: "[$\u20B9-44B]\\ #,##0.00",
|
||
264: "[$\u20B9-860]#,##0.00",
|
||
265: "[$\u20B9-457]\\ #,##0.00",
|
||
266: "[$\u20B9-458]#,##0.00",
|
||
267: "[$\u20B9-44E]\\ #,##0.00",
|
||
268: "[$\u20B9-861]#,##0.00",
|
||
269: "[$\u20B9-448]\\ #,##0.00",
|
||
270: "[$\u20B9-446]\\ #,##0.00",
|
||
271: "[$\u20B9-44F]\\ #,##0.00",
|
||
272: "[$\u20B9-459]#,##0.00",
|
||
273: "[$\u20B9-449]\\ #,##0.00",
|
||
274: "[$\u20B9-820]#,##0.00",
|
||
275: "#,##0.00\\ [$\u20BA-41F]",
|
||
276: "#,##0.00\\ [$\u20BC-42C]",
|
||
277: "#,##0.00\\ [$\u20BC-82C]",
|
||
278: "#,##0.00\\ [$\u20BD-419]",
|
||
279: "#,##0.00[$\u20BD-485]",
|
||
280: "#,##0.00\\ [$\u20BE-437]",
|
||
281: "[$B/.-180A]\\ #,##0.00",
|
||
282: "[$Br-472]#,##0.00",
|
||
283: "[$Br-477]#,##0.00",
|
||
284: "#,##0.00[$Br-473]",
|
||
285: "[$Bs-46B]\\ #,##0.00",
|
||
286: "[$Bs-400A]\\ #,##0.00",
|
||
287: "[$Bs.-200A]\\ #,##0.00",
|
||
288: "[$BWP-832]\\ #,##0.00",
|
||
289: "[$C$-4C0A]#,##0.00",
|
||
290: "[$CA$-85D]#,##0.00",
|
||
291: "[$CA$-47C]#,##0.00",
|
||
292: "[$CA$-45D]#,##0.00",
|
||
293: "[$CFA-340C]#,##0.00",
|
||
294: "[$CFA-280C]#,##0.00",
|
||
295: "#,##0.00\\ [$CFA-867]",
|
||
296: "#,##0.00\\ [$CFA-488]",
|
||
297: "#,##0.00\\ [$CHF-100C]",
|
||
298: "[$CHF-1407]\\ #,##0.00",
|
||
299: "[$CHF-807]\\ #,##0.00",
|
||
300: "[$CHF-810]\\ #,##0.00",
|
||
301: "[$CHF-417]\\ #,##0.00",
|
||
302: "[$CLP-47A]\\ #,##0.00",
|
||
303: "[$CN¥-850]#,##0.00",
|
||
304: "#,##0.00\\ [$DZD-85F]",
|
||
305: "[$FCFA-2C0C]#,##0.00",
|
||
306: "#,##0.00\\ [$Ft-40E]",
|
||
307: "[$G-3C0C]#,##0.00",
|
||
308: "[$Gs.-3C0A]\\ #,##0.00",
|
||
309: "[$GTQ-486]#,##0.00",
|
||
310: "[$HK$-C04]#,##0.00",
|
||
311: "[$HK$-3C09]#,##0.00",
|
||
312: "#,##0.00\\ [$HRK-41A]",
|
||
313: "[$IDR-3809]#,##0.00",
|
||
314: "[$IQD-492]#,##0.00",
|
||
315: "#,##0.00\\ [$ISK-40F]",
|
||
316: "[$K-455]#,##0.00",
|
||
317: "#,##0.00\\ [$K\u010D-405]",
|
||
318: "#,##0.00\\ [$KM-141A]",
|
||
319: "#,##0.00\\ [$KM-101A]",
|
||
320: "#,##0.00\\ [$KM-181A]",
|
||
321: "[$kr-438]\\ #,##0.00",
|
||
322: "[$kr-43B]\\ #,##0.00",
|
||
323: "#,##0.00\\ [$kr-83B]",
|
||
324: "[$kr-414]\\ #,##0.00",
|
||
325: "[$kr-814]\\ #,##0.00",
|
||
326: "#,##0.00\\ [$kr-41D]",
|
||
327: "[$kr.-406]\\ #,##0.00",
|
||
328: "[$kr.-46F]\\ #,##0.00",
|
||
329: "[$Ksh-441]#,##0.00",
|
||
330: "[$L-818]#,##0.00",
|
||
331: "[$L-819]#,##0.00",
|
||
332: "[$L-480A]\\ #,##0.00",
|
||
333: "#,##0.00\\ [$Lek\u00EB-41C]",
|
||
334: "[$MAD-45F]#,##0.00",
|
||
335: "[$MAD-380C]#,##0.00",
|
||
336: "#,##0.00\\ [$MAD-105F]",
|
||
337: "[$MOP$-1404]#,##0.00",
|
||
338: "#,##0.00\\ [$MVR-465]_-",
|
||
339: "#,##0.00[$Nfk-873]",
|
||
340: "[$NGN-466]#,##0.00",
|
||
341: "[$NGN-467]#,##0.00",
|
||
342: "[$NGN-469]#,##0.00",
|
||
343: "[$NGN-471]#,##0.00",
|
||
344: "[$NOK-103B]\\ #,##0.00",
|
||
345: "[$NOK-183B]\\ #,##0.00",
|
||
346: "[$NZ$-481]#,##0.00",
|
||
347: "[$PKR-859]\\ #,##0.00",
|
||
348: "[$PYG-474]#,##0.00",
|
||
349: "[$Q-100A]#,##0.00",
|
||
350: "[$R-436]\\ #,##0.00",
|
||
351: "[$R-1C09]\\ #,##0.00",
|
||
352: "[$R-435]\\ #,##0.00",
|
||
353: "[$R$-416]\\ #,##0.00",
|
||
354: "[$RD$-1C0A]#,##0.00",
|
||
355: "#,##0.00\\ [$RF-487]",
|
||
356: "[$RM-4409]#,##0.00",
|
||
357: "[$RM-43E]#,##0.00",
|
||
358: "#,##0.00\\ [$RON-418]",
|
||
359: "[$Rp-421]#,##0.00",
|
||
360: "[$Rs-420]#,##0.00_-",
|
||
361: "[$Rs.-849]\\ #,##0.00",
|
||
362: "#,##0.00\\ [$RSD-81A]",
|
||
363: "#,##0.00\\ [$RSD-C1A]",
|
||
364: "#,##0.00\\ [$RUB-46D]",
|
||
365: "#,##0.00\\ [$RUB-444]",
|
||
366: "[$S/.-C6B]\\ #,##0.00",
|
||
367: "[$S/.-280A]\\ #,##0.00",
|
||
368: "#,##0.00\\ [$SEK-143B]",
|
||
369: "#,##0.00\\ [$SEK-1C3B]",
|
||
370: "#,##0.00\\ [$so\u02BBm-443]",
|
||
371: "#,##0.00\\ [$so\u02BBm-843]",
|
||
372: "#,##0.00\\ [$SYP-45A]",
|
||
373: "[$THB-41E]#,##0.00",
|
||
374: "#,##0.00[$TMT-442]",
|
||
375: "[$US$-3009]#,##0.00",
|
||
376: "[$ZAR-46C]\\ #,##0.00",
|
||
377: "[$ZAR-430]#,##0.00",
|
||
378: "[$ZAR-431]#,##0.00",
|
||
379: "[$ZAR-432]\\ #,##0.00",
|
||
380: "[$ZAR-433]#,##0.00",
|
||
381: "[$ZAR-434]\\ #,##0.00",
|
||
382: "#,##0.00\\ [$z\u0142-415]",
|
||
383: "#,##0.00\\ [$\u0434\u0435\u043D-42F]",
|
||
384: "#,##0.00\\ [$КМ-201A]",
|
||
385: "#,##0.00\\ [$КМ-1C1A]",
|
||
386: "#,##0.00\\ [$\u043B\u0432.-402]",
|
||
387: "#,##0.00\\ [$р.-423]",
|
||
388: "#,##0.00\\ [$\u0441\u043E\u043C-440]",
|
||
389: "#,##0.00\\ [$\u0441\u043E\u043C-428]",
|
||
390: "[$\u062C.\u0645.-C01]\\ #,##0.00_-",
|
||
391: "[$\u062F.\u0623.-2C01]\\ #,##0.00_-",
|
||
392: "[$\u062F.\u0625.-3801]\\ #,##0.00_-",
|
||
393: "[$\u062F.\u0628.-3C01]\\ #,##0.00_-",
|
||
394: "[$\u062F.\u062A.-1C01]\\ #,##0.00_-",
|
||
395: "[$\u062F.\u062C.-1401]\\ #,##0.00_-",
|
||
396: "[$\u062F.\u0639.-801]\\ #,##0.00_-",
|
||
397: "[$\u062F.\u0643.-3401]\\ #,##0.00_-",
|
||
398: "[$\u062F.\u0644.-1001]#,##0.00_-",
|
||
399: "[$\u062F.\u0645.-1801]\\ #,##0.00_-",
|
||
400: "[$\u0631-846]\\ #,##0.00",
|
||
401: "[$\u0631.\u0633.-401]\\ #,##0.00_-",
|
||
402: "[$\u0631.\u0639.-2001]\\ #,##0.00_-",
|
||
403: "[$\u0631.\u0642.-4001]\\ #,##0.00_-",
|
||
404: "[$\u0631.\u064A.-2401]\\ #,##0.00_-",
|
||
405: "[$\u0631\u06CC\u0627\u0644-429]#,##0.00_-",
|
||
406: "[$\u0644.\u0633.-2801]\\ #,##0.00_-",
|
||
407: "[$\u0644.\u0644.-3001]\\ #,##0.00_-",
|
||
408: "[$\u1265\u122D-45E]#,##0.00",
|
||
409: "[$\u0930\u0942-461]#,##0.00",
|
||
410: "[$\u0DBB\u0DD4.-45B]\\ #,##0.00",
|
||
411: "[$ADP]\\ #,##0.00",
|
||
412: "[$AED]\\ #,##0.00",
|
||
413: "[$AFA]\\ #,##0.00",
|
||
414: "[$AFN]\\ #,##0.00",
|
||
415: "[$ALL]\\ #,##0.00",
|
||
416: "[$AMD]\\ #,##0.00",
|
||
417: "[$ANG]\\ #,##0.00",
|
||
418: "[$AOA]\\ #,##0.00",
|
||
419: "[$ARS]\\ #,##0.00",
|
||
420: "[$ATS]\\ #,##0.00",
|
||
421: "[$AUD]\\ #,##0.00",
|
||
422: "[$AWG]\\ #,##0.00",
|
||
423: "[$AZM]\\ #,##0.00",
|
||
424: "[$AZN]\\ #,##0.00",
|
||
425: "[$BAM]\\ #,##0.00",
|
||
426: "[$BBD]\\ #,##0.00",
|
||
427: "[$BDT]\\ #,##0.00",
|
||
428: "[$BEF]\\ #,##0.00",
|
||
429: "[$BGL]\\ #,##0.00",
|
||
430: "[$BGN]\\ #,##0.00",
|
||
431: "[$BHD]\\ #,##0.00",
|
||
432: "[$BIF]\\ #,##0.00",
|
||
433: "[$BMD]\\ #,##0.00",
|
||
434: "[$BND]\\ #,##0.00",
|
||
435: "[$BOB]\\ #,##0.00",
|
||
436: "[$BOV]\\ #,##0.00",
|
||
437: "[$BRL]\\ #,##0.00",
|
||
438: "[$BSD]\\ #,##0.00",
|
||
439: "[$BTN]\\ #,##0.00",
|
||
440: "[$BWP]\\ #,##0.00",
|
||
441: "[$BYR]\\ #,##0.00",
|
||
442: "[$BZD]\\ #,##0.00",
|
||
443: "[$CAD]\\ #,##0.00",
|
||
444: "[$CDF]\\ #,##0.00",
|
||
445: "[$CHE]\\ #,##0.00",
|
||
446: "[$CHF]\\ #,##0.00",
|
||
447: "[$CHW]\\ #,##0.00",
|
||
448: "[$CLF]\\ #,##0.00",
|
||
449: "[$CLP]\\ #,##0.00",
|
||
450: "[$CNY]\\ #,##0.00",
|
||
451: "[$COP]\\ #,##0.00",
|
||
452: "[$COU]\\ #,##0.00",
|
||
453: "[$CRC]\\ #,##0.00",
|
||
454: "[$CSD]\\ #,##0.00",
|
||
455: "[$CUC]\\ #,##0.00",
|
||
456: "[$CVE]\\ #,##0.00",
|
||
457: "[$CYP]\\ #,##0.00",
|
||
458: "[$CZK]\\ #,##0.00",
|
||
459: "[$DEM]\\ #,##0.00",
|
||
460: "[$DJF]\\ #,##0.00",
|
||
461: "[$DKK]\\ #,##0.00",
|
||
462: "[$DOP]\\ #,##0.00",
|
||
463: "[$DZD]\\ #,##0.00",
|
||
464: "[$ECS]\\ #,##0.00",
|
||
465: "[$ECV]\\ #,##0.00",
|
||
466: "[$EEK]\\ #,##0.00",
|
||
467: "[$EGP]\\ #,##0.00",
|
||
468: "[$ERN]\\ #,##0.00",
|
||
469: "[$ESP]\\ #,##0.00",
|
||
470: "[$ETB]\\ #,##0.00",
|
||
471: "[$EUR]\\ #,##0.00",
|
||
472: "[$FIM]\\ #,##0.00",
|
||
473: "[$FJD]\\ #,##0.00",
|
||
474: "[$FKP]\\ #,##0.00",
|
||
475: "[$FRF]\\ #,##0.00",
|
||
476: "[$GBP]\\ #,##0.00",
|
||
477: "[$GEL]\\ #,##0.00",
|
||
478: "[$GHC]\\ #,##0.00",
|
||
479: "[$GHS]\\ #,##0.00",
|
||
480: "[$GIP]\\ #,##0.00",
|
||
481: "[$GMD]\\ #,##0.00",
|
||
482: "[$GNF]\\ #,##0.00",
|
||
483: "[$GRD]\\ #,##0.00",
|
||
484: "[$GTQ]\\ #,##0.00",
|
||
485: "[$GYD]\\ #,##0.00",
|
||
486: "[$HKD]\\ #,##0.00",
|
||
487: "[$HNL]\\ #,##0.00",
|
||
488: "[$HRK]\\ #,##0.00",
|
||
489: "[$HTG]\\ #,##0.00",
|
||
490: "[$HUF]\\ #,##0.00",
|
||
491: "[$IDR]\\ #,##0.00",
|
||
492: "[$IEP]\\ #,##0.00",
|
||
493: "[$ILS]\\ #,##0.00",
|
||
494: "[$INR]\\ #,##0.00",
|
||
495: "[$IQD]\\ #,##0.00",
|
||
496: "[$IRR]\\ #,##0.00",
|
||
497: "[$ISK]\\ #,##0.00",
|
||
498: "[$ITL]\\ #,##0.00",
|
||
499: "[$JMD]\\ #,##0.00",
|
||
500: "[$JOD]\\ #,##0.00",
|
||
501: "[$JPY]\\ #,##0.00",
|
||
502: "[$KAF]\\ #,##0.00",
|
||
503: "[$KES]\\ #,##0.00",
|
||
504: "[$KGS]\\ #,##0.00",
|
||
505: "[$KHR]\\ #,##0.00",
|
||
506: "[$KMF]\\ #,##0.00",
|
||
507: "[$KPW]\\ #,##0.00",
|
||
508: "[$KRW]\\ #,##0.00",
|
||
509: "[$KWD]\\ #,##0.00",
|
||
510: "[$KYD]\\ #,##0.00",
|
||
511: "[$KZT]\\ #,##0.00",
|
||
512: "[$LAK]\\ #,##0.00",
|
||
513: "[$LBP]\\ #,##0.00",
|
||
514: "[$LKR]\\ #,##0.00",
|
||
515: "[$LRD]\\ #,##0.00",
|
||
516: "[$LSL]\\ #,##0.00",
|
||
517: "[$LTL]\\ #,##0.00",
|
||
518: "[$LUF]\\ #,##0.00",
|
||
519: "[$LVL]\\ #,##0.00",
|
||
520: "[$LYD]\\ #,##0.00",
|
||
521: "[$MAD]\\ #,##0.00",
|
||
522: "[$MDL]\\ #,##0.00",
|
||
523: "[$MGA]\\ #,##0.00",
|
||
524: "[$MGF]\\ #,##0.00",
|
||
525: "[$MKD]\\ #,##0.00",
|
||
526: "[$MMK]\\ #,##0.00",
|
||
527: "[$MNT]\\ #,##0.00",
|
||
528: "[$MOP]\\ #,##0.00",
|
||
529: "[$MRO]\\ #,##0.00",
|
||
530: "[$MTL]\\ #,##0.00",
|
||
531: "[$MUR]\\ #,##0.00",
|
||
532: "[$MVR]\\ #,##0.00",
|
||
533: "[$MWK]\\ #,##0.00",
|
||
534: "[$MXN]\\ #,##0.00",
|
||
535: "[$MXV]\\ #,##0.00",
|
||
536: "[$MYR]\\ #,##0.00",
|
||
537: "[$MZM]\\ #,##0.00",
|
||
538: "[$MZN]\\ #,##0.00",
|
||
539: "[$NAD]\\ #,##0.00",
|
||
540: "[$NGN]\\ #,##0.00",
|
||
541: "[$NIO]\\ #,##0.00",
|
||
542: "[$NLG]\\ #,##0.00",
|
||
543: "[$NOK]\\ #,##0.00",
|
||
544: "[$NPR]\\ #,##0.00",
|
||
545: "[$NTD]\\ #,##0.00",
|
||
546: "[$NZD]\\ #,##0.00",
|
||
547: "[$OMR]\\ #,##0.00",
|
||
548: "[$PAB]\\ #,##0.00",
|
||
549: "[$PEN]\\ #,##0.00",
|
||
550: "[$PGK]\\ #,##0.00",
|
||
551: "[$PHP]\\ #,##0.00",
|
||
552: "[$PKR]\\ #,##0.00",
|
||
553: "[$PLN]\\ #,##0.00",
|
||
554: "[$PTE]\\ #,##0.00",
|
||
555: "[$PYG]\\ #,##0.00",
|
||
556: "[$QAR]\\ #,##0.00",
|
||
557: "[$ROL]\\ #,##0.00",
|
||
558: "[$RON]\\ #,##0.00",
|
||
559: "[$RSD]\\ #,##0.00",
|
||
560: "[$RUB]\\ #,##0.00",
|
||
561: "[$RUR]\\ #,##0.00",
|
||
562: "[$RWF]\\ #,##0.00",
|
||
563: "[$SAR]\\ #,##0.00",
|
||
564: "[$SBD]\\ #,##0.00",
|
||
565: "[$SCR]\\ #,##0.00",
|
||
566: "[$SDD]\\ #,##0.00",
|
||
567: "[$SDG]\\ #,##0.00",
|
||
568: "[$SDP]\\ #,##0.00",
|
||
569: "[$SEK]\\ #,##0.00",
|
||
570: "[$SGD]\\ #,##0.00",
|
||
571: "[$SHP]\\ #,##0.00",
|
||
572: "[$SIT]\\ #,##0.00",
|
||
573: "[$SKK]\\ #,##0.00",
|
||
574: "[$SLL]\\ #,##0.00",
|
||
575: "[$SOS]\\ #,##0.00",
|
||
576: "[$SPL]\\ #,##0.00",
|
||
577: "[$SRD]\\ #,##0.00",
|
||
578: "[$SRG]\\ #,##0.00",
|
||
579: "[$STD]\\ #,##0.00",
|
||
580: "[$SVC]\\ #,##0.00",
|
||
581: "[$SYP]\\ #,##0.00",
|
||
582: "[$SZL]\\ #,##0.00",
|
||
583: "[$THB]\\ #,##0.00",
|
||
584: "[$TJR]\\ #,##0.00",
|
||
585: "[$TJS]\\ #,##0.00",
|
||
586: "[$TMM]\\ #,##0.00",
|
||
587: "[$TMT]\\ #,##0.00",
|
||
588: "[$TND]\\ #,##0.00",
|
||
589: "[$TOP]\\ #,##0.00",
|
||
590: "[$TRL]\\ #,##0.00",
|
||
591: "[$TRY]\\ #,##0.00",
|
||
592: "[$TTD]\\ #,##0.00",
|
||
593: "[$TWD]\\ #,##0.00",
|
||
594: "[$TZS]\\ #,##0.00",
|
||
595: "[$UAH]\\ #,##0.00",
|
||
596: "[$UGX]\\ #,##0.00",
|
||
597: "[$USD]\\ #,##0.00",
|
||
598: "[$USN]\\ #,##0.00",
|
||
599: "[$USS]\\ #,##0.00",
|
||
600: "[$UYI]\\ #,##0.00",
|
||
601: "[$UYU]\\ #,##0.00",
|
||
602: "[$UZS]\\ #,##0.00",
|
||
603: "[$VEB]\\ #,##0.00",
|
||
604: "[$VEF]\\ #,##0.00",
|
||
605: "[$VND]\\ #,##0.00",
|
||
606: "[$VUV]\\ #,##0.00",
|
||
607: "[$WST]\\ #,##0.00",
|
||
608: "[$XAF]\\ #,##0.00",
|
||
609: "[$XAG]\\ #,##0.00",
|
||
610: "[$XAU]\\ #,##0.00",
|
||
611: "[$XB5]\\ #,##0.00",
|
||
612: "[$XBA]\\ #,##0.00",
|
||
613: "[$XBB]\\ #,##0.00",
|
||
614: "[$XBC]\\ #,##0.00",
|
||
615: "[$XBD]\\ #,##0.00",
|
||
616: "[$XCD]\\ #,##0.00",
|
||
617: "[$XDR]\\ #,##0.00",
|
||
618: "[$XFO]\\ #,##0.00",
|
||
619: "[$XFU]\\ #,##0.00",
|
||
620: "[$XOF]\\ #,##0.00",
|
||
621: "[$XPD]\\ #,##0.00",
|
||
622: "[$XPF]\\ #,##0.00",
|
||
623: "[$XPT]\\ #,##0.00",
|
||
624: "[$XTS]\\ #,##0.00",
|
||
625: "[$XXX]\\ #,##0.00",
|
||
626: "[$YER]\\ #,##0.00",
|
||
627: "[$YUM]\\ #,##0.00",
|
||
628: "[$ZAR]\\ #,##0.00",
|
||
629: "[$ZMK]\\ #,##0.00",
|
||
630: "[$ZMW]\\ #,##0.00",
|
||
631: "[$ZWD]\\ #,##0.00",
|
||
632: "[$ZWL]\\ #,##0.00",
|
||
633: "[$ZWN]\\ #,##0.00",
|
||
634: "[$ZWR]\\ #,##0.00",
|
||
}
|
||
// supportedTokenTypes list the supported number format token types currently.
|
||
supportedTokenTypes = []string{
|
||
nfp.TokenSubTypeCurrencyString,
|
||
nfp.TokenSubTypeLanguageInfo,
|
||
nfp.TokenTypeColor,
|
||
nfp.TokenTypeCurrencyLanguage,
|
||
nfp.TokenTypeDateTimes,
|
||
nfp.TokenTypeDecimalPoint,
|
||
nfp.TokenTypeElapsedDateTimes,
|
||
nfp.TokenTypeExponential,
|
||
nfp.TokenTypeGeneral,
|
||
nfp.TokenTypeHashPlaceHolder,
|
||
nfp.TokenTypeLiteral,
|
||
nfp.TokenTypePercent,
|
||
nfp.TokenTypeSwitchArgument,
|
||
nfp.TokenTypeTextPlaceHolder,
|
||
nfp.TokenTypeThousandsSeparator,
|
||
nfp.TokenTypeZeroPlaceHolder,
|
||
}
|
||
// supportedNumberTokenTypes list the supported number token types.
|
||
supportedNumberTokenTypes = []string{
|
||
nfp.TokenTypeExponential,
|
||
nfp.TokenTypeHashPlaceHolder,
|
||
nfp.TokenTypePercent,
|
||
nfp.TokenTypeZeroPlaceHolder,
|
||
}
|
||
// supportedDateTimeTokenTypes list the supported date and time token types.
|
||
supportedDateTimeTokenTypes = []string{
|
||
nfp.TokenTypeDateTimes,
|
||
nfp.TokenTypeElapsedDateTimes,
|
||
}
|
||
// supportedLanguageInfo directly maps the supported language ID and tags.
|
||
supportedLanguageInfo = map[string]languageInfo{
|
||
"36": {tags: []string{"af"}, localMonth: localMonthsNameAfrikaans, apFmt: apFmtAfrikaans},
|
||
"445": {tags: []string{"bn-IN"}, localMonth: localMonthsNameBangla, apFmt: nfp.AmPm[0]},
|
||
"4": {tags: []string{"zh-Hans"}, localMonth: localMonthsNameChinese1, apFmt: nfp.AmPm[2]},
|
||
"7804": {tags: []string{"zh"}, localMonth: localMonthsNameChinese1, apFmt: nfp.AmPm[2]},
|
||
"804": {tags: []string{"zh-CN"}, localMonth: localMonthsNameChinese1, apFmt: nfp.AmPm[2]},
|
||
"1004": {tags: []string{"zh-SG"}, localMonth: localMonthsNameChinese2, apFmt: nfp.AmPm[2]},
|
||
"7C04": {tags: []string{"zh-Hant"}, localMonth: localMonthsNameChinese3, apFmt: nfp.AmPm[2]},
|
||
"C04": {tags: []string{"zh-HK"}, localMonth: localMonthsNameChinese2, apFmt: nfp.AmPm[2]},
|
||
"1404": {tags: []string{"zh-MO"}, localMonth: localMonthsNameChinese3, apFmt: nfp.AmPm[2]},
|
||
"404": {tags: []string{"zh-TW"}, localMonth: localMonthsNameChinese3, apFmt: nfp.AmPm[2]},
|
||
"9": {tags: []string{"en"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"1000": {tags: []string{
|
||
"aa", "aa-DJ", "aa-ER", "aa-ER", "aa-NA", "agq", "agq-CM", "ak", "ak-GH", "sq-ML",
|
||
"gsw-LI", "gsw-CH", "ar-TD", "ar-KM", "ar-DJ", "ar-ER", "ar-IL", "ar-MR", "ar-PS",
|
||
"ar-SO", "ar-SS", "ar-SD", "ar-001", "ast", "ast-ES", "asa", "asa-TZ", "ksf", "ksf-CM",
|
||
"bm", "bm-Latn-ML", "bas", "bas-CM", "bem", "bem-ZM", "bez", "bez-TZ", "byn", "byn-ER",
|
||
"brx", "brx-IN", "ca-AD", "ca-FR", "ca-IT", "ceb", "ceb-Latn", "ceb-Latn-PH", "tzm-Latn-MA",
|
||
"ccp", "ccp-Cakm", "ccp-Cakm-BD", "ccp-Cakm-IN", "ce-RU", "cgg", "cgg-UG", "cu-RU", "swc",
|
||
"swc-CD", "kw", "ke-GB", "da-GL", "dua", "dua-CM", "nl-AW", "nl-BQ", "nl-CW", "nl-SX",
|
||
"nl-SR", "dz", "ebu", "ebu-KE", "en-AS", "en-AI", "en-AG", "en-AT", "en-BS", "en-BB",
|
||
"en-BE", "en-BM", "en-BW", "en-IO", "en-VG", "en-BI", "en-CM", "en-KY", "en-CX", "en-CC",
|
||
"en-CK", "en-CY", "en-DK", "en-DM", "en-ER", "en-150", "en-FK", "en-FI", "en-FJ", "en-GM",
|
||
"en-DE", "en-GH", "en-GI", "en-GD", "en-GU", "en-GG", "en-GY", "en-IM", "en-IL", "en-JE",
|
||
"en-KE", "en-KI", "en-LS", "en-LR", "en-MO", "en-MG", "en-MW", "en-MT", "en-MH", "en-MU",
|
||
"en-FM", "en-MS", "en-NA", "en-NR", "en-NL", "en-NG", "en-NU", "en-NF", "en-MP", "en-PK",
|
||
"en-PW", "en-PG", "en-PN", "en-PR", "en-RW", "en-KN", "en-LC", "en-VC", "en-WS", "en-SC",
|
||
"en-SL", "en-SX", "en-SI", "en-SB", "en-SS", "en-SH", "en-SD", "en-SZ", "en-SE", "en-CH",
|
||
"en-TZ", "en-TK", "en-TO", "en-TC", "en-TV", "en-UG", "en-UM", "en-VI", "en-VU", "en-001",
|
||
"en-ZM", "eo", "eo-001", "ee", "ee-GH", "ee-TG", "ewo", "ewo-CM", "fo-DK", "fr-DZ",
|
||
"fr-BJ", "fr-BF", "fr-BI", "fr-CF", "fr-TD", "fr-KM", "fr-CG", "fr-DJ", "fr-GQ", "fr-GF",
|
||
"fr-PF", "fr-GA", "fr-GP", "fr-GN", "fr-MG", "fr-MQ", "fr-MR", "fr-MU", "fr-YT", "fr-NC",
|
||
"fr-NE", "fr-RW", "fr-BL", "fr-MF", "fr-PM", "fr-SC", "fr-SY", "fr-TG", "fr-TN", "fr-VU",
|
||
"fr-WF", "fur", "fur-IT", "ff-Latn-BF", "ff-CM", "ff-Latn-CM", "ff-Latn-GM", "ff-Latn-GH",
|
||
"ff-GN", "ff-Latn-GN", "ff-Latn-GW", "ff-Latn-LR", "ff-MR", "ff-Latn-MR", "ff-Latn-NE",
|
||
"ff-Latn-SL", "lg", "lg-UG", "de-BE", "de-IT", "el-CY", "guz", "guz-KE", "ha-Latn-GH",
|
||
"ha-Latn-NG", "ia-FR", "ia-001", "it-SM", "it-VA", "jv", "jv-Latn", "jv-Latn-ID", "dyo",
|
||
"dyo-SN", "kea", "kea-CV", "kab", "kab-DZ", "kkj", "kkj-CM", "kln", "kln-KE", "kam",
|
||
"kam-KE", "ks-Arab-IN", "ki", "ki-KE", "sw-TZ", "sw-UG", "ko-KP", "khq", "khq-ML", "ses",
|
||
"ses-ML", "nmg", "nmq-CM", "ku-Arab-IR", "lkt", "lkt-US", "lag", "lag-TZ", "ln", "ln-AO",
|
||
"ln-CF", "ln-CD", "nds", "nds-DE", "nds-NL", "lu", "lu-CD", "luo", "luo", "luo-KE", "luy",
|
||
"luy-KE", "jmc", "jmc-TZ", "mgh", "mgh-MZ", "kde", "kde-TZ", "mg", "mg-MG", "gv", "gv-IM",
|
||
"mas", "mas-KE", "mas-TZ", "mas-IR", "mer", "mer-KE", "mgo", "mgo-CM", "mfe", "mfe-MU",
|
||
"mua", "mua-CM", "nqo", "nqo-GN", "nqa", "naq-NA", "nnh", "nnh-CM", "jgo", "jgo-CM",
|
||
"lrc-IQ", "lrc-IR", "nd", "nd-ZW", "nb-SJ", "nus", "nus-SD", "nus-SS", "nyn", "nyn-UG",
|
||
"om-KE", "os", "os-GE", "os-RU", "ps-PK", "fa-AF", "pt-AO", "pt-CV", "pt-GQ", "pt-GW",
|
||
"pt-LU", "pt-MO", "pt-MZ", "pt-ST", "pt-CH", "pt-TL", "prg-001", "ksh", "ksh-DE", "rof",
|
||
"rof-TZ", "rn", "rn-BI", "ru-BY", "ru-KZ", "ru-KG", "ru-UA", "rwk", "rwk-TZ", "ssy",
|
||
"ssy-ER", "saq", "saq-KE", "sg", "sq-CF", "sbp", "sbp-TZ", "seh", "seh-MZ", "ksb", "ksb-TZ",
|
||
"sn", "sn-Latn", "sn-Latn-ZW", "xog", "xog-UG", "so-DJ", "so-ET", "so-KE", "nr", "nr-ZA",
|
||
"st-LS", "es-BZ", "es-BR", "es-PH", "zgh", "zgh-Tfng-MA", "zgh-Tfng", "ss", "ss-ZA",
|
||
"ss-SZ", "sv-AX", "shi", "shi-Tfng", "shi-Tfng-MA", "shi-Latn", "shi-Latn-MA", "dav",
|
||
"dav-KE", "ta-MY", "ta-SG", "twq", "twq-NE", "teo", "teo-KE", "teo-UG", "bo-IN", "tig",
|
||
"tig-ER", "to", "to-TO", "tr-CY", "uz-Arab", "us-Arab-AF", "vai", "vai-Vaii",
|
||
"vai-Vaii-LR", "vai-Latn-LR", "vai-Latn", "vo", "vo-001", "vun", "vun-TZ", "wae",
|
||
"wae-CH", "wal", "wae-ET", "yav", "yav-CM", "yo-BJ", "dje", "dje-NE",
|
||
}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"C09": {tags: []string{"en-AU"}, localMonth: localMonthsNameEnglish, apFmt: strings.ToLower(nfp.AmPm[0])},
|
||
"2809": {tags: []string{"en-BZ"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"1009": {tags: []string{"en-CA"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"2409": {tags: []string{"en-029"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"3C09": {tags: []string{"en-HK"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"4009": {tags: []string{"en-IN"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"1809": {tags: []string{"en-IE"}, localMonth: localMonthsNameEnglish, apFmt: strings.ToLower(nfp.AmPm[0])},
|
||
"2009": {tags: []string{"en-JM"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"4409": {tags: []string{"en-MY"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"1409": {tags: []string{"en-NZ"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"3409": {tags: []string{"en-PH"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"4809": {tags: []string{"en-SG"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"1C09": {tags: []string{"en-ZA"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"2C09": {tags: []string{"en-TT"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"4C09": {tags: []string{"en-AE"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"809": {tags: []string{"en-GB"}, localMonth: localMonthsNameEnglish, apFmt: strings.ToLower(nfp.AmPm[0])},
|
||
"409": {tags: []string{"en-US"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"3009": {tags: []string{"en-ZW"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"25": {tags: []string{"et"}, localMonth: localMonthsNameEstonian, apFmt: nfp.AmPm[0]},
|
||
"425": {tags: []string{"et-EE"}, localMonth: localMonthsNameEstonian, apFmt: nfp.AmPm[0]},
|
||
"38": {tags: []string{"fo"}, localMonth: localMonthsNameFaroese, apFmt: apFmtFaroese},
|
||
"438": {tags: []string{"fo-FO"}, localMonth: localMonthsNameFaroese, apFmt: apFmtFaroese},
|
||
"64": {tags: []string{"fil"}, localMonth: localMonthsNameFilipino, apFmt: nfp.AmPm[0]},
|
||
"464": {tags: []string{"fil-PH"}, localMonth: localMonthsNameFilipino, apFmt: nfp.AmPm[0]},
|
||
"B": {tags: []string{"fi"}, localMonth: localMonthsNameFinnish, apFmt: apFmtFinnish},
|
||
"40B": {tags: []string{"fi-FI"}, localMonth: localMonthsNameFinnish, apFmt: apFmtFinnish},
|
||
"C": {tags: []string{"fr"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"80C": {tags: []string{"fr-BE"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"2C0C": {tags: []string{"fr-CM"}, localMonth: localMonthsNameFrench, apFmt: apFmtCameroon},
|
||
"C0C": {tags: []string{"fr-CA"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"1C0C": {tags: []string{"fr-029"}, localMonth: localMonthsNameCaribbean, apFmt: nfp.AmPm[0]},
|
||
"240C": {tags: []string{"fr-CD"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"300C": {tags: []string{"fr-CI"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"40C": {tags: []string{"fr-FR"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"3C0C": {tags: []string{"fr-HT"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"140C": {tags: []string{"fr-LU"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"340C": {tags: []string{"fr-ML"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"380C": {tags: []string{"fr-MA"}, localMonth: localMonthsNameMorocco, apFmt: nfp.AmPm[0]},
|
||
"180C": {tags: []string{"fr-MC"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"200C": {tags: []string{"fr-RE"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"280C": {tags: []string{"fr-SN"}, localMonth: localMonthsNameFrench, apFmt: nfp.AmPm[0]},
|
||
"62": {tags: []string{"fy"}, localMonth: localMonthsNameFrisian, apFmt: nfp.AmPm[0]},
|
||
"462": {tags: []string{"fy-NL"}, localMonth: localMonthsNameFrisian, apFmt: nfp.AmPm[0]},
|
||
"67": {tags: []string{"ff"}, localMonth: localMonthsNameFulah, apFmt: nfp.AmPm[0]},
|
||
"7C67": {tags: []string{"ff-Latn"}, localMonth: localMonthsNameFulah, apFmt: nfp.AmPm[0]},
|
||
"467": {tags: []string{"ff-NG", "ff-Latn-NG"}, localMonth: localMonthsNameNigeria, apFmt: apFmtNigeria},
|
||
"867": {tags: []string{"ff-SN"}, localMonth: localMonthsNameNigeria, apFmt: nfp.AmPm[0]},
|
||
"56": {tags: []string{"gl"}, localMonth: localMonthsNameGalician, apFmt: apFmtCuba},
|
||
"456": {tags: []string{"gl-ES"}, localMonth: localMonthsNameGalician, apFmt: apFmtCuba},
|
||
"37": {tags: []string{"ka"}, localMonth: localMonthsNameGeorgian, apFmt: nfp.AmPm[0]},
|
||
"437": {tags: []string{"ka-GE"}, localMonth: localMonthsNameGeorgian, apFmt: nfp.AmPm[0]},
|
||
"7": {tags: []string{"de"}, localMonth: localMonthsNameGerman, apFmt: nfp.AmPm[0]},
|
||
"C07": {tags: []string{"de-AT"}, localMonth: localMonthsNameAustria, apFmt: nfp.AmPm[0]},
|
||
"407": {tags: []string{"de-DE"}, localMonth: localMonthsNameGerman, apFmt: nfp.AmPm[0]},
|
||
"1407": {tags: []string{"de-LI"}, localMonth: localMonthsNameGerman, apFmt: nfp.AmPm[0]},
|
||
"807": {tags: []string{"de-CH"}, localMonth: localMonthsNameGerman, apFmt: nfp.AmPm[0]},
|
||
"8": {tags: []string{"el"}, localMonth: localMonthsNameGreek, apFmt: apFmtGreek},
|
||
"408": {tags: []string{"el-GR"}, localMonth: localMonthsNameGreek, apFmt: apFmtGreek},
|
||
"6F": {tags: []string{"kl"}, localMonth: localMonthsNameGreenlandic, apFmt: nfp.AmPm[0]},
|
||
"46F": {tags: []string{"kl-GL"}, localMonth: localMonthsNameGreenlandic, apFmt: nfp.AmPm[0]},
|
||
"74": {tags: []string{"gn"}, localMonth: localMonthsNameGuarani, apFmt: apFmtCuba},
|
||
"474": {tags: []string{"gn-PY"}, localMonth: localMonthsNameGuarani, apFmt: apFmtCuba},
|
||
"47": {tags: []string{"gu"}, localMonth: localMonthsNameGujarati, apFmt: apFmtGujarati},
|
||
"447": {tags: []string{"gu-IN"}, localMonth: localMonthsNameGujarati, apFmt: apFmtGujarati},
|
||
"68": {tags: []string{"ha"}, localMonth: localMonthsNameHausa, apFmt: nfp.AmPm[0]},
|
||
"7C68": {tags: []string{"ha-Latn"}, localMonth: localMonthsNameHausa, apFmt: nfp.AmPm[0]},
|
||
"468": {tags: []string{"ha-Latn-NG"}, localMonth: localMonthsNameHausa, apFmt: nfp.AmPm[0]},
|
||
"75": {tags: []string{"haw"}, localMonth: localMonthsNameHawaiian, apFmt: nfp.AmPm[0]},
|
||
"475": {tags: []string{"haw-US"}, localMonth: localMonthsNameHawaiian, apFmt: nfp.AmPm[0]},
|
||
"D": {tags: []string{"he"}, localMonth: localMonthsNameHebrew, apFmt: nfp.AmPm[0]},
|
||
"40D": {tags: []string{"he-IL"}, localMonth: localMonthsNameHebrew, apFmt: nfp.AmPm[0]},
|
||
"39": {tags: []string{"hi"}, localMonth: localMonthsNameHindi, apFmt: apFmtHindi},
|
||
"439": {tags: []string{"hi-IN"}, localMonth: localMonthsNameHindi, apFmt: apFmtHindi},
|
||
"E": {tags: []string{"hu"}, localMonth: localMonthsNameHungarian, apFmt: apFmtHungarian},
|
||
"40E": {tags: []string{"hu-HU"}, localMonth: localMonthsNameHungarian, apFmt: apFmtHungarian},
|
||
"F": {tags: []string{"is"}, localMonth: localMonthsNameIcelandic, apFmt: apFmtIcelandic},
|
||
"40F": {tags: []string{"is-IS"}, localMonth: localMonthsNameIcelandic, apFmt: apFmtIcelandic},
|
||
"70": {tags: []string{"ig"}, localMonth: localMonthsNameIgbo, apFmt: apFmtIgbo},
|
||
"470": {tags: []string{"ig-NG"}, localMonth: localMonthsNameIgbo, apFmt: apFmtIgbo},
|
||
"21": {tags: []string{"id"}, localMonth: localMonthsNameIndonesian, apFmt: nfp.AmPm[0]},
|
||
"421": {tags: []string{"id-ID"}, localMonth: localMonthsNameIndonesian, apFmt: nfp.AmPm[0]},
|
||
"5D": {tags: []string{"iu"}, localMonth: localMonthsNameInuktitut, apFmt: nfp.AmPm[0]},
|
||
"7C5D": {tags: []string{"iu-Latn"}, localMonth: localMonthsNameInuktitut, apFmt: nfp.AmPm[0]},
|
||
"85D": {tags: []string{"iu-Latn-CA"}, localMonth: localMonthsNameInuktitut, apFmt: nfp.AmPm[0]},
|
||
"785D": {tags: []string{"iu-Cans"}, localMonth: localMonthsNameSyllabics, apFmt: nfp.AmPm[0]},
|
||
"45D": {tags: []string{"iu-Cans-CA"}, localMonth: localMonthsNameSyllabics, apFmt: nfp.AmPm[0]},
|
||
"3C": {tags: []string{"ga"}, localMonth: localMonthsNameIrish, apFmt: apFmtIrish},
|
||
"83C": {tags: []string{"ga-IE"}, localMonth: localMonthsNameIrish, apFmt: apFmtIrish},
|
||
"10": {tags: []string{"it"}, localMonth: localMonthsNameItalian, apFmt: nfp.AmPm[0]},
|
||
"410": {tags: []string{"it-IT"}, localMonth: localMonthsNameItalian, apFmt: nfp.AmPm[0]},
|
||
"810": {tags: []string{"it-CH"}, localMonth: localMonthsNameItalian, apFmt: nfp.AmPm[0]},
|
||
"11": {tags: []string{"ja"}, localMonth: localMonthsNameChinese3, apFmt: apFmtJapanese},
|
||
"411": {tags: []string{"ja-JP"}, localMonth: localMonthsNameChinese3, apFmt: apFmtJapanese},
|
||
"800411": {tags: []string{"ja-JP"}, localMonth: localMonthsNameChinese3, apFmt: apFmtJapanese},
|
||
"JP-X-GANNEN": {tags: []string{"ja-JP"}, localMonth: localMonthsNameChinese3, apFmt: apFmtJapanese},
|
||
"JP-X-GANNEN,80": {tags: []string{"ja-JP"}, localMonth: localMonthsNameChinese3, apFmt: apFmtJapanese, useGannen: true},
|
||
"4B": {tags: []string{"kn"}, localMonth: localMonthsNameKannada, apFmt: apFmtKannada},
|
||
"44B": {tags: []string{"kn-IN"}, localMonth: localMonthsNameKannada, apFmt: apFmtKannada},
|
||
"471": {tags: []string{"kr-Latn-NG"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"60": {tags: []string{"ks"}, localMonth: localMonthsNameKashmiri, apFmt: nfp.AmPm[0]},
|
||
"460": {tags: []string{"ks-Arab"}, localMonth: localMonthsNameKashmiri, apFmt: nfp.AmPm[0]},
|
||
"860": {tags: []string{"ks-Deva-IN"}, localMonth: localMonthsNameEnglish, apFmt: nfp.AmPm[0]},
|
||
"3F": {tags: []string{"kk"}, localMonth: localMonthsNameKazakh, apFmt: nfp.AmPm[0]},
|
||
"43F": {tags: []string{"kk-KZ"}, localMonth: localMonthsNameKazakh, apFmt: nfp.AmPm[0]},
|
||
"53": {tags: []string{"km"}, localMonth: localMonthsNameKhmer, apFmt: apFmtKhmer},
|
||
"453": {tags: []string{"km-KH"}, localMonth: localMonthsNameKhmer, apFmt: apFmtKhmer},
|
||
"86": {tags: []string{"quc"}, localMonth: localMonthsNameKiche, apFmt: apFmtCuba},
|
||
"486": {tags: []string{"quc-Latn-GT"}, localMonth: localMonthsNameKiche, apFmt: apFmtCuba},
|
||
"87": {tags: []string{"rw"}, localMonth: localMonthsNameKinyarwanda, apFmt: nfp.AmPm[0]},
|
||
"487": {tags: []string{"rw-RW"}, localMonth: localMonthsNameKinyarwanda, apFmt: nfp.AmPm[0]},
|
||
"41": {tags: []string{"sw"}, localMonth: localMonthsNameKiswahili, apFmt: nfp.AmPm[0]},
|
||
"441": {tags: []string{"sw-KE"}, localMonth: localMonthsNameKiswahili, apFmt: nfp.AmPm[0]},
|
||
"57": {tags: []string{"kok"}, localMonth: localMonthsNameKonkani, apFmt: apFmtKonkani},
|
||
"457": {tags: []string{"kok-IN"}, localMonth: localMonthsNameKonkani, apFmt: apFmtKonkani},
|
||
"12": {tags: []string{"ko"}, localMonth: localMonthsNameKorean, apFmt: apFmtKorean},
|
||
"412": {tags: []string{"ko-KR"}, localMonth: localMonthsNameKorean, apFmt: apFmtKorean},
|
||
"40": {tags: []string{"ky"}, localMonth: localMonthsNameKyrgyz, apFmt: apFmtKyrgyz},
|
||
"440": {tags: []string{"ky-KG"}, localMonth: localMonthsNameKyrgyz, apFmt: apFmtKyrgyz},
|
||
"54": {tags: []string{"lo"}, localMonth: localMonthsNameLao, apFmt: apFmtLao},
|
||
"454": {tags: []string{"lo-LA"}, localMonth: localMonthsNameLao, apFmt: apFmtLao},
|
||
"476": {tags: []string{"la-VA"}, localMonth: localMonthsNameLatin, apFmt: nfp.AmPm[0]},
|
||
"26": {tags: []string{"lv"}, localMonth: localMonthsNameLatvian, apFmt: apFmtLatvian},
|
||
"426": {tags: []string{"lv-LV"}, localMonth: localMonthsNameLatvian, apFmt: apFmtLatvian},
|
||
"27": {tags: []string{"lt"}, localMonth: localMonthsNameLithuanian, apFmt: apFmtLithuanian},
|
||
"427": {tags: []string{"lt-LT"}, localMonth: localMonthsNameLithuanian, apFmt: apFmtLithuanian},
|
||
"7C2E": {tags: []string{"dsb"}, localMonth: localMonthsNameLowerSorbian, apFmt: nfp.AmPm[0]},
|
||
"82E": {tags: []string{"dsb-DE"}, localMonth: localMonthsNameLowerSorbian, apFmt: nfp.AmPm[0]},
|
||
"6E": {tags: []string{"lb"}, localMonth: localMonthsNameLuxembourgish, apFmt: nfp.AmPm[0]},
|
||
"46E": {tags: []string{"lb-LU"}, localMonth: localMonthsNameLuxembourgish, apFmt: nfp.AmPm[0]},
|
||
"2F": {tags: []string{"mk"}, localMonth: localMonthsNameMacedonian, apFmt: apFmtMacedonian},
|
||
"42F": {tags: []string{"mk-MK"}, localMonth: localMonthsNameMacedonian, apFmt: apFmtMacedonian},
|
||
"3E": {tags: []string{"ms"}, localMonth: localMonthsNameMalay, apFmt: apFmtMalay},
|
||
"83E": {tags: []string{"ms-BN"}, localMonth: localMonthsNameMalay, apFmt: apFmtMalay},
|
||
"43E": {tags: []string{"ms-MY"}, localMonth: localMonthsNameMalay, apFmt: apFmtMalay},
|
||
"4C": {tags: []string{"ml"}, localMonth: localMonthsNameMalayalam, apFmt: nfp.AmPm[0]},
|
||
"44C": {tags: []string{"ml-IN"}, localMonth: localMonthsNameMalayalam, apFmt: nfp.AmPm[0]},
|
||
"3A": {tags: []string{"mt"}, localMonth: localMonthsNameMaltese, apFmt: nfp.AmPm[0]},
|
||
"43A": {tags: []string{"mt-MT"}, localMonth: localMonthsNameMaltese, apFmt: nfp.AmPm[0]},
|
||
"81": {tags: []string{"mi"}, localMonth: localMonthsNameMaori, apFmt: apFmtCuba},
|
||
"481": {tags: []string{"mi-NZ"}, localMonth: localMonthsNameMaori, apFmt: apFmtCuba},
|
||
"7A": {tags: []string{"arn"}, localMonth: localMonthsNameMapudungun, apFmt: nfp.AmPm[0]},
|
||
"47A": {tags: []string{"arn-CL"}, localMonth: localMonthsNameMapudungun, apFmt: nfp.AmPm[0]},
|
||
"4E": {tags: []string{"mr"}, localMonth: localMonthsNameMarathi, apFmt: apFmtKonkani},
|
||
"44E": {tags: []string{"mr-IN"}, localMonth: localMonthsNameMarathi, apFmt: apFmtKonkani},
|
||
"7C": {tags: []string{"moh"}, localMonth: localMonthsNameMohawk, apFmt: nfp.AmPm[0]},
|
||
"47C": {tags: []string{"moh-CA"}, localMonth: localMonthsNameMohawk, apFmt: nfp.AmPm[0]},
|
||
"50": {tags: []string{"mn"}, localMonth: localMonthsNameMongolian, apFmt: apFmtMongolian},
|
||
"7850": {tags: []string{"mn-Cyrl"}, localMonth: localMonthsNameMongolian, apFmt: apFmtMongolian},
|
||
"450": {tags: []string{"mn-MN"}, localMonth: localMonthsNameMongolian, apFmt: apFmtMongolian},
|
||
"7C50": {tags: []string{"mn-Mong"}, localMonth: localMonthsNameTraditionalMongolian, apFmt: nfp.AmPm[0]},
|
||
"850": {tags: []string{"mn-Mong-CN"}, localMonth: localMonthsNameTraditionalMongolian, apFmt: nfp.AmPm[0]},
|
||
"C50": {tags: []string{"mn-Mong-MN"}, localMonth: localMonthsNameTraditionalMongolian, apFmt: nfp.AmPm[0]},
|
||
"61": {tags: []string{"ne"}, localMonth: localMonthsNameNepali, apFmt: apFmtHindi},
|
||
"861": {tags: []string{"ne-IN"}, localMonth: localMonthsNameNepaliIN, apFmt: apFmtHindi},
|
||
"461": {tags: []string{"ne-NP"}, localMonth: localMonthsNameNepali, apFmt: apFmtHindi},
|
||
"14": {tags: []string{"no"}, localMonth: localMonthsNameNorwegian, apFmt: apFmtCuba},
|
||
"7C14": {tags: []string{"nb-NO"}, localMonth: localMonthsNameNorwegian, apFmt: apFmtCuba},
|
||
"414": {tags: []string{"nn"}, localMonth: localMonthsNameNorwegian, apFmt: apFmtCuba},
|
||
"7814": {tags: []string{"nn"}, localMonth: localMonthsNameNorwegian, apFmt: apFmtNorwegian},
|
||
"814": {tags: []string{"nn-NO"}, localMonth: localMonthsNameNorwegian, apFmt: apFmtNorwegian},
|
||
"82": {tags: []string{"oc"}, localMonth: localMonthsNameOccitan, apFmt: nfp.AmPm[0]},
|
||
"482": {tags: []string{"oc-FR"}, localMonth: localMonthsNameOccitan, apFmt: nfp.AmPm[0]},
|
||
"48": {tags: []string{"or"}, localMonth: localMonthsNameOdia, apFmt: nfp.AmPm[0]},
|
||
"448": {tags: []string{"or-IN"}, localMonth: localMonthsNameOdia, apFmt: nfp.AmPm[0]},
|
||
"72": {tags: []string{"om"}, localMonth: localMonthsNameOromo, apFmt: apFmtOromo},
|
||
"472": {tags: []string{"om-ET"}, localMonth: localMonthsNameOromo, apFmt: apFmtOromo},
|
||
"63": {tags: []string{"ps"}, localMonth: localMonthsNamePashto, apFmt: apFmtPashto},
|
||
"463": {tags: []string{"ps-AF"}, localMonth: localMonthsNamePashto, apFmt: apFmtPashto},
|
||
"29": {tags: []string{"fa"}, localMonth: localMonthsNamePersian, apFmt: apFmtPersian},
|
||
"429": {tags: []string{"fa-IR"}, localMonth: localMonthsNamePersian, apFmt: apFmtPersian},
|
||
"15": {tags: []string{"pl"}, localMonth: localMonthsNamePolish, apFmt: nfp.AmPm[0]},
|
||
"415": {tags: []string{"pl-PL"}, localMonth: localMonthsNamePolish, apFmt: nfp.AmPm[0]},
|
||
"16": {tags: []string{"pt"}, localMonth: localMonthsNamePortuguese, apFmt: nfp.AmPm[0]},
|
||
"416": {tags: []string{"pt-BR"}, localMonth: localMonthsNamePortuguese, apFmt: nfp.AmPm[0]},
|
||
"816": {tags: []string{"pt-BR"}, localMonth: localMonthsNamePortuguese, apFmt: nfp.AmPm[0]},
|
||
"46": {tags: []string{"pa"}, localMonth: localMonthsNamePunjabi, apFmt: apFmtPunjabi},
|
||
"7C46": {tags: []string{"pa-Arab"}, localMonth: localMonthsNamePunjabiArab, apFmt: nfp.AmPm[0]},
|
||
"446": {tags: []string{"pa-IN"}, localMonth: localMonthsNamePunjabi, apFmt: apFmtPunjabi},
|
||
"846": {tags: []string{"pa-Arab-PK"}, localMonth: localMonthsNamePunjabiArab, apFmt: nfp.AmPm[0]},
|
||
"6B": {tags: []string{"quz"}, localMonth: localMonthsNameQuechua, apFmt: apFmtCuba},
|
||
"46B": {tags: []string{"quz-BO"}, localMonth: localMonthsNameQuechua, apFmt: apFmtCuba},
|
||
"86B": {tags: []string{"quz-EC"}, localMonth: localMonthsNameQuechuaEcuador, apFmt: nfp.AmPm[0]},
|
||
"C6B": {tags: []string{"quz-PE"}, localMonth: localMonthsNameQuechua, apFmt: apFmtCuba},
|
||
"18": {tags: []string{"ro"}, localMonth: localMonthsNameRomanian, apFmt: apFmtCuba},
|
||
"818": {tags: []string{"ro-MD"}, localMonth: localMonthsNameRomanian, apFmt: apFmtCuba},
|
||
"418": {tags: []string{"ro-RO"}, localMonth: localMonthsNameRomanian, apFmt: apFmtCuba},
|
||
"17": {tags: []string{"rm"}, localMonth: localMonthsNameRomansh, apFmt: nfp.AmPm[0]},
|
||
"417": {tags: []string{"rm-CH"}, localMonth: localMonthsNameRomansh, apFmt: nfp.AmPm[0]},
|
||
"19": {tags: []string{"ru"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
|
||
"819": {tags: []string{"ru-MD"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
|
||
"419": {tags: []string{"ru-RU"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
|
||
"85": {tags: []string{"sah"}, localMonth: localMonthsNameSakha, apFmt: apFmtSakha},
|
||
"485": {tags: []string{"sah-RU"}, localMonth: localMonthsNameSakha, apFmt: apFmtSakha},
|
||
"703B": {tags: []string{"smn"}, localMonth: localMonthsNameSami, apFmt: nfp.AmPm[0]},
|
||
"243B": {tags: []string{"smn-FI"}, localMonth: localMonthsNameSami, apFmt: nfp.AmPm[0]},
|
||
"7C3B": {tags: []string{"smj"}, localMonth: localMonthsNameSamiLule, apFmt: nfp.AmPm[0]},
|
||
"103B": {tags: []string{"smj-NO"}, localMonth: localMonthsNameSamiLule, apFmt: nfp.AmPm[0]},
|
||
"143B": {tags: []string{"smj-SE"}, localMonth: localMonthsNameSamiLule, apFmt: nfp.AmPm[0]},
|
||
"3B": {tags: []string{"se"}, localMonth: localMonthsNameSamiNorthern, apFmt: apFmtSamiNorthern},
|
||
"C3B": {tags: []string{"se-FI"}, localMonth: localMonthsNameSamiNorthernFI, apFmt: nfp.AmPm[0]},
|
||
"43B": {tags: []string{"se-NO"}, localMonth: localMonthsNameSamiNorthern, apFmt: apFmtSamiNorthern},
|
||
"83B": {tags: []string{"se-SE"}, localMonth: localMonthsNameSamiNorthern, apFmt: nfp.AmPm[0]},
|
||
"743B": {tags: []string{"sms"}, localMonth: localMonthsNameSamiSkolt, apFmt: nfp.AmPm[0]},
|
||
"203B": {tags: []string{"sms-FI"}, localMonth: localMonthsNameSamiSkolt, apFmt: nfp.AmPm[0]},
|
||
"783B": {tags: []string{"sma"}, localMonth: localMonthsNameSamiSouthern, apFmt: nfp.AmPm[0]},
|
||
"183B": {tags: []string{"sma-NO"}, localMonth: localMonthsNameSamiSouthern, apFmt: nfp.AmPm[0]},
|
||
"1C3B": {tags: []string{"sma-SE"}, localMonth: localMonthsNameSamiSouthern, apFmt: nfp.AmPm[0]},
|
||
"4F": {tags: []string{"sa"}, localMonth: localMonthsNameSanskrit, apFmt: apFmtSanskrit},
|
||
"44F": {tags: []string{"sa-IN"}, localMonth: localMonthsNameSanskrit, apFmt: apFmtSanskrit},
|
||
"91": {tags: []string{"gd"}, localMonth: localMonthsNameScottishGaelic, apFmt: apFmtScottishGaelic},
|
||
"491": {tags: []string{"gd-GB"}, localMonth: localMonthsNameScottishGaelic, apFmt: apFmtScottishGaelic},
|
||
"6C1A": {tags: []string{"sr-Cyrl"}, localMonth: localMonthsNameSerbian, apFmt: nfp.AmPm[0]},
|
||
"1C1A": {tags: []string{"sr-Cyrl-BA"}, localMonth: localMonthsNameSerbianBA, apFmt: nfp.AmPm[0]},
|
||
"301A": {tags: []string{"sr-Cyrl-ME"}, localMonth: localMonthsNameSerbian, apFmt: nfp.AmPm[0]},
|
||
"281A": {tags: []string{"sr-Cyrl-RS"}, localMonth: localMonthsNameSerbian, apFmt: nfp.AmPm[0]},
|
||
"C1A": {tags: []string{"sr-Cyrl-CS"}, localMonth: localMonthsNameSerbian, apFmt: nfp.AmPm[0]},
|
||
"701A": {tags: []string{"sr-Latn"}, localMonth: localMonthsNameSerbianLatin, apFmt: apFmtSerbianLatin},
|
||
"7C1A": {tags: []string{"sr"}, localMonth: localMonthsNameSerbianLatin, apFmt: apFmtSerbianLatin},
|
||
"181A": {tags: []string{"sr-Latn-BA"}, localMonth: localMonthsNameSerbianLatin, apFmt: apFmtSerbianLatinBA},
|
||
"2C1A": {tags: []string{"sr-Latn-ME"}, localMonth: localMonthsNameSerbianLatin, apFmt: apFmtSerbianLatinBA},
|
||
"241A": {tags: []string{"sr-Latn-RS"}, localMonth: localMonthsNameSerbianLatin, apFmt: apFmtSerbianLatin},
|
||
"81A": {tags: []string{"sr-Latn-CS"}, localMonth: localMonthsNameSerbianLatinCS, apFmt: nfp.AmPm[0]},
|
||
"6C": {tags: []string{"nso"}, localMonth: localMonthsNameSesothoSaLeboa, apFmt: nfp.AmPm[0]},
|
||
"46C": {tags: []string{"nso-ZA"}, localMonth: localMonthsNameSesothoSaLeboa, apFmt: nfp.AmPm[0]},
|
||
"32": {tags: []string{"tn"}, localMonth: localMonthsNameSetswana, apFmt: nfp.AmPm[0]},
|
||
"832": {tags: []string{"tn-BW"}, localMonth: localMonthsNameSetswana, apFmt: nfp.AmPm[0]},
|
||
"432": {tags: []string{"tn-ZA"}, localMonth: localMonthsNameSetswana, apFmt: nfp.AmPm[0]},
|
||
"59": {tags: []string{"sd"}, localMonth: localMonthsNameSindhi, apFmt: nfp.AmPm[0]},
|
||
"7C59": {tags: []string{"sd-Arab"}, localMonth: localMonthsNameSindhi, apFmt: nfp.AmPm[0]},
|
||
"859": {tags: []string{"sd-Arab-PK"}, localMonth: localMonthsNameSindhi, apFmt: nfp.AmPm[0]},
|
||
"5B": {tags: []string{"si"}, localMonth: localMonthsNameSinhala, apFmt: apFmtSinhala},
|
||
"45B": {tags: []string{"si-LK"}, localMonth: localMonthsNameSinhala, apFmt: apFmtSinhala},
|
||
"1B": {tags: []string{"sk"}, localMonth: localMonthsNameSlovak, apFmt: nfp.AmPm[0]},
|
||
"41B": {tags: []string{"sk-SK"}, localMonth: localMonthsNameSlovak, apFmt: nfp.AmPm[0]},
|
||
"24": {tags: []string{"sl"}, localMonth: localMonthsNameSlovenian, apFmt: apFmtSlovenian},
|
||
"424": {tags: []string{"sl-SI"}, localMonth: localMonthsNameSlovenian, apFmt: apFmtSlovenian},
|
||
"77": {tags: []string{"so"}, localMonth: localMonthsNameSomali, apFmt: apFmtSomali},
|
||
"477": {tags: []string{"so-SO"}, localMonth: localMonthsNameSomali, apFmt: apFmtSomali},
|
||
"A": {tags: []string{"es"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"2C0A": {tags: []string{"es-AR"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"200A": {tags: []string{"es-VE"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"400A": {tags: []string{"es-BO"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"340A": {tags: []string{"es-CL"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"240A": {tags: []string{"es-CO"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"140A": {tags: []string{"es-CR"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"5C0A": {tags: []string{"es-CU"}, localMonth: localMonthsNameSpanish, apFmt: apFmtCuba},
|
||
"1C0A": {tags: []string{"es-DO"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"300A": {tags: []string{"es-EC"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"440A": {tags: []string{"es-SV"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
|
||
"1E": {tags: []string{"th"}, localMonth: localMonthsNameThai, apFmt: nfp.AmPm[0]},
|
||
"41E": {tags: []string{"th-TH"}, localMonth: localMonthsNameThai, apFmt: nfp.AmPm[0]},
|
||
"51": {tags: []string{"bo"}, localMonth: localMonthsNameTibetan, apFmt: apFmtTibetan},
|
||
"451": {tags: []string{"bo-CN"}, localMonth: localMonthsNameTibetan, apFmt: apFmtTibetan},
|
||
"1F": {tags: []string{"tr"}, localMonth: localMonthsNameTurkish, apFmt: apFmtTurkish},
|
||
"41F": {tags: []string{"tr-TR"}, localMonth: localMonthsNameTurkish, apFmt: apFmtTurkish},
|
||
"52": {tags: []string{"cy"}, localMonth: localMonthsNameWelsh, apFmt: apFmtWelsh},
|
||
"452": {tags: []string{"cy-GB"}, localMonth: localMonthsNameWelsh, apFmt: apFmtWelsh},
|
||
"2A": {tags: []string{"vi"}, localMonth: localMonthsNameVietnamese, apFmt: apFmtVietnamese},
|
||
"42A": {tags: []string{"vi-VN"}, localMonth: localMonthsNameVietnamese, apFmt: apFmtVietnamese},
|
||
"88": {tags: []string{"wo"}, localMonth: localMonthsNameWolof, apFmt: apFmtWolof},
|
||
"488": {tags: []string{"wo-SN"}, localMonth: localMonthsNameWolof, apFmt: apFmtWolof},
|
||
"34": {tags: []string{"xh"}, localMonth: localMonthsNameXhosa, apFmt: nfp.AmPm[0]},
|
||
"434": {tags: []string{"xh-ZA"}, localMonth: localMonthsNameXhosa, apFmt: nfp.AmPm[0]},
|
||
"78": {tags: []string{"ii"}, localMonth: localMonthsNameYi, apFmt: apFmtYi},
|
||
"478": {tags: []string{"ii-CN"}, localMonth: localMonthsNameYi, apFmt: apFmtYi},
|
||
"35": {tags: []string{"zu"}, localMonth: localMonthsNameZulu, apFmt: nfp.AmPm[0]},
|
||
"435": {tags: []string{"zu-ZA"}, localMonth: localMonthsNameZulu, apFmt: nfp.AmPm[0]},
|
||
}
|
||
// japaneseEraYears list the Japanese era name periods.
|
||
japaneseEraYears = []time.Time{
|
||
time.Date(1868, time.August, 8, 0, 0, 0, 0, time.UTC),
|
||
time.Date(1912, time.June, 30, 0, 0, 0, 0, time.UTC),
|
||
time.Date(1926, time.November, 25, 0, 0, 0, 0, time.UTC),
|
||
time.Date(1989, time.January, 8, 0, 0, 0, 0, time.UTC),
|
||
time.Date(2019, time.April, 1, 0, 0, 0, 0, time.UTC),
|
||
}
|
||
// japaneseEraNames list the Japanese era name for the Japanese emperor reign calendar.
|
||
japaneseEraNames = []string{"\u660E\u6CBB", "\u5927\u6B63", "\u662D\u548C", "\u5E73\u6210", "\u4EE4\u548C"}
|
||
// japaneseEraYear list the Japanese era name symbols.
|
||
japaneseEraSymbols = []string{"M", "T", "S", "H", "R"}
|
||
// monthNamesAfrikaans list the month names in the Afrikaans.
|
||
monthNamesAfrikaans = []string{"Januarie", "Februarie", "Maart", "April", "Mei", "Junie", "Julie", "Augustus", "September", "Oktober", "November", "Desember"}
|
||
// monthNamesAfrikaansAbbr lists the month name abbreviations in the Afrikaans.
|
||
monthNamesAfrikaansAbbr = []string{"Jan.", "Feb.", "Maa.", "Apr.", "Mei", "Jun.", "Jul.", "Aug.", "Sep.", "Okt.", "Nov.", "Des."}
|
||
// monthNamesAustria list the month names in the Austrian.
|
||
monthNamesAustria = []string{"Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}
|
||
// monthNamesAustriaAbbr list the month name abbreviations in the Austrian.
|
||
monthNamesAustriaAbbr = []string{"Jän", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}
|
||
// monthNamesBangla list the month names in the Bangla.
|
||
monthNamesBangla = []string{
|
||
"\u099C\u09BE\u09A8\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0",
|
||
"\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1\u09AF\u09BC\u09BE\u09B0\u09C0",
|
||
"\u09AE\u09BE\u09B0\u09CD\u099A",
|
||
"\u098F\u09AA\u09CD\u09B0\u09BF\u09B2",
|
||
"\u09AE\u09C7",
|
||
"\u099C\u09C1\u09A8",
|
||
"\u099C\u09C1\u09B2\u09BE\u0987",
|
||
"\u0986\u0997\u09B8\u09CD\u099F",
|
||
"\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u09AE\u09CD\u09AC\u09B0",
|
||
"\u0985\u0995\u09CD\u099F\u09CB\u09AC\u09B0",
|
||
"\u09A8\u09AD\u09C7\u09AE\u09CD\u09AC\u09B0",
|
||
"\u09A1\u09BF\u09B8\u09C7\u09AE\u09CD\u09AC\u09B0",
|
||
}
|
||
// monthNamesCaribbean list the month names in the Caribbean.
|
||
monthNamesCaribbean = []string{"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"}
|
||
// monthNamesCaribbeanAbbr lists the month name abbreviations in the Caribbean.
|
||
monthNamesCaribbeanAbbr = []string{"Janv.", "Févr.", "Mars", "Avr.", "Mai", "Juin", "Juil.", "Août", "Sept.", "Oct.", "Nov.", "Déc."}
|
||
// monthNamesChinese list the month names in the Chinese.
|
||
monthNamesChinese = []string{"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}
|
||
// monthNamesChineseAbbr lists the month name abbreviations in the Chinese.
|
||
monthNamesChineseAbbr = []string{"一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"}
|
||
// monthNamesChineseNum list the month number and character abbreviation in the Chinese.
|
||
monthNamesChineseNum = []string{"0月", "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月"}
|
||
// monthNamesEstonian list the month names in the Estonian.
|
||
monthNamesEstonian = []string{"jaanuar", "veebruar", "märts", "aprill", "mai", "juuni", "juuli", "august", "september", "oktoober", "november", "detsember"}
|
||
// monthNamesEstonianAbbr lists the month name abbreviations in the Estonian.
|
||
monthNamesEstonianAbbr = []string{"jaan", "veebr", "märts", "apr", "mai", "juuni", "juuli", "aug", "sept", "okt", "nov", "dets"}
|
||
// monthNamesFaroese list the month names in the Faroese.
|
||
monthNamesFaroese = []string{"januar", "februar", "mars", "apríl", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"}
|
||
// monthsNameFaroeseAbbr lists the month name abbreviations in the Faroese.
|
||
monthsNameFaroeseAbbr = []string{"jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des"}
|
||
// monthNamesFilipino list the month names in the Filipino.
|
||
monthNamesFilipino = []string{"Enero", "Pebrero", "Marso", "Abril", "Mayo", "Hunyo", "Hulyo", "Agosto", "Setyembre", "Oktubre", "Nobyembre", "Disyembre"}
|
||
// monthNamesFilipinoAbbr lists the month name abbreviations in the Filipino.
|
||
monthNamesFilipinoAbbr = []string{"Ene", "Peb", "Mar", "Abr", "May", "Hun", "Hul", "Ago", "Set", "Okt", "Nob", "Dis"}
|
||
// monthsNamesFinnish list the month names in the Finnish.
|
||
monthNamesFinnish = []string{"Etammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"}
|
||
// monthsNamesFinnishAbbr lists the month name abbreviations in the Finnish.
|
||
monthNamesFinnishAbbr = []string{"tammi", "helmi", "maalis", "huhti", "touko", "kesä", "heinä", "elo", "syys", "loka", "marras", "joulu"}
|
||
// monthNamesFrench list the month names in the French.
|
||
monthNamesFrench = []string{"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"}
|
||
// monthNamesFrenchAbbr lists the month name abbreviations in the French.
|
||
monthNamesFrenchAbbr = []string{"janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."}
|
||
// monthNamesFrisian list the month names in the Frisian.
|
||
monthNamesFrisian = []string{"Jannewaris", "Febrewaris", "Maart", "April", "Maaie", "Juny", "July", "Augustus", "Septimber", "Oktober", "Novimber", "Desimber"}
|
||
// monthNamesFrisianAbbr lists the month name abbreviations in the Frisian.
|
||
monthNamesFrisianAbbr = []string{"jan", "feb", "Mrt", "Apr", "maa", "Jun", "Jul", "Aug", "sep", "Okt", "Nov", "Des"}
|
||
// monthNamesFulah list the month names in the Fulah.
|
||
monthNamesFulah = []string{"siilo", "colte", "mbooy", "seeɗto", "duujal", "korse", "morso", "juko", "siilto", "yarkomaa", "jolal", "bowte"}
|
||
// monthNamesFulahAbbr lists the month name abbreviations in the Fulah.
|
||
monthNamesFulahAbbr = []string{"sii", "col", "mbo", "see", "duu", "kor", "mor", "juk", "slt", "yar", "jol", "bow"}
|
||
// monthNamesGalician list the month names in the Galician.
|
||
monthNamesGalician = []string{"Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"}
|
||
// monthNamesGalicianAbbr lists the month name abbreviations in the Galician.
|
||
monthNamesGalicianAbbr = []string{"Xan.", "Feb.", "Mar.", "Abr.", "Maio", "Xuño", "Xul.", "Ago.", "Set.", "Out.", "Nov.", "Dec."}
|
||
// monthNamesGeorgian list the month names in the Georgian.
|
||
monthNamesGeorgian = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesGeorgianAbbr lists the month name abbreviations in the Georgian.
|
||
monthNamesGeorgianAbbr = []string{
|
||
"\u10D8\u10D0\u10DC",
|
||
"\u10D7\u10D4\u10D1",
|
||
"\u10DB\u10D0\u10E0",
|
||
"\u10D0\u10DE\u10E0",
|
||
"\u10DB\u10D0\u10D8",
|
||
"\u10D8\u10D5\u10DC",
|
||
"\u10D8\u10D5\u10DA",
|
||
"\u10D0\u10D2\u10D5",
|
||
"\u10E1\u10D4\u10E5",
|
||
"\u10DD\u10E5\u10E2",
|
||
"\u10DC\u10DD\u10D4",
|
||
"\u10D3\u10D4\u10D9",
|
||
}
|
||
// monthNamesGerman list the month names in the German.
|
||
monthNamesGerman = []string{"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}
|
||
// monthNamesGermanAbbr list the month abbreviations in the German.
|
||
monthNamesGermanAbbr = []string{"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}
|
||
// monthNamesGreek list the month names in the Greek.
|
||
monthNamesGreek = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesGreekAbbr list the month abbreviations in the Greek.
|
||
monthNamesGreekAbbr = []string{
|
||
"\u0399\u03B1\u03BD",
|
||
"\u03A6\u03B5\u03B2",
|
||
"\u039C\u03B1\u03C1",
|
||
"\u0391\u03C0\u03C1",
|
||
"\u039C\u03B1\u03CA",
|
||
"\u0399\u03BF\u03C5\u03BD",
|
||
"\u0399\u03BF\u03C5\u03BB",
|
||
"\u0391\u03C5\u03B3",
|
||
"\u03A3\u03B5\u03C0",
|
||
"\u039F\u03BA\u03C4",
|
||
"\u039D\u03BF\u03B5",
|
||
"\u0394\u03B5\u03BA",
|
||
}
|
||
// monthNamesGreenlandic list the month names in the Greenlandic.
|
||
monthNamesGreenlandic = []string{"januaari", "februaari", "marsi", "apriili", "maaji", "juuni", "juuli", "aggusti", "septembari", "oktobari", "novembari", "decembari"}
|
||
// monthNamesGreenlandicAbbr list the month abbreviations in the Greenlandic.
|
||
monthNamesGreenlandicAbbr = []string{"jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}
|
||
// monthNamesGuarani list the month names in the Guarani.
|
||
monthNamesGuarani = []string{"jasyte\u0129", "jasyk%F5i", "jasyapy", "jasyrundy", "jasypo", "jasypote\u0129", "jasypok%F5i", "jasypoapy", "jasyporundy", "jasypa", "jasypate\u0129", "jasypak%F5i"}
|
||
// monthNamesGuaraniAbbr list the month abbreviations in the Guarani.
|
||
monthNamesGuaraniAbbr = []string{"jteĩ", "jkõi", "japy", "jrun", "jpo", "jpot", "jpok", "jpoa", "jpor", "jpa", "jpat", "jpak"}
|
||
// monthNamesGujarati list the month names in the Gujarati.
|
||
monthNamesGujarati = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesGujaratiAbbr list the month abbreviations in the Gujarati.
|
||
monthNamesGujaratiAbbr = []string{
|
||
"\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\u0AAA\u0ACD\u0A9F\u0AC7",
|
||
"\u0A91\u0A95\u0ACD\u0A9F\u0ACB",
|
||
"\u0AA8\u0AB5\u0AC7",
|
||
"\u0AA1\u0ABF\u0AB8\u0AC7",
|
||
}
|
||
// monthNamesHausa list the month names in the Hausa.
|
||
monthNamesHausa = []string{"Janairu", "Fabrairu", "Maris", "Afirilu", "Mayu", "Yuni", "Yuli", "Agusta", "Satumba", "Oktoba", "Nuwamba", "Disamba"}
|
||
// monthNamesHawaiian list the month names in the Hawaiian.
|
||
monthNamesHawaiian = []string{"Ianuali", "Pepeluali", "Malaki", "ʻApelila", "Mei", "Iune", "Iulai", "ʻAukake", "Kepakemapa", "ʻOkakopa", "Nowemapa", "Kekemapa"}
|
||
// monthNamesHawaiianAbbr list the month name abbreviations in the Hawaiiann.
|
||
monthNamesHawaiianAbbr = []string{"Ian.", "Pep.", "Mal.", "ʻAp.", "Mei", "Iun.", "Iul.", "ʻAu.", "Kep.", "ʻOk.", "Now.", "Kek."}
|
||
// monthNamesHebrew list the month names in the Hebrew.
|
||
monthNamesHebrew = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesHindi list the month names in the Hindi.
|
||
monthNamesHindi = []string{
|
||
"\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\u0924\u0942\u092C\u0930",
|
||
"\u0928\u0935\u092E\u094D\u092C\u0930",
|
||
"\u0926\u093F\u0938\u092E\u094D\u092C\u0930",
|
||
}
|
||
// monthNamesHungarian list the month names in the Hungarian.
|
||
monthNamesHungarian = []string{"január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"}
|
||
// monthNamesHungarianAbbr list the month name abbreviations in the Hungarian.
|
||
monthNamesHungarianAbbr = []string{"jan.", "febr.", "márc.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."}
|
||
// monthNamesIcelandic list the month names in the Icelandic.
|
||
monthNamesIcelandic = []string{"janúar", "febrúar", "mars", "apríl", "maí", "júní", "júlí", "ágúst", "september", "október", "nóvember", "desember"}
|
||
// monthNamesIcelandicAbbr list the month name abbreviations in the Icelandic.
|
||
monthNamesIcelandicAbbr = []string{"jan.", "feb.", "mar.", "apr.", "maí", "jún.", "júl.", "ágú.", "sep.", "okt.", "nóv.", "des."}
|
||
// monthNamesIgbo list the month names in the Igbo.
|
||
monthNamesIgbo = []string{"Jenụwarị", "Febụwarị", "Machị", "Eprelu", "Mey", "Juun", "Julaị", "Ọgọst", "Septemba", "Ọcktọba", "Nọvemba", "Disemba"}
|
||
// monthNamesIgboAbbr list the month name abbreviations in the Igbo.
|
||
monthNamesIgboAbbr = []string{"Jen", "Feb", "Mac", "Epr", "Mey", "Jun", "Jul", "Ọgọ", "Sep", "Ọkt", "Nọv", "Dis"}
|
||
// monthNamesIndonesian list the month names in the Indonesian.
|
||
monthNamesIndonesian = []string{"Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"}
|
||
// monthNamesIndonesianAbbr list the month name abbreviations in the Indonesian.
|
||
monthNamesIndonesianAbbr = []string{"Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des"}
|
||
// monthNamesInuktitut list the month names in the Inuktitut.
|
||
monthNamesInuktitut = []string{"Jaannuari", "Viivvuari", "Maatsi", "Iipuri", "Mai", "Juuni", "Julai", "Aaggiisi", "Sitipiri", "Utupiri", "Nuvipiri", "Tisipiri"}
|
||
// monthNamesInuktitutAbbr list the month name abbreviations in the Inuktitut.
|
||
monthNamesInuktitutAbbr = []string{"Jan", "Viv", "Mas", "Ipu", "Mai", "Jun", "Jul", "Agi", "Sii", "Uut", "Nuv", "Tis"}
|
||
// monthNamesIrish list the month names in the Irish.
|
||
monthNamesIrish = []string{"Eanáir", "Feabhra", "Márta", "Aibreán", "Bealtaine", "Meitheamh", "Iúil", "Lúnasa", "Meán Fómhair", "Deireadh Fómhair", "Samhain", "Nollaig"}
|
||
// monthNamesIrishAbbr lists the month abbreviations in the Irish.
|
||
monthNamesIrishAbbr = []string{"Ean", "Feabh", "Márta", "Aib", "Beal", "Meith", "Iúil", "Lún", "MFómh", "DFómh", "Samh", "Noll"}
|
||
// monthNamesItalian list the month names in the Italian.
|
||
monthNamesItalian = []string{"gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre"}
|
||
// monthNamesItalianAbbr list the month name abbreviations in the Italian.
|
||
monthNamesItalianAbbr = []string{"gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic"}
|
||
// monthNamesKannada list the month names in the Kannada.
|
||
monthNamesKannada = []string{
|
||
"\u0C9C\u0CA8\u0CB5\u0CB0\u0CBF",
|
||
"\u0CAB\u0CC6\u0CAC\u0CCD\u0CB0\u0CB5\u0CB0\u0CBF",
|
||
"\u0CAE\u0CBE\u0CB0\u0CCD\u0C9A\u0CCD",
|
||
"\u0C8F\u0C8F\u0CAA\u0CCD\u0CB0\u0CBF\u0CB2\u0CCD",
|
||
"\u0CAE\u0CC7",
|
||
"\u0C9C\u0CC2\u0CA8\u0CCD",
|
||
"\u0C9C\u0CC1\u0CB2\u0CC8",
|
||
"\u0C86\u0C97\u0CB8\u0CCD\u0C9F\u0CCD",
|
||
"\u0CB8\u0CC6\u0CAA\u0CCD\u0C9F\u0C82\u0CAC\u0CB0\u0CCD",
|
||
"\u0C85\u0C95\u0CCD\u0C9F\u0CCB\u0CAC\u0CB0\u0CCD",
|
||
"\u0CA8\u0CB5\u0CC6\u0C82\u0CAC\u0CB0\u0CCD",
|
||
"\u0CA1\u0CBF\u0CB8\u0CC6\u0C82\u0CAC\u0CB0\u0CCD",
|
||
}
|
||
// monthNamesKannadaAbbr lists the month abbreviations in the Kannada.
|
||
monthNamesKannadaAbbr = []string{
|
||
"\u0C9C\u0CA8\u0CB5\u0CB0\u0CBF",
|
||
"\u0CAB\u0CC6\u0CAC\u0CCD\u0CB0\u0CB5\u0CB0\u0CBF",
|
||
"\u0CAE\u0CBE\u0CB0\u0CCD\u0C9A\u0CCD",
|
||
"\u0C8E\u0CAA\u0CCD\u0CB0\u0CBF\u0CB2\u0CCD",
|
||
"\u0CAE\u0CC7",
|
||
"\u0C9C\u0CC2\u0CA8\u0CCD",
|
||
"\u0C9C\u0CC1\u0CB2\u0CC8",
|
||
"\u0C86\u0C97\u0CB8\u0CCD\u0C9F\u0CCD",
|
||
"\u0CB8\u0CC6\u0CAA\u0CCD\u0C9F\u0C82\u0CAC\u0CB0\u0CCD",
|
||
"\u0C85\u0C95\u0CCD\u0C9F\u0CCB\u0CAC\u0CB0\u0CCD",
|
||
"\u0CA8\u0CB5\u0CC6\u0C82\u0CAC\u0CB0\u0CCD",
|
||
"\u0CA1\u0CBF\u0CB8\u0CC6\u0C82\u0CAC\u0CB0\u0CCD",
|
||
}
|
||
// monthNamesKashmiri list the month names in the Kashmiri.
|
||
monthNamesKashmiri = []string{
|
||
"\u062C\u0646\u0624\u0631\u06CC",
|
||
"\u0641\u0631\u0624\u0631\u06CC",
|
||
"\u0645\u0627\u0631\u0655\u0686",
|
||
"\u0627\u067E\u0631\u06CC\u0644",
|
||
"\u0645\u06CC\u0654",
|
||
"\u062C\u0648\u0657\u0646",
|
||
"\u062C\u0648\u0657\u0644\u0627\u06CC\u06CC",
|
||
"\u0627\u06AF\u0633\u062A",
|
||
"\u0633\u062A\u0645\u0628\u0631",
|
||
"\u0627\u06A9\u062A\u0648\u0657\u0628\u0631",
|
||
"\u0646\u0648\u0645\u0628\u0631",
|
||
"\u062F\u0633\u0645\u0628\u0631",
|
||
}
|
||
// monthNamesKazakh list the month names in the Kazakh.
|
||
monthNamesKazakh = []string{
|
||
"\u049A\u0430\u04A3\u0442\u0430\u0440",
|
||
"\u0410\u049B\u043F\u0430\u043D",
|
||
"\u041D\u0430\u0443\u0440\u044B\u0437",
|
||
"\u0421\u04D9\u0443\u0456\u0440",
|
||
"\u041C\u0430\u043C\u044B\u0440",
|
||
"\u041C\u0430\u0443\u0441\u044B\u043C",
|
||
"\u0428\u0456\u043B\u0434\u0435",
|
||
"\u0422\u0430\u043C\u044B\u0437",
|
||
"\u049A\u044B\u0440\u043A\u04AF\u0439\u0435\u043A",
|
||
"\u049A\u0430\u0437\u0430\u043D",
|
||
"\u049A\u0430\u0440\u0430\u0448\u0430",
|
||
"\u0416\u0435\u043B\u0442\u043E\u049B\u0441\u0430\u043D",
|
||
}
|
||
// monthNamesKazakhAbbr list the month name abbreviations in the Kazakh.
|
||
monthNamesKazakhAbbr = []string{
|
||
"\u049B\u0430\u04A3",
|
||
"\u0430\u049B\u043F",
|
||
"\u043D\u0430\u0443",
|
||
"\u0441\u04D9\u0443",
|
||
"\u043C\u0430\u043C",
|
||
"\u043C\u0430\u0443",
|
||
"\u0448\u0456\u043B",
|
||
"\u0442\u0430\u043C",
|
||
"\u049B\u044B\u0440",
|
||
"\u049B\u0430\u0437",
|
||
"\u049B\u0430\u0440",
|
||
"\u0436\u0435\u043B",
|
||
}
|
||
// monthNamesKhmer list the month names in the Khmer.
|
||
monthNamesKhmer = []string{
|
||
"\u1798\u1780\u179A\u17B6",
|
||
"\u1780\u17BB\u1798\u17D2\u1797\u17C8",
|
||
"\u1798\u17B7\u1793\u17B6",
|
||
"\u1798\u17C1\u179F\u17B6",
|
||
"\u17A7\u179F\u1797\u17B6",
|
||
"\u1798\u17B7\u1790\u17BB\u1793\u17B6",
|
||
"\u1780\u1780\u17D2\u1780\u178A\u17B6",
|
||
"\u179F\u17B8\u17A0\u17B6",
|
||
"\u1780\u1789\u17D2\u1789\u17B6",
|
||
"\u178F\u17BB\u179B\u17B6",
|
||
"\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6",
|
||
"\u1792\u17D2\u1793\u17BC",
|
||
}
|
||
// monthNamesKhmerAbbr list the month name abbreviations in the Khmer.
|
||
monthNamesKhmerAbbr = []string{
|
||
"\u17E1", "\u17E2", "\u17E3", "\u17E4", "\u17E5", "\u17E6", "\u17E7", "\u17E8", "\u17E9", "\u17E1\u17E0", "\u17E1\u17E1", "\u17E1\u17E2",
|
||
"\u1798", "\u1780", "\u1798", "\u1798", "\u17A7", "\u1798", "\u1780", "\u179F", "\u1780", "\u178F", "\u179C", "\u1792",
|
||
}
|
||
// monthNamesKiche list the month names in the Kiche.
|
||
monthNamesKiche = []string{"nab'e ik'", "ukab' ik'", "urox ik'", "ukaj ik'", "uro ik'", "uwaq ik'", "uwuq ik'", "uwajxaq ik'", "ub'elej ik'", "ulaj ik'", "ujulaj ik'", "ukab'laj ik'"}
|
||
// monthNamesKicheAbbr list the month name abbreviations in the Kiche.
|
||
monthNamesKicheAbbr = []string{"nab'e", "ukab'", "urox", "ukaj", "uro", "uwaq", "uwuq", "uwajxaq", "ub'elej", "ulaj", "ujulaj", "ukab'laj"}
|
||
// monthNamesKinyarwanda list the month names in the Kinyarwanda.
|
||
monthNamesKinyarwanda = []string{"Mutarama", "Gashyantare", "Werurwe", "Mata", "Gicuransi", "Kamena", "Nyakanga", "Kanama", "Nzeli", "Ukwakira", "Ugushyingo", "Ukuboza"}
|
||
// monthNamesKinyarwandaAbbr list the month name abbreviations in the Kinyarwanda.
|
||
monthNamesKinyarwandaAbbr = []string{"mut.", "gas.", "wer.", "mat.", "gic.", "kam.", "Nyak", "kan.", "nze.", "Ukwak", "Ugus", "Ukub"}
|
||
// monthNamesKiswahili list the month names in the Kiswahili.
|
||
monthNamesKiswahili = []string{"Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"}
|
||
// monthNamesKiswahiliAbbr list the month name abbreviations in the Kiswahili.
|
||
monthNamesKiswahiliAbbr = []string{"Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"}
|
||
// monthNamesKonkani list the month names in the Konkani.
|
||
monthNamesKonkani = []string{
|
||
"\u091C\u093E\u0928\u0947\u0935\u093E\u0930\u0940",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941\u0935\u093E\u0930\u0940",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u090F\u092A\u094D\u0930\u093F\u0932",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u0948",
|
||
"\u0911\u0917\u0938\u094D\u091F",
|
||
"\u0938\u092A\u094D\u091F\u0947\u0902\u092C\u0930",
|
||
"\u0911\u0915\u094D\u091F\u094B\u092C\u0930",
|
||
"\u0928\u094B\u0935\u0947\u092E\u094D\u092C\u0930",
|
||
"\u0921\u093F\u0938\u0947\u0902\u092C\u0930",
|
||
}
|
||
// monthNamesKonkaniAbbr list the month name abbreviations in the Konkani.
|
||
monthNamesKonkaniAbbr = []string{
|
||
"\u091C\u093E\u0928\u0947",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u090F\u092A\u094D\u0930\u093F\u0932",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u0948",
|
||
"\u0911\u0917.",
|
||
"\u0938\u092A\u094D\u091F\u0947\u0902.",
|
||
"\u0911\u0915\u094D\u091F\u094B.",
|
||
"\u0928\u094B\u0935\u0947.",
|
||
"\u0921\u093F\u0938\u0947\u0902",
|
||
}
|
||
// monthNamesKoreanAbbr lists out the month number plus 월 for the Korean language.
|
||
monthNamesKoreanAbbr = []string{"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"}
|
||
// monthNamesKyrgyz list the month names in the Kyrgyz.
|
||
monthNamesKyrgyz = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesKyrgyzAbbr lists the month name abbreviations in the Kyrgyz.
|
||
monthNamesKyrgyzAbbr = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesLao list the month names in the Lao.
|
||
monthNamesLao = []string{
|
||
"\u0EA1\u0EB1\u0E87\u0E81\u0EAD\u0E99",
|
||
"\u0E81\u0EB8\u0EA1\u0E9E\u0EB2",
|
||
"\u0EA1\u0EB5\u0E99\u0EB2",
|
||
"\u0EC0\u0EA1\u0EAA\u0EB2",
|
||
"\u0E9E\u0EB6\u0E94\u0EAA\u0EB0\u0E9E\u0EB2",
|
||
"\u0EA1\u0EB4\u0E96\u0EB8\u0E99\u0EB2",
|
||
"\u0E81\u0ECD\u0EA5\u0EB0\u0E81\u0EBB\u0E94",
|
||
"\u0EAA\u0EB4\u0E87\u0EAB\u0EB2",
|
||
"\u0E81\u0EB1\u0E99\u0E8D\u0EB2",
|
||
"\u0E95\u0EB8\u0EA5\u0EB2",
|
||
"\u0E9E\u0EB0\u0E88\u0EB4\u0E81",
|
||
"\u0E97\u0EB1\u0E99\u0EA7\u0EB2",
|
||
}
|
||
// monthNamesLaoAbbr lists the month name abbreviations in the Lao.
|
||
monthNamesLaoAbbr = []string{
|
||
"\u0EA1.\u0E81.",
|
||
"\u0E81.\u0E9E.",
|
||
"\u0EA1.\u0E99.",
|
||
"\u0EA1.\u0EAA.",
|
||
"\u0E9E.\u0E9E.",
|
||
"\u0EA1\u0EB4.\u0E96.",
|
||
"\u0E81.\u0EA5.",
|
||
"\u0EAA.\u0EAB.",
|
||
"\u0E81.\u0E8D.",
|
||
"\u0E95.\u0EA5.",
|
||
"\u0E9E.\u0E88.",
|
||
"\u0E97.\u0EA7.",
|
||
}
|
||
// monthNamesLatin list the month names in the Latin.
|
||
monthNamesLatin = []string{"Ianuarius", "Februarius", "Martius", "Aprilis", "Maius", "Iunius", "Quintilis", "Sextilis", "September", "October", "November", "December"}
|
||
// monthNamesLatinAbbr list the month name abbreviations in the Latin.
|
||
monthNamesLatinAbbr = []string{"Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Quint", "Sext", "Sept", "Oct", "Nov", "Dec"}
|
||
// monthNamesLatvian list the month names in the Latvian.
|
||
monthNamesLatvian = []string{"janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", "jūlijs", "augusts", "septembris", "oktobris", "novembris", "decembris"}
|
||
// monthNamesLatvianAbbr list the month name abbreviations in the Latvian.
|
||
monthNamesLatvianAbbr = []string{"janv.", "febr.", "marts", "apr.", "maijs", "jūn.", "jūl.", "aug.", "sept.", "okt.", "nov.", "dec."}
|
||
// monthNamesLithuanian list the month names in the Lithuanian.
|
||
monthNamesLithuanian = []string{"sausis", "vasaris", "kovas", "balandis", "gegužė", "birželis", "liepa", "rugpjūtis", "rugsėjis", "spalis", "lapkritis", "gruodis"}
|
||
// monthNamesLithuanianAbbr list the month name abbreviations in the Lithuanian.
|
||
monthNamesLithuanianAbbr = []string{"saus.", "vas.", "kov.", "bal.", "geg.", "birž.", "liep.", "rugp.", "rugs.", "spal.", "lapkr.", "gruod."}
|
||
// monthNamesLowerSorbian list the month names in the Lower Sorbian.
|
||
monthNamesLowerSorbian = []string{"januar", "februar", "měrc", "apryl", "maj", "junij", "julij", "awgust", "september", "oktober", "nowember", "december"}
|
||
// monthNamesLowerSorbianAbbr list the month name abbreviations in the LowerSorbian.
|
||
monthNamesLowerSorbianAbbr = []string{"jan", "feb", "měr", "apr", "maj", "jun", "jul", "awg", "sep", "okt", "now", "dec"}
|
||
// monthNamesLuxembourgish list the month names in the Lower Sorbian.
|
||
monthNamesLuxembourgish = []string{"Januar", "Februar", "Mäerz", "Abrëll", "Mee", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}
|
||
// monthNamesLuxembourgishAbbr list the month name abbreviations in the Luxembourgish.
|
||
monthNamesLuxembourgishAbbr = []string{"Jan", "Feb", "Mäe", "Abr", "Mee", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}
|
||
// monthNamesMacedonian list the month names in the Lower Sorbian.
|
||
monthNamesMacedonian = []string{
|
||
"\u0458\u0430\u043D\u0443\u0430\u0440\u0438",
|
||
"\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
|
||
"\u043C\u0430\u0440\u0442",
|
||
"\u0430\u043F\u0440\u0438\u043B",
|
||
"\u043C\u0430\u0458",
|
||
"\u0458\u0443\u043D\u0438",
|
||
"\u0458\u0443\u043B\u0438",
|
||
"\u0430\u0432\u0433\u0443\u0441\u0442",
|
||
"\u0441\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438",
|
||
"\u043E\u043A\u0442\u043E\u043C\u0432\u0440\u0438",
|
||
"\u043D\u043E\u0435\u043C\u0432\u0440\u0438",
|
||
"\u0434\u0435\u043A\u0435\u043C\u0432\u0440\u0438",
|
||
}
|
||
// monthNamesMacedonianAbbr list the month name abbreviations in the Macedonian.
|
||
monthNamesMacedonianAbbr = []string{
|
||
"\u0458\u0430\u043D.",
|
||
"\u0444\u0435\u0432.",
|
||
"\u043C\u0430\u0440.",
|
||
"\u0430\u043F\u0440.",
|
||
"\u043C\u0430\u0458",
|
||
"\u0458\u0443\u043D.",
|
||
"\u0458\u0443\u043B.",
|
||
"\u0430\u0432\u0433.",
|
||
"\u0441\u0435\u043F\u0442.",
|
||
"\u043E\u043A\u0442.",
|
||
"\u043D\u043E\u0435\u043C.",
|
||
"\u0434\u0435\u043A.",
|
||
}
|
||
// monthNamesMalay list the month names in the Malay.
|
||
monthNamesMalay = []string{"Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"}
|
||
// monthNamesMalayAbbr list the month name abbreviations in the Malay.
|
||
monthNamesMalayAbbr = []string{"Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"}
|
||
// monthNamesMalayalam list the month names in the Malayalam.
|
||
monthNamesMalayalam = []string{
|
||
"\u0D1C\u0D28\u0D41\u0D35\u0D30\u0D3F",
|
||
"\u0D2B\u0D46\u0D2C\u0D4D\u0D30\u0D41\u0D35\u0D30\u0D3F",
|
||
"\u0D2E\u0D3E\u0D30\u0D4D\u200D\u200C\u0D1A\u0D4D\u0D1A\u0D4D",
|
||
"\u0D0F\u0D2A\u0D4D\u0D30\u0D3F\u0D32\u0D4D\u200D",
|
||
"\u0D2E\u0D47\u0D2F\u0D4D",
|
||
"\u0D1C\u0D42\u0D7A",
|
||
"\u0D1C\u0D42\u0D32\u0D48",
|
||
"\u0D06\u0D17\u0D38\u0D4D\u0D31\u0D4D\u0D31\u0D4D",
|
||
"\u0D38\u0D46\u0D2A\u0D4D\u200C\u0D31\u0D4D\u0D31\u0D02\u0D2C\u0D30\u0D4D\u200D",
|
||
"\u0D12\u0D15\u0D4D\u200C\u0D1F\u0D4B\u0D2C\u0D30\u0D4D\u200D",
|
||
"\u0D28\u0D35\u0D02\u0D2C\u0D30\u0D4D\u200D",
|
||
"\u0D21\u0D3F\u0D38\u0D02\u0D2C\u0D30\u0D4D\u200D",
|
||
}
|
||
// monthNamesMalayalamAbbr list the month name abbreviations in the Malayalam.
|
||
monthNamesMalayalamAbbr = []string{
|
||
"\u0D1C\u0D28\u0D41",
|
||
"\u0D2B\u0D46\u0D2C\u0D4D\u0D30\u0D41",
|
||
"\u0D2E\u0D3E\u0D7C",
|
||
"\u0D0F\u0D2A\u0D4D\u0D30\u0D3F",
|
||
"\u0D2E\u0D47\u0D2F\u0D4D",
|
||
"\u0D1C\u0D42\u0D7A",
|
||
"\u0D1C\u0D42\u0D32\u0D48",
|
||
"\u0D13\u0D17",
|
||
"\u0D38\u0D46\u0D2A\u0D4D\u0D31\u0D4D\u0D31\u0D02",
|
||
"\u0D12\u0D15\u0D4D\u0D1F\u0D4B",
|
||
"\u0D28\u0D35\u0D02",
|
||
"\u0D21\u0D3F\u0D38\u0D02",
|
||
}
|
||
// monthNamesMaltese list the month names in the Maltese.
|
||
monthNamesMaltese = []string{"Jannar", "Frar", "Marzu", "April", "Mejju", "Ġunju", "Lulju", "Awwissu", "Settembru", "Ottubru", "Novembru", "Diċembru"}
|
||
// monthNamesMalteseAbbr list the month name abbreviations in the Maltese.
|
||
monthNamesMalteseAbbr = []string{"Jan", "Fra", "Mar", "Apr", "Mej", "Ġun", "Lul", "Aww", "Set", "Ott", "Nov", "Diċ"}
|
||
// monthNamesMaori list the month names in the Maori.
|
||
monthNamesMaori = []string{"Kohitātea", "Huitanguru", "Poutūterangi", "Paengawhāwhā", "Haratua", "Pipiri", "Hōngongoi", "Hereturikōkā", "Mahuru", "Whiringa ā-nuku", "Whiringa ā-rangi", "Hakihea"}
|
||
// monthNamesMaoriAbbr list the month name abbreviations in the Maori.
|
||
monthNamesMaoriAbbr = []string{"Kohi", "Hui", "Pou", "Pae", "Hara", "Pipi", "Hōngo", "Here", "Mahu", "Nuku", "Rangi", "Haki"}
|
||
// monthNamesMapudungun list the month name abbreviations in the Mapudungun.
|
||
monthNamesMapudungun = []string{"Kiñe Tripantu", "Epu", "Kila", "Meli", "Kechu", "Cayu", "Regle", "Purha", "Aiya", "Marhi", "Marhi Kiñe", "Marhi Epu"}
|
||
// monthNamesMarathi list the month names in the Marathi.
|
||
monthNamesMarathi = []string{
|
||
"\u091C\u093E\u0928\u0947\u0935\u093E\u0930\u0940",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941\u0935\u093E\u0930\u0940",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u090F\u092A\u094D\u0930\u093F\u0932",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u0948",
|
||
"\u0911\u0917\u0938\u094D\u091F",
|
||
"\u0938\u092A\u094D\u091F\u0947\u0902\u092C\u0930",
|
||
"\u0911\u0915\u094D\u091F\u094B\u092C\u0930",
|
||
"\u0928\u094B\u0935\u094D\u0939\u0947\u0902\u092C\u0930",
|
||
"\u0921\u093F\u0938\u0947\u0902\u092C\u0930",
|
||
}
|
||
// monthNamesMarathiAbbr lists the month name abbreviations in Marathi.
|
||
monthNamesMarathiAbbr = []string{
|
||
"\u091C\u093E\u0928\u0947.",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941.",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u090F\u092A\u094D\u0930\u093F",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u0948",
|
||
"\u0911\u0917.",
|
||
"\u0938\u092A\u094D\u091F\u0947\u0902.",
|
||
"\u0911\u0915\u094D\u091F\u094B.",
|
||
"\u0928\u094B\u0935\u094D\u0939\u0947\u0902.",
|
||
"\u0921\u093F\u0938\u0947\u0902.",
|
||
}
|
||
// monthNamesMohawk list the month names in the Mohawk.
|
||
monthNamesMohawk = []string{"Tsothohrkó:Wa", "Enniska", "Enniskó:Wa", "Onerahtókha", "Onerahtohkó:Wa", "Ohiari:Ha", "Ohiarihkó:Wa", "Seskéha", "Seskehkó:Wa", "Kenténha", "Kentenhkó:Wa", "Tsothóhrha"}
|
||
// monthNamesMongolian list the month names in the Mongolian.
|
||
monthNamesMongolian = []string{
|
||
"\u041D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440",
|
||
"\u0425\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u0414\u04E9\u0440\u04E9\u0432\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440",
|
||
"\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u0417\u0443\u0440\u0433\u0430\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u0414\u043E\u043B\u043E\u043E\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u041D\u0430\u0439\u043C\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u0415\u0441\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440",
|
||
"\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
"\u0410\u0440\u0432\u0430\u043D \u043D\u044D\u0433\u0434\u04AF\u0433\u044D\u044D\u0440 \u0441\u0430\u0440",
|
||
"\u0410\u0440\u0432\u0430\u043D \u0445\u043E\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440",
|
||
}
|
||
// monthNamesMongolianAbbr lists the month name abbreviations in Mongolian.
|
||
monthNamesMongolianAbbr = []string{
|
||
"1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар",
|
||
}
|
||
// monthNamesMoroccoAbbr lists the month name abbreviations in the Morocco.
|
||
monthNamesMoroccoAbbr = []string{"jan.", "fév.", "mar.", "avr.", "mai", "jui.", "juil.", "août", "sept.", "oct.", "nov.", "déc."}
|
||
// monthNamesNepali list the month names in the Nepali.
|
||
monthNamesNepali = []string{
|
||
"\u091C\u0928\u0935\u0930\u0940",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941\u0905\u0930\u0940",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u0905\u092A\u094D\u0930\u093F\u0932",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u093E\u0908",
|
||
"\u0905\u0917\u0938\u094D\u0924",
|
||
"\u0938\u0947\u092A\u094D\u091F\u0947\u092E\u094D\u092C\u0930",
|
||
"\u0905\u0915\u094D\u091F\u094B\u092C\u0930",
|
||
"\u0928\u094B\u092D\u0947\u092E\u094D\u092C\u0930",
|
||
"\u0921\u093F\u0938\u0947\u092E\u094D\u092C\u0930",
|
||
}
|
||
// monthNamesNepaliAbbr lists the month name abbreviations in the Nepali.
|
||
monthNamesNepaliAbbr = []string{
|
||
"\u091C\u0928",
|
||
"\u092B\u0947\u092C",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u0905\u092A\u094D\u0930\u093F\u0932",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u093E\u0908",
|
||
"\u0905\u0917",
|
||
"\u0938\u0947\u092A\u094D\u091F",
|
||
"\u0905\u0915\u094D\u091F",
|
||
"\u0928\u094B\u092D",
|
||
"\u0921\u093F\u0938",
|
||
}
|
||
// monthNamesNepaliIN list the month names in the India Nepali.
|
||
monthNamesNepaliIN = []string{
|
||
"\u091C\u0928\u0935\u0930\u0940",
|
||
"\u092B\u0930\u0935\u0930\u0940",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u0905\u092A\u094D\u0930\u0947\u0932",
|
||
"\u092E\u0908",
|
||
"\u091C\u0941\u0928",
|
||
"\u091C\u0941\u0932\u093E\u0908",
|
||
"\u0905\u0917\u0938\u094D\u091F",
|
||
"\u0938\u0947\u092A\u094D\u091F\u0947\u092E\u094D\u092C\u0930",
|
||
"\u0905\u0915\u094D\u091F\u094B\u092C\u0930",
|
||
"\u0928\u094B\u092D\u0947\u092E\u094D\u092C\u0930",
|
||
"\u0926\u093F\u0938\u092E\u094D\u092C\u0930",
|
||
}
|
||
// monthNamesNepaliINAbbr lists the month name abbreviations in the India Nepali.
|
||
monthNamesNepaliINAbbr = []string{
|
||
"\u091C\u0928\u0935\u0930\u0940",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941\u0905\u0930\u0940",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u0905\u092A\u094D\u0930\u093F",
|
||
"\u092E\u0947",
|
||
"\u091C\u0941\u0928",
|
||
"\u091C\u0941\u0932\u093E",
|
||
"\u0905\u0917\u0938\u094D\u091F",
|
||
"\u0938\u0947\u092A\u094D\u091F\u0947\u092E\u094D\u092C\u0930",
|
||
"\u0905\u0915\u094D\u091F\u094B",
|
||
"\u0928\u094B\u092D\u0947",
|
||
"\u0921\u093F\u0938\u0947",
|
||
}
|
||
// monthNamesNigeria list the month names in the Nigeria.
|
||
monthNamesNigeria = []string{"samwiee", "feeburyee", "marsa", "awril", "me", "suyeŋ", "sulyee", "ut", "satambara", "oktoobar", "nowamburu", "deesamburu"}
|
||
// monthNamesNigeriaAbbr lists the month name abbreviations in the Nigeria.
|
||
monthNamesNigeriaAbbr = []string{"samw", "feeb", "mar", "awr", "me", "suy", "sul", "ut", "sat", "okt", "now", "dees"}
|
||
// monthNamesNorwegian list the month names in the Norwegian.
|
||
monthNamesNorwegian = []string{"januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"}
|
||
// monthNamesOccitan list the month names in the Occitan.
|
||
monthNamesOccitan = []string{"genièr", "febrièr", "març", "abril", "mai", "junh", "julhet", "agost", "setembre", "octobre", "novembre", "decembre"}
|
||
// monthNamesOccitanAbbr lists the month name abbreviations in the Occitan.
|
||
monthNamesOccitanAbbr = []string{"gen.", "feb.", "març", "abr.", "mai", "junh", "julh", "ag.", "set.", "oct.", "nov.", "dec."}
|
||
// monthNamesOdia list the month names in the Odia.
|
||
monthNamesOdia = []string{
|
||
"\u0B1C\u0B3E\u0B28\u0B41\u0B5F\u0B3E\u0B30\u0B40",
|
||
"\u0B2B\u0B47\u0B2C\u0B43\u0B06\u0B30\u0B40",
|
||
"\u0B2E\u0B3E\u0B30\u0B4D\u0B1A\u0B4D\u0B1A",
|
||
"\u0B0F\u0B2A\u0B4D\u0B30\u0B3F\u0B32\u0B4D\u200C",
|
||
"\u0B2E\u0B47",
|
||
"\u0B1C\u0B41\u0B28\u0B4D\u200C",
|
||
"\u0B1C\u0B41\u0B32\u0B3E\u0B07",
|
||
"\u0B05\u0B17\u0B37\u0B4D\u0B1F",
|
||
"\u0B38\u0B47\u0B2A\u0B4D\u0B1F\u0B47\u0B2E\u0B4D\u0B2C\u0B30",
|
||
"\u0B05\u0B15\u0B4D\u0B1F\u0B4B\u0B2C\u0B30",
|
||
"\u0B28\u0B2D\u0B47\u0B2E\u0B4D\u0B2C\u0B30",
|
||
"\u0B21\u0B3F\u0B38\u0B47\u0B2E\u0B4D\u0B2C\u0B30",
|
||
}
|
||
// monthNamesOromo list the month names in the Oromo.
|
||
monthNamesOromo = []string{"Amajjii", "Guraandhala", "Bitooteessa", "Elba", "Caamsa", "Waxabajjii", "Adooleessa", "Hagayya", "Fuulbana", "Onkololeessa", "Sadaasa", "Muddee"}
|
||
// monthNamesOromoAbbr list the month abbreviations in the Oromo.
|
||
monthNamesOromoAbbr = []string{"Ama", "Gur", "Bit", "Elb", "Cam", "Wax", "Ado", "Hag", "Ful", "Onk", "Sad", "Mud"}
|
||
// monthNamesPashto list the month names in the Pashto.
|
||
monthNamesPashto = []string{
|
||
"\u0633\u0644\u0648\u0627\u063A\u0647",
|
||
"\u0643\u0628",
|
||
"\u0648\u0631\u0649",
|
||
"\u063A\u0648\u064A\u0649",
|
||
"\u063A\u0628\u0631\u06AB\u0648\u0644\u0649",
|
||
"\u0686\u0646\u06AB\u0627 \u069A\u0632\u0645\u0631\u0649",
|
||
"\u0632\u0645\u0631\u0649",
|
||
"\u0648\u0696\u0649",
|
||
"\u062A\u0644\u0647",
|
||
"\u0644\u0693\u0645",
|
||
"\u0644\u0646\u0688 \u06CD",
|
||
"\u0645\u0631\u063A\u0648\u0645\u0649",
|
||
}
|
||
// monthNamesPersian list the month names in the Persian.
|
||
monthNamesPersian = []string{
|
||
"\u0698\u0627\u0646\u0648\u064A\u0647",
|
||
"\u0641\u0648\u0631\u064A\u0647",
|
||
"\u0645\u0627\u0631\u0633",
|
||
"\u0622\u0648\u0631\u064A\u0644",
|
||
"\u0645\u0647",
|
||
"\u0698\u0648\u0626\u0646",
|
||
"\u0698\u0648\u0626\u064A\u0647",
|
||
"\u0627\u0648\u062A",
|
||
"\u0633\u067E\u062A\u0627\u0645\u0628\u0631",
|
||
"\u0627\u064F\u0643\u062A\u0628\u0631",
|
||
"\u0646\u0648\u0627\u0645\u0628\u0631",
|
||
"\u062F\u0633\u0627\u0645\u0628\u0631",
|
||
}
|
||
// monthNamesPolish list the month names in the Polish.
|
||
monthNamesPolish = []string{"styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"}
|
||
// monthNamesPortuguese list the month names in the Portuguese.
|
||
monthNamesPortuguese = []string{"janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"}
|
||
// monthNamesPunjabi list the month names in the Punjabi.
|
||
monthNamesPunjabi = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesPunjabiArab list the month names in the Punjabi Arab.
|
||
monthNamesPunjabiArab = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesQuechua list the month names in the Quechua.
|
||
monthNamesQuechua = []string{"Qulla puquy", "Hatun puquy", "Pauqar waray", "ayriwa", "Aymuray", "Inti raymi", "Anta Sitwa", "Qhapaq Sitwa", "Uma raymi", "Kantaray", "Ayamarq'a", "Kapaq Raymi"}
|
||
// monthNamesQuechuaEcuador list the month names in the Quechua Ecuador.
|
||
monthNamesQuechuaEcuador = []string{"kulla", "panchi", "pawkar", "ayriwa", "aymuray", "raymi", "sitwa", "karwa", "kuski", "wayru", "sasi", "kapak"}
|
||
// monthNamesRomanian list the month names in the Romanian.
|
||
monthNamesRomanian = []string{"ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie", "august", "septembrie", "octombrie", "noiembrie", "decembrie"}
|
||
// monthNamesRomanianAbbr list the month abbreviations in the Romanian.
|
||
monthNamesRomanianAbbr = []string{"ian.", "feb.", "mar.", "apr.", "mai", "iun.", "iul.", "aug.", "sept.", "oct.", "nov.", "dec."}
|
||
// monthNamesRomansh list the month names in the Romansh.
|
||
monthNamesRomansh = []string{"schaner", "favrer", "mars", "avrigl", "matg", "zercladur", "fanadur", "avust", "settember", "october", "november", "december"}
|
||
// monthNamesRomanshAbbr list the month abbreviations in the Romansh.
|
||
monthNamesRomanshAbbr = []string{"schan.", "favr.", "mars", "avr.", "matg", "zercl.", "fan.", "avust", "sett.", "oct.", "nov.", "dec."}
|
||
// monthNamesRussian list the month names in the Russian.
|
||
monthNamesRussian = []string{
|
||
"\u044F\u043D\u0432\u0430\u0440\u044C",
|
||
"\u0444\u0435\u0432\u0440\u0430\u043B\u044C",
|
||
"\u043C\u0430\u0440\u0442",
|
||
"\u0430\u043F\u0440\u0435\u043B\u044C",
|
||
"\u043C\u0430\u0439",
|
||
"\u0438\u044E\u043D\u044C",
|
||
"\u0438\u044E\u043B\u044C",
|
||
"\u0430\u0432\u0433\u0443\u0441\u0442",
|
||
"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C",
|
||
"\u043E\u043A\u0442\u044F\u0431\u0440\u044C",
|
||
"\u043D\u043E\u044F\u0431\u0440\u044C",
|
||
"\u0434\u0435\u043A\u0430\u0431\u0440\u044C",
|
||
}
|
||
// monthNamesRussianAbbr list the month abbreviations in the Russian.
|
||
monthNamesRussianAbbr = []string{
|
||
"\u044F\u043D\u0432.",
|
||
"\u0444\u0435\u0432.",
|
||
"\u043C\u0430\u0440\u0442",
|
||
"\u0430\u043F\u0440.",
|
||
"\u043C\u0430\u0439",
|
||
"\u0438\u044E\u043D\u044C",
|
||
"\u0438\u044E\u043B\u044C",
|
||
"\u0430\u0432\u0433.",
|
||
"\u0441\u0435\u043D.",
|
||
"\u043E\u043A\u0442.",
|
||
"\u043D\u043E\u044F.",
|
||
"\u0434\u0435\u043A.",
|
||
}
|
||
// monthNamesSakha list the month names in the Sakha.
|
||
monthNamesSakha = []string{
|
||
"\u0422\u043E\u0445\u0441\u0443\u043D\u043D\u044C\u0443",
|
||
"\u041E\u043B\u0443\u043D\u043D\u044C\u0443",
|
||
"\u041A\u0443\u043B\u0443\u043D \u0442\u0443\u0442\u0430\u0440",
|
||
"\u041C\u0443\u0443\u0441 \u0443\u0441\u0442\u0430\u0440",
|
||
"\u042B\u0430\u043C \u044B\u0439\u0430",
|
||
"\u0411\u044D\u0441 \u044B\u0439\u0430",
|
||
"\u041E\u0442 \u044B\u0439\u0430",
|
||
"\u0410\u0442\u044B\u0440\u0434\u044C\u0430\u0445 \u044B\u0439\u0430",
|
||
"\u0411\u0430\u043B\u0430\u0495\u0430\u043D \u044B\u0439\u0430",
|
||
"\u0410\u043B\u0442\u044B\u043D\u043D\u044C\u044B",
|
||
"\u0421\u044D\u0442\u0438\u043D\u043D\u044C\u0438",
|
||
"\u0410\u0445\u0441\u044B\u043D\u043D\u044C\u044B",
|
||
}
|
||
// monthNamesSakhaAbbr list the month abbreviations in the Sakha.
|
||
monthNamesSakhaAbbr = []string{
|
||
"\u0422\u0445\u0441",
|
||
"\u041E\u043B\u043D",
|
||
"\u041A\u043B\u043D",
|
||
"\u041C\u0441\u0443",
|
||
"\u042B\u0430\u043C",
|
||
"\u0411\u044D\u0441",
|
||
"\u041E\u0442\u044B",
|
||
"\u0410\u0442\u0440",
|
||
"\u0411\u043B\u0495",
|
||
"\u0410\u043B\u0442",
|
||
"\u0421\u044D\u0442",
|
||
"\u0410\u0445\u0441",
|
||
}
|
||
// monthNamesSami list the month names in the Sami.
|
||
monthNamesSami = []string{"uđđâivemáánu", "kuovâmáánu", "njuhčâmáánu", "cuáŋuimáánu", "vyesimáánu", "kesimáánu", "syeinimáánu", "porgemáánu", "čohčâmáánu", "roovvâdmáánu", "skammâmáánu", "juovlâmáánu"}
|
||
// monthNamesSamiAbbr list the month abbreviations in the Sami.
|
||
monthNamesSamiAbbr = []string{"uđiv", "kuov", "njuh", "cuáŋ", "vyes", "kesi", "syei", "porg", "čohč", "roov", "skam", "juov"}
|
||
// monthNamesSamiLule list the month names in the Sami (Lule).
|
||
monthNamesSamiLule = []string{"ådåjakmánno", "guovvamánno", "sjnjuktjamánno", "vuoratjismánno", "moarmesmánno", "biehtsemánno", "sjnjilltjamánno", "bårggemánno", "ragátmánno", "gålgådismánno", "basádismánno", "javllamánno"}
|
||
// monthNamesSamiLuleAbbr list the month abbreviations in the Sami (Lule).
|
||
monthNamesSamiLuleAbbr = []string{"ådåj", "guov", "snju", "vuor", "moar", "bieh", "snji", "bårg", "ragá", "gålg", "basá", "javl"}
|
||
// monthNamesSamiNorthern list the month names in the Sami (Northern).
|
||
monthNamesSamiNorthern = []string{"ođđajagemánnu", "guovvamánnu", "njukčamánnu", "cuoŋománnu", "miessemánnu", "geassemánnu", "suoidnemánnu", "borgemánnu", "čakčamánnu", "golggotmánnu", "skábmamánnu", "juovlamánnu"}
|
||
// monthNamesSamiNorthernAbbr list the month abbreviations in the Sami (Northern).
|
||
monthNamesSamiNorthernAbbr = []string{"ođđj", "guov", "njuk", "cuoŋ", "mies", "geas", "suoi", "borg", "čakč", "golg", "skáb", "juov"}
|
||
// monthNamesSamiSkolt list the month names in the Sami (Skolt).
|
||
monthNamesSamiSkolt = []string{"ođđee´jjmään", "tä´lvvmään", "pâ´zzlâšttam-mään", "njuhččmään", "vue´ssmään", "ǩie´ssmään", "suei´nnmään", "på´rǧǧmään", "čõhččmään", "kålggmään", "skamm-mään", "rosttovmään"}
|
||
// monthNamesSamiSouthern list the month names in the Sami (Southern).
|
||
monthNamesSamiSouthern = []string{"tsïengele", "goevte", "njoktje", "voerhtje", "suehpede", "ruffie", "snjaltje", "mïetske", "skïerede", "golke", "rahka", "goeve"}
|
||
// monthNamesSamiSouthernAbbr list the month abbreviations in the Sami (Southern).
|
||
monthNamesSamiSouthernAbbr = []string{"tsïen", "goevt", "njok", "voer", "sueh", "ruff", "snja", "mïet", "skïer", "golk", "rahk", "goev"}
|
||
// monthNamesSanskrit list the month names in the Sanskrit.
|
||
monthNamesSanskrit = []string{
|
||
"\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940",
|
||
"\u092B\u0947\u092C\u094D\u0930\u0941\u0905\u0930\u0940",
|
||
"\u092E\u093E\u0930\u094D\u091A",
|
||
"\u090F\u092A\u094D\u0930\u093F\u0932",
|
||
"\u092E\u0947",
|
||
"\u091C\u0942\u0928",
|
||
"\u091C\u0941\u0932\u0948",
|
||
"\u0911\u0917\u0938\u094D\u091F",
|
||
"\u0938\u092A\u094D\u091F\u0947\u0902\u092C\u0930",
|
||
"\u0911\u0915\u094D\u091F\u094B\u092C\u0930",
|
||
"\u0928\u094B\u0935\u094D\u0939\u0947\u0902\u092C\u0930",
|
||
"\u0921\u093F\u0938\u0947\u0902\u092C\u0930",
|
||
}
|
||
// monthNamesScottishGaelic list the month names in the Scottish Gaelic.
|
||
monthNamesScottishGaelic = []string{"Am Faoilleach", "An Gearran", "Am Màrt", "An Giblean", "An Cèitean", "An t-Ògmhios", "An t-Iuchar", "An Lùnastal", "An t-Sultain", "An Dàmhair", "An t-Samhain", "An Dùbhlachd"}
|
||
// monthNamesScottishGaelicAbbr list the month abbreviations in the ScottishGaelic.
|
||
monthNamesScottishGaelicAbbr = []string{"Faoi", "Gear", "Màrt", "Gibl", "Cèit", "Ògmh", "Iuch", "Lùna", "Sult", "Dàmh", "Samh", "Dùbh"}
|
||
// monthNamesSerbian list the month names in the Serbian (Cyrillic).
|
||
monthNamesSerbian = []string{
|
||
"\u0458\u0430\u043D\u0443\u0430\u0440",
|
||
"\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
|
||
"\u043C\u0430\u0440\u0442",
|
||
"\u0430\u043F\u0440\u0438\u043B",
|
||
"\u043C\u0430\u0458",
|
||
"\u0458\u0443\u043D",
|
||
"\u0458\u0443\u043B",
|
||
"\u0430\u0432\u0433\u0443\u0441\u0442",
|
||
"\u0441\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440",
|
||
"\u043E\u043A\u0442\u043E\u0431\u0430\u0440",
|
||
"\u043D\u043E\u0432\u0435\u043C\u0431\u0430\u0440",
|
||
"\u0434\u0435\u0446\u0435\u043C\u0431\u0430\u0440",
|
||
}
|
||
// monthNamesSerbianAbbr lists the month name abbreviations in the Serbian
|
||
// (Cyrillic).
|
||
monthNamesSerbianAbbr = []string{
|
||
"\u0458\u0430\u043D.",
|
||
"\u0444\u0435\u0431.",
|
||
"\u043C\u0430\u0440\u0442",
|
||
"\u0430\u043F\u0440.",
|
||
"\u043C\u0430\u0458",
|
||
"\u0458\u0443\u043D",
|
||
"\u0458\u0443\u043B",
|
||
"\u0430\u0432\u0433.",
|
||
"\u0441\u0435\u043F\u0442.",
|
||
"\u043E\u043A\u0442.",
|
||
"\u043D\u043E\u0432.",
|
||
"\u0434\u0435\u0446.",
|
||
}
|
||
// monthNamesSerbianBA list the month names in the Serbian (Cyrillic) Bosnia
|
||
// and Herzegovina.
|
||
monthNamesSerbianBA = []string{
|
||
"\u0458\u0430\u043D\u0443\u0430\u0440",
|
||
"\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
|
||
"\u043C\u0430\u0440\u0442",
|
||
"\u0430\u043F\u0440\u0438\u043B",
|
||
"\u043C\u0430\u0458",
|
||
"\u0458\u0443\u043D\u0438",
|
||
"\u0458\u0443\u043B\u0438",
|
||
"\u0430\u0432\u0433\u0443\u0441\u0442",
|
||
"\u0441\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440",
|
||
"\u043E\u043A\u0442\u043E\u0431\u0430\u0440",
|
||
"\u043D\u043E\u0432\u0435\u043C\u0431\u0430\u0440",
|
||
"\u0434\u0435\u0446\u0435\u043C\u0431\u0430\u0440",
|
||
}
|
||
// monthNamesSerbianBAAbbr lists the month name abbreviations in the Serbian
|
||
// (Cyrillic) Bosnia and Herzegovina.
|
||
monthNamesSerbianBAAbbr = []string{
|
||
"\u0458\u0430\u043D",
|
||
"\u0444\u0435\u0431",
|
||
"\u043C\u0430\u0440",
|
||
"\u0430\u043F\u0440",
|
||
"\u043C\u0430\u0458",
|
||
"\u0458\u0443\u043D",
|
||
"\u0458\u0443\u043B",
|
||
"\u0430\u0432\u0433",
|
||
"\u0441\u0435\u043F",
|
||
"\u043E\u043A\u0442",
|
||
"\u043D\u043E\u0432",
|
||
"\u0434\u0435\u0446",
|
||
}
|
||
// monthNamesSerbianLatin list the month names in the Serbian (Latin).
|
||
monthNamesSerbianLatin = []string{"januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar"}
|
||
// monthNamesSerbianLatinAbbr lists the month name abbreviations in the
|
||
// Serbian(Latin) and Montenegro (Former).
|
||
monthNamesSerbianLatinAbbr = []string{"jan.", "feb.", "mart", "apr.", "maj", "jun", "jul", "avg.", "sept.", "okt.", "nov.", "dec."}
|
||
// monthNamesSesothoSaLeboa list the month names in the Sesotho sa Leboa.
|
||
monthNamesSesothoSaLeboa = []string{"Janaware", "Feberware", "Matšhe", "Aprele", "Mei", "June", "Julae", "Agostose", "Setemere", "Oktoboro", "Nofemere", "Disemere"}
|
||
// monthNamesSesothoSaLeboaAbbr lists the month name abbreviations in the
|
||
// Sesotho sa Leboa.
|
||
monthNamesSesothoSaLeboaAbbr = []string{"Jan", "Feb", "Matš", "Apr", "Mei", "June", "Julae", "Agost", "Set", "Oky", "Nof", "Dis"}
|
||
// monthNamesSetswana list the month names in the Setswana.
|
||
monthNamesSetswana = []string{"Ferikgong", "Tlhakole", "Mopitlwe", "Moranang", "Motsheganang", "Seetebosigo", "Phukwi", "Phatwe", "Lwetse", "Diphalane", "Ngwanatsele", "Sedimonthole"}
|
||
// monthNamesSetswanaAbbr lists the month name abbreviations in the Setswana.
|
||
monthNamesSetswanaAbbr = []string{"Fer.", "Tlh.", "Mop.", "Mor.", "Motsh.", "Seet.", "Phk.", "Pht.", "Lwetse.", "Diph.", "Ngwn.", "Sed."}
|
||
// monthNamesSindhi list the month names in the Sindhi.
|
||
monthNamesSindhi = []string{
|
||
"\u062C\u0646\u0648\u0631\u064A",
|
||
"\u0641\u0631\u0648\u0631\u064A",
|
||
"\u0645\u0627\u0631\u0686",
|
||
"\u0627\u067E\u0631\u064A\u0644",
|
||
"\u0645\u0654\u064A",
|
||
"\u062C\u0648\u0646",
|
||
"\u062C\u0648\u0644\u0627\u0621\u0650",
|
||
"\u0622\u06AF\u0633\u062A",
|
||
"\u0633\u062A\u0645\u0628\u0631",
|
||
"\u0622\u06A9\u062A\u0648\u0628\u0631",
|
||
"\u0646\u0648\u0645\u0628\u0631",
|
||
"\u068A\u0633\u0645\u0628\u0631",
|
||
}
|
||
// monthNamesSinhala list the month names in the Sinhala.
|
||
monthNamesSinhala = []string{
|
||
"\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2",
|
||
"\u0DB4\u0DD9\u0DB6\u0DBB\u0DC0\u0DCF\u0DBB\u0DD2",
|
||
"\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4",
|
||
"\u0D85\u0DB4\u0DCA\u200D\u0DBB\u0DDA\u0DBD\u0DCA",
|
||
"\u0DB8\u0DD0\u0DBA\u0DD2",
|
||
"\u0DA2\u0DD6\u0DB1\u0DD2",
|
||
"\u0DA2\u0DD6\u0DBD\u0DD2",
|
||
"\u0D85\u0D9C\u0DDD\u0DC3\u0DCA\u0DAD\u0DD4",
|
||
"\u0DC3\u0DD0\u0DB4\u0DCA\u0DAD\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA",
|
||
"\u0D94\u0D9A\u0DCA\u0DAD\u0DDD\u0DB6\u0DBB\u0DCA",
|
||
"\u0DB1\u0DDC\u0DC0\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA",
|
||
"\u0DAF\u0DD9\u0DC3\u0DD0\u0DB8\u0DCA\u0DB6\u0DBB\u0DCA",
|
||
}
|
||
// monthNamesSinhalaAbbr lists the month name abbreviations in Sinhala.
|
||
monthNamesSinhalaAbbr = []string{
|
||
"\u0DA2\u0DB1.",
|
||
"\u0DB4\u0DD9\u0DB6.",
|
||
"\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4.",
|
||
"\u0D85\u0DB4\u0DCA\u200D\u0DBB\u0DDA\u0DBD\u0DCA.",
|
||
"\u0DB8\u0DD0\u0DBA\u0DD2",
|
||
"\u0DA2\u0DD6\u0DB1\u0DD2",
|
||
"\u0DA2\u0DD6\u0DBD\u0DD2",
|
||
"\u0D85\u0D9C\u0DDD.",
|
||
"\u0DC3\u0DD0\u0DB4\u0DCA.",
|
||
"\u0D94\u0D9A\u0DCA.",
|
||
"\u0DB1\u0DDC\u0DC0\u0DD0.",
|
||
"\u0DAF\u0DD9\u0DC3\u0DD0.",
|
||
}
|
||
// monthNamesSlovak list the month names in the Slovak.
|
||
monthNamesSlovak = []string{"január", "február", "marec", "apríl", "máj", "jún", "júl", "august", "september", "október", "november", "december"}
|
||
// monthNamesSlovenian list the month names in the Slovenian.
|
||
monthNamesSlovenian = []string{"januar", "februar", "marec", "april", "maj", "junij", "julij", "avgust", "september", "oktober", "november", "december"}
|
||
// monthNamesSlovenianAbbr list the month abbreviations in the Slovenian.
|
||
monthNamesSlovenianAbbr = []string{"jan.", "feb.", "mar.", "apr.", "maj", "jun.", "jul.", "avg.", "sep.", "okt.", "nov.", "dec."}
|
||
// monthNamesSomali list the month names in the Somali.
|
||
monthNamesSomali = []string{"Jannaayo", "Febraayo", "Maarso", "Abriil", "May", "Juun", "Luuliyo", "Ogost", "Sebtembar", "Oktoobar", "Nofembar", "Desembar"}
|
||
// monthNamesSomaliAbbr list the month abbreviations in the Somali.
|
||
monthNamesSomaliAbbr = []string{"Jan", "Feb", "Mar", "Abr", "May", "Jun", "Lul", "Ogs", "Seb", "Okt", "Nof", "Dis"}
|
||
// monthNamesSpanish list the month names in the Spanish.
|
||
monthNamesSpanish = []string{"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}
|
||
// monthNamesSpanishAbbr list the month abbreviations in the Spanish.
|
||
monthNamesSpanishAbbr = []string{"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}
|
||
// monthNamesSyllabics list the month names in the Syllabics.
|
||
monthNamesSyllabics = []string{
|
||
"\u152E\u14D0\u14C4\u140A\u1546",
|
||
"\u1556\u155D\u1557\u140A\u1546",
|
||
"\u14AB\u1466\u14EF",
|
||
"\u1404\u1433\u1546",
|
||
"\u14AA\u1403",
|
||
"\u152B\u14C2",
|
||
"\u152A\u14DA\u1403",
|
||
"\u140B\u14A1\u148C\u14EF",
|
||
"\u14EF\u144E\u1431\u1546",
|
||
"\u1405\u1450\u1431\u1546",
|
||
"\u14C4\u1555\u1431\u1546",
|
||
"\u144E\u14EF\u1431\u1546",
|
||
}
|
||
// monthNamesSyllabicsAbbr lists the month name abbreviations in Syllabics.
|
||
monthNamesSyllabicsAbbr = []string{
|
||
"\u152E\u14D0\u14C4",
|
||
"\u1556\u155D\u1557",
|
||
"\u14AB\u1466\u14EF",
|
||
"\u1404\u1433\u1546",
|
||
"\u14AA\u1403",
|
||
"\u152B\u14C2",
|
||
"\u152A\u14DA\u1403",
|
||
"\u140B\u14A1\u148C",
|
||
"\u14EF\u144E\u1431",
|
||
"\u1405\u1450\u1431",
|
||
"\u14C4\u1555\u1431",
|
||
"\u144E\u14EF\u1431",
|
||
}
|
||
// monthNamesThai list the month names in the Thai.
|
||
monthNamesThai = []string{
|
||
"\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",
|
||
}
|
||
// monthNamesTibetan list the month names in the Tibetan.
|
||
monthNamesTibetan = []string{
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54\u0f0b",
|
||
"\u0f66\u0fa4\u0fb1\u0f72\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54\u0f0d",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54\u0f0b",
|
||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b",
|
||
}
|
||
// monthNamesTibetanAbbr lists the month name abbreviations in Tibetan.
|
||
monthNamesTibetanAbbr = []string{
|
||
"\u0f5f\u0fb3\u0f0b\u0f21",
|
||
"\u0f5f\u0fb3\u0f0b\u0f22",
|
||
"\u0f5f\u0fb3\u0f0b\u0f23",
|
||
"\u0f5f\u0fb3\u0f0b\u0f24",
|
||
"\u0f5f\u0fb3\u0f0b\u0f25",
|
||
"\u0f5f\u0fb3\u0f0b\u0f26",
|
||
"\u0f5f\u0fb3\u0f0b\u0f27",
|
||
"\u0f5f\u0fb3\u0f0b\u0f28",
|
||
"\u0f5f\u0fb3\u0f0b\u0f29",
|
||
"\u0f5f\u0fb3\u0f0b\u0f21\u0f20",
|
||
"\u0f5f\u0fb3\u0f0b\u0f21\u0f21",
|
||
"\u0f5f\u0fb3\u0f0b\u0f21\u0f22",
|
||
}
|
||
// monthNamesTradMongolian lists the month number for use with traditional Mongolian.
|
||
monthNamesTradMongolian = []string{"M01", "M02", "M03", "M04", "M05", "M06", "M07", "M08", "M09", "M10", "M11", "M12"}
|
||
// monthNamesTurkish list the month names in the Turkish.
|
||
monthNamesTurkish = []string{"Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"}
|
||
// monthNamesTurkishAbbr lists the month name abbreviations in Turkish, this prevents string concatenation
|
||
monthNamesTurkishAbbr = []string{"Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"}
|
||
// monthNamesVietnamese list the month name used for Vietnamese
|
||
monthNamesVietnamese = []string{"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"}
|
||
// monthNamesVietnameseAbbr3 list the mid-form abbreviation for Vietnamese months
|
||
monthNamesVietnameseAbbr3 = []string{"Thg 1", "Thg 2", "Thg 3", "Thg 4", "Thg 5", "Thg 6", "Thg 7", "Thg 8", "Thg 9", "Thg 10", "Thg 11", "Thg 12"}
|
||
// monthNamesVietnameseAbbr5 list the short-form abbreviation for Vietnamese months
|
||
monthNamesVietnameseAbbr5 = []string{"T 1", "T 2", "T 3", "T 4", "T 5", "T 6", "T 7", "T 8", "T 9", "T 10", "T 11", "T 12"}
|
||
// monthNamesWelsh list the month names in the Welsh.
|
||
monthNamesWelsh = []string{"Ionawr", "Chwefror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorffennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"}
|
||
// monthNamesWelshAbbr lists the month name abbreviations in Welsh, this prevents string concatenation
|
||
monthNamesWelshAbbr = []string{"Ion", "Chwef", "Maw", "Ebr", "Mai", "Meh", "Gorff", "Awst", "Medi", "Hyd", "Tach", "Rhag"}
|
||
// monthNamesWolof list the month names in the Wolof.
|
||
monthNamesWolof = []string{"Samwiye", "Fewriye", "Maars", "Awril", "Me", "Suwe", "Sullet", "Ut", "Septàmbar", "Oktoobar", "Noowàmbar", "Desàmbar"}
|
||
// monthNamesWolofAbbr list the month name abbreviations in Wolof, this prevents string concatenation
|
||
monthNamesWolofAbbr = []string{"Sam.", "Few.", "Maa", "Awr.", "Me", "Suw", "Sul.", "Ut", "Sept.", "Okt.", "Now.", "Des."}
|
||
// monthNamesXhosa list the month names in the Xhosa.
|
||
monthNamesXhosa = []string{"uJanuwari", "uFebuwari", "uMatshi", "uAprili", "uMeyi", "uJuni", "uJulayi", "uAgasti", "uSeptemba", "uOktobha", "uNovemba", "uDisemba"}
|
||
// monthNamesXhosaAbbr list the month abbreviations in the Xhosa, this prevents string concatenation
|
||
monthNamesXhosaAbbr = []string{"uJan.", "uFeb.", "uMat.", "uEpr.", "uMey.", "uJun.", "uJul.", "uAg.", "uSep.", "uOkt.", "uNov.", "uDis."}
|
||
// monthNamesYi list the month names in the Yi.
|
||
monthNamesYi = []string{"\ua2cd", "\ua44d", "\ua315", "\ua1d6", "\ua26c", "\ua0d8", "\ua3c3", "\ua246", "\ua22c", "\ua2b0", "\ua2b0\ua2aa", "\ua2b0\ua44b"}
|
||
// monthNamesYiSuffix lists the month names in Yi with the "\ua1aa" suffix
|
||
monthNamesYiSuffix = []string{"\ua2cd\ua1aa", "\ua44d\ua1aa", "\ua315\ua1aa", "\ua1d6\ua1aa", "\ua26c\ua1aa", "\ua0d8\ua1aa", "\ua3c3\ua1aa", "\ua246\ua1aa", "\ua22c\ua1aa", "\ua2b0\ua1aa", "\ua2b0\ua2aa\ua1aa", "\ua2b0\ua44b\ua1aa"}
|
||
// monthNamesZulu list the month names in the Zulu.
|
||
monthNamesZulu = []string{"Januwari", "Febhuwari", "Mashi", "Ephreli", "Meyi", "Juni", "Julayi", "Agasti", "Septemba", "Okthoba", "Novemba", "Disemba"}
|
||
// monthNamesZuluAbbr list the month name abbreviations in Zulu
|
||
monthNamesZuluAbbr = []string{"Jan", "Feb", "Mas", "Eph", "Mey", "Jun", "Jul", "Agas", "Sep", "Okt", "Nov", "Dis"}
|
||
// weekdayNamesChinese list the weekday name in Chinese
|
||
weekdayNamesChinese = []string{"日", "一", "二", "三", "四", "五", "六"}
|
||
// apFmtAfrikaans defined the AM/PM name in the Afrikaans.
|
||
apFmtAfrikaans = "vm./nm."
|
||
// apFmtCameroon defined the AM/PM name in the Cameroon.
|
||
apFmtCameroon = "mat./soir"
|
||
// apFmtCuba defined the AM/PM name in the Cuba.
|
||
apFmtCuba = "a.m./p.m."
|
||
// apFmtFaroese defined the AM/PM name in the Faroese.
|
||
apFmtFaroese = "um fyr./um sein."
|
||
// apFmtFinnish defined the AM/PM name in the Finnish.
|
||
apFmtFinnish = "ap./ip."
|
||
// apFmtGreek defined the AM/PM name in the Greek.
|
||
apFmtGreek = "\u03C0\u03BC/\u03BC\u03BC"
|
||
// apFmtGujarati defined the AM/PM name in the Gujarati.
|
||
apFmtGujarati = "\u0AAA\u0AC2\u0AB0\u0ACD\u0AB5 \u0AAE\u0AA7\u0ACD\u0AAF\u0ABE\u0AB9\u0ACD\u0AA8/\u0A89\u0AA4\u0ACD\u0AA4\u0AB0 \u0AAE\u0AA7\u0ACD\u0AAF\u0ABE\u0AB9\u0ACD\u0AA8"
|
||
// apFmtHindi defined the AM/PM name in the Hindi.
|
||
apFmtHindi = "\u092A\u0942\u0930\u094D\u0935\u093E\u0939\u094D\u0928/\u0905\u092A\u0930\u093E\u0939\u094D\u0928"
|
||
// apFmtHungarian defined the AM/PM name in the Hungarian.
|
||
apFmtHungarian = "de./du."
|
||
// apFmtIcelandic defined the AM/PM name in the Icelandic.
|
||
apFmtIcelandic = "f.h./e.h."
|
||
// apFmtIgbo defined the AM/PM name in the Igbo.
|
||
apFmtIgbo = "A.M./P.M."
|
||
// apFmtIrish defined the AM/PM name in the Irish.
|
||
apFmtIrish = "r.n./i.n."
|
||
// apFmtJapanese defined the AM/PM name in the Japanese.
|
||
apFmtJapanese = "午前/午後"
|
||
// apFmtKannada defined the AM/PM name in the Kannada.
|
||
apFmtKannada = "\u0CAA\u0CC2\u0CB0\u0CCD\u0CB5\u0CBE\u0CB9\u0CCD\u0CA8/\u0C85\u0CAA\u0CB0\u0CBE\u0CB9\u0CCD\u0CA8"
|
||
// apFmtKhmer defined the AM/PM name in the Khmer.
|
||
apFmtKhmer = "\u1796\u17D2\u179A\u17B9\u1780/\u179B\u17D2\u1784\u17B6\u1785"
|
||
// apFmtKonkani defined the AM/PM name in the Konkani.
|
||
apFmtKonkani = "\u092E.\u092A\u0942./\u092E.\u0928\u0902."
|
||
// apFmtKorean defined the AM/PM name in the Korean.
|
||
apFmtKorean = "오전/오후"
|
||
// apFmtKyrgyz defined the AM/PM name in the Kyrgyz.
|
||
apFmtKyrgyz = "\u0442\u04A3/\u0442\u043A"
|
||
// apFmtLao defined the AM/PM name in the Lao.
|
||
apFmtLao = "\u0E81\u0EC8\u0EAD\u0E99\u0E97\u0EC8\u0EBD\u0E87/\u0EAB\u0EBC\u0EB1\u0E87\u0E97\u0EC8\u0EBD\u0E87"
|
||
// apFmtLatvian defined the AM/PM name in the Latvian.
|
||
apFmtLatvian = "priekšp./pēcp."
|
||
// apFmtLithuanian defined the AM/PM name in the Lithuanian.
|
||
apFmtLithuanian = "priešpiet/popiet"
|
||
// apFmtMacedonian defined the AM/PM name in the Macedonian.
|
||
apFmtMacedonian = "\u043F\u0440\u0435\u0442\u043F\u043B./\u043F\u043E\u043F\u043B."
|
||
// apFmtMalay defined the AM/PM name in the Malay.
|
||
apFmtMalay = "PG/PTG"
|
||
// apFmtMongolian defined the AM/PM name in the Mongolian.
|
||
apFmtMongolian = "\u04AF.\u04E9./\u04AF.\u0445."
|
||
// apFmtNigeria defined the AM/PM name in the Nigeria.
|
||
apFmtNigeria = "subaka/kikiiɗe"
|
||
// apFmtNorwegian defined the AM/PM name in the Norwegian.
|
||
apFmtNorwegian = "f.m./e.m."
|
||
// apFmtOromo defined the AM/PM name in the Oromo.
|
||
apFmtOromo = "WD/WB"
|
||
// apFmtPashto defined the AM/PM name in the Pashto.
|
||
apFmtPashto = "\u063A.\u0645./\u063A.\u0648."
|
||
// apFmtPersian defined the AM/PM name in the Persian.
|
||
apFmtPersian = "\u0642.\u0638/\u0628.\u0638"
|
||
// apFmtPunjabi defined the AM/PM name in the Punjabi.
|
||
apFmtPunjabi = "\u0A38\u0A35\u0A47\u0A30/\u0A38\u0A3C\u0A3E\u0A2E"
|
||
// apFmtSakha defined the AM/PM name in the Sakha.
|
||
apFmtSakha = "\u041A\u0418/\u041A\u041A"
|
||
// apFmtSamiNorthern defined the AM/PM name in the Sami (Northern).
|
||
apFmtSamiNorthern = "i.b./e.b."
|
||
// apFmtSanskrit defined the AM/PM name in the Sanskrit.
|
||
apFmtSanskrit = "\u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935/\u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"
|
||
// apFmtScottishGaelic defined the AM/PM name in the Scottish Gaelic.
|
||
apFmtScottishGaelic = "m/f"
|
||
// apFmtSerbianLatin defined the AM/PM name in the Serbian (Latin).
|
||
apFmtSerbianLatin = "pre podne/po podne"
|
||
// apFmtSerbianLatinBA defined the AM/PM name in the Serbian (Latin) Bosnia
|
||
// and Herzegovina.
|
||
apFmtSerbianLatinBA = "prije podne/po podne"
|
||
// apFmtSinhala defined the AM/PM name in the Sinhala.
|
||
apFmtSinhala = "\u0DB4\u0DD9.\u0DC0./\u0DB4.\u0DC0."
|
||
// apFmtSlovenian defined the AM/PM name in the Slovenian.
|
||
apFmtSlovenian = "dop./pop."
|
||
// apFmtSomali defined the AM/PM name in the Somali.
|
||
apFmtSomali = "GH/GD"
|
||
// apFmtSpanish defined the AM/PM name in the Spanish.
|
||
apFmtSpanish = "a. m./p. m."
|
||
// apFmtTibetan defined the AM/PM name in the Tibetan.
|
||
apFmtTibetan = "\u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b/\u0f55\u0fb1\u0f72\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"
|
||
// apFmtTurkish defined the AM/PM name in the Turkish.
|
||
apFmtTurkish = "\u00F6\u00F6/\u00F6\u0053"
|
||
// apFmtVietnamese defined the AM/PM name in the Vietnamese.
|
||
apFmtVietnamese = "SA/CH"
|
||
// apFmtWelsh defined the AM/PM name in the Welsh.
|
||
apFmtWelsh = "yb/yh"
|
||
// apFmtWolof defined the AM/PM name in the Wolof.
|
||
apFmtWolof = "Sub/Ngo"
|
||
// apFmtYi defined the AM/PM name in the Yi.
|
||
apFmtYi = "\ua3b8\ua111/\ua06f\ua2d2"
|
||
// switchArgumentFunc defined the switch argument printer function
|
||
switchArgumentFunc = map[string]func(s string) string{
|
||
"[DBNum1]": func(s string) string {
|
||
r := strings.NewReplacer(
|
||
"0", "\u25cb", "1", "\u4e00", "2", "\u4e8c", "3", "\u4e09", "4", "\u56db",
|
||
"5", "\u4e94", "6", "\u516d", "7", "\u4e03", "8", "\u516b", "9", "\u4e5d",
|
||
)
|
||
return r.Replace(s)
|
||
},
|
||
"[DBNum2]": func(s string) string {
|
||
r := strings.NewReplacer(
|
||
"0", "\u96f6", "1", "\u58f9", "2", "\u8d30", "3", "\u53c1", "4", "\u8086",
|
||
"5", "\u4f0d", "6", "\u9646", "7", "\u67d2", "8", "\u634c", "9", "\u7396",
|
||
)
|
||
return r.Replace(s)
|
||
},
|
||
"[DBNum3]": func(s string) string {
|
||
r := strings.NewReplacer(
|
||
"0", "\uff10", "1", "\uff11", "2", "\uff12", "3", "\uff13", "4", "\uff14",
|
||
"5", "\uff15", "6", "\uff16", "7", "\uff17", "8", "\uff18", "9", "\uff19",
|
||
)
|
||
return r.Replace(s)
|
||
},
|
||
}
|
||
)
|
||
|
||
// applyBuiltInNumFmt provides a function to returns a value after formatted
|
||
// with built-in number format code, or specified sort date format code.
|
||
func (f *File) applyBuiltInNumFmt(c *xlsxC, fmtCode string, numFmtID int, date1904 bool, cellType CellType) string {
|
||
if f.options != nil && f.options.ShortDatePattern != "" {
|
||
if numFmtID == 14 {
|
||
fmtCode = f.options.ShortDatePattern
|
||
}
|
||
if numFmtID == 22 {
|
||
fmtCode = fmt.Sprintf("%s hh:mm", f.options.ShortDatePattern)
|
||
}
|
||
}
|
||
return format(c.V, fmtCode, date1904, cellType, f.options)
|
||
}
|
||
|
||
// langNumFmtFuncEnUS returns number format code by given date and time pattern
|
||
// for country code en-us.
|
||
func (f *File) langNumFmtFuncEnUS(numFmtID int) string {
|
||
shortDatePattern, longTimePattern := "M/d/yy", "h:mm:ss"
|
||
if f.options.ShortDatePattern != "" {
|
||
shortDatePattern = f.options.ShortDatePattern
|
||
}
|
||
if f.options.LongTimePattern != "" {
|
||
longTimePattern = f.options.LongTimePattern
|
||
}
|
||
if 32 <= numFmtID && numFmtID <= 35 {
|
||
return longTimePattern
|
||
}
|
||
if (27 <= numFmtID && numFmtID <= 31) || (50 <= numFmtID && numFmtID <= 58) {
|
||
return shortDatePattern
|
||
}
|
||
return ""
|
||
}
|
||
|
||
// checkDateTimePattern check and validate date and time options field value.
|
||
func (f *File) checkDateTimePattern() error {
|
||
for _, pattern := range []string{f.options.LongDatePattern, f.options.LongTimePattern, f.options.ShortDatePattern} {
|
||
p := nfp.NumberFormatParser()
|
||
for _, section := range p.Parse(pattern) {
|
||
for _, token := range section.Items {
|
||
if inStrSlice(supportedTokenTypes, token.TType, false) == -1 || inStrSlice(supportedNumberTokenTypes, token.TType, false) != -1 {
|
||
return ErrUnsupportedNumberFormat
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// langNumFmtFuncZhCN returns number format code by given date and time pattern
|
||
// for country code zh-cn.
|
||
func (f *File) langNumFmtFuncZhCN(numFmtID int) string {
|
||
if numFmtID == 30 && f.options.ShortDatePattern != "" {
|
||
return f.options.ShortDatePattern
|
||
}
|
||
if (32 <= numFmtID && numFmtID <= 33) && f.options.LongTimePattern != "" {
|
||
return f.options.LongTimePattern
|
||
}
|
||
return langNumFmt["zh-cn"][numFmtID]
|
||
}
|
||
|
||
// getBuiltInNumFmtCode convert number format index to number format code with
|
||
// specified locale and language.
|
||
func (f *File) getBuiltInNumFmtCode(numFmtID int) (string, bool) {
|
||
if fmtCode, ok := builtInNumFmt[numFmtID]; ok {
|
||
return fmtCode, true
|
||
}
|
||
if (27 <= numFmtID && numFmtID <= 36) || (50 <= numFmtID && numFmtID <= 81) {
|
||
if f.options.CultureInfo == CultureNameEnUS {
|
||
return f.langNumFmtFuncEnUS(numFmtID), true
|
||
}
|
||
if f.options.CultureInfo == CultureNameZhCN {
|
||
return f.langNumFmtFuncZhCN(numFmtID), true
|
||
}
|
||
}
|
||
return "", false
|
||
}
|
||
|
||
// prepareNumberic split the number into two before and after parts by a
|
||
// decimal point.
|
||
func (nf *numberFormat) prepareNumberic(value string) {
|
||
if nf.cellType != CellTypeNumber && nf.cellType != CellTypeDate {
|
||
return
|
||
}
|
||
if nf.isNumeric, _, _ = isNumeric(value); !nf.isNumeric {
|
||
return
|
||
}
|
||
}
|
||
|
||
// format provides a function to return a string parse by number format
|
||
// expression. If the given number format is not supported, this will return
|
||
// the original cell value.
|
||
func format(value, numFmt string, date1904 bool, cellType CellType, opts *Options) string {
|
||
p := nfp.NumberFormatParser()
|
||
nf := numberFormat{opts: opts, section: p.Parse(numFmt), value: value, date1904: date1904, cellType: cellType}
|
||
nf.number, nf.valueSectionType = nf.getValueSectionType(value)
|
||
nf.prepareNumberic(value)
|
||
for i, section := range nf.section {
|
||
nf.sectionIdx = i
|
||
if section.Type != nf.valueSectionType {
|
||
continue
|
||
}
|
||
if nf.isNumeric {
|
||
switch section.Type {
|
||
case nfp.TokenSectionPositive:
|
||
return nf.positiveHandler()
|
||
case nfp.TokenSectionNegative:
|
||
return nf.negativeHandler()
|
||
default:
|
||
return nf.zeroHandler()
|
||
}
|
||
}
|
||
return nf.textHandler()
|
||
}
|
||
return value
|
||
}
|
||
|
||
// getNumberPartLen returns the length of integer and fraction parts for the
|
||
// numeric.
|
||
func getNumberPartLen(n float64) (int, int) {
|
||
parts := strings.Split(strconv.FormatFloat(math.Abs(n), 'f', -1, 64), ".")
|
||
if len(parts) == 2 {
|
||
return len(parts[0]), len(parts[1])
|
||
}
|
||
return len(parts[0]), 0
|
||
}
|
||
|
||
// getNumberFmtConf generate the number format padding and placeholder
|
||
// configurations.
|
||
func (nf *numberFormat) getNumberFmtConf() {
|
||
for _, token := range nf.section[nf.sectionIdx].Items {
|
||
if token.TType == nfp.TokenTypeHashPlaceHolder {
|
||
if nf.usePointer {
|
||
nf.fracHolder += len(token.TValue)
|
||
} else {
|
||
nf.intHolder += len(token.TValue)
|
||
}
|
||
}
|
||
if token.TType == nfp.TokenTypeExponential {
|
||
nf.useScientificNotation = true
|
||
}
|
||
if token.TType == nfp.TokenTypeThousandsSeparator {
|
||
nf.useCommaSep = true
|
||
}
|
||
if token.TType == nfp.TokenTypePercent {
|
||
nf.percent += len(token.TValue)
|
||
}
|
||
if token.TType == nfp.TokenTypeDecimalPoint {
|
||
nf.usePointer = true
|
||
}
|
||
if token.TType == nfp.TokenTypeSwitchArgument {
|
||
nf.switchArgument = token.TValue
|
||
}
|
||
if token.TType == nfp.TokenTypeZeroPlaceHolder {
|
||
if nf.usePointer {
|
||
if nf.useScientificNotation {
|
||
nf.expBaseLen += len(token.TValue)
|
||
continue
|
||
}
|
||
nf.fracPadding += len(token.TValue)
|
||
continue
|
||
}
|
||
nf.intPadding += len(token.TValue)
|
||
}
|
||
}
|
||
}
|
||
|
||
// printNumberLiteral apply literal tokens for the pre-formatted text.
|
||
func (nf *numberFormat) printNumberLiteral(text string) string {
|
||
var result string
|
||
var useLiteral, useZeroPlaceHolder bool
|
||
if nf.usePositive {
|
||
result += "-"
|
||
}
|
||
for _, token := range nf.section[nf.sectionIdx].Items {
|
||
if token.TType == nfp.TokenTypeCurrencyLanguage {
|
||
if changeNumFmtCode, err := nf.currencyLanguageHandler(token); err != nil || changeNumFmtCode {
|
||
return nf.value
|
||
}
|
||
result += nf.currencyString
|
||
}
|
||
if token.TType == nfp.TokenTypeLiteral {
|
||
if useZeroPlaceHolder {
|
||
useLiteral = true
|
||
}
|
||
result += token.TValue
|
||
}
|
||
if token.TType == nfp.TokenTypeZeroPlaceHolder {
|
||
if useLiteral && useZeroPlaceHolder {
|
||
return nf.value
|
||
}
|
||
if !useZeroPlaceHolder {
|
||
useZeroPlaceHolder = true
|
||
result += text
|
||
}
|
||
}
|
||
}
|
||
return nf.printSwitchArgument(result)
|
||
}
|
||
|
||
// printCommaSep format number with thousands separator.
|
||
func printCommaSep(text string) string {
|
||
var (
|
||
target strings.Builder
|
||
subStr = strings.Split(text, ".")
|
||
length = len(subStr[0])
|
||
)
|
||
for i := 0; i < length; i++ {
|
||
if i > 0 && (length-i)%3 == 0 {
|
||
target.WriteString(",")
|
||
}
|
||
target.WriteByte(text[i])
|
||
}
|
||
if len(subStr) == 2 {
|
||
target.WriteString(".")
|
||
target.WriteString(subStr[1])
|
||
}
|
||
return target.String()
|
||
}
|
||
|
||
// printSwitchArgument format number with switch argument.
|
||
func (nf *numberFormat) printSwitchArgument(text string) string {
|
||
if nf.switchArgument == "" {
|
||
return text
|
||
}
|
||
if fn, ok := switchArgumentFunc[nf.switchArgument]; ok {
|
||
return fn(text)
|
||
}
|
||
return nf.value
|
||
}
|
||
|
||
// printBigNumber format number which precision great than 15 with fraction
|
||
// zero padding and percentage symbol.
|
||
func (nf *numberFormat) printBigNumber(decimal float64, fracLen int) string {
|
||
var exp float64
|
||
if nf.percent > 0 {
|
||
exp = 1
|
||
}
|
||
result := strings.TrimLeft(strconv.FormatFloat(decimal*math.Pow(100, exp), 'f', -1, 64), "-")
|
||
if nf.useCommaSep {
|
||
result = printCommaSep(result)
|
||
}
|
||
if fracLen > 0 {
|
||
if parts := strings.Split(result, "."); len(parts) == 2 {
|
||
fracPartLen := len(parts[1])
|
||
if fracPartLen < fracLen {
|
||
result = fmt.Sprintf("%s%s", result, strings.Repeat("0", fracLen-fracPartLen))
|
||
}
|
||
if fracPartLen > fracLen {
|
||
result = fmt.Sprintf("%s.%s", parts[0], parts[1][:fracLen])
|
||
}
|
||
} else {
|
||
result = fmt.Sprintf("%s.%s", result, strings.Repeat("0", fracLen))
|
||
}
|
||
}
|
||
if nf.percent > 0 {
|
||
return fmt.Sprintf("%s%%", result)
|
||
}
|
||
return result
|
||
}
|
||
|
||
// numberHandler handling number format expression for positive and negative
|
||
// numeric.
|
||
func (nf *numberFormat) numberHandler() string {
|
||
var (
|
||
num = nf.number
|
||
intPart, fracPart = getNumberPartLen(nf.number)
|
||
intLen, fracLen int
|
||
result string
|
||
)
|
||
nf.getNumberFmtConf()
|
||
if intLen = intPart; nf.intPadding > intPart {
|
||
intLen = nf.intPadding
|
||
}
|
||
if fracLen = fracPart; fracPart > nf.fracHolder+nf.fracPadding {
|
||
fracLen = nf.fracHolder + nf.fracPadding
|
||
}
|
||
if nf.fracPadding > fracPart {
|
||
fracLen = nf.fracPadding
|
||
}
|
||
if isNum, precision, decimal := isNumeric(nf.value); isNum {
|
||
if precision > 15 && intLen+fracLen > 15 {
|
||
return nf.printNumberLiteral(nf.printBigNumber(decimal, fracLen))
|
||
}
|
||
}
|
||
paddingLen := intLen + fracLen
|
||
if fracLen > 0 {
|
||
paddingLen++
|
||
}
|
||
flag := "f"
|
||
if nf.useScientificNotation {
|
||
if nf.expBaseLen != 2 {
|
||
return nf.value
|
||
}
|
||
flag = "E"
|
||
}
|
||
fmtCode := fmt.Sprintf("%%0%d.%d%s%s", paddingLen, fracLen, flag, strings.Repeat("%%", nf.percent))
|
||
if nf.percent > 0 {
|
||
num *= math.Pow(100, float64(nf.percent))
|
||
}
|
||
if result = fmt.Sprintf(fmtCode, math.Abs(num)); nf.useCommaSep {
|
||
result = printCommaSep(result)
|
||
}
|
||
return nf.printNumberLiteral(result)
|
||
}
|
||
|
||
// dateTimeHandler handling data and time number format expression for a
|
||
// positive numeric.
|
||
func (nf *numberFormat) dateTimeHandler() string {
|
||
nf.t, nf.hours, nf.seconds = timeFromExcelTime(nf.number, nf.date1904), false, false
|
||
for i, token := range nf.section[nf.sectionIdx].Items {
|
||
if token.TType == nfp.TokenTypeCurrencyLanguage {
|
||
if changeNumFmtCode, err := nf.currencyLanguageHandler(token); err != nil || changeNumFmtCode {
|
||
return nf.value
|
||
}
|
||
if !strings.EqualFold(nf.localCode, "JP-X-GANNEN") && !strings.EqualFold(nf.localCode, "JP-X-GANNEN,80") {
|
||
nf.result += nf.currencyString
|
||
}
|
||
}
|
||
if token.TType == nfp.TokenTypeDateTimes {
|
||
nf.dateTimesHandler(i, token)
|
||
}
|
||
if token.TType == nfp.TokenTypeElapsedDateTimes {
|
||
nf.elapsedDateTimesHandler(token)
|
||
}
|
||
if token.TType == nfp.TokenTypeLiteral {
|
||
nf.result += token.TValue
|
||
continue
|
||
}
|
||
if token.TType == nfp.TokenTypeDecimalPoint {
|
||
nf.result += "."
|
||
}
|
||
if token.TType == nfp.TokenTypeSwitchArgument {
|
||
nf.switchArgument = token.TValue
|
||
}
|
||
if token.TType == nfp.TokenTypeZeroPlaceHolder {
|
||
zeroHolderLen := len(token.TValue)
|
||
if zeroHolderLen > 3 {
|
||
zeroHolderLen = 3
|
||
}
|
||
nf.result += fmt.Sprintf("%03d", nf.t.Nanosecond()/1e6)[:zeroHolderLen]
|
||
}
|
||
}
|
||
return nf.printSwitchArgument(nf.result)
|
||
}
|
||
|
||
// positiveHandler will be handling positive selection for a number format
|
||
// expression.
|
||
func (nf *numberFormat) positiveHandler() string {
|
||
var fmtNum bool
|
||
for _, token := range nf.section[nf.sectionIdx].Items {
|
||
if inStrSlice(supportedTokenTypes, token.TType, true) == -1 || token.TType == nfp.TokenTypeGeneral {
|
||
return nf.value
|
||
}
|
||
if inStrSlice(supportedNumberTokenTypes, token.TType, true) != -1 {
|
||
fmtNum = true
|
||
}
|
||
if inStrSlice(supportedDateTimeTokenTypes, token.TType, true) != -1 {
|
||
if fmtNum || nf.number < 0 {
|
||
return nf.value
|
||
}
|
||
var useDateTimeTokens bool
|
||
for _, token := range nf.section[nf.sectionIdx].Items {
|
||
if inStrSlice(supportedDateTimeTokenTypes, token.TType, false) != -1 {
|
||
if useDateTimeTokens && nf.useMillisecond {
|
||
return nf.value
|
||
}
|
||
useDateTimeTokens = true
|
||
}
|
||
if inStrSlice(supportedNumberTokenTypes, token.TType, false) != -1 {
|
||
if token.TType == nfp.TokenTypeZeroPlaceHolder {
|
||
nf.useMillisecond = true
|
||
continue
|
||
}
|
||
return nf.value
|
||
}
|
||
}
|
||
return nf.dateTimeHandler()
|
||
}
|
||
}
|
||
return nf.numberHandler()
|
||
}
|
||
|
||
// currencyLanguageHandler will be handling currency and language types tokens
|
||
// for a number format expression.
|
||
func (nf *numberFormat) currencyLanguageHandler(token nfp.Token) (bool, error) {
|
||
for _, part := range token.Parts {
|
||
if inStrSlice(supportedTokenTypes, part.Token.TType, true) == -1 {
|
||
return false, ErrUnsupportedNumberFormat
|
||
}
|
||
if part.Token.TType == nfp.TokenSubTypeLanguageInfo {
|
||
if strings.EqualFold(part.Token.TValue, "F800") { // [$-x-sysdate]
|
||
if nf.opts != nil && nf.opts.LongDatePattern != "" {
|
||
nf.value = format(nf.value, nf.opts.LongDatePattern, nf.date1904, nf.cellType, nf.opts)
|
||
return true, nil
|
||
}
|
||
part.Token.TValue = "409"
|
||
}
|
||
if strings.EqualFold(part.Token.TValue, "F400") { // [$-x-systime]
|
||
if nf.opts != nil && nf.opts.LongTimePattern != "" {
|
||
nf.value = format(nf.value, nf.opts.LongTimePattern, nf.date1904, nf.cellType, nf.opts)
|
||
return true, nil
|
||
}
|
||
part.Token.TValue = "409"
|
||
}
|
||
if _, ok := supportedLanguageInfo[strings.ToUpper(part.Token.TValue)]; !ok {
|
||
return false, ErrUnsupportedNumberFormat
|
||
}
|
||
nf.localCode = strings.ToUpper(part.Token.TValue)
|
||
}
|
||
if part.Token.TType == nfp.TokenSubTypeCurrencyString {
|
||
nf.currencyString = part.Token.TValue
|
||
}
|
||
}
|
||
return false, nil
|
||
}
|
||
|
||
// localAmPm return AM/PM name by supported language ID.
|
||
func (nf *numberFormat) localAmPm(ap string) string {
|
||
if languageInfo, ok := supportedLanguageInfo[nf.localCode]; ok {
|
||
return languageInfo.apFmt
|
||
}
|
||
return ap
|
||
}
|
||
|
||
// localMonthsNameAfrikaans returns the Afrikaans name of the month.
|
||
func localMonthsNameAfrikaans(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesAfrikaansAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesAfrikaans[int(t.Month())-1]
|
||
}
|
||
return monthNamesAfrikaansAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameAustria returns the Austria name of the month.
|
||
func localMonthsNameAustria(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesAustriaAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesAustria[int(t.Month())-1]
|
||
}
|
||
return monthNamesAustriaAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameBangla returns the German name of the month.
|
||
func localMonthsNameBangla(t time.Time, abbr int) string {
|
||
if abbr == 3 || abbr == 4 {
|
||
return monthNamesBangla[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesBangla[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameCaribbean returns the Caribbean name of the month.
|
||
func localMonthsNameCaribbean(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesCaribbeanAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesCaribbean[int(t.Month())-1]
|
||
}
|
||
return monthNamesCaribbeanAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameChinese1 returns the Chinese name of the month.
|
||
func localMonthsNameChinese1(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesChineseNum[t.Month()]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesChinese[int(t.Month())-1]
|
||
}
|
||
return monthNamesChineseAbbr[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameChinese2 returns the Chinese name of the month.
|
||
func localMonthsNameChinese2(t time.Time, abbr int) string {
|
||
if abbr == 3 || abbr == 4 {
|
||
return monthNamesChinese[int(t.Month())-1]
|
||
}
|
||
return monthNamesChineseAbbr[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameChinese3 returns the Chinese name of the month.
|
||
func localMonthsNameChinese3(t time.Time, abbr int) string {
|
||
if abbr == 3 || abbr == 4 {
|
||
return monthNamesChineseNum[t.Month()]
|
||
}
|
||
return strconv.Itoa(int(t.Month()))
|
||
}
|
||
|
||
// localMonthsNameEnglish returns the English name of the month.
|
||
func localMonthsNameEnglish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return t.Month().String()[:3]
|
||
}
|
||
if abbr == 4 {
|
||
return t.Month().String()
|
||
}
|
||
return t.Month().String()[:1]
|
||
}
|
||
|
||
// localMonthsNameEstonian returns the Estonian name of the month.
|
||
func localMonthsNameEstonian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesEstonianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesEstonian[int(t.Month())-1]
|
||
}
|
||
return monthNamesEstonianAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameFaroese returns the Faroese name of the month.
|
||
func localMonthsNameFaroese(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthsNameFaroeseAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesFaroese[int(t.Month())-1]
|
||
}
|
||
return monthsNameFaroeseAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameFilipino returns the Filipino name of the month.
|
||
func localMonthsNameFilipino(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesFilipinoAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesFilipino[int(t.Month())-1]
|
||
}
|
||
return fmt.Sprintf("%02d", int(t.Month()))
|
||
}
|
||
|
||
// localMonthsNameFinnish returns the Finnish name of the month.
|
||
func localMonthsNameFinnish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesFinnishAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesFinnish[int(t.Month())-1]
|
||
}
|
||
return fmt.Sprintf("%02d", int(t.Month()))
|
||
}
|
||
|
||
// localMonthsNameFrench returns the French name of the month.
|
||
func localMonthsNameFrench(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
month := monthNamesFrench[int(t.Month())-1]
|
||
if len([]rune(month)) <= 4 {
|
||
return monthNamesFrench[int(t.Month())-1]
|
||
}
|
||
return monthNamesFrenchAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesFrench[int(t.Month())-1]
|
||
}
|
||
return monthNamesFrenchAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameFrisian returns the Frisian name of the month.
|
||
func localMonthsNameFrisian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesFrisianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesFrisian[int(t.Month())-1]
|
||
}
|
||
return monthNamesFrisian[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameFulah returns the Fulah name of the month.
|
||
func localMonthsNameFulah(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesFulahAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesFulah[int(t.Month())-1]
|
||
}
|
||
return monthNamesFulah[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameGalician returns the Galician name of the month.
|
||
func localMonthsNameGalician(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGalicianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesGalician[int(t.Month())-1]
|
||
}
|
||
return monthNamesGalician[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameGeorgian returns the Georgian name of the month.
|
||
func localMonthsNameGeorgian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGeorgianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesGeorgian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesGeorgian[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameGerman returns the German name of the month.
|
||
func localMonthsNameGerman(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGermanAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesGerman[int(t.Month())-1]
|
||
}
|
||
return monthNamesGermanAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameGreek returns the Greek name of the month.
|
||
func localMonthsNameGreek(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGreekAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesGreek[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesGreekAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameGreenlandic returns the Greenlandic name of the month.
|
||
func localMonthsNameGreenlandic(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGreenlandicAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesGreenlandic[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesGreenlandicAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameGuarani returns the Guarani name of the month.
|
||
func localMonthsNameGuarani(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGuaraniAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesGuarani[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesGuaraniAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameGujarati returns the Gujarati name of the month.
|
||
func localMonthsNameGujarati(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesGujaratiAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesGujarati[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesGujaratiAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameHausa returns the Hausa name of the month.
|
||
func localMonthsNameHausa(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return string([]rune(monthNamesHausa[int(t.Month())-1])[:3])
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesHausa[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesHausa[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameHawaiian returns the Hawaiian name of the month.
|
||
func localMonthsNameHawaiian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesHawaiianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesHawaiian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesHawaiianAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameHebrew returns the Hebrew name of the month.
|
||
func localMonthsNameHebrew(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return string([]rune(monthNamesHebrew[int(t.Month())-1])[:3])
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesHebrew[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesHebrew[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameHindi returns the Hindi name of the month.
|
||
func localMonthsNameHindi(t time.Time, abbr int) string {
|
||
if abbr == 3 || abbr == 4 {
|
||
return monthNamesHindi[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesHindi[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameHungarian returns the Hungarian name of the month.
|
||
func localMonthsNameHungarian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesHungarianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesHungarian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesHungarianAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameIcelandic returns the Icelandic name of the month.
|
||
func localMonthsNameIcelandic(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesIcelandicAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesIcelandic[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesIcelandicAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameIgbo returns the Igbo name of the month.
|
||
func localMonthsNameIgbo(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesIgboAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesIgbo[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesIgboAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameIndonesian returns the Indonesian name of the month.
|
||
func localMonthsNameIndonesian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesIndonesianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesIndonesian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesIndonesianAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameInuktitut returns the Inuktitut name of the month.
|
||
func localMonthsNameInuktitut(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesInuktitutAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesInuktitut[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesInuktitutAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameIrish returns the Irish name of the month.
|
||
func localMonthsNameIrish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesIrishAbbr[(t.Month() - 1)]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesIrish[int(t.Month())-1]
|
||
}
|
||
return monthNamesIrishAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameItalian returns the Italian name of the month.
|
||
func localMonthsNameItalian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesItalianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesItalian[int(t.Month())-1]
|
||
}
|
||
return monthNamesItalianAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameKannada returns the Kannada name of the month.
|
||
func localMonthsNameKannada(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKannadaAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKannada[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKannada[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameKashmiri returns the Kashmiri name of the month.
|
||
func localMonthsNameKashmiri(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesKashmiri[int(t.Month())-1])[:1])
|
||
}
|
||
return monthNamesKashmiri[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameKazakh returns the Kazakh name of the month.
|
||
func localMonthsNameKazakh(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKazakhAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKazakh[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKazakh[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameKhmer returns the Khmer name of the month.
|
||
func localMonthsNameKhmer(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKhmerAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKhmer[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKhmerAbbr[int(t.Month())+11])[:1])
|
||
}
|
||
|
||
// localMonthsNameKiche returns the Kiche name of the month.
|
||
func localMonthsNameKiche(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKicheAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKiche[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKicheAbbr[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameKinyarwanda returns the Kinyarwanda name of the month.
|
||
func localMonthsNameKinyarwanda(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKinyarwandaAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKinyarwanda[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKinyarwanda[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameKiswahili returns the Kiswahili name of the month.
|
||
func localMonthsNameKiswahili(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKiswahiliAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKiswahili[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKiswahili[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameKonkani returns the Konkani name of the month.
|
||
func localMonthsNameKonkani(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKonkaniAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKonkani[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKonkani[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameKorean returns the Korean name of the month.
|
||
func localMonthsNameKorean(t time.Time, abbr int) string {
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKoreanAbbr[int(t.Month())-1]
|
||
}
|
||
return strconv.Itoa(int(t.Month()))
|
||
}
|
||
|
||
// localMonthsNameKyrgyz returns the Kyrgyz name of the month.
|
||
func localMonthsNameKyrgyz(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesKyrgyzAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesKyrgyz[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesKyrgyz[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameLao returns the Lao name of the month.
|
||
func localMonthsNameLao(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesLaoAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesLao[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesLao[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameLatin returns the Latin name of the month.
|
||
func localMonthsNameLatin(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesLatinAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesLatin[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesLatin[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameLatvian returns the Latvian name of the month.
|
||
func localMonthsNameLatvian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesLatvianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesLatvian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesLatvian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameLithuanian returns the Lithuanian name of the month.
|
||
func localMonthsNameLithuanian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesLithuanianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesLithuanian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesLithuanian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameLowerSorbian returns the LowerSorbian name of the month.
|
||
func localMonthsNameLowerSorbian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesLowerSorbianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesLowerSorbian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesLowerSorbian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameLuxembourgish returns the Luxembourgish name of the month.
|
||
func localMonthsNameLuxembourgish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesLuxembourgishAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesLuxembourgish[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesLuxembourgish[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMacedonian returns the Macedonian name of the month.
|
||
func localMonthsNameMacedonian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMacedonianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMacedonian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMacedonian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMalay returns the Malay name of the month.
|
||
func localMonthsNameMalay(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMalayAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMalay[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMalay[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMalayalam returns the Malayalam name of the month.
|
||
func localMonthsNameMalayalam(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMalayalamAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMalayalam[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMalayalam[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMaltese returns the Maltese name of the month.
|
||
func localMonthsNameMaltese(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMalteseAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMaltese[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMaltese[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMaori returns the Maori name of the month.
|
||
func localMonthsNameMaori(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMaoriAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMaori[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMaori[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMapudungun returns the Mapudungun name of the month.
|
||
func localMonthsNameMapudungun(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesMapudungun[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesMapudungun[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameMarathi returns the Marathi name of the month.
|
||
func localMonthsNameMarathi(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMarathiAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMarathi[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMarathi[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMohawk returns the Mohawk name of the month.
|
||
func localMonthsNameMohawk(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return t.Month().String()[:3]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMohawk[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMohawk[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMongolian returns the Mongolian name of the month.
|
||
func localMonthsNameMongolian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMongolianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesMongolian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesMongolian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameMorocco returns the Morocco name of the month.
|
||
func localMonthsNameMorocco(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesMoroccoAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesFrench[int(t.Month())-1]
|
||
}
|
||
return monthNamesFrench[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameNepali returns the Nepali name of the month.
|
||
func localMonthsNameNepali(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesNepaliAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesNepali[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesNepali[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameNepaliIN returns the India Nepali name of the month.
|
||
func localMonthsNameNepaliIN(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesNepaliINAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesNepaliIN[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesNepaliIN[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameNigeria returns the Nigeria name of the month.
|
||
func localMonthsNameNigeria(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesNigeriaAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesNigeria[int(t.Month())-1]
|
||
}
|
||
return monthNamesNigeria[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameNorwegian returns the Norwegian name of the month.
|
||
func localMonthsNameNorwegian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthsNameFaroeseAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesNorwegian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesNorwegian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameOccitan returns the Occitan name of the month.
|
||
func localMonthsNameOccitan(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesOccitanAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesOccitan[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesOccitan[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameOdia returns the Odia name of the month.
|
||
func localMonthsNameOdia(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesOdia[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesOdia[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameOromo returns the Oromo name of the month.
|
||
func localMonthsNameOromo(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesOromoAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesOromo[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesOromo[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNamePashto returns the Pashto name of the month.
|
||
func localMonthsNamePashto(t time.Time, abbr int) string {
|
||
if int(t.Month()) == 6 {
|
||
if abbr == 3 {
|
||
return "\u0686\u0646\u06AB\u0627 \u069A"
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return "\u0686\u0646\u06AB\u0627 \u069A\u0632\u0645\u0631\u0649"
|
||
}
|
||
}
|
||
return monthNamesPashto[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNamePersian returns the Persian name of the month.
|
||
func localMonthsNamePersian(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesPersian[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesPersian[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNamePolish returns the Polish name of the month.
|
||
func localMonthsNamePolish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return string([]rune(monthNamesPolish[int(t.Month()-1)])[:3])
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesPolish[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesPolish[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNamePortuguese returns the Portuguese name of the month.
|
||
func localMonthsNamePortuguese(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return string([]rune(monthNamesPortuguese[int(t.Month()-1)])[:3])
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesPortuguese[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesPortuguese[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNamePunjabi returns the Punjabi name of the month.
|
||
func localMonthsNamePunjabi(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesPunjabi[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesPunjabi[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNamePunjabiArab returns the Punjabi Arab name of the month.
|
||
func localMonthsNamePunjabiArab(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesPunjabiArab[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesPunjabiArab[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameQuechua returns the Quechua name of the month.
|
||
func localMonthsNameQuechua(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return string([]rune(monthNamesQuechua[int(t.Month()-1)])[:3])
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesQuechua[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesQuechua[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameQuechuaEcuador returns the QuechuaEcuador name of the month.
|
||
func localMonthsNameQuechuaEcuador(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
if int(t.Month()) == 1 {
|
||
return string([]rune(monthNamesQuechuaEcuador[int(t.Month()-1)])[:4])
|
||
}
|
||
return string([]rune(monthNamesQuechuaEcuador[int(t.Month()-1)])[:3])
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesQuechuaEcuador[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesQuechuaEcuador[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameRomanian returns the Romanian name of the month.
|
||
func localMonthsNameRomanian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesRomanianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesRomanian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesRomanian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameRomansh returns the Romansh name of the month.
|
||
func localMonthsNameRomansh(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesRomanshAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesRomansh[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesRomansh[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameRussian returns the Russian name of the month.
|
||
func localMonthsNameRussian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
month := monthNamesRussian[int(t.Month())-1]
|
||
if len([]rune(month)) <= 4 {
|
||
return month
|
||
}
|
||
return monthNamesRussianAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesRussian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesRussian[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameSakha returns the Sakha name of the month.
|
||
func localMonthsNameSakha(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSakhaAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSakha[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSakha[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSami returns the Sami name of the month.
|
||
func localMonthsNameSami(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSamiAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSami[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSami[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSamiLule returns the Sami (Lule) name of the month.
|
||
func localMonthsNameSamiLule(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSamiLuleAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSamiLule[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSamiLule[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSamiNorthern returns the Sami (Northern) name of the month.
|
||
func localMonthsNameSamiNorthern(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSamiNorthernAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSamiNorthern[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSamiNorthern[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSamiNorthernFI returns the Sami (Northern) Finland name of the
|
||
// month.
|
||
func localMonthsNameSamiNorthernFI(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSamiNorthernAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
if int(t.Month()) == 1 {
|
||
return "ođđajagemánu"
|
||
}
|
||
return monthNamesSamiNorthern[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSamiNorthern[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSamiSkolt returns the Sami (Skolt) name of the month.
|
||
func localMonthsNameSamiSkolt(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesSamiSkolt[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesSamiSkolt[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameSamiSouthern returns the Sami (Southern) name of the month.
|
||
func localMonthsNameSamiSouthern(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSamiSouthernAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSamiSouthern[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSamiSouthern[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSanskrit returns the Sanskrit name of the month.
|
||
func localMonthsNameSanskrit(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesSanskrit[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesSanskrit[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameScottishGaelic returns the Scottish Gaelic name of the month.
|
||
func localMonthsNameScottishGaelic(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesScottishGaelicAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesScottishGaelic[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesScottishGaelic[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSerbian returns the Serbian (Cyrillic) name of the month.
|
||
func localMonthsNameSerbian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSerbianAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSerbian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSerbian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSerbianBA returns the Serbian (Cyrillic) Bosnia and
|
||
// Herzegovina name of the month.
|
||
func localMonthsNameSerbianBA(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSerbianBAAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSerbianBA[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSerbianBA[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSerbianLatin returns the Serbian (Latin) name of the month.
|
||
func localMonthsNameSerbianLatin(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return string([]rune(monthNamesSerbianLatin[int(t.Month()-1)])[:3])
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSerbianLatin[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSerbianLatin[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSerbianLatinCS returns the Serbian (Latin) name of the month.
|
||
func localMonthsNameSerbianLatinCS(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSerbianLatinAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSerbianLatin[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSerbianLatin[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSesothoSaLeboa returns the Sesotho sa Leboa name of the month.
|
||
func localMonthsNameSesothoSaLeboa(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSesothoSaLeboaAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSesothoSaLeboa[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSesothoSaLeboa[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSetswana returns the Setswana name of the month.
|
||
func localMonthsNameSetswana(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSetswanaAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSetswana[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSetswana[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSindhi returns the Sindhi name of the month.
|
||
func localMonthsNameSindhi(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return string([]rune(monthNamesSindhi[int(t.Month()-1)])[:1])
|
||
}
|
||
return monthNamesSindhi[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameSinhala returns the Sinhala name of the month.
|
||
func localMonthsNameSinhala(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSinhalaAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSinhala[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSinhala[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSlovak returns the Slovak name of the month.
|
||
func localMonthsNameSlovak(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return strconv.Itoa(int(t.Month()))
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSlovak[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSlovak[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSlovenian returns the Slovenian name of the month.
|
||
func localMonthsNameSlovenian(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSlovenianAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSlovenian[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSlovenian[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSomali returns the Somali name of the month.
|
||
func localMonthsNameSomali(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSomaliAbbr[int(t.Month()-1)]
|
||
}
|
||
if abbr == 4 || abbr > 6 {
|
||
return monthNamesSomali[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSomali[int(t.Month()-1)])[:1])
|
||
}
|
||
|
||
// localMonthsNameSpanish returns the Spanish name of the month.
|
||
func localMonthsNameSpanish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSpanishAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesSpanish[int(t.Month())-1]
|
||
}
|
||
return monthNamesSpanishAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameSyllabics returns the Syllabics name of the month.
|
||
func localMonthsNameSyllabics(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesSyllabicsAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesSyllabics[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesSyllabics[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameThai returns the Thai name of the month.
|
||
func localMonthsNameThai(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
r := []rune(monthNamesThai[int(t.Month())-1])
|
||
return string(r[:1]) + "." + string(r[len(r)-2:len(r)-1]) + "."
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesThai[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesThai[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameTibetan returns the Tibetan name of the month.
|
||
func localMonthsNameTibetan(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesTibetanAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 5 {
|
||
if t.Month() == 10 {
|
||
return "\u0f66"
|
||
}
|
||
return "\u0f5f"
|
||
}
|
||
return monthNamesTibetan[int(t.Month())-1]
|
||
}
|
||
|
||
// localMonthsNameTraditionalMongolian returns the Traditional Mongolian name of
|
||
// the month.
|
||
func localMonthsNameTraditionalMongolian(t time.Time, abbr int) string {
|
||
if abbr == 5 {
|
||
return "M"
|
||
}
|
||
return monthNamesTradMongolian[t.Month()-1]
|
||
}
|
||
|
||
// localMonthsNameTurkish returns the Turkish name of the month.
|
||
func localMonthsNameTurkish(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesTurkishAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesTurkish[int(t.Month())-1]
|
||
}
|
||
return string([]rune(monthNamesTurkishAbbr[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameVietnamese returns the Vietnamese name of the month.
|
||
func localMonthsNameVietnamese(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesVietnameseAbbr3[t.Month()-1]
|
||
}
|
||
if abbr == 5 {
|
||
return monthNamesVietnameseAbbr5[t.Month()-1]
|
||
}
|
||
return monthNamesVietnamese[t.Month()-1]
|
||
}
|
||
|
||
// localMonthsNameWelsh returns the Welsh name of the month.
|
||
func localMonthsNameWelsh(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesWelshAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesWelsh[int(t.Month())-1]
|
||
}
|
||
return monthNamesWelshAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameWolof returns the Wolof name of the month.
|
||
func localMonthsNameWolof(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesWolofAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesWolof[int(t.Month())-1]
|
||
}
|
||
return monthNamesWolof[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsNameXhosa returns the Xhosa name of the month.
|
||
func localMonthsNameXhosa(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesXhosaAbbr[int(t.Month())-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesXhosa[int(t.Month())-1]
|
||
}
|
||
return "u"
|
||
}
|
||
|
||
// localMonthsNameYi returns the Yi name of the month.
|
||
func localMonthsNameYi(t time.Time, abbr int) string {
|
||
if abbr == 3 || abbr == 4 {
|
||
return monthNamesYiSuffix[t.Month()-1]
|
||
}
|
||
return string([]rune(monthNamesYi[int(t.Month())-1])[:1])
|
||
}
|
||
|
||
// localMonthsNameZulu returns the Zulu name of the month.
|
||
func localMonthsNameZulu(t time.Time, abbr int) string {
|
||
if abbr == 3 {
|
||
return monthNamesZuluAbbr[t.Month()-1]
|
||
}
|
||
if abbr == 4 {
|
||
return monthNamesZulu[int(t.Month())-1]
|
||
}
|
||
return monthNamesZuluAbbr[int(t.Month())-1][:1]
|
||
}
|
||
|
||
// localMonthsName return months name by supported language ID.
|
||
func (nf *numberFormat) localMonthsName(abbr int) string {
|
||
if languageInfo, ok := supportedLanguageInfo[nf.localCode]; ok {
|
||
return languageInfo.localMonth(nf.t, abbr)
|
||
}
|
||
return localMonthsNameEnglish(nf.t, abbr)
|
||
}
|
||
|
||
// dateTimesHandler will be handling date and times types tokens for a number
|
||
// format expression.
|
||
func (nf *numberFormat) dateTimesHandler(i int, token nfp.Token) {
|
||
if idx := inStrSlice(nfp.AmPm, strings.ToUpper(token.TValue), false); idx != -1 {
|
||
if nf.ap == "" {
|
||
nextHours := nf.hoursNext(i)
|
||
aps := strings.Split(nf.localAmPm(token.TValue), "/")
|
||
nf.ap = aps[0]
|
||
if nextHours >= 12 {
|
||
nf.ap = aps[1]
|
||
}
|
||
}
|
||
nf.result += nf.ap
|
||
return
|
||
}
|
||
if strings.Contains(strings.ToUpper(token.TValue), "M") {
|
||
l := len(token.TValue)
|
||
if l == 1 && !nf.hours && !nf.secondsNext(i) {
|
||
nf.result += strconv.Itoa(int(nf.t.Month()))
|
||
return
|
||
}
|
||
if l == 2 && !nf.hours && !nf.secondsNext(i) {
|
||
nf.result += fmt.Sprintf("%02d", int(nf.t.Month()))
|
||
return
|
||
}
|
||
if l == 3 {
|
||
nf.result += nf.localMonthsName(3)
|
||
return
|
||
}
|
||
if l == 4 || l > 5 {
|
||
nf.result += nf.localMonthsName(4)
|
||
return
|
||
}
|
||
if l == 5 {
|
||
nf.result += nf.localMonthsName(5)
|
||
return
|
||
}
|
||
}
|
||
nf.yearsHandler(token)
|
||
nf.daysHandler(token)
|
||
nf.hoursHandler(i, token)
|
||
nf.minutesHandler(token)
|
||
nf.secondsHandler(token)
|
||
}
|
||
|
||
// eraYear convert time to the Japanese era years.
|
||
func eraYear(t time.Time) (int, int) {
|
||
i, year := 0, -1
|
||
for i = len(japaneseEraYears) - 1; i > 0; i-- {
|
||
if y := japaneseEraYears[i]; t.After(y) {
|
||
year = t.Year() - y.Year() + 1
|
||
break
|
||
}
|
||
}
|
||
return i, year
|
||
}
|
||
|
||
// yearsHandler will be handling years in the date and times types tokens for a
|
||
// number format expression.
|
||
func (nf *numberFormat) yearsHandler(token nfp.Token) {
|
||
if strings.Contains(strings.ToUpper(token.TValue), "Y") {
|
||
if len(token.TValue) <= 2 {
|
||
nf.result += strconv.Itoa(nf.t.Year())[2:]
|
||
return
|
||
}
|
||
nf.result += strconv.Itoa(nf.t.Year())
|
||
return
|
||
}
|
||
if strings.Contains(strings.ToUpper(token.TValue), "G") {
|
||
i, year := eraYear(nf.t)
|
||
if year == -1 {
|
||
return
|
||
}
|
||
nf.useGannen = supportedLanguageInfo[nf.localCode].useGannen
|
||
switch len(token.TValue) {
|
||
case 1:
|
||
nf.useGannen = false
|
||
nf.result += japaneseEraSymbols[i]
|
||
case 2:
|
||
nf.result += japaneseEraNames[i][:3]
|
||
default:
|
||
nf.result += japaneseEraNames[i]
|
||
}
|
||
return
|
||
}
|
||
if strings.Contains(strings.ToUpper(token.TValue), "E") {
|
||
_, year := eraYear(nf.t)
|
||
if year == -1 {
|
||
nf.result += strconv.Itoa(nf.t.Year())
|
||
return
|
||
}
|
||
if year == 1 && nf.useGannen {
|
||
nf.result += "\u5143"
|
||
return
|
||
}
|
||
if len(token.TValue) == 1 && !nf.useGannen {
|
||
nf.result += strconv.Itoa(year)
|
||
return
|
||
}
|
||
if len(token.TValue) == 2 {
|
||
nf.result += fmt.Sprintf("%02d", year)
|
||
}
|
||
}
|
||
}
|
||
|
||
// daysHandler will be handling days in the date and times types tokens for a
|
||
// number format expression.
|
||
func (nf *numberFormat) daysHandler(token nfp.Token) {
|
||
if strings.Contains(strings.ToUpper(token.TValue), "A") {
|
||
l := len(token.TValue)
|
||
if nf.localCode == "804" || nf.localCode == "404" {
|
||
var prefix string
|
||
if l == 3 {
|
||
prefix = map[string]string{"404": "週", "804": "周"}[nf.localCode]
|
||
}
|
||
if l > 3 {
|
||
prefix = "星期"
|
||
}
|
||
nf.result += prefix + weekdayNamesChinese[int(nf.t.Weekday())]
|
||
return
|
||
}
|
||
nf.result += nf.t.Weekday().String()
|
||
return
|
||
}
|
||
if strings.Contains(strings.ToUpper(token.TValue), "D") {
|
||
switch len(token.TValue) {
|
||
case 1:
|
||
nf.result += strconv.Itoa(nf.t.Day())
|
||
return
|
||
case 2:
|
||
nf.result += fmt.Sprintf("%02d", nf.t.Day())
|
||
return
|
||
case 3:
|
||
nf.result += nf.t.Weekday().String()[:3]
|
||
return
|
||
default:
|
||
nf.result += nf.t.Weekday().String()
|
||
}
|
||
}
|
||
}
|
||
|
||
// hoursHandler will be handling hours in the date and times types tokens for a
|
||
// number format expression.
|
||
func (nf *numberFormat) hoursHandler(i int, token nfp.Token) {
|
||
nf.hours = strings.Contains(strings.ToUpper(token.TValue), "H")
|
||
if nf.hours {
|
||
h := nf.t.Hour()
|
||
ap, ok := nf.apNext(i)
|
||
if ok {
|
||
nf.ap = ap[0]
|
||
if h >= 12 {
|
||
nf.ap = ap[1]
|
||
}
|
||
if h > 12 {
|
||
h -= 12
|
||
}
|
||
}
|
||
if nf.ap != "" {
|
||
if nf.hoursNext(i) == -1 && h > 12 {
|
||
h -= 12
|
||
}
|
||
if h == 0 {
|
||
h = 12
|
||
}
|
||
}
|
||
switch len(token.TValue) {
|
||
case 1:
|
||
nf.result += strconv.Itoa(h)
|
||
return
|
||
default:
|
||
nf.result += fmt.Sprintf("%02d", h)
|
||
return
|
||
}
|
||
}
|
||
}
|
||
|
||
// minutesHandler will be handling minutes in the date and times types tokens
|
||
// for a number format expression.
|
||
func (nf *numberFormat) minutesHandler(token nfp.Token) {
|
||
if strings.Contains(strings.ToUpper(token.TValue), "M") {
|
||
nf.hours = false
|
||
switch len(token.TValue) {
|
||
case 1:
|
||
nf.result += strconv.Itoa(nf.t.Minute())
|
||
return
|
||
default:
|
||
nf.result += fmt.Sprintf("%02d", nf.t.Minute())
|
||
}
|
||
}
|
||
}
|
||
|
||
// secondsHandler will be handling seconds in the date and times types tokens
|
||
// for a number format expression.
|
||
func (nf *numberFormat) secondsHandler(token nfp.Token) {
|
||
if nf.seconds = strings.Contains(strings.ToUpper(token.TValue), "S"); !nf.seconds {
|
||
return
|
||
}
|
||
if !nf.useMillisecond {
|
||
nf.t = nf.t.Add(time.Duration(math.Round(float64(nf.t.Nanosecond())/1e9)) * time.Second)
|
||
}
|
||
if len(token.TValue) == 1 {
|
||
nf.result += strconv.Itoa(nf.t.Second())
|
||
return
|
||
}
|
||
nf.result += fmt.Sprintf("%02d", nf.t.Second())
|
||
}
|
||
|
||
// elapsedDateTimesHandler will be handling elapsed date and times types tokens
|
||
// for a number format expression.
|
||
func (nf *numberFormat) elapsedDateTimesHandler(token nfp.Token) {
|
||
if strings.Contains(strings.ToUpper(token.TValue), "H") {
|
||
nf.result += fmt.Sprintf("%.f", math.Floor(nf.t.Sub(excel1900Epoc).Hours()))
|
||
return
|
||
}
|
||
if strings.Contains(strings.ToUpper(token.TValue), "M") {
|
||
nf.result += fmt.Sprintf("%.f", math.Floor(nf.t.Sub(excel1900Epoc).Minutes()))
|
||
return
|
||
}
|
||
if strings.Contains(strings.ToUpper(token.TValue), "S") {
|
||
nf.result += fmt.Sprintf("%.f", math.Floor(nf.t.Sub(excel1900Epoc).Seconds()))
|
||
return
|
||
}
|
||
}
|
||
|
||
// hoursNext detects if a token of type hours exists after a given tokens list.
|
||
func (nf *numberFormat) hoursNext(i int) int {
|
||
tokens := nf.section[nf.sectionIdx].Items
|
||
for idx := i + 1; idx < len(tokens); idx++ {
|
||
if tokens[idx].TType == nfp.TokenTypeDateTimes {
|
||
if strings.Contains(strings.ToUpper(tokens[idx].TValue), "H") {
|
||
t := timeFromExcelTime(nf.number, false)
|
||
return t.Hour()
|
||
}
|
||
}
|
||
}
|
||
return -1
|
||
}
|
||
|
||
// apNext detects if a token of type AM/PM exists after a given tokens list.
|
||
func (nf *numberFormat) apNext(i int) ([]string, bool) {
|
||
tokens := nf.section[nf.sectionIdx].Items
|
||
for idx := i + 1; idx < len(tokens); idx++ {
|
||
if tokens[idx].TType == nfp.TokenTypeDateTimes {
|
||
if strings.Contains(strings.ToUpper(tokens[idx].TValue), "H") {
|
||
return nil, false
|
||
}
|
||
if i := inStrSlice(nfp.AmPm, tokens[idx].TValue, false); i != -1 {
|
||
return strings.Split(nf.localAmPm(tokens[idx].TValue), "/"), true
|
||
}
|
||
}
|
||
}
|
||
return nil, false
|
||
}
|
||
|
||
// secondsNext detects if a token of type seconds exists after a given tokens
|
||
// list.
|
||
func (nf *numberFormat) secondsNext(i int) bool {
|
||
tokens := nf.section[nf.sectionIdx].Items
|
||
for idx := i + 1; idx < len(tokens); idx++ {
|
||
if tokens[idx].TType == nfp.TokenTypeDateTimes {
|
||
return strings.Contains(strings.ToUpper(tokens[idx].TValue), "S")
|
||
}
|
||
}
|
||
return false
|
||
}
|
||
|
||
// negativeHandler will be handling negative selection for a number format
|
||
// expression.
|
||
func (nf *numberFormat) negativeHandler() (result string) {
|
||
for _, token := range nf.section[nf.sectionIdx].Items {
|
||
if inStrSlice(supportedTokenTypes, token.TType, true) == -1 || token.TType == nfp.TokenTypeGeneral {
|
||
return nf.value
|
||
}
|
||
if inStrSlice(supportedDateTimeTokenTypes, token.TType, true) != -1 {
|
||
return nf.value
|
||
}
|
||
}
|
||
return nf.numberHandler()
|
||
}
|
||
|
||
// zeroHandler will be handling zero selection for a number format expression.
|
||
func (nf *numberFormat) zeroHandler() string {
|
||
return nf.value
|
||
}
|
||
|
||
// textHandler will be handling text selection for a number format expression.
|
||
func (nf *numberFormat) textHandler() (result string) {
|
||
for _, token := range nf.section[nf.sectionIdx].Items {
|
||
if token.TType == nfp.TokenTypeLiteral {
|
||
result += token.TValue
|
||
}
|
||
if token.TType == nfp.TokenTypeTextPlaceHolder || token.TType == nfp.TokenTypeZeroPlaceHolder {
|
||
result += nf.value
|
||
}
|
||
}
|
||
return result
|
||
}
|
||
|
||
// getValueSectionType returns its applicable number format expression section
|
||
// based on the given value.
|
||
func (nf *numberFormat) getValueSectionType(value string) (float64, string) {
|
||
if nf.cellType != CellTypeNumber && nf.cellType != CellTypeDate {
|
||
return 0, nfp.TokenSectionText
|
||
}
|
||
isNum, _, _ := isNumeric(value)
|
||
if !isNum {
|
||
return 0, nfp.TokenSectionText
|
||
}
|
||
number, _ := strconv.ParseFloat(value, 64)
|
||
if number > 0 {
|
||
return number, nfp.TokenSectionPositive
|
||
}
|
||
if number < 0 {
|
||
var hasNeg bool
|
||
for _, sec := range nf.section {
|
||
if sec.Type == nfp.TokenSectionNegative {
|
||
hasNeg = true
|
||
}
|
||
}
|
||
if !hasNeg {
|
||
nf.usePositive = true
|
||
return number, nfp.TokenSectionPositive
|
||
}
|
||
return number, nfp.TokenSectionNegative
|
||
}
|
||
return number, nfp.TokenSectionZero
|
||
}
|