This ref #1585, support to read one cell anchor pictures and improve date and time number format

- Support apply date and time number format with 16 languages: Persian, Polish, Portuguese, Punjabi, Quechua, Romanian, Romansh, Sakha, Sami, Sanskrit, Scottish Gaelic, Serbian, Sesotho sa Leboa, Setswana, Sindhi, Sinhala and Slovak
- Update the unit test and dependencies modules
This commit is contained in:
xuri 2023-08-09 00:11:06 +08:00
parent eb175906e7
commit ae17fa87d5
No known key found for this signature in database
GPG Key ID: BA5E5BB1C948EDF7
9 changed files with 1320 additions and 120 deletions

View File

@ -70,7 +70,7 @@ func TestChartSize(t *testing.T) {
var ( var (
workdir decodeWsDr workdir decodeWsDr
anchor decodeTwoCellAnchor anchor decodeCellAnchor
) )
content, ok := newFile.Pkg.Load("xl/drawings/drawing1.xml") content, ok := newFile.Pkg.Load("xl/drawings/drawing1.xml")
@ -81,8 +81,8 @@ func TestChartSize(t *testing.T) {
t.FailNow() t.FailNow()
} }
err = xml.Unmarshal([]byte("<decodeTwoCellAnchor>"+ err = xml.Unmarshal([]byte("<decodeCellAnchor>"+
workdir.TwoCellAnchor[0].Content+"</decodeTwoCellAnchor>"), &anchor) workdir.TwoCellAnchor[0].Content+"</decodeCellAnchor>"), &anchor)
if !assert.NoError(t, err) { if !assert.NoError(t, err) {
t.FailNow() t.FailNow()
} }

View File

