Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/locales.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ast/ast.go')
-rw-r--r--ast/ast.go213
1 files changed, 91 insertions, 122 deletions
diff --git a/ast/ast.go b/ast/ast.go
index 77ded1d3..0b8fc593 100644
--- a/ast/ast.go
+++ b/ast/ast.go
@@ -14,31 +14,31 @@ type ast struct {
pluralsCardinal []locales.PluralRule
pluralsOrdinal []locales.PluralRule
pluralsRange []locales.PluralRule
- decimal []byte
- group []byte
- minus []byte
- percent []byte
- perMille []byte
- timeSeparator []byte
- inifinity []byte
- currencies [][]byte // idx = enum of currency code
- currencyPositiveSuffix []byte
- currencyNegativeSuffix []byte
- monthsAbbreviated [][]byte
- monthsNarrow [][]byte
- monthsWide [][]byte
- daysAbbreviated [][]byte
- daysNarrow [][]byte
- daysShort [][]byte
- daysWide [][]byte
- periodsAbbreviated [][]byte
- periodsNarrow [][]byte
- periodsShort [][]byte
- periodsWide [][]byte
- erasAbbreviated [][]byte
- erasNarrow [][]byte
- erasWide [][]byte
- timezones map[string][]byte
+ decimal string
+ group string
+ minus string
+ percent string
+ perMille string
+ timeSeparator string
+ inifinity string
+ currencies []string // idx = enum of currency code
+ currencyPositiveSuffix string
+ currencyNegativeSuffix string
+ monthsAbbreviated []string
+ monthsNarrow []string
+ monthsWide []string
+ daysAbbreviated []string
+ daysNarrow []string
+ daysShort []string
+ daysWide []string
+ periodsAbbreviated []string
+ periodsNarrow []string
+ periodsShort []string
+ periodsWide []string
+ erasAbbreviated []string
+ erasNarrow []string
+ erasWide []string
+ timezones map[string]string
}
// New returns a new instance of translator for the 'ast' locale
@@ -48,29 +48,29 @@ func New() locales.Translator {
pluralsCardinal: []locales.PluralRule{2, 6},
pluralsOrdinal: nil,
pluralsRange: nil,
- decimal: []byte{0xd9, 0xab},
- group: []byte{0xd9, 0xac},
- minus: []byte{0xe2, 0x80, 0x8f, 0x2d},
- percent: []byte{0xd9, 0xaa},
- perMille: []byte{0xd8, 0x89},
- timeSeparator: []byte{0x3a},
- currencies: [][]uint8{{0x41, 0x44, 0x50}, {0x41, 0x45, 0x44}, {0x41, 0x46, 0x41}, {0x41, 0x46, 0x4e}, {0x41, 0x4c, 0x4b, 0x20}, {0x41, 0x4c, 0x4c}, {0x41, 0x4d, 0x44}, {0x41, 0x4e, 0x47}, {0x41, 0x4f, 0x41}, {0x41, 0x4f, 0x4b}, {0x41, 0x4f, 0x4e}, {0x41, 0x4f, 0x52}, {0x41, 0x52, 0x41}, {0x41, 0x52, 0x4c}, {0x41, 0x52, 0x4d}, {0x41, 0x52, 0x50}, {0x41, 0x52, 0x53}, {0x41, 0x54, 0x53}, {0x41, 0x24}, {0x41, 0x57, 0x47}, {0x41, 0x5a, 0x4d}, {0x41, 0x5a, 0x4e}, {0x42, 0x41, 0x44}, {0x42, 0x41, 0x4d}, {0x42, 0x41, 0x4e}, {0x42, 0x42, 0x44}, {0x42, 0x44, 0x54}, {0x42, 0x45, 0x43}, {0x42, 0x45, 0x46}, {0x42, 0x45, 0x4c}, {0x42, 0x47, 0x4c}, {0x42, 0x47, 0x4d}, {0x42, 0x47, 0x4e}, {0x42, 0x47, 0x4f}, {0x42, 0x48, 0x44}, {0x42, 0x49, 0x46}, {0x42, 0x4d, 0x44}, {0x42, 0x4e, 0x44}, {0x42, 0x4f, 0x42}, {0x42, 0x4f, 0x4c}, {0x42, 0x4f, 0x50}, {0x42, 0x4f, 0x56}, {0x42, 0x52, 0x42}, {0x42, 0x52, 0x43}, {0x42, 0x52, 0x45}, {0x52, 0x24}, {0x42, 0x52, 0x4e}, {0x42, 0x52, 0x52}, {0x42, 0x52, 0x5a}, {0x42, 0x53, 0x44}, {0x42, 0x54, 0x4e}, {0x42, 0x55, 0x4b}, {0x42, 0x57, 0x50}, {0x42, 0x59, 0x42}, {0x42, 0x59, 0x52}, {0x42, 0x5a, 0x44}, {0x43, 0x41, 0x24}, {0x43, 0x44, 0x46}, {0x43, 0x48, 0x45}, {0x43, 0x48, 0x46}, {0x43, 0x48, 0x57}, {0x43, 0x4c, 0x45}, {0x43, 0x4c, 0x46}, {0x43, 0x4c, 0x50}, {0x43, 0x4e, 0x58, 0x20}, {0x43, 0x4e, 0xc2, 0xa5}, {0x43, 0x4f, 0x50}, {0x43, 0x4f, 0x55}, {0x43, 0x52, 0x43}, {0x43, 0x53, 0x44}, {0x43, 0x53, 0x4b}, {0x43, 0x55, 0x43}, {0x43, 0x55, 0x50}, {0x43, 0x56, 0x45}, {0x43, 0x59, 0x50}, {0x43, 0x5a, 0x4b}, {0x44, 0x44, 0x4d}, {0x44, 0x45, 0x4d}, {0x44, 0x4a, 0x46}, {0x44, 0x4b, 0x4b}, {0x44, 0x4f, 0x50}, {0x44, 0x5a, 0x44}, {0x45, 0x43, 0x53}, {0x45, 0x43, 0x56}, {0x45, 0x45, 0x4b}, {0x45, 0x47, 0x50}, {0x45, 0x52, 0x4e}, {0x45, 0x53, 0x41}, {0x45, 0x53, 0x42}, {0x45, 0x53, 0x50}, {0x45, 0x54, 0x42}, {0xe2, 0x82, 0xac}, {0x46, 0x49, 0x4d}, {0x46, 0x4a, 0x44}, {0x46, 0x4b, 0x50}, {0x46, 0x52, 0x46}, {0xc2, 0xa3}, {0x47, 0x45, 0x4b}, {0x47, 0x45, 0x4c}, {0x47, 0x48, 0x43}, {0x47, 0x48, 0x53}, {0x47, 0x49, 0x50}, {0x47, 0x4d, 0x44}, {0x47, 0x4e, 0x46}, {0x47, 0x4e, 0x53}, {0x47, 0x51, 0x45}, {0x47, 0x52, 0x44}, {0x47, 0x54, 0x51}, {0x47, 0x57, 0x45}, {0x47, 0x57, 0x50}, {0x47, 0x59, 0x44}, {0x48, 0x4b, 0x24}, {0x48, 0x4e, 0x4c}, {0x48, 0x52, 0x44}, {0x48, 0x52, 0x4b}, {0x48, 0x54, 0x47}, {0x48, 0x55, 0x46}, {0x49, 0x44, 0x52}, {0x49, 0x45, 0x50}, {0x49, 0x4c, 0x50}, {0x49, 0x4c, 0x52, 0x20}, {0xe2, 0x82, 0xaa}, {0xe2, 0x82, 0xb9}, {0x49, 0x51, 0x44}, {0x49, 0x52, 0x52}, {0x49, 0x53, 0x4a, 0x20}, {0x49, 0x53, 0x4b}, {0x49, 0x54, 0x4c}, {0x4a, 0x4d, 0x44}, {0x4a, 0x4f, 0x44}, {0xc2, 0xa5}, {0x4b, 0x45, 0x53}, {0x4b, 0x47, 0x53}, {0x4b, 0x48, 0x52}, {0x4b, 0x4d, 0x46}, {0x4b, 0x50, 0x57}, {0x4b, 0x52, 0x48}, {0x4b, 0x52, 0x4f}, {0xe2, 0x82, 0xa9}, {0x4b, 0x57, 0x44}, {0x4b, 0x59, 0x44}, {0x4b, 0x5a, 0x54}, {0x4c, 0x41, 0x4b}, {0x4c, 0x42, 0x50}, {0x4c, 0x4b, 0x52}, {0x4c, 0x52, 0x44}, {0x4c, 0x53, 0x4c}, {0x4c, 0x54, 0x4c}, {0x4c, 0x54, 0x54}, {0x4c, 0x55, 0x43}, {0x4c, 0x55, 0x46}, {0x4c, 0x55, 0x4c}, {0x4c, 0x56, 0x4c}, {0x4c, 0x56, 0x52}, {0x4c, 0x59, 0x44}, {0x4d, 0x41, 0x44}, {0x4d, 0x41, 0x46}, {0x4d, 0x43, 0x46}, {0x4d, 0x44, 0x43}, {0x4d, 0x44, 0x4c}, {0x4d, 0x47, 0x41}, {0x4d, 0x47, 0x46}, {0x4d, 0x4b, 0x44}, {0x4d, 0x4b, 0x4e}, {0x4d, 0x4c, 0x46}, {0x4d, 0x4d, 0x4b}, {0x4d, 0x4e, 0x54}, {0x4d, 0x4f, 0x50}, {0x4d, 0x52, 0x4f}, {0x4d, 0x54, 0x4c}, {0x4d, 0x54, 0x50}, {0x4d, 0x55, 0x52}, {0x4d, 0x56, 0x50, 0x20}, {0x4d, 0x56, 0x52}, {0x4d, 0x57, 0x4b}, {0x4d, 0x58, 0x24}, {0x4d, 0x58, 0x50}, {0x4d, 0x58, 0x56}, {0x4d, 0x59, 0x52}, {0x4d, 0x5a, 0x45}, {0x4d, 0x5a, 0x4d}, {0x4d, 0x5a, 0x4e}, {0x4e, 0x41, 0x44}, {0x4e, 0x47, 0x4e}, {0x4e, 0x49, 0x43}, {0x4e, 0x49, 0x4f}, {0x4e, 0x4c, 0x47}, {0x4e, 0x4f, 0x4b}, {0x4e, 0x50, 0x52}, {0x4e, 0x5a, 0x24}, {0x4f, 0x4d, 0x52}, {0x50, 0x41, 0x42}, {0x50, 0x45, 0x49}, {0x50, 0x45, 0x4e}, {0x50, 0x45, 0x53}, {0x50, 0x47, 0x4b}, {0x50, 0x48, 0x50}, {0x50, 0x4b, 0x52}, {0x50, 0x4c, 0x4e}, {0x50, 0x4c, 0x5a}, {0x50, 0x54, 0x45}, {0x50, 0x59, 0x47}, {0x51, 0x41, 0x52}, {0x52, 0x48, 0x44}, {0x52, 0x4f, 0x4c}, {0x52, 0x4f, 0x4e}, {0x52, 0x53, 0x44}, {0x52, 0x55, 0x42}, {0x52, 0x55, 0x52}, {0x52, 0x57, 0x46}, {0x53, 0x41, 0x52}, {0x53, 0x42, 0x44}, {0x53, 0x43, 0x52}, {0x53, 0x44, 0x44}, {0x53, 0x44, 0x47}, {0x53, 0x44, 0x50}, {0x53, 0x45, 0x4b}, {0x53, 0x47, 0x44}, {0x53, 0x48, 0x50}, {0x53, 0x49, 0x54}, {0x53, 0x4b, 0x4b}, {0x53, 0x4c, 0x4c}, {0x53, 0x4f, 0x53}, {0x53, 0x52, 0x44}, {0x53, 0x52, 0x47}, {0x53, 0x53, 0x50}, {0x53, 0x54, 0x44}, {0x53, 0x55, 0x52}, {0x53, 0x56, 0x43}, {0x53, 0x59, 0x50}, {0x53, 0x5a, 0x4c}, {0xe0, 0xb8, 0xbf}, {0x54, 0x4a, 0x52}, {0x54, 0x4a, 0x53}, {0x54, 0x4d, 0x4d}, {0x54, 0x4d, 0x54}, {0x54, 0x4e, 0x44}, {0x54, 0x4f, 0x50}, {0x54, 0x50, 0x45}, {0x54, 0x52, 0x4c}, {0x54, 0x52, 0x59}, {0x54, 0x54, 0x44}, {0x4e, 0x54, 0x24}, {0x54, 0x5a, 0x53}, {0x55, 0x41, 0x48}, {0x55, 0x41, 0x4b}, {0x55, 0x47, 0x53}, {0x55, 0x47, 0x58}, {0x24}, {0x55, 0x53, 0x4e}, {0x55, 0x53, 0x53}, {0x55, 0x59, 0x49}, {0x55, 0x59, 0x50}, {0x55, 0x59, 0x55}, {0x55, 0x5a, 0x53}, {0x56, 0x45, 0x42}, {0x56, 0x45, 0x46}, {0xe2, 0x82, 0xab}, {0x56, 0x4e, 0x4e}, {0x56, 0x55, 0x56}, {0x57, 0x53, 0x54}, {0x46, 0x43, 0x46, 0x41}, {0x58, 0x41, 0x47}, {0x58, 0x41, 0x55}, {0x58, 0x42, 0x41}, {0x58, 0x42, 0x42}, {0x58, 0x42, 0x43}, {0x58, 0x42, 0x44}, {0x45, 0x43, 0x24}, {0x58, 0x44, 0x52}, {0x58, 0x45, 0x55}, {0x58, 0x46, 0x4f}, {0x58, 0x46, 0x55}, {0x43, 0x46, 0x41}, {0x58, 0x50, 0x44}, {0x43, 0x46, 0x50, 0x46}, {0x58, 0x50, 0x54}, {0x58, 0x52, 0x45}, {0x58, 0x53, 0x55}, {0x58, 0x54, 0x53}, {0x58, 0x55, 0x41}, {0x58, 0x58, 0x58}, {0x59, 0x44, 0x44}, {0x59, 0x45, 0x52}, {0x59, 0x55, 0x44}, {0x59, 0x55, 0x4d}, {0x59, 0x55, 0x4e}, {0x59, 0x55, 0x52}, {0x5a, 0x41, 0x4c}, {0x5a, 0x41, 0x52}, {0x5a, 0x4d, 0x4b}, {0x5a, 0x4d, 0x57}, {0x5a, 0x52, 0x4e}, {0x5a, 0x52, 0x5a}, {0x5a, 0x57, 0x44}, {0x5a, 0x57, 0x4c}, {0x5a, 0x57, 0x52}},
- currencyPositiveSuffix: []byte{0xc2, 0xa0},
- currencyNegativeSuffix: []byte{0xc2, 0xa0},
- monthsAbbreviated: [][]uint8{[]uint8(nil), {0x78, 0x69, 0x6e}, {0x66, 0x65, 0x62}, {0x6d, 0x61, 0x72}, {0x61, 0x62, 0x72}, {0x6d, 0x61, 0x79}, {0x78, 0x75, 0x6e}, {0x78, 0x6e, 0x74}, {0x61, 0x67, 0x6f}, {0x73, 0x65, 0x74}, {0x6f, 0x63, 0x68}, {0x70, 0x61, 0x79}, {0x61, 0x76, 0x69}},
- monthsNarrow: [][]uint8{[]uint8(nil), {0x58}, {0x46}, {0x4d}, {0x41}, {0x4d}, {0x58}, {0x58}, {0x41}, {0x53}, {0x4f}, {0x50}, {0x41}},
- monthsWide: [][]uint8{[]uint8(nil), {0x64, 0x65, 0x20, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75}, {0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75}, {0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x7a, 0x75}, {0x64, 0xe2, 0x80, 0x99, 0x61, 0x62, 0x72, 0x69, 0x6c}, {0x64, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x75}, {0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x75}, {0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x65, 0x74, 0x75}, {0x64, 0xe2, 0x80, 0x99, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75}, {0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65}, {0x64, 0xe2, 0x80, 0x99, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65}, {0x64, 0x65, 0x20, 0x70, 0x61, 0x79, 0x61, 0x72, 0x65, 0x73}, {0x64, 0xe2, 0x80, 0x99, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75}},
- daysAbbreviated: [][]uint8{{0x64, 0x6f, 0x6d}, {0x6c, 0x6c, 0x75}, {0x6d, 0x61, 0x72}, {0x6d, 0x69, 0xc3, 0xa9}, {0x78, 0x75, 0x65}, {0x76, 0x69, 0x65}, {0x73, 0xc3, 0xa1, 0x62}},
- daysNarrow: [][]uint8{{0x44}, {0x4c}, {0x4d}, {0x4d}, {0x58}, {0x56}, {0x53}},
- daysShort: [][]uint8{{0x64, 0x6f}, {0x6c, 0x6c}, {0x6d, 0x61}, {0x6d, 0x69}, {0x78, 0x75}, {0x76, 0x69}, {0x73, 0xc3, 0xa1}},
- daysWide: [][]uint8{{0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x75}, {0x6c, 0x6c, 0x75, 0x6e, 0x65, 0x73}, {0x6d, 0x61, 0x72, 0x74, 0x65, 0x73}, {0x6d, 0x69, 0xc3, 0xa9, 0x72, 0x63, 0x6f, 0x6c, 0x65, 0x73}, {0x78, 0x75, 0x65, 0x76, 0x65, 0x73}, {0x76, 0x69, 0x65, 0x6e, 0x72, 0x65, 0x73}, {0x73, 0xc3, 0xa1, 0x62, 0x61, 0x64, 0x75}},
- periodsAbbreviated: [][]uint8{{0x41, 0x4d}, {0x50, 0x4d}},
- periodsNarrow: [][]uint8{{0x61}, {0x70}},
- periodsWide: [][]uint8{{0x64, 0x65, 0x20, 0x6c, 0x61, 0x20, 0x6d, 0x61, 0xc3, 0xb1, 0x61, 0x6e, 0x61}, {0x64, 0x65, 0x20, 0x6c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x64, 0x69}},
- erasAbbreviated: [][]uint8{{0x61, 0x2e, 0x43, 0x2e}, {0x64, 0x2e, 0x43, 0x2e}},
- erasNarrow: [][]uint8{{0x61, 0x43}, {0x64, 0x43}},
- erasWide: [][]uint8{{0x61, 0x2e, 0x43, 0x2e}, {0x64, 0x65, 0x73, 0x70, 0x75, 0xc3, 0xa9, 0x73, 0x20, 0x64, 0x65, 0x20, 0x43, 0x72, 0x69, 0x73, 0x74, 0x75}},
- timezones: map[string][]uint8{"MESZ": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c}, "ART": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x72, 0x78, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "CLST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x43, 0x68, 0x69, 0x6c, 0x65}, "GFT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x4c, 0x61, 0x20, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x61}, "WAT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0xc3, 0x81, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "COST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61}, "CHAST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d}, "EST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x75}, "ACWST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "ACWDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "AWDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "BT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x75, 0x74, 0xc3, 0xa1, 0x6e}, "PDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x50, 0x61, 0x63, 0xc3, 0xad, 0x66, 0x69, 0x63, 0x75, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x75}, "UYT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x55, 0x72, 0x75, 0x67, 0x75, 0xc3, 0xa1, 0x69}, "WEZ": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x20, 0x4f, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c}, "VET": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x56, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, 0x61}, "CAT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0xc3, 0x81, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c}, "WAST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0xc3, 0x81, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "MDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x6f, 0x6e, 0x74, 0x61, 0xc3, 0xb1, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x65, 0x73}, "PST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x50, 0x61, 0x63, 0xc3, 0xad, 0x66, 0x69, 0x63, 0x75, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x75}, "AST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x41, 0x74, 0x6c, 0xc3, 0xa1, 0x6e, 0x74, 0x69, 0x63, 0x75}, "OESZ": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x45, 0x73, 0x74, 0x65}, "HAT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x4e, 0x65, 0x77, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x6c, 0x61, 0x6e, 0x64}, "WARST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x6f, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x72, 0x78, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "ECT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x63, 0x75, 0x61, 0x64, 0x6f, 0x72}, "MEZ": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c}, "MST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x6f, 0x6e, 0x74, 0x61, 0xc3, 0xb1, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x65, 0x73}, "CLT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x43, 0x68, 0x69, 0x6c, 0x65}, "AKDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x6c, 0x61, 0x73, 0x6b, 0x61}, "EDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x75}, "NZST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x4e, 0x75, 0x65, 0x76, 0x61, 0x20, 0x5a, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x61}, "LHDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x48, 0x6f, 0x77, 0x65}, "WART": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x6f, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x72, 0x78, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "TMST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x54, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, 0x73, 0x74, 0xc3, 0xa1, 0x6e}, "HKST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0xe1, 0xb8, 0xa4, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67}, "HAST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x48, 0x61, 0x77, 0x61, 0x69, 0x69, 0x2d, 0x41, 0x6c, 0x65, 0x75, 0x74, 0x69, 0x61, 0x6e, 0x65, 0x73}, "CHADT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d}, "GMT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x77, 0x69, 0x63, 0x68}, "NZDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x4e, 0x75, 0x65, 0x76, 0x61, 0x20, 0x5a, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x61}, "ACDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c}, "WIT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x65}, "LHST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x48, 0x6f, 0x77, 0x65}, "IST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x6c, 0x61, 0x20, 0x49, 0x6e, 0x64, 0x69, 0x61}, "TMT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x54, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, 0x73, 0x74, 0xc3, 0xa1, 0x6e}, "COT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61}, "ARST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x72, 0x78, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "JDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x58, 0x61, 0x70, 0xc3, 0xb3, 0x6e}, "MYT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x4d, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x61}, "AEDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x65}, "CDT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x61}, "HADT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x48, 0x61, 0x77, 0x61, 0x69, 0x69, 0x2d, 0x41, 0x6c, 0x65, 0x75, 0x74, 0x69, 0x61, 0x6e, 0x65, 0x73}, "ADT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x41, 0x74, 0x6c, 0xc3, 0xa1, 0x6e, 0x74, 0x69, 0x63, 0x75}, "SRT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x53, 0x75, 0x72, 0x69, 0x6e, 0x61, 0x6d}, "HKT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0xe1, 0xb8, 0xa4, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67}, "SAST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x53, 0x75, 0x64, 0xc3, 0xa1, 0x66, 0x72, 0x69, 0x63, 0x61}, "WIB": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "EAT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0xc3, 0x81, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x65}, "SGT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, 0x72}, "AKST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x6c, 0x61, 0x73, 0x6b, 0x61}, "HNT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x4e, 0x65, 0x77, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x6c, 0x61, 0x6e, 0x64}, "AEST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x65, 0x73, 0x74, 0x65}, "BOT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61}, "OEZ": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x45, 0x73, 0x74, 0x65}, "JST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x58, 0x61, 0x70, 0xc3, 0xb3, 0x6e}, "WESZ": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x61, 0x20, 0x4f, 0x63, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x61, 0x6c}, "AWST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x6f, 0x65, 0x73, 0x74, 0x65}, "ACST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c}, "WITA": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0xe2, 0x80, 0x99, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c}, "CST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x72, 0x74, 0x65, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x61}, "UYST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x55, 0x72, 0x75, 0x67, 0x75, 0xc3, 0xa1, 0x69}, "ChST": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x65, 0x73, 0x74, 0xc3, 0xa1, 0x6e, 0x64, 0x61, 0x72, 0x20, 0x64, 0x65, 0x20, 0x43, 0x68, 0x61, 0x6d, 0x6f, 0x72, 0x72, 0x6f}, "GYT": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x4c, 0x61, 0x20, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61}, "∅∅∅": {0x48, 0x6f, 0x72, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x69, 0x65, 0x67, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x69, 0x61}},
+ decimal: "٫",
+ group: "٬",
+ minus: "‏-",
+ percent: "٪",
+ perMille: "؉",
+ timeSeparator: ":",
+ currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK ", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "A$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX ", "CN¥", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR ", "₪", "₹", "IQD", "IRR", "ISJ ", "ISK", "ITL", "JMD", "JOD", "¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP ", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "฿", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "₫", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "XEU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"},
+ currencyPositiveSuffix: " ",
+ currencyNegativeSuffix: " ",
+ monthsAbbreviated: []string{"", "xin", "feb", "mar", "abr", "may", "xun", "xnt", "ago", "set", "och", "pay", "avi"},
+ monthsNarrow: []string{"", "X", "F", "M", "A", "M", "X", "X", "A", "S", "O", "P", "A"},
+ monthsWide: []string{"", "de xineru", "de febreru", "de marzu", "d’abril", "de mayu", "de xunu", "de xunetu", "d’agostu", "de setiembre", "d’ochobre", "de payares", "d’avientu"},
+ daysAbbreviated: []string{"dom", "llu", "mar", "mié", "xue", "vie", "sáb"},
+ daysNarrow: []string{"D", "L", "M", "M", "X", "V", "S"},
+ daysShort: []string{"do", "ll", "ma", "mi", "xu", "vi", "sá"},
+ daysWide: []string{"domingu", "llunes", "martes", "miércoles", "xueves", "vienres", "sábadu"},
+ periodsAbbreviated: []string{"AM", "PM"},
+ periodsNarrow: []string{"a", "p"},
+ periodsWide: []string{"de la mañana", "de la tardi"},
+ erasAbbreviated: []string{"a.C.", "d.C."},
+ erasNarrow: []string{"aC", "dC"},
+ erasWide: []string{"a.C.", "después de Cristu"},
+ timezones: map[string]string{"CHAST": "Hora estándar de Chatham", "VET": "Hora de Venezuela", "AEST": "Hora estándar d’Australia del este", "AST": "Hora estándar del Atlánticu", "BT": "Hora de Bután", "PDT": "Hora braniega del Pacíficu norteamericanu", "HAT": "Hora braniega de Newfoundland", "EAT": "Hora d’África del este", "JST": "Hora estándar de Xapón", "JDT": "Hora braniega de Xapón", "HADT": "Hora braniega de Hawaii-Aleutianes", "WIB": "Hora d’Indonesia del oeste", "HNT": "Hora estándar de Newfoundland", "ADT": "Hora braniega del Atlánticu", "WAT": "Hora estándar d’África del oeste", "ChST": "Hora estándar de Chamorro", "∅∅∅": "Hora braniega de Brasilia", "OEZ": "Hora estándar d’Europa del Este", "AEDT": "Hora braniega d’Australia del este", "SRT": "Hora del Surinam", "SGT": "Hora estándar de Singapur", "IST": "Hora estándar de la India", "GFT": "Hora de La Guyana Francesa", "WESZ": "Hora braniega d’Europa Occidental", "WIT": "Hora d’Indonesia del este", "OESZ": "Hora braniega d’Europa del Este", "BOT": "Hora de Bolivia", "SAST": "Hora de Sudáfrica", "LHDT": "Hora braniega de Lord Howe", "NZDT": "Hora braniega de Nueva Zelanda", "WARST": "Hora braniega occidental d’Arxentina", "MDT": "Hora braniega de Macáu", "ART": "Hora estándar d’Arxentina", "EST": "Hora estándar del este norteamericanu", "MESZ": "Hora braniega d’Europa Central", "CHADT": "Hora braniega de Chatham", "LHST": "Hora estándar de Lord Howe", "CDT": "Hora braniega central norteamericana", "MEZ": "Hora estándar d’Europa Central", "CLST": "Hora braniega de Chile", "COT": "Hora estándar de Colombia", "MST": "Hora estándar de Macáu", "AKST": "Hora estándar d’Alaska", "ACST": "Hora estándar d’Australia central", "UYT": "Hora estándar del Uruguái", "ECT": "Hora d’Ecuador", "HKST": "Hora braniega de Ḥong Kong", "WART": "Hora estándar occidental d’Arxentina", "UYST": "Hora braniega del Uruguái", "ACWDT": "Hora braniega d’Australia central del oeste", "ARST": "Hora braniega d’Arxentina", "MYT": "Hora de Malasia", "PST": "Hora estándar del Pacíficu norteamericanu", "COST": "Hora braniega de Colombia", "HAST": "Hora estándar de Hawaii-Aleutianes", "TMST": "Hora braniega del Turkmenistán", "TMT": "Hora estándar del Turkmenistán", "ACDT": "Hora braniega d’Australia central", "AKDT": "Hora braniega d’Alaska", "AWST": "Hora estándar d’Australia del oeste", "EDT": "Hora braniega del este norteamericanu", "WITA": "Hora d’Indonesia central", "GMT": "Hora media de Greenwich", "WAST": "Hora braniega d’África del oeste", "HKT": "Hora estándar de Ḥong Kong", "ACWST": "Hora estándar d’Australia central del oeste", "CST": "Hora estándar central norteamericana", "NZST": "Hora estándar de Nueva Zelanda", "CLT": "Hora estándar de Chile", "WEZ": "Hora estándar d’Europa Occidental", "CAT": "Hora d’África central", "AWDT": "Hora braniega d’Australia del oeste", "GYT": "Hora de La Guyana"},
}
}
@@ -118,82 +118,80 @@ func (ast *ast) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64
}
// MonthAbbreviated returns the locales abbreviated month given the 'month' provided
-func (ast *ast) MonthAbbreviated(month time.Month) []byte {
+func (ast *ast) MonthAbbreviated(month time.Month) string {
return ast.monthsAbbreviated[month]
}
// MonthsAbbreviated returns the locales abbreviated months
-func (ast *ast) MonthsAbbreviated() [][]byte {
+func (ast *ast) MonthsAbbreviated() []string {
return ast.monthsAbbreviated[1:]
}
// MonthNarrow returns the locales narrow month given the 'month' provided
-func (ast *ast) MonthNarrow(month time.Month) []byte {
+func (ast *ast) MonthNarrow(month time.Month) string {
return ast.monthsNarrow[month]
}
// MonthsNarrow returns the locales narrow months
-func (ast *ast) MonthsNarrow() [][]byte {
+func (ast *ast) MonthsNarrow() []string {
return ast.monthsNarrow[1:]
}
// MonthWide returns the locales wide month given the 'month' provided
-func (ast *ast) MonthWide(month time.Month) []byte {
+func (ast *ast) MonthWide(month time.Month) string {
return ast.monthsWide[month]
}
// MonthsWide returns the locales wide months
-func (ast *ast) MonthsWide() [][]byte {
+func (ast *ast) MonthsWide() []string {
return ast.monthsWide[1:]
}
// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided
-func (ast *ast) WeekdayAbbreviated(weekday time.Weekday) []byte {
+func (ast *ast) WeekdayAbbreviated(weekday time.Weekday) string {
return ast.daysAbbreviated[weekday]
}
// WeekdaysAbbreviated returns the locales abbreviated weekdays
-func (ast *ast) WeekdaysAbbreviated() [][]byte {
+func (ast *ast) WeekdaysAbbreviated() []string {
return ast.daysAbbreviated
}
// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided
-func (ast *ast) WeekdayNarrow(weekday time.Weekday) []byte {
+func (ast *ast) WeekdayNarrow(weekday time.Weekday) string {
return ast.daysNarrow[weekday]
}
// WeekdaysNarrow returns the locales narrow weekdays
-func (ast *ast) WeekdaysNarrow() [][]byte {
+func (ast *ast) WeekdaysNarrow() []string {
return ast.daysNarrow
}
// WeekdayShort returns the locales short weekday given the 'weekday' provided
-func (ast *ast) WeekdayShort(weekday time.Weekday) []byte {
+func (ast *ast) WeekdayShort(weekday time.Weekday) string {
return ast.daysShort[weekday]
}
// WeekdaysShort returns the locales short weekdays
-func (ast *ast) WeekdaysShort() [][]byte {
+func (ast *ast) WeekdaysShort() []string {
return ast.daysShort
}
// WeekdayWide returns the locales wide weekday given the 'weekday' provided
-func (ast *ast) WeekdayWide(weekday time.Weekday) []byte {
+func (ast *ast) WeekdayWide(weekday time.Weekday) string {
return ast.daysWide[weekday]
}
// WeekdaysWide returns the locales wide weekdays
-func (ast *ast) WeekdaysWide() [][]byte {
+func (ast *ast) WeekdaysWide() []string {
return ast.daysWide
}
// FmtNumber returns 'num' with digits/precision of 'v' for 'ast' and handles both Whole and Real numbers based on 'v'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtNumber(num float64, v uint64) []byte {
+func (ast *ast) FmtNumber(num float64, v uint64) string {
s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)
- l := len(s) + len(ast.decimal) + len(ast.group)*len(s[:len(s)-int(v)-1])/3
+ l := len(s) + 6 + 2*len(s[:len(s)-int(v)-1])/3
count := 0
inWhole := v == 0
b := make([]byte, 0, l)
@@ -204,7 +202,6 @@ func (ast *ast) FmtNumber(num float64, v uint64) []byte {
for j := len(ast.decimal) - 1; j >= 0; j-- {
b = append(b, ast.decimal[j])
}
-
inWhole = true
continue
}
@@ -214,7 +211,6 @@ func (ast *ast) FmtNumber(num float64, v uint64) []byte {
for j := len(ast.group) - 1; j >= 0; j-- {
b = append(b, ast.group[j])
}
-
count = 1
} else {
count++
@@ -235,17 +231,14 @@ func (ast *ast) FmtNumber(num float64, v uint64) []byte {
b[i], b[j] = b[j], b[i]
}
- return b
+ return string(b)
}
// FmtPercent returns 'num' with digits/precision of 'v' for 'ast' and handles both Whole and Real numbers based on 'v'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
// NOTE: 'num' passed into FmtPercent is assumed to be in percent already
-func (ast *ast) FmtPercent(num float64, v uint64) []byte {
-
+func (ast *ast) FmtPercent(num float64, v uint64) string {
s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)
- l := len(s) + len(ast.decimal)
+ l := len(s) + 8
b := make([]byte, 0, l)
for i := len(s) - 1; i >= 0; i-- {
@@ -254,7 +247,6 @@ func (ast *ast) FmtPercent(num float64, v uint64) []byte {
for j := len(ast.decimal) - 1; j >= 0; j-- {
b = append(b, ast.decimal[j])
}
-
continue
}
@@ -274,17 +266,15 @@ func (ast *ast) FmtPercent(num float64, v uint64) []byte {
b = append(b, ast.percent...)
- return b
+ return string(b)
}
// FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtCurrency(num float64, v uint64, currency currency.Type) []byte {
+func (ast *ast) FmtCurrency(num float64, v uint64, currency currency.Type) string {
s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)
symbol := ast.currencies[currency]
- l := len(s) + len(ast.decimal) + len(ast.group)*len(s[:len(s)-int(v)-1])/3
+ l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3
count := 0
inWhole := v == 0
b := make([]byte, 0, l)
@@ -295,7 +285,6 @@ func (ast *ast) FmtCurrency(num float64, v uint64, currency currency.Type) []byt
for j := len(ast.decimal) - 1; j >= 0; j-- {
b = append(b, ast.decimal[j])
}
-
inWhole = true
continue
}
@@ -305,7 +294,6 @@ func (ast *ast) FmtCurrency(num float64, v uint64, currency currency.Type) []byt
for j := len(ast.group) - 1; j >= 0; j-- {
b = append(b, ast.group[j])
}
-
count = 1
} else {
count++
@@ -341,17 +329,16 @@ func (ast *ast) FmtCurrency(num float64, v uint64, currency currency.Type) []byt
b = append(b, symbol...)
- return b
+ return string(b)
}
// FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'ast'
-// in accounting notation. returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtAccounting(num float64, v uint64, currency currency.Type) []byte {
+// in accounting notation.
+func (ast *ast) FmtAccounting(num float64, v uint64, currency currency.Type) string {
s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)
symbol := ast.currencies[currency]
- l := len(s) + len(ast.decimal) + len(ast.group)*len(s[:len(s)-int(v)-1])/3
+ l := len(s) + len(symbol) + 8 + 2*len(s[:len(s)-int(v)-1])/3
count := 0
inWhole := v == 0
b := make([]byte, 0, l)
@@ -362,7 +349,6 @@ func (ast *ast) FmtAccounting(num float64, v uint64, currency currency.Type) []b
for j := len(ast.decimal) - 1; j >= 0; j-- {
b = append(b, ast.decimal[j])
}
-
inWhole = true
continue
}
@@ -372,7 +358,6 @@ func (ast *ast) FmtAccounting(num float64, v uint64, currency currency.Type) []b
for j := len(ast.group) - 1; j >= 0; j-- {
b = append(b, ast.group[j])
}
-
count = 1
} else {
count++
@@ -415,13 +400,11 @@ func (ast *ast) FmtAccounting(num float64, v uint64, currency currency.Type) []b
b = append(b, symbol...)
}
- return b
+ return string(b)
}
// FmtDateShort returns the short date representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtDateShort(t time.Time) []byte {
+func (ast *ast) FmtDateShort(t time.Time) string {
b := make([]byte, 0, 32)
@@ -436,13 +419,11 @@ func (ast *ast) FmtDateShort(t time.Time) []byte {
b = append(b, strconv.Itoa(t.Year())[1:]...)
}
- return b
+ return string(b)
}
// FmtDateMedium returns the medium date representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtDateMedium(t time.Time) []byte {
+func (ast *ast) FmtDateMedium(t time.Time) string {
b := make([]byte, 0, 32)
@@ -452,13 +433,11 @@ func (ast *ast) FmtDateMedium(t time.Time) []byte {
b = append(b, []byte{0x20}...)
b = strconv.AppendInt(b, int64(t.Year()), 10)
- return b
+ return string(b)
}
// FmtDateLong returns the long date representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtDateLong(t time.Time) []byte {
+func (ast *ast) FmtDateLong(t time.Time) string {
b := make([]byte, 0, 32)
@@ -469,13 +448,11 @@ func (ast *ast) FmtDateLong(t time.Time) []byte {
b = append(b, []byte{0x27, 0x64, 0x65, 0x27, 0x20}...)
b = strconv.AppendInt(b, int64(t.Year()), 10)
- return b
+ return string(b)
}
// FmtDateFull returns the full date representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtDateFull(t time.Time) []byte {
+func (ast *ast) FmtDateFull(t time.Time) string {
b := make([]byte, 0, 32)
@@ -488,13 +465,11 @@ func (ast *ast) FmtDateFull(t time.Time) []byte {
b = append(b, []byte{0x27, 0x64, 0x65, 0x27, 0x20}...)
b = strconv.AppendInt(b, int64(t.Year()), 10)
- return b
+ return string(b)
}
// FmtTimeShort returns the short time representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtTimeShort(t time.Time) []byte {
+func (ast *ast) FmtTimeShort(t time.Time) string {
b := make([]byte, 0, 32)
@@ -511,13 +486,11 @@ func (ast *ast) FmtTimeShort(t time.Time) []byte {
b = strconv.AppendInt(b, int64(t.Minute()), 10)
- return b
+ return string(b)
}
// FmtTimeMedium returns the medium time representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtTimeMedium(t time.Time) []byte {
+func (ast *ast) FmtTimeMedium(t time.Time) string {
b := make([]byte, 0, 32)
@@ -541,13 +514,11 @@ func (ast *ast) FmtTimeMedium(t time.Time) []byte {
b = strconv.AppendInt(b, int64(t.Second()), 10)
- return b
+ return string(b)
}
// FmtTimeLong returns the long time representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtTimeLong(t time.Time) []byte {
+func (ast *ast) FmtTimeLong(t time.Time) string {
b := make([]byte, 0, 32)
@@ -575,13 +546,11 @@ func (ast *ast) FmtTimeLong(t time.Time) []byte {
tz, _ := t.Zone()
b = append(b, tz...)
- return b
+ return string(b)
}
// FmtTimeFull returns the full time representation of 't' for 'ast'
-// returned as a []byte just in case the caller wishes to add more and can help
-// avoid allocations; otherwise just cast as string.
-func (ast *ast) FmtTimeFull(t time.Time) []byte {
+func (ast *ast) FmtTimeFull(t time.Time) string {
b := make([]byte, 0, 32)
@@ -614,5 +583,5 @@ func (ast *ast) FmtTimeFull(t time.Time) []byte {
b = append(b, tz...)
}
- return b
+ return string(b)
}