@ -1394,15 +1394,15 @@ func (f *File) deleteDrawing(col, row int, drawingXML, drawingType string) error
var ( var (
err error err error
wsDr *xlsxWsDr wsDr *xlsxWsDr
deTwoCellAnchor *decodeTwoCellAnchor deTwoCellAnchor *decodeCellAnchor
) )
xdrCellAnchorFuncs := map[string]func(anchor *xdrCellAnchor) bool{ xdrCellAnchorFuncs := map[string]func(anchor *xdrCellAnchor) bool{
"Chart": func(anchor *xdrCellAnchor) bool { return anchor.Pic == nil }, "Chart": func(anchor *xdrCellAnchor) bool { return anchor.Pic == nil },
"Pic": func(anchor *xdrCellAnchor) bool { return anchor.Pic != nil }, "Pic": func(anchor *xdrCellAnchor) bool { return anchor.Pic != nil },
} }
decodeTwoCellAnchorFuncs := map[string]func(anchor *decodeTwoCellAnchor) bool{ decodeCellAnchorFuncs := map[string]func(anchor *decodeCellAnchor) bool{
"Chart": func(anchor *decodeTwoCellAnchor) bool { return anchor.Pic == nil }, "Chart": func(anchor *decodeCellAnchor) bool { return anchor.Pic == nil },
"Pic": func(anchor *decodeTwoCellAnchor) bool { return anchor.Pic != nil }, "Pic": func(anchor *decodeCellAnchor) bool { return anchor.Pic != nil },
} }
if wsDr, _, err = f.drawingParser(drawingXML); err != nil { if wsDr, _, err = f.drawingParser(drawingXML); err != nil {
return err return err
@ -1416,12 +1416,12 @@ func (f *File) deleteDrawing(col, row int, drawingXML, drawingType string) error
} }
} }
for idx := 0; idx < len(wsDr.TwoCellAnchor); idx++ { for idx := 0; idx < len(wsDr.TwoCellAnchor); idx++ {
deTwoCellAnchor = new(decodeTwoCellAnchor) deTwoCellAnchor = new(decodeCellAnchor)
if err = f.xmlNewDecoder(strings.NewReader("<decodeTwoCellAnchor>" + wsDr.TwoCellAnchor[idx].GraphicFrame + "</decodeTwoCellAnchor>")). if err = f.xmlNewDecoder(strings.NewReader("<decodeCellAnchor>" + wsDr.TwoCellAnchor[idx].GraphicFrame + "</decodeCellAnchor>")).
Decode(deTwoCellAnchor); err != nil && err != io.EOF { Decode(deTwoCellAnchor); err != nil && err != io.EOF {
return err return err
} }
if err = nil; deTwoCellAnchor.From != nil && decodeTwoCellAnchorFuncs[drawingType](deTwoCellAnchor) { if err = nil; deTwoCellAnchor.From != nil && decodeCellAnchorFuncs[drawingType](deTwoCellAnchor) {
if deTwoCellAnchor.From.Col == col && deTwoCellAnchor.From.Row == row { if deTwoCellAnchor.From.Col == col && deTwoCellAnchor.From.Row == row {
wsDr.TwoCellAnchor = append(wsDr.TwoCellAnchor[:idx], wsDr.TwoCellAnchor[idx+1:]...) wsDr.TwoCellAnchor = append(wsDr.TwoCellAnchor[:idx], wsDr.TwoCellAnchor[idx+1:]...)
idx-- idx--

6
go.mod
View File

@ -8,10 +8,10 @@ require (
github.com/stretchr/testify v1.8.0 github.com/stretchr/testify v1.8.0
github.com/xuri/efp v0.0.0-20230802181842-ad255f2331ca github.com/xuri/efp v0.0.0-20230802181842-ad255f2331ca
github.com/xuri/nfp v0.0.0-20230802015359-2d5eeba905e9 github.com/xuri/nfp v0.0.0-20230802015359-2d5eeba905e9
golang.org/x/crypto v0.11.0 golang.org/x/crypto v0.12.0
golang.org/x/image v0.5.0 golang.org/x/image v0.5.0
golang.org/x/net v0.13.0 golang.org/x/net v0.14.0
golang.org/x/text v0.11.0 golang.org/x/text v0.12.0
) )
require github.com/richardlehane/msoleps v1.0.3 // indirect require github.com/richardlehane/msoleps v1.0.3 // indirect

16
go.sum
View File

@ -22,8 +22,8 @@ github.com/xuri/nfp v0.0.0-20230802015359-2d5eeba905e9/go.mod h1:WwHg+CVyzlv/TX9
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4= golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@ -33,8 +33,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY= golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -45,19 +45,19 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

809
numfmt.go
View File

@ -87,10 +87,10 @@ var (
38: "#,##0 ;[red](#,##0)", 38: "#,##0 ;[red](#,##0)",
39: "#,##0.00 ;(#,##0.00)", 39: "#,##0.00 ;(#,##0.00)",
40: "#,##0.00 ;[red](#,##0.00)", 40: "#,##0.00 ;[red](#,##0.00)",
41: `_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)`, 41: "_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)",
42: `_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)`, 42: "_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)",
43: `_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)`, 43: "_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)",
44: `_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)`, 44: "_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)",
45: "mm:ss", 45: "mm:ss",
46: "[h]:mm:ss", 46: "[h]:mm:ss",
47: "mm:ss.0", 47: "mm:ss.0",
@ -102,86 +102,86 @@ var (
langNumFmt = map[string]map[int]string{ langNumFmt = map[string]map[int]string{
"zh-tw": { "zh-tw": {
27: "[$-404]e/m/d", 27: "[$-404]e/m/d",
28: `[$-404]e"年"m"月"d"日"`, 28: "[$-404]e\"年\"m\"月\"d\"日\"",
29: `[$-404]e"年"m"月"d"日"`, 29: "[$-404]e\"年\"m\"月\"d\"日\"",
30: "m/d/yy", 30: "m/d/yy",
31: `yyyy"年"m"月"d"日"`, 31: "yyyy\"年\"m\"月\"d\"日\"",
32: `hh"時"mm"分"`, 32: "hh\"時\"mm\"分\"",
33: `hh"時"mm"分"ss"秒"`, 33: "hh\"時\"mm\"分\"ss\"秒\"",
34: `上午/下午 hh"時"mm"分"`, 34: "上午/下午 hh\"時\"mm\"分\"",
35: `上午/下午 hh"時"mm"分"ss"秒"`, 35: "上午/下午 hh\"時\"mm\"分\"ss\"秒\"",
36: "[$-404]e/m/d", 36: "[$-404]e/m/d",
50: "[$-404]e/m/d", 50: "[$-404]e/m/d",
51: `[$-404]e"年"m"月"d"日"`, 51: "[$-404]e\"年\"m\"月\"d\"日\"",
52: `上午/下午 hh"時"mm"分"`, 52: "上午/下午 hh\"時\"mm\"分\"",
53: `上午/下午 hh"時"mm"分"ss"秒"`, 53: "上午/下午 hh\"時\"mm\"分\"ss\"秒\"",
54: `[$-404]e"年"m"月"d"日"`, 54: "[$-404]e\"年\"m\"月\"d\"日\"",
55: `上午/下午 hh"時"mm"分"`, 55: "上午/下午 hh\"時\"mm\"分\"",
56: `上午/下午 hh"時"mm"分"ss"秒"`, 56: "上午/下午 hh\"時\"mm\"分\"ss\"秒\"",
57: "[$-404]e/m/d", 57: "[$-404]e/m/d",
58: `[$-404]e"年"m"月"d"日"`, 58: "[$-404]e\"年\"m\"月\"d\"日\"",
}, },
"zh-cn": { "zh-cn": {
27: `yyyy"年"m"月"`, 27: "yyyy\"年\"m\"月\"",
28: `m"月"d"日"`, 28: "m\"月\"d\"日\"",
29: `m"月"d"日"`, 29: "m\"月\"d\"日\"",
30: "m/d/yy", 30: "m/d/yy",
31: `yyyy"年"m"月"d"日"`, 31: "yyyy\"年\"m\"月\"d\"日\"",
32: `h"时"mm"分"`, 32: "h\"时\"mm\"分\"",
33: `h"时"mm"分"ss"秒"`, 33: "h\"时\"mm\"分\"ss\"秒\"",
34: `上午/下午 h"时"mm"分"`, 34: "上午/下午 h\"时\"mm\"分\"",
35: `上午/下午 h"时"mm"分"ss"秒"`, 35: "上午/下午 h\"时\"mm\"分\"ss\"秒\"",
36: `yyyy"年"m"月"`, 36: "yyyy\"年\"m\"月\"",
50: `yyyy"年"m"月"`, 50: "yyyy\"年\"m\"月\"",
51: `m"月"d"日"`, 51: "m\"月\"d\"日\"",
52: `yyyy"年"m"月"`, 52: "yyyy\"年\"m\"月\"",
53: `m"月"d"日"`, 53: "m\"月\"d\"日\"",
54: `m"月"d"日"`, 54: "m\"月\"d\"日\"",
55: `上午/下午 h"时"mm"分"`, 55: "上午/下午 h\"时\"mm\"分\"",
56: `上午/下午 h"时"mm"分"ss"秒"`, 56: "上午/下午 h\"时\"mm\"分\"ss\"秒\"",
57: `yyyy"年"m"月"`, 57: "yyyy\"年\"m\"月\"",
58: `m"月"d"日"`, 58: "m\"月\"d\"日\"",
}, },
"ja-jp": { "ja-jp": {
27: "[$-411]ge.m.d", 27: "[$-411]ge.m.d",
28: `[$-411]ggge"年"m"月"d"日"`, 28: "[$-411]ggge\"年\"m\"月\"d\"日\"",
29: `[$-411]ggge"年"m"月"d"日"`, 29: "[$-411]ggge\"年\"m\"月\"d\"日\"",
30: "m/d/yy", 30: "m/d/yy",
31: `yyyy"年"m"月"d"日"`, 31: "yyyy\"年\"m\"月\"d\"日\"",
32: `h"時"mm"分"`, 32: "h\"時\"mm\"分\"",
33: `h"時"mm"分"ss"秒"`, 33: "h\"時\"mm\"分\"ss\"秒\"",
34: `yyyy"年"m"月"`, 34: "yyyy\"年\"m\"月\"",
35: `m"月"d"日"`, 35: "m\"月\"d\"日\"",
36: "[$-411]ge.m.d", 36: "[$-411]ge.m.d",
50: "[$-411]ge.m.d", 50: "[$-411]ge.m.d",
51: `[$-411]ggge"年"m"月"d"日"`, 51: "[$-411]ggge\"年\"m\"月\"d\"日\"",
52: `yyyy"年"m"月"`, 52: "yyyy\"年\"m\"月\"",
53: `m"月"d"日"`, 53: "m\"月\"d\"日\"",
54: `[$-411]ggge"年"m"月"d"日"`, 54: "[$-411]ggge\"年\"m\"月\"d\"日\"",
55: `yyyy"年"m"月"`, 55: "yyyy\"年\"m\"月\"",
56: `m"月"d"日"`, 56: "m\"月\"d\"日\"",
57: "[$-411]ge.m.d", 57: "[$-411]ge.m.d",
58: `[$-411]ggge"年"m"月"d"日"`, 58: "[$-411]ggge\"年\"m\"月\"d\"日\"",
}, },
"ko-kr": { "ko-kr": {
27: `yyyy"年" mm"月" dd"日"`, 27: "yyyy\"年\" mm\"月\" dd\"日\"",
28: "mm-dd", 28: "mm-dd",
29: "mm-dd", 29: "mm-dd",
30: "mm-dd-yy", 30: "mm-dd-yy",
31: `yyyy"년" mm"월" dd"일"`, 31: "yyyy\"년\" mm\"월\" dd\"일\"",
32: `h"시" mm"분"`, 32: "h\"시\" mm\"분\"",
33: `h"시" mm"분" ss"초"`, 33: "h\"시\" mm\"분\" ss\"초\"",
34: `yyyy-mm-dd`, 34: "yyyy-mm-dd",
35: `yyyy-mm-dd`, 35: "yyyy-mm-dd",
36: `yyyy"年" mm"月" dd"日"`, 36: "yyyy\"年\" mm\"月\" dd\"日\"",
50: `yyyy"年" mm"月" dd"日"`, 50: "yyyy\"年\" mm\"月\" dd\"日\"",
51: "mm-dd", 51: "mm-dd",
52: "yyyy-mm-dd", 52: "yyyy-mm-dd",
53: "yyyy-mm-dd", 53: "yyyy-mm-dd",
54: "mm-dd", 54: "mm-dd",
55: "yyyy-mm-dd", 55: "yyyy-mm-dd",
56: "yyyy-mm-dd", 56: "yyyy-mm-dd",
57: `yyyy"年" mm"月" dd"日"`, 57: "yyyy\"年\" mm\"月\" dd\"日\"",
58: "mm-dd", 58: "mm-dd",
}, },
"th-th": { "th-th": {
@ -193,22 +193,22 @@ var (
68: "t0.00%", 68: "t0.00%",
69: "t# ?/?", 69: "t# ?/?",
70: "t# ??/??", 70: "t# ??/??",
71: "ว/ด/ปปปป", 71: "\u0E27/\u0E14/\u0E1B\u0E1B\u0E1B\u0E1B",
72: "ว-ดดด-ปป", 72: "\u0E27-\u0E14\u0E14\u0E14-\u0E1B\u0E1B",
73: "ว-ดดด", 73: "\u0E27-\u0E14\u0E14\u0E14",
74: "ดดด-ปป", 74: "\u0E14\u0E14\u0E14-\u0E1B\u0E1B",
75: "ช:นน", 75: "\u0E0A:\u0E19\u0E19",
76: "ช:นน:ทท", 76: "\u0E0A:\u0E19\u0E19:\u0E17\u0E17",
77: "ว/ด/ปปปป ช:นน", 77: "\u0E27/\u0E14/\u0E1B\u0E1B\u0E1B\u0E1B \u0E0A:\u0E19\u0E19",
78: "นน:ทท", 78: "\u0E19\u0E19:\u0E17\u0E17",
79: "[ช]:นน:ทท", 79: "[\u0E0A%5D]\u0E19\u0E19:\u0E17\u0E17",
80: "นน:ทท.0", 80: "\u0E19\u0E19:\u0E17\u0E17.0",
81: "d/m/bb", 81: "d/m/bb",
}, },
} }
// currencyNumFmt defined the currency number format map. // currencyNumFmt defined the currency number format map.
currencyNumFmt = map[int]string{ currencyNumFmt = map[int]string{
164: `"¥"#,##0.00`, 164: "\"¥\"#,##0.00",
165: "[$$-409]#,##0.00", 165: "[$$-409]#,##0.00",
166: "[$$-45C]#,##0.00", 166: "[$$-45C]#,##0.00",
167: "[$$-1004]#,##0.00", 167: "[$$-1004]#,##0.00",
@ -222,18 +222,18 @@ var (
175: "[$$-2C09]#,##0.00", 175: "[$$-2C09]#,##0.00",
176: "[$$-2409]#,##0.00", 176: "[$$-2409]#,##0.00",
177: "[$$-1000]#,##0.00", 177: "[$$-1000]#,##0.00",
178: `#,##0.00\ [$$-C0C]`, 178: "#,##0.00\\ [$$-C0C]",
179: "[$$-475]#,##0.00", 179: "[$$-475]#,##0.00",
180: "[$$-83E]#,##0.00", 180: "[$$-83E]#,##0.00",
181: `[$$-86B]\ #,##0.00`, 181: "[$$-86B]\\ #,##0.00",
182: `[$$-340A]\ #,##0.00`, 182: "[$$-340A]\\ #,##0.00",
183: "[$$-240A]#,##0.00", 183: "[$$-240A]#,##0.00",
184: `[$$-300A]\ #,##0.00`, 184: "[$$-300A]\\ #,##0.00",
185: "[$$-440A]#,##0.00", 185: "[$$-440A]#,##0.00",
186: "[$$-80A]#,##0.00", 186: "[$$-80A]#,##0.00",
187: "[$$-500A]#,##0.00", 187: "[$$-500A]#,##0.00",
188: "[$$-540A]#,##0.00", 188: "[$$-540A]#,##0.00",
189: `[$$-380A]\ #,##0.00`, 189: "[$$-380A]\\ #,##0.00",
190: "[$£-809]#,##0.00", 190: "[$£-809]#,##0.00",
191: "[$£-491]#,##0.00", 191: "[$£-491]#,##0.00",
192: "[$£-452]#,##0.00", 192: "[$£-452]#,##0.00",
@ -937,9 +937,76 @@ var (
"472": {tags: []string{"om-ET"}, localMonth: localMonthsNameOromo, apFmt: apFmtOromo}, "472": {tags: []string{"om-ET"}, localMonth: localMonthsNameOromo, apFmt: apFmtOromo},
"63": {tags: []string{"ps"}, localMonth: localMonthsNamePashto, apFmt: apFmtPashto}, "63": {tags: []string{"ps"}, localMonth: localMonthsNamePashto, apFmt: apFmtPashto},
"463": {tags: []string{"ps-AF"}, 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]}, "19": {tags: []string{"ru"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
"819": {tags: []string{"ru-MD"}, 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]}, "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}, "A": {tags: []string{"es"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
"2C0A": {tags: []string{"es-AR"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish}, "2C0A": {tags: []string{"es-AR"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
"200A": {tags: []string{"es-VE"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish}, "200A": {tags: []string{"es-VE"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
@ -1663,6 +1730,67 @@ var (
"\u0644\u0646\u0688 \u06CD", "\u0644\u0646\u0688 \u06CD",
"\u0645\u0631\u063A\u0648\u0645\u0649", "\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 list the month names in the Russian.
monthNamesRussian = []string{ monthNamesRussian = []string{
"\u044F\u043D\u0432\u0430\u0440\u044C", "\u044F\u043D\u0432\u0430\u0440\u044C",
@ -1693,6 +1821,205 @@ var (
"\u043D\u043E\u044F.", "\u043D\u043E\u044F.",
"\u0434\u0435\u043A.", "\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 list the month names in the Spanish.
monthNamesSpanish = []string{"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"} monthNamesSpanish = []string{"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}
// monthNamesSpanishAbbr list the month abbreviations in the Spanish. // monthNamesSpanishAbbr list the month abbreviations in the Spanish.
@ -1862,6 +2189,29 @@ var (
apFmtOromo = "WD/WB" apFmtOromo = "WD/WB"
// apFmtPashto defined the AM/PM name in the Pashto. // apFmtPashto defined the AM/PM name in the Pashto.
apFmtPashto = "\u063A.\u0645./\u063A.\u0648." 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 defined the AM/PM name in the Spanish.
apFmtSpanish = "a. m./p. m." apFmtSpanish = "a. m./p. m."
// apFmtTibetan defined the AM/PM name in the Tibetan. // apFmtTibetan defined the AM/PM name in the Tibetan.
@ -3045,6 +3395,99 @@ func localMonthsNamePashto(t time.Time, abbr int) string {
return monthNamesPashto[int(t.Month())-1] 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. // localMonthsNameRussian returns the Russian name of the month.
func localMonthsNameRussian(t time.Time, abbr int) string { func localMonthsNameRussian(t time.Time, abbr int) string {
if abbr == 3 { if abbr == 3 {
@ -3060,6 +3503,222 @@ func localMonthsNameRussian(t time.Time, abbr int) string {
return string([]rune(monthNamesRussian[int(t.Month())-1])[: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. // localMonthsNameSpanish returns the Spanish name of the month.
func localMonthsNameSpanish(t time.Time, abbr int) string { func localMonthsNameSpanish(t time.Time, abbr int) string {
if abbr == 3 { if abbr == 3 {

View File

@ -1271,12 +1271,549 @@ func TestNumFmt(t *testing.T) {
{"43543.503206018519", "[$-463]mmmm dd yyyy h:mm AM/PM", "\u0648\u0631\u0649 19 2019 12:04 \u063A.\u0648."}, {"43543.503206018519", "[$-463]mmmm dd yyyy h:mm AM/PM", "\u0648\u0631\u0649 19 2019 12:04 \u063A.\u0648."},
{"43543.503206018519", "[$-463]mmmmm dd yyyy h:mm AM/PM", "\u0648\u0631\u0649 19 2019 12:04 \u063A.\u0648."}, {"43543.503206018519", "[$-463]mmmmm dd yyyy h:mm AM/PM", "\u0648\u0631\u0649 19 2019 12:04 \u063A.\u0648."},
{"43543.503206018519", "[$-463]mmmmmm dd yyyy h:mm AM/PM", "\u0648\u0631\u0649 19 2019 12:04 \u063A.\u0648."}, {"43543.503206018519", "[$-463]mmmmmm dd yyyy h:mm AM/PM", "\u0648\u0631\u0649 19 2019 12:04 \u063A.\u0648."},
{"44562.189571759256", "[$-29]mmm dd yyyy h:mm AM/PM", "\u0698\u0627\u0646\u0648\u064A\u0647 01 2022 4:32 \u0642.\u0638"},
{"44562.189571759256", "[$-29]mmmm dd yyyy h:mm AM/PM", "\u0698\u0627\u0646\u0648\u064A\u0647 01 2022 4:32 \u0642.\u0638"},
{"44562.189571759256", "[$-29]mmmmm dd yyyy h:mm AM/PM", "\u0698 01 2022 4:32 \u0642.\u0638"},
{"44562.189571759256", "[$-29]mmmmmm dd yyyy h:mm AM/PM", "\u0698\u0627\u0646\u0648\u064A\u0647 01 2022 4:32 \u0642.\u0638"},
{"43543.503206018519", "[$-29]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0633 19 2019 12:04 \u0628.\u0638"},
{"43543.503206018519", "[$-29]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0633 19 2019 12:04 \u0628.\u0638"},
{"43543.503206018519", "[$-29]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 \u0628.\u0638"},
{"43543.503206018519", "[$-29]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0633 19 2019 12:04 \u0628.\u0638"},
{"44562.189571759256", "[$-429]mmm dd yyyy h:mm AM/PM", "\u0698\u0627\u0646\u0648\u064A\u0647 01 2022 4:32 \u0642.\u0638"},
{"44562.189571759256", "[$-429]mmmm dd yyyy h:mm AM/PM", "\u0698\u0627\u0646\u0648\u064A\u0647 01 2022 4:32 \u0642.\u0638"},
{"44562.189571759256", "[$-429]mmmmm dd yyyy h:mm AM/PM", "\u0698 01 2022 4:32 \u0642.\u0638"},
{"44562.189571759256", "[$-429]mmmmmm dd yyyy h:mm AM/PM", "\u0698\u0627\u0646\u0648\u064A\u0647 01 2022 4:32 \u0642.\u0638"},
{"43543.503206018519", "[$-429]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0633 19 2019 12:04 \u0628.\u0638"},
{"43543.503206018519", "[$-429]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0633 19 2019 12:04 \u0628.\u0638"},
{"43543.503206018519", "[$-429]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 \u0628.\u0638"},
{"43543.503206018519", "[$-429]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0633 19 2019 12:04 \u0628.\u0638"},
{"44562.189571759256", "[$-15]mmm dd yyyy h:mm AM/PM", "sty 01 2022 4:32 AM"},
{"44562.189571759256", "[$-15]mmmm dd yyyy h:mm AM/PM", "styczeń 01 2022 4:32 AM"},
{"44562.189571759256", "[$-15]mmmmm dd yyyy h:mm AM/PM", "s 01 2022 4:32 AM"},
{"44562.189571759256", "[$-15]mmmmmm dd yyyy h:mm AM/PM", "styczeń 01 2022 4:32 AM"},
{"43543.503206018519", "[$-15]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 PM"},
{"43543.503206018519", "[$-15]mmmm dd yyyy h:mm AM/PM", "marzec 19 2019 12:04 PM"},
{"43543.503206018519", "[$-15]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-15]mmmmmm dd yyyy h:mm AM/PM", "marzec 19 2019 12:04 PM"},
{"44562.189571759256", "[$-415]mmm dd yyyy h:mm AM/PM", "sty 01 2022 4:32 AM"},
{"44562.189571759256", "[$-415]mmmm dd yyyy h:mm AM/PM", "styczeń 01 2022 4:32 AM"},
{"44562.189571759256", "[$-415]mmmmm dd yyyy h:mm AM/PM", "s 01 2022 4:32 AM"},
{"44562.189571759256", "[$-415]mmmmmm dd yyyy h:mm AM/PM", "styczeń 01 2022 4:32 AM"},
{"43543.503206018519", "[$-415]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 PM"},
{"43543.503206018519", "[$-415]mmmm dd yyyy h:mm AM/PM", "marzec 19 2019 12:04 PM"},
{"43543.503206018519", "[$-415]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-415]mmmmmm dd yyyy h:mm AM/PM", "marzec 19 2019 12:04 PM"},
{"44562.189571759256", "[$-16]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 AM"},
{"44562.189571759256", "[$-16]mmmm dd yyyy h:mm AM/PM", "janeiro 01 2022 4:32 AM"},
{"44562.189571759256", "[$-16]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 AM"},
{"44562.189571759256", "[$-16]mmmmmm dd yyyy h:mm AM/PM", "janeiro 01 2022 4:32 AM"},
{"43543.503206018519", "[$-16]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 PM"},
{"43543.503206018519", "[$-16]mmmm dd yyyy h:mm AM/PM", "março 19 2019 12:04 PM"},
{"43543.503206018519", "[$-16]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-16]mmmmmm dd yyyy h:mm AM/PM", "março 19 2019 12:04 PM"},
{"44562.189571759256", "[$-416]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 AM"},
{"44562.189571759256", "[$-416]mmmm dd yyyy h:mm AM/PM", "janeiro 01 2022 4:32 AM"},
{"44562.189571759256", "[$-416]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 AM"},
{"44562.189571759256", "[$-416]mmmmmm dd yyyy h:mm AM/PM", "janeiro 01 2022 4:32 AM"},
{"43543.503206018519", "[$-416]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 PM"},
{"43543.503206018519", "[$-416]mmmm dd yyyy h:mm AM/PM", "março 19 2019 12:04 PM"},
{"43543.503206018519", "[$-416]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-416]mmmmmm dd yyyy h:mm AM/PM", "março 19 2019 12:04 PM"},
{"44562.189571759256", "[$-816]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 AM"},
{"44562.189571759256", "[$-816]mmmm dd yyyy h:mm AM/PM", "janeiro 01 2022 4:32 AM"},
{"44562.189571759256", "[$-816]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 AM"},
{"44562.189571759256", "[$-816]mmmmmm dd yyyy h:mm AM/PM", "janeiro 01 2022 4:32 AM"},
{"43543.503206018519", "[$-816]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 PM"},
{"43543.503206018519", "[$-816]mmmm dd yyyy h:mm AM/PM", "março 19 2019 12:04 PM"},
{"43543.503206018519", "[$-816]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-816]mmmmmm dd yyyy h:mm AM/PM", "março 19 2019 12:04 PM"},
{"44562.189571759256", "[$-46]mmm dd yyyy h:mm AM/PM", "\u0A1C\u0A28\u0A35\u0A30\u0A40 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"44562.189571759256", "[$-46]mmmm dd yyyy h:mm AM/PM", "\u0A1C\u0A28\u0A35\u0A30\u0A40 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"44562.189571759256", "[$-46]mmmmm dd yyyy h:mm AM/PM", "\u0A1C 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"44562.189571759256", "[$-46]mmmmmm dd yyyy h:mm AM/PM", "\u0A1C\u0A28\u0A35\u0A30\u0A40 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"43543.503206018519", "[$-46]mmm dd yyyy h:mm AM/PM", "\u0A2E\u0A3E\u0A30\u0A1A 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"43543.503206018519", "[$-46]mmmm dd yyyy h:mm AM/PM", "\u0A2E\u0A3E\u0A30\u0A1A 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"43543.503206018519", "[$-46]mmmmm dd yyyy h:mm AM/PM", "\u0A2E 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"43543.503206018519", "[$-46]mmmmmm dd yyyy h:mm AM/PM", "\u0A2E\u0A3E\u0A30\u0A1A 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"44562.189571759256", "[$-7C46]mmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u06CC 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C46]mmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u06CC 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C46]mmmmm dd yyyy h:mm AM/PM", "\u062C 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C46]mmmmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u06CC 01 2022 4:32 AM"},
{"43543.503206018519", "[$-7C46]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C46]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C46]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C46]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"44562.189571759256", "[$-446]mmm dd yyyy h:mm AM/PM", "\u0A1C\u0A28\u0A35\u0A30\u0A40 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"44562.189571759256", "[$-446]mmmm dd yyyy h:mm AM/PM", "\u0A1C\u0A28\u0A35\u0A30\u0A40 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"44562.189571759256", "[$-446]mmmmm dd yyyy h:mm AM/PM", "\u0A1C 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"44562.189571759256", "[$-446]mmmmmm dd yyyy h:mm AM/PM", "\u0A1C\u0A28\u0A35\u0A30\u0A40 01 2022 4:32 \u0A38\u0A35\u0A47\u0A30"},
{"43543.503206018519", "[$-446]mmm dd yyyy h:mm AM/PM", "\u0A2E\u0A3E\u0A30\u0A1A 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"43543.503206018519", "[$-446]mmmm dd yyyy h:mm AM/PM", "\u0A2E\u0A3E\u0A30\u0A1A 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"43543.503206018519", "[$-446]mmmmm dd yyyy h:mm AM/PM", "\u0A2E 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"43543.503206018519", "[$-446]mmmmmm dd yyyy h:mm AM/PM", "\u0A2E\u0A3E\u0A30\u0A1A 19 2019 12:04 \u0A38\u0A3C\u0A3E\u0A2E"},
{"44562.189571759256", "[$-846]mmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u06CC 01 2022 4:32 AM"},
{"44562.189571759256", "[$-846]mmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u06CC 01 2022 4:32 AM"},
{"44562.189571759256", "[$-846]mmmmm dd yyyy h:mm AM/PM", "\u062C 01 2022 4:32 AM"},
{"44562.189571759256", "[$-846]mmmmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u06CC 01 2022 4:32 AM"},
{"43543.503206018519", "[$-846]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-846]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-846]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 PM"},
{"43543.503206018519", "[$-846]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"44562.189571759256", "[$-6B]mmm dd yyyy h:mm AM/PM", "Qul 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-6B]mmmm dd yyyy h:mm AM/PM", "Qulla puquy 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-6B]mmmmm dd yyyy h:mm AM/PM", "Q 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-6B]mmmmmm dd yyyy h:mm AM/PM", "Qulla puquy 01 2022 4:32 a.m."},
{"43543.503206018519", "[$-6B]mmm dd yyyy h:mm AM/PM", "Pau 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-6B]mmmm dd yyyy h:mm AM/PM", "Pauqar waray 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-6B]mmmmm dd yyyy h:mm AM/PM", "P 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-6B]mmmmmm dd yyyy h:mm AM/PM", "Pauqar waray 19 2019 12:04 p.m."},
{"44562.189571759256", "[$-46B]mmm dd yyyy h:mm AM/PM", "Qul 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-46B]mmmm dd yyyy h:mm AM/PM", "Qulla puquy 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-46B]mmmmm dd yyyy h:mm AM/PM", "Q 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-46B]mmmmmm dd yyyy h:mm AM/PM", "Qulla puquy 01 2022 4:32 a.m."},
{"43543.503206018519", "[$-46B]mmm dd yyyy h:mm AM/PM", "Pau 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-46B]mmmm dd yyyy h:mm AM/PM", "Pauqar waray 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-46B]mmmmm dd yyyy h:mm AM/PM", "P 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-46B]mmmmmm dd yyyy h:mm AM/PM", "Pauqar waray 19 2019 12:04 p.m."},
{"44562.189571759256", "[$-86B]mmm dd yyyy h:mm AM/PM", "kull 01 2022 4:32 AM"},
{"44562.189571759256", "[$-86B]mmmm dd yyyy h:mm AM/PM", "kulla 01 2022 4:32 AM"},
{"44562.189571759256", "[$-86B]mmmmm dd yyyy h:mm AM/PM", "k 01 2022 4:32 AM"},
{"44562.189571759256", "[$-86B]mmmmmm dd yyyy h:mm AM/PM", "kulla 01 2022 4:32 AM"},
{"43543.503206018519", "[$-86B]mmm dd yyyy h:mm AM/PM", "paw 19 2019 12:04 PM"},
{"43543.503206018519", "[$-86B]mmmm dd yyyy h:mm AM/PM", "pawkar 19 2019 12:04 PM"},
{"43543.503206018519", "[$-86B]mmmmm dd yyyy h:mm AM/PM", "p 19 2019 12:04 PM"},
{"43543.503206018519", "[$-86B]mmmmmm dd yyyy h:mm AM/PM", "pawkar 19 2019 12:04 PM"},
{"44562.189571759256", "[$-C6B]mmm dd yyyy h:mm AM/PM", "Qul 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-C6B]mmmm dd yyyy h:mm AM/PM", "Qulla puquy 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-C6B]mmmmm dd yyyy h:mm AM/PM", "Q 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-C6B]mmmmmm dd yyyy h:mm AM/PM", "Qulla puquy 01 2022 4:32 a.m."},
{"43543.503206018519", "[$-C6B]mmm dd yyyy h:mm AM/PM", "Pau 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-C6B]mmmm dd yyyy h:mm AM/PM", "Pauqar waray 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-C6B]mmmmm dd yyyy h:mm AM/PM", "P 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-C6B]mmmmmm dd yyyy h:mm AM/PM", "Pauqar waray 19 2019 12:04 p.m."},
{"44562.189571759256", "[$-18]mmm dd yyyy h:mm AM/PM", "ian. 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-18]mmmm dd yyyy h:mm AM/PM", "ianuarie 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-18]mmmmm dd yyyy h:mm AM/PM", "i 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-18]mmmmmm dd yyyy h:mm AM/PM", "ianuarie 01 2022 4:32 a.m."},
{"43543.503206018519", "[$-18]mmm dd yyyy h:mm AM/PM", "mar. 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-18]mmmm dd yyyy h:mm AM/PM", "martie 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-18]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-18]mmmmmm dd yyyy h:mm AM/PM", "martie 19 2019 12:04 p.m."},
{"44562.189571759256", "[$-818]mmm dd yyyy h:mm AM/PM", "ian. 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-818]mmmm dd yyyy h:mm AM/PM", "ianuarie 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-818]mmmmm dd yyyy h:mm AM/PM", "i 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-818]mmmmmm dd yyyy h:mm AM/PM", "ianuarie 01 2022 4:32 a.m."},
{"43543.503206018519", "[$-818]mmm dd yyyy h:mm AM/PM", "mar. 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-818]mmmm dd yyyy h:mm AM/PM", "martie 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-818]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-818]mmmmmm dd yyyy h:mm AM/PM", "martie 19 2019 12:04 p.m."},
{"44562.189571759256", "[$-418]mmm dd yyyy h:mm AM/PM", "ian. 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-418]mmmm dd yyyy h:mm AM/PM", "ianuarie 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-418]mmmmm dd yyyy h:mm AM/PM", "i 01 2022 4:32 a.m."},
{"44562.189571759256", "[$-418]mmmmmm dd yyyy h:mm AM/PM", "ianuarie 01 2022 4:32 a.m."},
{"43543.503206018519", "[$-418]mmm dd yyyy h:mm AM/PM", "mar. 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-418]mmmm dd yyyy h:mm AM/PM", "martie 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-418]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 p.m."},
{"43543.503206018519", "[$-418]mmmmmm dd yyyy h:mm AM/PM", "martie 19 2019 12:04 p.m."},
{"44562.189571759256", "[$-17]mmm dd yyyy h:mm AM/PM", "schan. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-17]mmmm dd yyyy h:mm AM/PM", "schaner 01 2022 4:32 AM"},
{"44562.189571759256", "[$-17]mmmmm dd yyyy h:mm AM/PM", "s 01 2022 4:32 AM"},
{"44562.189571759256", "[$-17]mmmmmm dd yyyy h:mm AM/PM", "schaner 01 2022 4:32 AM"},
{"43543.503206018519", "[$-17]mmm dd yyyy h:mm AM/PM", "mars 19 2019 12:04 PM"},
{"43543.503206018519", "[$-17]mmmm dd yyyy h:mm AM/PM", "mars 19 2019 12:04 PM"},
{"43543.503206018519", "[$-17]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-17]mmmmmm dd yyyy h:mm AM/PM", "mars 19 2019 12:04 PM"},
{"44562.189571759256", "[$-417]mmm dd yyyy h:mm AM/PM", "schan. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-417]mmmm dd yyyy h:mm AM/PM", "schaner 01 2022 4:32 AM"},
{"44562.189571759256", "[$-417]mmmmm dd yyyy h:mm AM/PM", "s 01 2022 4:32 AM"},
{"44562.189571759256", "[$-417]mmmmmm dd yyyy h:mm AM/PM", "schaner 01 2022 4:32 AM"},
{"43543.503206018519", "[$-417]mmm dd yyyy h:mm AM/PM", "mars 19 2019 12:04 PM"},
{"43543.503206018519", "[$-417]mmmm dd yyyy h:mm AM/PM", "mars 19 2019 12:04 PM"},
{"43543.503206018519", "[$-417]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-417]mmmmmm dd yyyy h:mm AM/PM", "mars 19 2019 12:04 PM"},
{"44562.189571759256", "[$-19]mmm dd yyyy h:mm AM/PM", "янв. 01 2022 4:32 AM"}, {"44562.189571759256", "[$-19]mmm dd yyyy h:mm AM/PM", "янв. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-19]mmmm dd yyyy h:mm AM/PM", "январь 01 2022 4:32 AM"}, {"44562.189571759256", "[$-19]mmmm dd yyyy h:mm AM/PM", "январь 01 2022 4:32 AM"},
{"44562.189571759256", "[$-19]mmmmm dd yyyy h:mm AM/PM", "я 01 2022 4:32 AM"}, {"44562.189571759256", "[$-19]mmmmm dd yyyy h:mm AM/PM", "я 01 2022 4:32 AM"},
{"43543.503206018519", "[$-19]mmm dd yyyy h:mm AM/PM", "март 19 2019 12:04 PM"}, {"43543.503206018519", "[$-19]mmm dd yyyy h:mm AM/PM", "март 19 2019 12:04 PM"},
{"43543.503206018519", "[$-19]mmmm dd yyyy h:mm AM/PM", "март 19 2019 12:04 PM"}, {"43543.503206018519", "[$-19]mmmm dd yyyy h:mm AM/PM", "март 19 2019 12:04 PM"},
{"43543.503206018519", "[$-19]mmmmm dd yyyy h:mm AM/PM", "м 19 2019 12:04 PM"}, {"43543.503206018519", "[$-19]mmmmm dd yyyy h:mm AM/PM", "м 19 2019 12:04 PM"},
{"44562.189571759256", "[$-85]mmm dd yyyy h:mm AM/PM", "\u0422\u0445\u0441 01 2022 4:32 \u041A\u0418"},
{"44562.189571759256", "[$-85]mmmm dd yyyy h:mm AM/PM", "\u0422\u043E\u0445\u0441\u0443\u043D\u043D\u044C\u0443 01 2022 4:32 \u041A\u0418"},
{"44562.189571759256", "[$-85]mmmmm dd yyyy h:mm AM/PM", "\u0422 01 2022 4:32 \u041A\u0418"},
{"44562.189571759256", "[$-85]mmmmmm dd yyyy h:mm AM/PM", "\u0422\u043E\u0445\u0441\u0443\u043D\u043D\u044C\u0443 01 2022 4:32 \u041A\u0418"},
{"43543.503206018519", "[$-85]mmm dd yyyy h:mm AM/PM", "\u041A\u043B\u043D 19 2019 12:04 \u041A\u041A"},
{"43543.503206018519", "[$-85]mmmm dd yyyy h:mm AM/PM", "\u041A\u0443\u043B\u0443\u043D \u0442\u0443\u0442\u0430\u0440 19 2019 12:04 \u041A\u041A"},
{"43543.503206018519", "[$-85]mmmmm dd yyyy h:mm AM/PM", "\u041A 19 2019 12:04 \u041A\u041A"},
{"43543.503206018519", "[$-85]mmmmmm dd yyyy h:mm AM/PM", "\u041A\u0443\u043B\u0443\u043D \u0442\u0443\u0442\u0430\u0440 19 2019 12:04 \u041A\u041A"},
{"44562.189571759256", "[$-485]mmm dd yyyy h:mm AM/PM", "\u0422\u0445\u0441 01 2022 4:32 \u041A\u0418"},
{"44562.189571759256", "[$-485]mmmm dd yyyy h:mm AM/PM", "\u0422\u043E\u0445\u0441\u0443\u043D\u043D\u044C\u0443 01 2022 4:32 \u041A\u0418"},
{"44562.189571759256", "[$-485]mmmmm dd yyyy h:mm AM/PM", "\u0422 01 2022 4:32 \u041A\u0418"},
{"44562.189571759256", "[$-485]mmmmmm dd yyyy h:mm AM/PM", "\u0422\u043E\u0445\u0441\u0443\u043D\u043D\u044C\u0443 01 2022 4:32 \u041A\u0418"},
{"43543.503206018519", "[$-485]mmm dd yyyy h:mm AM/PM", "\u041A\u043B\u043D 19 2019 12:04 \u041A\u041A"},
{"43543.503206018519", "[$-485]mmmm dd yyyy h:mm AM/PM", "\u041A\u0443\u043B\u0443\u043D \u0442\u0443\u0442\u0430\u0440 19 2019 12:04 \u041A\u041A"},
{"43543.503206018519", "[$-485]mmmmm dd yyyy h:mm AM/PM", "\u041A 19 2019 12:04 \u041A\u041A"},
{"43543.503206018519", "[$-485]mmmmmm dd yyyy h:mm AM/PM", "\u041A\u0443\u043B\u0443\u043D \u0442\u0443\u0442\u0430\u0440 19 2019 12:04 \u041A\u041A"},
{"44562.189571759256", "[$-703B]mmm dd yyyy h:mm AM/PM", "uđiv 01 2022 4:32 AM"},
{"44562.189571759256", "[$-703B]mmmm dd yyyy h:mm AM/PM", "uđđâivemáánu 01 2022 4:32 AM"},
{"44562.189571759256", "[$-703B]mmmmm dd yyyy h:mm AM/PM", "u 01 2022 4:32 AM"},
{"44562.189571759256", "[$-703B]mmmmmm dd yyyy h:mm AM/PM", "uđđâivemáánu 01 2022 4:32 AM"},
{"43543.503206018519", "[$-703B]mmm dd yyyy h:mm AM/PM", "njuh 19 2019 12:04 PM"},
{"43543.503206018519", "[$-703B]mmmm dd yyyy h:mm AM/PM", "njuhčâmáánu 19 2019 12:04 PM"},
{"43543.503206018519", "[$-703B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-703B]mmmmmm dd yyyy h:mm AM/PM", "njuhčâmáánu 19 2019 12:04 PM"},
{"44562.189571759256", "[$-243B]mmm dd yyyy h:mm AM/PM", "uđiv 01 2022 4:32 AM"},
{"44562.189571759256", "[$-243B]mmmm dd yyyy h:mm AM/PM", "uđđâivemáánu 01 2022 4:32 AM"},
{"44562.189571759256", "[$-243B]mmmmm dd yyyy h:mm AM/PM", "u 01 2022 4:32 AM"},
{"44562.189571759256", "[$-243B]mmmmmm dd yyyy h:mm AM/PM", "uđđâivemáánu 01 2022 4:32 AM"},
{"43543.503206018519", "[$-243B]mmm dd yyyy h:mm AM/PM", "njuh 19 2019 12:04 PM"},
{"43543.503206018519", "[$-243B]mmmm dd yyyy h:mm AM/PM", "njuhčâmáánu 19 2019 12:04 PM"},
{"43543.503206018519", "[$-243B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-243B]mmmmmm dd yyyy h:mm AM/PM", "njuhčâmáánu 19 2019 12:04 PM"},
{"44562.189571759256", "[$-7C3B]mmm dd yyyy h:mm AM/PM", "ådåj 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C3B]mmmm dd yyyy h:mm AM/PM", "ådåjakmánno 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C3B]mmmmm dd yyyy h:mm AM/PM", "å 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C3B]mmmmmm dd yyyy h:mm AM/PM", "ådåjakmánno 01 2022 4:32 AM"},
{"43543.503206018519", "[$-7C3B]mmm dd yyyy h:mm AM/PM", "snju 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C3B]mmmm dd yyyy h:mm AM/PM", "sjnjuktjamánno 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C3B]mmmmm dd yyyy h:mm AM/PM", "s 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C3B]mmmmmm dd yyyy h:mm AM/PM", "sjnjuktjamánno 19 2019 12:04 PM"},
{"44562.189571759256", "[$-103B]mmm dd yyyy h:mm AM/PM", "ådåj 01 2022 4:32 AM"},
{"44562.189571759256", "[$-103B]mmmm dd yyyy h:mm AM/PM", "ådåjakmánno 01 2022 4:32 AM"},
{"44562.189571759256", "[$-103B]mmmmm dd yyyy h:mm AM/PM", "å 01 2022 4:32 AM"},
{"44562.189571759256", "[$-103B]mmmmmm dd yyyy h:mm AM/PM", "ådåjakmánno 01 2022 4:32 AM"},
{"43543.503206018519", "[$-103B]mmm dd yyyy h:mm AM/PM", "snju 19 2019 12:04 PM"},
{"43543.503206018519", "[$-103B]mmmm dd yyyy h:mm AM/PM", "sjnjuktjamánno 19 2019 12:04 PM"},
{"43543.503206018519", "[$-103B]mmmmm dd yyyy h:mm AM/PM", "s 19 2019 12:04 PM"},
{"43543.503206018519", "[$-103B]mmmmmm dd yyyy h:mm AM/PM", "sjnjuktjamánno 19 2019 12:04 PM"},
{"44562.189571759256", "[$-143B]mmm dd yyyy h:mm AM/PM", "ådåj 01 2022 4:32 AM"},
{"44562.189571759256", "[$-143B]mmmm dd yyyy h:mm AM/PM", "ådåjakmánno 01 2022 4:32 AM"},
{"44562.189571759256", "[$-143B]mmmmm dd yyyy h:mm AM/PM", "å 01 2022 4:32 AM"},
{"44562.189571759256", "[$-143B]mmmmmm dd yyyy h:mm AM/PM", "ådåjakmánno 01 2022 4:32 AM"},
{"43543.503206018519", "[$-143B]mmm dd yyyy h:mm AM/PM", "snju 19 2019 12:04 PM"},
{"43543.503206018519", "[$-143B]mmmm dd yyyy h:mm AM/PM", "sjnjuktjamánno 19 2019 12:04 PM"},
{"43543.503206018519", "[$-143B]mmmmm dd yyyy h:mm AM/PM", "s 19 2019 12:04 PM"},
{"43543.503206018519", "[$-143B]mmmmmm dd yyyy h:mm AM/PM", "sjnjuktjamánno 19 2019 12:04 PM"},
{"44562.189571759256", "[$-3B]mmm dd yyyy h:mm AM/PM", "ođđj 01 2022 4:32 i.b."},
{"44562.189571759256", "[$-3B]mmmm dd yyyy h:mm AM/PM", "ođđajagemánnu 01 2022 4:32 i.b."},
{"44562.189571759256", "[$-3B]mmmmm dd yyyy h:mm AM/PM", "o 01 2022 4:32 i.b."},
{"44562.189571759256", "[$-3B]mmmmmm dd yyyy h:mm AM/PM", "ođđajagemánnu 01 2022 4:32 i.b."},
{"43543.503206018519", "[$-3B]mmm dd yyyy h:mm AM/PM", "njuk 19 2019 12:04 e.b."},
{"43543.503206018519", "[$-3B]mmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 e.b."},
{"43543.503206018519", "[$-3B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 e.b."},
{"43543.503206018519", "[$-3B]mmmmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 e.b."},
{"44562.189571759256", "[$-C3B]mmm dd yyyy h:mm AM/PM", "ođđj 01 2022 4:32 AM"},
{"44562.189571759256", "[$-C3B]mmmm dd yyyy h:mm AM/PM", "ođđajagemánu 01 2022 4:32 AM"},
{"44562.189571759256", "[$-C3B]mmmmm dd yyyy h:mm AM/PM", "o 01 2022 4:32 AM"},
{"44562.189571759256", "[$-C3B]mmmmmm dd yyyy h:mm AM/PM", "ođđajagemánu 01 2022 4:32 AM"},
{"43543.503206018519", "[$-C3B]mmm dd yyyy h:mm AM/PM", "njuk 19 2019 12:04 PM"},
{"43543.503206018519", "[$-C3B]mmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 PM"},
{"43543.503206018519", "[$-C3B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-C3B]mmmmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 PM"},
{"44562.189571759256", "[$-43B]mmm dd yyyy h:mm AM/PM", "ođđj 01 2022 4:32 i.b."},
{"44562.189571759256", "[$-43B]mmmm dd yyyy h:mm AM/PM", "ođđajagemánnu 01 2022 4:32 i.b."},
{"44562.189571759256", "[$-43B]mmmmm dd yyyy h:mm AM/PM", "o 01 2022 4:32 i.b."},
{"44562.189571759256", "[$-43B]mmmmmm dd yyyy h:mm AM/PM", "ođđajagemánnu 01 2022 4:32 i.b."},
{"43543.503206018519", "[$-43B]mmm dd yyyy h:mm AM/PM", "njuk 19 2019 12:04 e.b."},
{"43543.503206018519", "[$-43B]mmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 e.b."},
{"43543.503206018519", "[$-43B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 e.b."},
{"43543.503206018519", "[$-43B]mmmmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 e.b."},
{"44562.189571759256", "[$-83B]mmm dd yyyy h:mm AM/PM", "ođđj 01 2022 4:32 AM"},
{"44562.189571759256", "[$-83B]mmmm dd yyyy h:mm AM/PM", "ođđajagemánnu 01 2022 4:32 AM"},
{"44562.189571759256", "[$-83B]mmmmm dd yyyy h:mm AM/PM", "o 01 2022 4:32 AM"},
{"44562.189571759256", "[$-83B]mmmmmm dd yyyy h:mm AM/PM", "ođđajagemánnu 01 2022 4:32 AM"},
{"43543.503206018519", "[$-83B]mmm dd yyyy h:mm AM/PM", "njuk 19 2019 12:04 PM"},
{"43543.503206018519", "[$-83B]mmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 PM"},
{"43543.503206018519", "[$-83B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-83B]mmmmmm dd yyyy h:mm AM/PM", "njukčamánnu 19 2019 12:04 PM"},
{"44562.189571759256", "[$-743B]mmm dd yyyy h:mm AM/PM", "ođđee´jjmään 01 2022 4:32 AM"},
{"44562.189571759256", "[$-743B]mmmm dd yyyy h:mm AM/PM", "ođđee´jjmään 01 2022 4:32 AM"},
{"44562.189571759256", "[$-743B]mmmmm dd yyyy h:mm AM/PM", "o 01 2022 4:32 AM"},
{"44562.189571759256", "[$-743B]mmmmmm dd yyyy h:mm AM/PM", "ođđee´jjmään 01 2022 4:32 AM"},
{"43543.503206018519", "[$-743B]mmm dd yyyy h:mm AM/PM", "pâ´zzlâšttam-mään 19 2019 12:04 PM"},
{"43543.503206018519", "[$-743B]mmmm dd yyyy h:mm AM/PM", "pâ´zzlâšttam-mään 19 2019 12:04 PM"},
{"43543.503206018519", "[$-743B]mmmmm dd yyyy h:mm AM/PM", "p 19 2019 12:04 PM"},
{"43543.503206018519", "[$-743B]mmmmmm dd yyyy h:mm AM/PM", "pâ´zzlâšttam-mään 19 2019 12:04 PM"},
{"44562.189571759256", "[$-203B]mmm dd yyyy h:mm AM/PM", "ođđee´jjmään 01 2022 4:32 AM"},
{"44562.189571759256", "[$-203B]mmmm dd yyyy h:mm AM/PM", "ođđee´jjmään 01 2022 4:32 AM"},
{"44562.189571759256", "[$-203B]mmmmm dd yyyy h:mm AM/PM", "o 01 2022 4:32 AM"},
{"44562.189571759256", "[$-203B]mmmmmm dd yyyy h:mm AM/PM", "ođđee´jjmään 01 2022 4:32 AM"},
{"43543.503206018519", "[$-203B]mmm dd yyyy h:mm AM/PM", "pâ´zzlâšttam-mään 19 2019 12:04 PM"},
{"43543.503206018519", "[$-203B]mmmm dd yyyy h:mm AM/PM", "pâ´zzlâšttam-mään 19 2019 12:04 PM"},
{"43543.503206018519", "[$-203B]mmmmm dd yyyy h:mm AM/PM", "p 19 2019 12:04 PM"},
{"43543.503206018519", "[$-203B]mmmmmm dd yyyy h:mm AM/PM", "pâ´zzlâšttam-mään 19 2019 12:04 PM"},
{"44562.189571759256", "[$-783B]mmm dd yyyy h:mm AM/PM", "tsïen 01 2022 4:32 AM"},
{"44562.189571759256", "[$-783B]mmmm dd yyyy h:mm AM/PM", "tsïengele 01 2022 4:32 AM"},
{"44562.189571759256", "[$-783B]mmmmm dd yyyy h:mm AM/PM", "t 01 2022 4:32 AM"},
{"44562.189571759256", "[$-783B]mmmmmm dd yyyy h:mm AM/PM", "tsïengele 01 2022 4:32 AM"},
{"43543.503206018519", "[$-783B]mmm dd yyyy h:mm AM/PM", "njok 19 2019 12:04 PM"},
{"43543.503206018519", "[$-783B]mmmm dd yyyy h:mm AM/PM", "njoktje 19 2019 12:04 PM"},
{"43543.503206018519", "[$-783B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-783B]mmmmmm dd yyyy h:mm AM/PM", "njoktje 19 2019 12:04 PM"},
{"44562.189571759256", "[$-183B]mmm dd yyyy h:mm AM/PM", "tsïen 01 2022 4:32 AM"},
{"44562.189571759256", "[$-183B]mmmm dd yyyy h:mm AM/PM", "tsïengele 01 2022 4:32 AM"},
{"44562.189571759256", "[$-183B]mmmmm dd yyyy h:mm AM/PM", "t 01 2022 4:32 AM"},
{"44562.189571759256", "[$-183B]mmmmmm dd yyyy h:mm AM/PM", "tsïengele 01 2022 4:32 AM"},
{"43543.503206018519", "[$-183B]mmm dd yyyy h:mm AM/PM", "njok 19 2019 12:04 PM"},
{"43543.503206018519", "[$-183B]mmmm dd yyyy h:mm AM/PM", "njoktje 19 2019 12:04 PM"},
{"43543.503206018519", "[$-183B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-183B]mmmmmm dd yyyy h:mm AM/PM", "njoktje 19 2019 12:04 PM"},
{"44562.189571759256", "[$-1C3B]mmm dd yyyy h:mm AM/PM", "tsïen 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1C3B]mmmm dd yyyy h:mm AM/PM", "tsïengele 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1C3B]mmmmm dd yyyy h:mm AM/PM", "t 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1C3B]mmmmmm dd yyyy h:mm AM/PM", "tsïengele 01 2022 4:32 AM"},
{"43543.503206018519", "[$-1C3B]mmm dd yyyy h:mm AM/PM", "njok 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1C3B]mmmm dd yyyy h:mm AM/PM", "njoktje 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1C3B]mmmmm dd yyyy h:mm AM/PM", "n 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1C3B]mmmmmm dd yyyy h:mm AM/PM", "njoktje 19 2019 12:04 PM"},
{"44562.189571759256", "[$-4F]mmm dd yyyy h:mm AM/PM", "\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"44562.189571759256", "[$-4F]mmmm dd yyyy h:mm AM/PM", "\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"44562.189571759256", "[$-4F]mmmmm dd yyyy h:mm AM/PM", "\u091C 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"44562.189571759256", "[$-4F]mmmmmm dd yyyy h:mm AM/PM", "\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"43543.503206018519", "[$-4F]mmm dd yyyy h:mm AM/PM", "\u092E\u093E\u0930\u094D\u091A 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"43543.503206018519", "[$-4F]mmmm dd yyyy h:mm AM/PM", "\u092E\u093E\u0930\u094D\u091A 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"43543.503206018519", "[$-4F]mmmmm dd yyyy h:mm AM/PM", "\u092E 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"43543.503206018519", "[$-4F]mmmmmm dd yyyy h:mm AM/PM", "\u092E\u093E\u0930\u094D\u091A 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"44562.189571759256", "[$-44F]mmm dd yyyy h:mm AM/PM", "\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"44562.189571759256", "[$-44F]mmmm dd yyyy h:mm AM/PM", "\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"44562.189571759256", "[$-44F]mmmmm dd yyyy h:mm AM/PM", "\u091C 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"44562.189571759256", "[$-44F]mmmmmm dd yyyy h:mm AM/PM", "\u091C\u093E\u0928\u094D\u092F\u0941\u0905\u0930\u0940 01 2022 4:32 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u0942\u0930\u094D\u0935"},
{"43543.503206018519", "[$-44F]mmm dd yyyy h:mm AM/PM", "\u092E\u093E\u0930\u094D\u091A 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"43543.503206018519", "[$-44F]mmmm dd yyyy h:mm AM/PM", "\u092E\u093E\u0930\u094D\u091A 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"43543.503206018519", "[$-44F]mmmmm dd yyyy h:mm AM/PM", "\u092E 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"43543.503206018519", "[$-44F]mmmmmm dd yyyy h:mm AM/PM", "\u092E\u093E\u0930\u094D\u091A 19 2019 12:04 \u092E\u0927\u094D\u092F\u093E\u0928\u092A\u091A\u094D\u092F\u093E\u0924"},
{"44562.189571759256", "[$-91]mmm dd yyyy h:mm AM/PM", "Faoi 01 2022 4:32 m"},
{"44562.189571759256", "[$-91]mmmm dd yyyy h:mm AM/PM", "Am Faoilleach 01 2022 4:32 m"},
{"44562.189571759256", "[$-91]mmmmm dd yyyy h:mm AM/PM", "A 01 2022 4:32 m"},
{"44562.189571759256", "[$-91]mmmmmm dd yyyy h:mm AM/PM", "Am Faoilleach 01 2022 4:32 m"},
{"43543.503206018519", "[$-91]mmm dd yyyy h:mm AM/PM", "Màrt 19 2019 12:04 f"},
{"43543.503206018519", "[$-91]mmmm dd yyyy h:mm AM/PM", "Am Màrt 19 2019 12:04 f"},
{"43543.503206018519", "[$-91]mmmmm dd yyyy h:mm AM/PM", "A 19 2019 12:04 f"},
{"43543.503206018519", "[$-91]mmmmmm dd yyyy h:mm AM/PM", "Am Màrt 19 2019 12:04 f"},
{"44562.189571759256", "[$-491]mmm dd yyyy h:mm AM/PM", "Faoi 01 2022 4:32 m"},
{"44562.189571759256", "[$-491]mmmm dd yyyy h:mm AM/PM", "Am Faoilleach 01 2022 4:32 m"},
{"44562.189571759256", "[$-491]mmmmm dd yyyy h:mm AM/PM", "A 01 2022 4:32 m"},
{"44562.189571759256", "[$-491]mmmmmm dd yyyy h:mm AM/PM", "Am Faoilleach 01 2022 4:32 m"},
{"43543.503206018519", "[$-491]mmm dd yyyy h:mm AM/PM", "Màrt 19 2019 12:04 f"},
{"43543.503206018519", "[$-491]mmmm dd yyyy h:mm AM/PM", "Am Màrt 19 2019 12:04 f"},
{"43543.503206018519", "[$-491]mmmmm dd yyyy h:mm AM/PM", "A 19 2019 12:04 f"},
{"43543.503206018519", "[$-491]mmmmmm dd yyyy h:mm AM/PM", "Am Màrt 19 2019 12:04 f"},
{"44562.189571759256", "[$-6C1A]mmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-6C1A]mmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"44562.189571759256", "[$-6C1A]mmmmm dd yyyy h:mm AM/PM", "\u0458 01 2022 4:32 AM"},
{"44562.189571759256", "[$-6C1A]mmmmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"43543.503206018519", "[$-6C1A]mmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-6C1A]mmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-6C1A]mmmmm dd yyyy h:mm AM/PM", "\u043C 19 2019 12:04 PM"},
{"43543.503206018519", "[$-6C1A]mmmmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"44562.189571759256", "[$-1C1A]mmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1C1A]mmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1C1A]mmmmm dd yyyy h:mm AM/PM", "\u0458 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1C1A]mmmmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"43543.503206018519", "[$-1C1A]mmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1C1A]mmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1C1A]mmmmm dd yyyy h:mm AM/PM", "\u043C 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1C1A]mmmmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"44562.189571759256", "[$-301A]mmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-301A]mmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"44562.189571759256", "[$-301A]mmmmm dd yyyy h:mm AM/PM", "\u0458 01 2022 4:32 AM"},
{"44562.189571759256", "[$-301A]mmmmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"43543.503206018519", "[$-301A]mmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-301A]mmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-301A]mmmmm dd yyyy h:mm AM/PM", "\u043C 19 2019 12:04 PM"},
{"43543.503206018519", "[$-301A]mmmmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"44562.189571759256", "[$-281A]mmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-281A]mmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"44562.189571759256", "[$-281A]mmmmm dd yyyy h:mm AM/PM", "\u0458 01 2022 4:32 AM"},
{"44562.189571759256", "[$-281A]mmmmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"43543.503206018519", "[$-281A]mmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-281A]mmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-281A]mmmmm dd yyyy h:mm AM/PM", "\u043C 19 2019 12:04 PM"},
{"43543.503206018519", "[$-281A]mmmmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"44562.189571759256", "[$-C1A]mmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-C1A]mmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"44562.189571759256", "[$-C1A]mmmmm dd yyyy h:mm AM/PM", "\u0458 01 2022 4:32 AM"},
{"44562.189571759256", "[$-C1A]mmmmmm dd yyyy h:mm AM/PM", "\u0458\u0430\u043D\u0443\u0430\u0440 01 2022 4:32 AM"},
{"43543.503206018519", "[$-C1A]mmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-C1A]mmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"43543.503206018519", "[$-C1A]mmmmm dd yyyy h:mm AM/PM", "\u043C 19 2019 12:04 PM"},
{"43543.503206018519", "[$-C1A]mmmmmm dd yyyy h:mm AM/PM", "\u043C\u0430\u0440\u0442 19 2019 12:04 PM"},
{"44562.189571759256", "[$-701A]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-701A]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-701A]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-701A]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 pre podne"},
{"43543.503206018519", "[$-701A]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-701A]mmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-701A]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-701A]mmmmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"44562.189571759256", "[$-7C1A]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-7C1A]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-7C1A]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-7C1A]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 pre podne"},
{"43543.503206018519", "[$-7C1A]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-7C1A]mmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-7C1A]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-7C1A]mmmmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"44562.189571759256", "[$-181A]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 prije podne"},
{"44562.189571759256", "[$-181A]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 prije podne"},
{"44562.189571759256", "[$-181A]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 prije podne"},
{"44562.189571759256", "[$-181A]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 prije podne"},
{"43543.503206018519", "[$-181A]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-181A]mmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-181A]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-181A]mmmmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"44562.189571759256", "[$-2C1A]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 prije podne"},
{"44562.189571759256", "[$-2C1A]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 prije podne"},
{"44562.189571759256", "[$-2C1A]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 prije podne"},
{"44562.189571759256", "[$-2C1A]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 prije podne"},
{"43543.503206018519", "[$-2C1A]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-2C1A]mmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-2C1A]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-2C1A]mmmmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"44562.189571759256", "[$-241A]mmm dd yyyy h:mm AM/PM", "jan 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-241A]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-241A]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 pre podne"},
{"44562.189571759256", "[$-241A]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 pre podne"},
{"43543.503206018519", "[$-241A]mmm dd yyyy h:mm AM/PM", "mar 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-241A]mmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-241A]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 po podne"},
{"43543.503206018519", "[$-241A]mmmmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 po podne"},
{"44562.189571759256", "[$-81A]mmm dd yyyy h:mm AM/PM", "jan. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-81A]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 AM"},
{"44562.189571759256", "[$-81A]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 AM"},
{"44562.189571759256", "[$-81A]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 AM"},
{"43543.503206018519", "[$-81A]mmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 PM"},
{"43543.503206018519", "[$-81A]mmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 PM"},
{"43543.503206018519", "[$-81A]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-81A]mmmmmm dd yyyy h:mm AM/PM", "mart 19 2019 12:04 PM"},
{"44562.189571759256", "[$-6C]mmm dd yyyy h:mm AM/PM", "Jan 01 2022 4:32 AM"},
{"44562.189571759256", "[$-6C]mmmm dd yyyy h:mm AM/PM", "Janaware 01 2022 4:32 AM"},
{"44562.189571759256", "[$-6C]mmmmm dd yyyy h:mm AM/PM", "J 01 2022 4:32 AM"},
{"44562.189571759256", "[$-6C]mmmmmm dd yyyy h:mm AM/PM", "Janaware 01 2022 4:32 AM"},
{"43543.503206018519", "[$-6C]mmm dd yyyy h:mm AM/PM", "Matš 19 2019 12:04 PM"},
{"43543.503206018519", "[$-6C]mmmm dd yyyy h:mm AM/PM", "Matšhe 19 2019 12:04 PM"},
{"43543.503206018519", "[$-6C]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 PM"},
{"43543.503206018519", "[$-6C]mmmmmm dd yyyy h:mm AM/PM", "Matšhe 19 2019 12:04 PM"},
{"44562.189571759256", "[$-46C]mmm dd yyyy h:mm AM/PM", "Jan 01 2022 4:32 AM"},
{"44562.189571759256", "[$-46C]mmmm dd yyyy h:mm AM/PM", "Janaware 01 2022 4:32 AM"},
{"44562.189571759256", "[$-46C]mmmmm dd yyyy h:mm AM/PM", "J 01 2022 4:32 AM"},
{"44562.189571759256", "[$-46C]mmmmmm dd yyyy h:mm AM/PM", "Janaware 01 2022 4:32 AM"},
{"43543.503206018519", "[$-46C]mmm dd yyyy h:mm AM/PM", "Matš 19 2019 12:04 PM"},
{"43543.503206018519", "[$-46C]mmmm dd yyyy h:mm AM/PM", "Matšhe 19 2019 12:04 PM"},
{"43543.503206018519", "[$-46C]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 PM"},
{"43543.503206018519", "[$-46C]mmmmmm dd yyyy h:mm AM/PM", "Matšhe 19 2019 12:04 PM"},
{"44562.189571759256", "[$-32]mmm dd yyyy h:mm AM/PM", "Fer. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-32]mmmm dd yyyy h:mm AM/PM", "Ferikgong 01 2022 4:32 AM"},
{"44562.189571759256", "[$-32]mmmmm dd yyyy h:mm AM/PM", "F 01 2022 4:32 AM"},
{"44562.189571759256", "[$-32]mmmmmm dd yyyy h:mm AM/PM", "Ferikgong 01 2022 4:32 AM"},
{"43543.503206018519", "[$-32]mmm dd yyyy h:mm AM/PM", "Mop. 19 2019 12:04 PM"},
{"43543.503206018519", "[$-32]mmmm dd yyyy h:mm AM/PM", "Mopitlwe 19 2019 12:04 PM"},
{"43543.503206018519", "[$-32]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 PM"},
{"43543.503206018519", "[$-32]mmmmmm dd yyyy h:mm AM/PM", "Mopitlwe 19 2019 12:04 PM"},
{"44562.189571759256", "[$-832]mmm dd yyyy h:mm AM/PM", "Fer. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-832]mmmm dd yyyy h:mm AM/PM", "Ferikgong 01 2022 4:32 AM"},
{"44562.189571759256", "[$-832]mmmmm dd yyyy h:mm AM/PM", "F 01 2022 4:32 AM"},
{"44562.189571759256", "[$-832]mmmmmm dd yyyy h:mm AM/PM", "Ferikgong 01 2022 4:32 AM"},
{"43543.503206018519", "[$-832]mmm dd yyyy h:mm AM/PM", "Mop. 19 2019 12:04 PM"},
{"43543.503206018519", "[$-832]mmmm dd yyyy h:mm AM/PM", "Mopitlwe 19 2019 12:04 PM"},
{"43543.503206018519", "[$-832]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 PM"},
{"43543.503206018519", "[$-832]mmmmmm dd yyyy h:mm AM/PM", "Mopitlwe 19 2019 12:04 PM"},
{"44562.189571759256", "[$-432]mmm dd yyyy h:mm AM/PM", "Fer. 01 2022 4:32 AM"},
{"44562.189571759256", "[$-432]mmmm dd yyyy h:mm AM/PM", "Ferikgong 01 2022 4:32 AM"},
{"44562.189571759256", "[$-432]mmmmm dd yyyy h:mm AM/PM", "F 01 2022 4:32 AM"},
{"44562.189571759256", "[$-432]mmmmmm dd yyyy h:mm AM/PM", "Ferikgong 01 2022 4:32 AM"},
{"43543.503206018519", "[$-432]mmm dd yyyy h:mm AM/PM", "Mop. 19 2019 12:04 PM"},
{"43543.503206018519", "[$-432]mmmm dd yyyy h:mm AM/PM", "Mopitlwe 19 2019 12:04 PM"},
{"43543.503206018519", "[$-432]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 PM"},
{"43543.503206018519", "[$-432]mmmmmm dd yyyy h:mm AM/PM", "Mopitlwe 19 2019 12:04 PM"},
{"44562.189571759256", "[$-59]mmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"44562.189571759256", "[$-59]mmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"44562.189571759256", "[$-59]mmmmm dd yyyy h:mm AM/PM", "\u062C 01 2022 4:32 AM"},
{"44562.189571759256", "[$-59]mmmmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"43543.503206018519", "[$-59]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-59]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-59]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 PM"},
{"43543.503206018519", "[$-59]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"44562.189571759256", "[$-7C59]mmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C59]mmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C59]mmmmm dd yyyy h:mm AM/PM", "\u062C 01 2022 4:32 AM"},
{"44562.189571759256", "[$-7C59]mmmmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"43543.503206018519", "[$-7C59]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C59]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C59]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 PM"},
{"43543.503206018519", "[$-7C59]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"44562.189571759256", "[$-859]mmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"44562.189571759256", "[$-859]mmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"44562.189571759256", "[$-859]mmmmm dd yyyy h:mm AM/PM", "\u062C 01 2022 4:32 AM"},
{"44562.189571759256", "[$-859]mmmmmm dd yyyy h:mm AM/PM", "\u062C\u0646\u0648\u0631\u064A 01 2022 4:32 AM"},
{"43543.503206018519", "[$-859]mmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-859]mmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"43543.503206018519", "[$-859]mmmmm dd yyyy h:mm AM/PM", "\u0645 19 2019 12:04 PM"},
{"43543.503206018519", "[$-859]mmmmmm dd yyyy h:mm AM/PM", "\u0645\u0627\u0631\u0686 19 2019 12:04 PM"},
{"44562.189571759256", "[$-5B]mmm dd yyyy h:mm AM/PM", "\u0DA2\u0DB1. 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"44562.189571759256", "[$-5B]mmmm dd yyyy h:mm AM/PM", "\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"44562.189571759256", "[$-5B]mmmmm dd yyyy h:mm AM/PM", "\u0DA2 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"44562.189571759256", "[$-5B]mmmmmm dd yyyy h:mm AM/PM", "\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"43543.503206018519", "[$-5B]mmm dd yyyy h:mm AM/PM", "\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4. 19 2019 12:04 \u0DB4.\u0DC0."},
{"43543.503206018519", "[$-5B]mmmm dd yyyy h:mm AM/PM", "\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4 19 2019 12:04 \u0DB4.\u0DC0."},
{"43543.503206018519", "[$-5B]mmmmm dd yyyy h:mm AM/PM", "\u0DB8 19 2019 12:04 \u0DB4.\u0DC0."},
{"43543.503206018519", "[$-5B]mmmmmm dd yyyy h:mm AM/PM", "\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4 19 2019 12:04 \u0DB4.\u0DC0."},
{"44562.189571759256", "[$-45B]mmm dd yyyy h:mm AM/PM", "\u0DA2\u0DB1. 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"44562.189571759256", "[$-45B]mmmm dd yyyy h:mm AM/PM", "\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"44562.189571759256", "[$-45B]mmmmm dd yyyy h:mm AM/PM", "\u0DA2 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"44562.189571759256", "[$-45B]mmmmmm dd yyyy h:mm AM/PM", "\u0DA2\u0DB1\u0DC0\u0DCF\u0DBB\u0DD2 01 2022 4:32 \u0DB4\u0DD9.\u0DC0."},
{"43543.503206018519", "[$-45B]mmm dd yyyy h:mm AM/PM", "\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4. 19 2019 12:04 \u0DB4.\u0DC0."},
{"43543.503206018519", "[$-45B]mmmm dd yyyy h:mm AM/PM", "\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4 19 2019 12:04 \u0DB4.\u0DC0."},
{"43543.503206018519", "[$-45B]mmmmm dd yyyy h:mm AM/PM", "\u0DB8 19 2019 12:04 \u0DB4.\u0DC0."},
{"43543.503206018519", "[$-45B]mmmmmm dd yyyy h:mm AM/PM", "\u0DB8\u0DCF\u0DBB\u0DCA\u0DAD\u0DD4 19 2019 12:04 \u0DB4.\u0DC0."},
{"44562.189571759256", "[$-1B]mmm dd yyyy h:mm AM/PM", "1 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1B]mmmm dd yyyy h:mm AM/PM", "január 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1B]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 AM"},
{"44562.189571759256", "[$-1B]mmmmmm dd yyyy h:mm AM/PM", "január 01 2022 4:32 AM"},
{"43543.503206018519", "[$-1B]mmm dd yyyy h:mm AM/PM", "3 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1B]mmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1B]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-1B]mmmmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 PM"},
{"44562.189571759256", "[$-41B]mmm dd yyyy h:mm AM/PM", "1 01 2022 4:32 AM"},
{"44562.189571759256", "[$-41B]mmmm dd yyyy h:mm AM/PM", "január 01 2022 4:32 AM"},
{"44562.189571759256", "[$-41B]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 AM"},
{"44562.189571759256", "[$-41B]mmmmmm dd yyyy h:mm AM/PM", "január 01 2022 4:32 AM"},
{"43543.503206018519", "[$-41B]mmm dd yyyy h:mm AM/PM", "3 19 2019 12:04 PM"},
{"43543.503206018519", "[$-41B]mmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 PM"},
{"43543.503206018519", "[$-41B]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 PM"},
{"43543.503206018519", "[$-41B]mmmmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 PM"},
{"44562.189571759256", "[$-24]mmm dd yyyy h:mm AM/PM", "jan. 01 2022 4:32 dop."},
{"44562.189571759256", "[$-24]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 dop."},
{"44562.189571759256", "[$-24]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 dop."},
{"44562.189571759256", "[$-24]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 dop."},
{"43543.503206018519", "[$-24]mmm dd yyyy h:mm AM/PM", "mar. 19 2019 12:04 pop."},
{"43543.503206018519", "[$-24]mmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 pop."},
{"43543.503206018519", "[$-24]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 pop."},
{"43543.503206018519", "[$-24]mmmmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 pop."},
{"44562.189571759256", "[$-424]mmm dd yyyy h:mm AM/PM", "jan. 01 2022 4:32 dop."},
{"44562.189571759256", "[$-424]mmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 dop."},
{"44562.189571759256", "[$-424]mmmmm dd yyyy h:mm AM/PM", "j 01 2022 4:32 dop."},
{"44562.189571759256", "[$-424]mmmmmm dd yyyy h:mm AM/PM", "januar 01 2022 4:32 dop."},
{"43543.503206018519", "[$-424]mmm dd yyyy h:mm AM/PM", "mar. 19 2019 12:04 pop."},
{"43543.503206018519", "[$-424]mmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 pop."},
{"43543.503206018519", "[$-424]mmmmm dd yyyy h:mm AM/PM", "m 19 2019 12:04 pop."},
{"43543.503206018519", "[$-424]mmmmmm dd yyyy h:mm AM/PM", "marec 19 2019 12:04 pop."},
{"44562.189571759256", "[$-77]mmm dd yyyy h:mm AM/PM", "Jan 01 2022 4:32 GH"},
{"44562.189571759256", "[$-77]mmmm dd yyyy h:mm AM/PM", "Jannaayo 01 2022 4:32 GH"},
{"44562.189571759256", "[$-77]mmmmm dd yyyy h:mm AM/PM", "J 01 2022 4:32 GH"},
{"44562.189571759256", "[$-77]mmmmmm dd yyyy h:mm AM/PM", "Jannaayo 01 2022 4:32 GH"},
{"43543.503206018519", "[$-77]mmm dd yyyy h:mm AM/PM", "Mar 19 2019 12:04 GD"},
{"43543.503206018519", "[$-77]mmmm dd yyyy h:mm AM/PM", "Maarso 19 2019 12:04 GD"},
{"43543.503206018519", "[$-77]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 GD"},
{"43543.503206018519", "[$-77]mmmmmm dd yyyy h:mm AM/PM", "Maarso 19 2019 12:04 GD"},
{"44562.189571759256", "[$-477]mmm dd yyyy h:mm AM/PM", "Jan 01 2022 4:32 GH"},
{"44562.189571759256", "[$-477]mmmm dd yyyy h:mm AM/PM", "Jannaayo 01 2022 4:32 GH"},
{"44562.189571759256", "[$-477]mmmmm dd yyyy h:mm AM/PM", "J 01 2022 4:32 GH"},
{"44562.189571759256", "[$-477]mmmmmm dd yyyy h:mm AM/PM", "Jannaayo 01 2022 4:32 GH"},
{"43543.503206018519", "[$-477]mmm dd yyyy h:mm AM/PM", "Mar 19 2019 12:04 GD"},
{"43543.503206018519", "[$-477]mmmm dd yyyy h:mm AM/PM", "Maarso 19 2019 12:04 GD"},
{"43543.503206018519", "[$-477]mmmmm dd yyyy h:mm AM/PM", "M 19 2019 12:04 GD"},
{"43543.503206018519", "[$-477]mmmmmm dd yyyy h:mm AM/PM", "Maarso 19 2019 12:04 GD"},
{"44562.189571759256", "[$-A]mmm dd yyyy h:mm AM/PM", "ene 01 2022 4:32 a. m."}, {"44562.189571759256", "[$-A]mmm dd yyyy h:mm AM/PM", "ene 01 2022 4:32 a. m."},
{"44562.189571759256", "[$-A]mmmm dd yyyy h:mm AM/PM", "enero 01 2022 4:32 a. m."}, {"44562.189571759256", "[$-A]mmmm dd yyyy h:mm AM/PM", "enero 01 2022 4:32 a. m."},
{"44562.189571759256", "[$-A]mmmmm dd yyyy h:mm AM/PM", "e 01 2022 4:32 a. m."}, {"44562.189571759256", "[$-A]mmmmm dd yyyy h:mm AM/PM", "e 01 2022 4:32 a. m."},

View File

@ -639,11 +639,11 @@ func (f *File) DeletePicture(sheet, cell string) error {
// embed in spreadsheet by given coordinates and drawing relationships. // embed in spreadsheet by given coordinates and drawing relationships.
func (f *File) getPicture(row, col int, drawingXML, drawingRelationships string) (pics []Picture, err error) { func (f *File) getPicture(row, col int, drawingXML, drawingRelationships string) (pics []Picture, err error) {
var ( var (
wsDr *xlsxWsDr ok bool
ok bool deWsDr *decodeWsDr
deWsDr *decodeWsDr deCellAnchor *decodeCellAnchor
drawRel *xlsxRelationship drawRel *xlsxRelationship
deTwoCellAnchor *decodeTwoCellAnchor wsDr *xlsxWsDr
) )
if wsDr, _, err = f.drawingParser(drawingXML); err != nil { if wsDr, _, err = f.drawingParser(drawingXML); err != nil {
@ -658,26 +658,32 @@ func (f *File) getPicture(row, col int, drawingXML, drawingRelationships string)
return return
} }
err = nil err = nil
for _, anchor := range deWsDr.TwoCellAnchor { extractAnchor := func(anchor *decodeCellAnchor) {
deTwoCellAnchor = new(decodeTwoCellAnchor) deCellAnchor = new(decodeCellAnchor)
if err = f.xmlNewDecoder(strings.NewReader("<decodeTwoCellAnchor>" + anchor.Content + "</decodeTwoCellAnchor>")). if err := f.xmlNewDecoder(strings.NewReader("<decodeCellAnchor>" + anchor.Content + "</decodeCellAnchor>")).
Decode(deTwoCellAnchor); err != nil && err != io.EOF { Decode(deCellAnchor); err != nil && err != io.EOF {
return return
} }
if err = nil; deTwoCellAnchor.From != nil && deTwoCellAnchor.Pic != nil { if err = nil; deCellAnchor.From != nil && deCellAnchor.Pic != nil {
if deTwoCellAnchor.From.Col == col && deTwoCellAnchor.From.Row == row { if deCellAnchor.From.Col == col && deCellAnchor.From.Row == row {
drawRel = f.getDrawingRelationships(drawingRelationships, deTwoCellAnchor.Pic.BlipFill.Blip.Embed) drawRel = f.getDrawingRelationships(drawingRelationships, deCellAnchor.Pic.BlipFill.Blip.Embed)
if _, ok = supportedImageTypes[strings.ToLower(filepath.Ext(drawRel.Target))]; ok { if _, ok = supportedImageTypes[strings.ToLower(filepath.Ext(drawRel.Target))]; ok {
pic := Picture{Extension: filepath.Ext(drawRel.Target), Format: &GraphicOptions{}} pic := Picture{Extension: filepath.Ext(drawRel.Target), Format: &GraphicOptions{}}
if buffer, _ := f.Pkg.Load(strings.ReplaceAll(drawRel.Target, "..", "xl")); buffer != nil { if buffer, _ := f.Pkg.Load(strings.ReplaceAll(drawRel.Target, "..", "xl")); buffer != nil {
pic.File = buffer.([]byte) pic.File = buffer.([]byte)
pic.Format.AltText = deTwoCellAnchor.Pic.NvPicPr.CNvPr.Descr pic.Format.AltText = deCellAnchor.Pic.NvPicPr.CNvPr.Descr
pics = append(pics, pic) pics = append(pics, pic)
} }
} }
} }
} }
} }
for _, anchor := range deWsDr.TwoCellAnchor {
extractAnchor(anchor)
}
for _, anchor := range deWsDr.OneCellAnchor {
extractAnchor(anchor)
}
return return
} }

View File

@ -169,6 +169,14 @@ func TestGetPicture(t *testing.T) {
assert.Len(t, pics, 0) assert.Len(t, pics, 0)
assert.NoError(t, f.Close()) assert.NoError(t, f.Close())
// Try to get picture with one cell anchor
f, err = OpenFile(filepath.Join("test", "TestGetPicture.xlsx"))
assert.NoError(t, err)
f.Pkg.Store("xl/drawings/drawing2.xml", []byte(`<xdr:wsDr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><xdr:oneCellAnchor><xdr:from><xdr:col>10</xdr:col><xdr:row>15</xdr:row></xdr:from><xdr:to><xdr:col>13</xdr:col><xdr:row>22</xdr:row></xdr:to><xdr:pic><xdr:nvPicPr><xdr:cNvPr id="2"></xdr:cNvPr></xdr:nvPicPr><xdr:blipFill><a:blip r:embed="rId1"></a:blip></xdr:blipFill></xdr:pic></xdr:oneCellAnchor></xdr:wsDr>`))
pics, err = f.GetPictures("Sheet2", "K16")
assert.NoError(t, err)
assert.Len(t, pics, 1)
// Test get picture from none drawing worksheet // Test get picture from none drawing worksheet
f = NewFile() f = NewFile()
pics, err = f.GetPictures("Sheet1", "F22") pics, err = f.GetPictures("Sheet1", "F22")

View File

@ -22,6 +22,7 @@ type decodeCellAnchor struct {
From *decodeFrom `xml:"from"` From *decodeFrom `xml:"from"`
To *decodeTo `xml:"to"` To *decodeTo `xml:"to"`
Sp *decodeSp `xml:"sp"` Sp *decodeSp `xml:"sp"`
Pic *decodePic `xml:"pic"`
ClientData *decodeClientData `xml:"clientData"` ClientData *decodeClientData `xml:"clientData"`
Content string `xml:",innerxml"` Content string `xml:",innerxml"`
} }
@ -72,17 +73,6 @@ type decodeWsDr struct {
TwoCellAnchor []*decodeCellAnchor `xml:"twoCellAnchor,omitempty"` TwoCellAnchor []*decodeCellAnchor `xml:"twoCellAnchor,omitempty"`
} }
// decodeTwoCellAnchor directly maps the oneCellAnchor (One Cell Anchor Shape
// Size) and twoCellAnchor (Two Cell Anchor Shape Size). This element
// specifies a two cell anchor placeholder for a group, a shape, or a drawing
// element. It moves with cells and its extents are in EMU units.
type decodeTwoCellAnchor struct {
From *decodeFrom `xml:"from"`
To *decodeTo `xml:"to"`
Pic *decodePic `xml:"pic"`
ClientData *decodeClientData `xml:"clientData"`
}
// decodeCNvPr directly maps the cNvPr (Non-Visual Drawing Properties). This // decodeCNvPr directly maps the cNvPr (Non-Visual Drawing Properties). This
// element specifies non-visual canvas properties. This allows for additional // element specifies non-visual canvas properties. This allows for additional
// information that does not affect the appearance of the picture to be // information that does not affect the appearance of the picture to be