diff options
author | Dean Karn <Dean.Karn@metricaid.com> | 2016-09-11 06:35:17 +0300 |
---|---|---|
committer | Dean Karn <Dean.Karn@metricaid.com> | 2016-09-11 06:35:17 +0300 |
commit | aaae900248cc5de78e3c73c1ec3b3cc6dac92f9b (patch) | |
tree | 389c87c9e8c2607c1c7683fe2f5a3b419c488136 /vi | |
parent | aba249d95ca17c471f1beec3df4b0b9d438c9af8 (diff) |
covered stored data from []byte to string
appending to a []byte is faster using a string rather than another []byte...who knew
Diffstat (limited to 'vi')
-rw-r--r-- | vi/vi.go | 205 |
1 files changed, 92 insertions, 113 deletions
@@ -14,31 +14,31 @@ type vi 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 'vi' locale @@ -48,30 +48,30 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{6}, pluralsOrdinal: []locales.PluralRule{2, 6}, pluralsRange: []locales.PluralRule{6}, - decimal: []byte{0x2c}, - group: []byte{0x2e}, - minus: []byte{0x2d}, - percent: []byte{0x25}, - perMille: []byte{0xe2, 0x80, 0xb0}, - timeSeparator: []byte{0x3a}, - inifinity: []byte{0xe2, 0x88, 0x9e}, - 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, 0x55, 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}, {0x4a, 0x50, 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}, {0x55, 0x53, 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, 0x20}, {0x58, 0x54, 0x53}, {0x58, 0x55, 0x41, 0x20}, {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), {0x74, 0x68, 0x67, 0x20, 0x31}, {0x74, 0x68, 0x67, 0x20, 0x32}, {0x74, 0x68, 0x67, 0x20, 0x33}, {0x74, 0x68, 0x67, 0x20, 0x34}, {0x74, 0x68, 0x67, 0x20, 0x35}, {0x74, 0x68, 0x67, 0x20, 0x36}, {0x74, 0x68, 0x67, 0x20, 0x37}, {0x74, 0x68, 0x67, 0x20, 0x38}, {0x74, 0x68, 0x67, 0x20, 0x39}, {0x74, 0x68, 0x67, 0x20, 0x31, 0x30}, {0x74, 0x68, 0x67, 0x20, 0x31, 0x31}, {0x74, 0x68, 0x67, 0x20, 0x31, 0x32}}, - monthsNarrow: [][]uint8{[]uint8(nil), {0x31}, {0x32}, {0x33}, {0x34}, {0x35}, {0x36}, {0x37}, {0x38}, {0x39}, {0x31, 0x30}, {0x31, 0x31}, {0x31, 0x32}}, - monthsWide: [][]uint8{[]uint8(nil), {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x31}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x32}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x33}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x34}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x35}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x36}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x37}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x38}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x39}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x31, 0x30}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x31, 0x31}, {0x74, 0x68, 0xc3, 0xa1, 0x6e, 0x67, 0x20, 0x31, 0x32}}, - daysAbbreviated: [][]uint8{{0x43, 0x4e}, {0x54, 0x68, 0x20, 0x32}, {0x54, 0x68, 0x20, 0x33}, {0x54, 0x68, 0x20, 0x34}, {0x54, 0x68, 0x20, 0x35}, {0x54, 0x68, 0x20, 0x36}, {0x54, 0x68, 0x20, 0x37}}, - daysNarrow: [][]uint8{{0x43, 0x4e}, {0x54, 0x32}, {0x54, 0x33}, {0x54, 0x34}, {0x54, 0x35}, {0x54, 0x36}, {0x54, 0x37}}, - daysShort: [][]uint8{{0x43, 0x4e}, {0x54, 0x32}, {0x54, 0x33}, {0x54, 0x34}, {0x54, 0x35}, {0x54, 0x36}, {0x54, 0x37}}, - daysWide: [][]uint8{{0x43, 0x68, 0xe1, 0xbb, 0xa7, 0x20, 0x4e, 0x68, 0xe1, 0xba, 0xad, 0x74}, {0x54, 0x68, 0xe1, 0xbb, 0xa9, 0x20, 0x48, 0x61, 0x69}, {0x54, 0x68, 0xe1, 0xbb, 0xa9, 0x20, 0x42, 0x61}, {0x54, 0x68, 0xe1, 0xbb, 0xa9, 0x20, 0x54, 0xc6, 0xb0}, {0x54, 0x68, 0xe1, 0xbb, 0xa9, 0x20, 0x4e, 0xc4, 0x83, 0x6d}, {0x54, 0x68, 0xe1, 0xbb, 0xa9, 0x20, 0x53, 0xc3, 0xa1, 0x75}, {0x54, 0x68, 0xe1, 0xbb, 0xa9, 0x20, 0x42, 0xe1, 0xba, 0xa3, 0x79}}, - periodsAbbreviated: [][]uint8{{0x53, 0x41}, {0x43, 0x48}}, - periodsNarrow: [][]uint8{{0x73}, {0x63}}, - periodsWide: [][]uint8{{0x53, 0x41}, {0x43, 0x48}}, - erasAbbreviated: [][]uint8{{0x74, 0x72, 0x2e, 0x20, 0x43, 0x4e}, {0x73, 0x61, 0x75, 0x20, 0x43, 0x4e}}, - erasNarrow: [][]uint8{{0x74, 0x72, 0x2e, 0x20, 0x43, 0x4e}, {0x73, 0x61, 0x75, 0x20, 0x43, 0x4e}}, - erasWide: [][]uint8{{0x74, 0x72, 0x2e, 0x20, 0x43, 0x4e}, {0x73, 0x61, 0x75, 0x20, 0x43, 0x4e}}, - timezones: map[string][]uint8{"AWDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "ADT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x68, 0xc3, 0xa8, 0x20, 0xc4, 0x90, 0xe1, 0xba, 0xa1, 0x69, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x44, 0xc6, 0xb0, 0xc6, 0xa1, 0x6e, 0x67}, "AKST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x41, 0x6c, 0x61, 0x73, 0x6b, 0x61}, "HNT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4e, 0x65, 0x77, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x6c, 0x61, 0x6e, 0x64}, "LHST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x48, 0x6f, 0x77, 0x65}, "GMT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x62, 0xc3, 0xac, 0x6e, 0x68, 0x20, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x77, 0x69, 0x63, 0x68}, "UYST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x55, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79}, "ACWDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "AWST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "ECT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x45, 0x63, 0x75, 0x61, 0x64, 0x6f, 0x72}, "COT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61}, "HADT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x48, 0x61, 0x77, 0x61, 0x69, 0x69, 0x2d, 0x41, 0x6c, 0x65, 0x75, 0x74, 0x69, 0x61, 0x6e}, "NZST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, 0x61, 0x6e, 0x64}, "WARST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x6d, 0xc3, 0xb9, 0x61, 0x20, 0x68, 0xc3, 0xa8, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x74, 0xc3, 0xa2, 0x79, 0x20, 0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "WIB": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61}, "CAT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x50, 0x68, 0x69}, "OEZ": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0xc4, 0x90, 0xc3, 0xb4, 0x6e, 0x67, 0x20, 0xc3, 0x82, 0x75}, "ChST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x61, 0x6d, 0x6f, 0x72, 0x72, 0x6f}, "MEZ": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0xc3, 0x82, 0x75}, "MST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x63, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x6e, 0xc3, 0xba, 0x69}, "TMT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x54, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e}, "WAT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x50, 0x68, 0x69}, "AEDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0xc4, 0x90, 0xc3, 0xb4, 0x6e, 0x67, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "COST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61}, "CLT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x43, 0x68, 0x69, 0x6c, 0x65}, "ACST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "CST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x63, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x6e, 0x67}, "WITA": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61}, "CHADT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d}, "PST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x63, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x54, 0x68, 0xc3, 0xa1, 0x69, 0x20, 0x42, 0xc3, 0xac, 0x6e, 0x68, 0x20, 0x44, 0xc6, 0xb0, 0xc6, 0xa1, 0x6e, 0x67}, "OESZ": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0xc4, 0x90, 0xc3, 0xb4, 0x6e, 0x67, 0x20, 0xc3, 0x82, 0x75}, "NZDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, 0x61, 0x6e, 0x64}, "EDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x62, 0x61, 0x6e, 0x20, 0x6e, 0x67, 0xc3, 0xa0, 0x79, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0xc4, 0x91, 0xc3, 0xb4, 0x6e, 0x67}, "MYT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61}, "IST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0xe1, 0xba, 0xa4, 0x6e, 0x20, 0xc4, 0x90, 0xe1, 0xbb, 0x99}, "HKT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x48, 0xe1, 0xbb, 0x93, 0x6e, 0x67, 0x20, 0x4b, 0xc3, 0xb4, 0x6e, 0x67}, "WAST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x50, 0x68, 0x69}, "ACDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "SAST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4e, 0x61, 0x6d, 0x20, 0x50, 0x68, 0x69}, "TMST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x54, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e}, "ACWST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "GYT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61}, "AEST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0xc4, 0x90, 0xc3, 0xb4, 0x6e, 0x67, 0x20, 0x4e, 0xc6, 0xb0, 0xe1, 0xbb, 0x9b, 0x63, 0x20, 0xc3, 0x9a, 0x63}, "AST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0xc4, 0x90, 0xe1, 0xba, 0xa1, 0x69, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0x44, 0xc6, 0xb0, 0xc6, 0xa1, 0x6e, 0x67}, "GFT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x47, 0x75, 0x69, 0x61, 0x6e, 0x61, 0x20, 0x74, 0x68, 0x75, 0xe1, 0xbb, 0x99, 0x63, 0x20, 0x50, 0x68, 0xc3, 0xa1, 0x70}, "WART": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x63, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x6d, 0xc3, 0xa2, 0x79, 0x20, 0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "SRT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x53, 0x75, 0x72, 0x69, 0x6e, 0x61, 0x6d, 0x65}, "MDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x62, 0x61, 0x6e, 0x20, 0x6e, 0x67, 0xc3, 0xa0, 0x79, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x6e, 0xc3, 0xba, 0x69}, "JST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x4e, 0x68, 0xe1, 0xba, 0xad, 0x74, 0x20, 0x42, 0xe1, 0xba, 0xa3, 0x6e}, "CDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x62, 0x61, 0x6e, 0x20, 0x6e, 0x67, 0xc3, 0xa0, 0x79, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x6e, 0x67}, "PDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x62, 0x61, 0x6e, 0x20, 0x6e, 0x67, 0xc3, 0xa0, 0x79, 0x20, 0x54, 0x68, 0xc3, 0xa1, 0x69, 0x20, 0x42, 0xc3, 0xac, 0x6e, 0x68, 0x20, 0x44, 0xc6, 0xb0, 0xc6, 0xa1, 0x6e, 0x67}, "ARST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "EST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x63, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x6d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0xc4, 0x91, 0xc3, 0xb4, 0x6e, 0x67}, "WESZ": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x68, 0xc3, 0xa8, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0xc3, 0x82, 0x75}, "HKST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x48, 0xe1, 0xbb, 0x93, 0x6e, 0x67, 0x20, 0x4b, 0xc3, 0xb4, 0x6e, 0x67}, "HAST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x48, 0x61, 0x77, 0x61, 0x69, 0x69, 0x2d, 0x41, 0x6c, 0x65, 0x75, 0x74, 0x69, 0x61, 0x6e}, "BOT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x42, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61}, "CLST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x43, 0x68, 0x69, 0x6c, 0x65}, "UYT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x55, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79}, "WEZ": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x54, 0xc3, 0xa2, 0x79, 0x20, 0xc3, 0x82, 0x75}, "VET": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x56, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, 0x61}, "BT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x42, 0x68, 0x75, 0x74, 0x61, 0x6e}, "MESZ": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x54, 0x72, 0x75, 0x6e, 0x67, 0x20, 0xc3, 0x82, 0x75}, "SGT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, 0x72, 0x65}, "WIT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0x69, 0xe1, 0xbb, 0x81, 0x6e, 0x20, 0xc4, 0x90, 0xc3, 0xb4, 0x6e, 0x67, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61}, "AKDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x41, 0x6c, 0x61, 0x73, 0x6b, 0x61}, "∅∅∅": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x41, 0x6d, 0x61, 0x7a, 0x6f, 0x6e}, "ART": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61}, "JDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4e, 0x68, 0xe1, 0xba, 0xad, 0x74, 0x20, 0x42, 0xe1, 0xba, 0xa3, 0x6e}, "HAT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4e, 0x65, 0x77, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x6c, 0x61, 0x6e, 0x64}, "CHAST": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x43, 0x68, 0x75, 0xe1, 0xba, 0xa9, 0x6e, 0x20, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d}, "EAT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0xc4, 0x90, 0xc3, 0xb4, 0x6e, 0x67, 0x20, 0x50, 0x68, 0x69}, "LHDT": {0x47, 0x69, 0xe1, 0xbb, 0x9d, 0x20, 0x4d, 0xc3, 0xb9, 0x61, 0x20, 0x48, 0xc3, 0xa8, 0x20, 0x4c, 0x6f, 0x72, 0x64, 0x20, 0x48, 0x6f, 0x77, 0x65}}, + decimal: ",", + group: ".", + minus: "-", + percent: "%", + perMille: "‰", + timeSeparator: ":", + inifinity: "∞", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK ", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "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", "JP¥", "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", "US$", "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{"", "thg 1", "thg 2", "thg 3", "thg 4", "thg 5", "thg 6", "thg 7", "thg 8", "thg 9", "thg 10", "thg 11", "thg 12"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "tháng 1", "tháng 2", "tháng 3", "tháng 4", "tháng 5", "tháng 6", "tháng 7", "tháng 8", "tháng 9", "tháng 10", "tháng 11", "tháng 12"}, + daysAbbreviated: []string{"CN", "Th 2", "Th 3", "Th 4", "Th 5", "Th 6", "Th 7"}, + daysNarrow: []string{"CN", "T2", "T3", "T4", "T5", "T6", "T7"}, + daysShort: []string{"CN", "T2", "T3", "T4", "T5", "T6", "T7"}, + daysWide: []string{"Chủ Nhật", "Thứ Hai", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy"}, + periodsAbbreviated: []string{"SA", "CH"}, + periodsNarrow: []string{"s", "c"}, + periodsWide: []string{"SA", "CH"}, + erasAbbreviated: []string{"tr. CN", "sau CN"}, + erasNarrow: []string{"tr. CN", "sau CN"}, + erasWide: []string{"tr. CN", "sau CN"}, + timezones: map[string]string{"WEZ": "Giờ Chuẩn Tây Âu", "ART": "Giờ Chuẩn Argentina", "SRT": "Giờ Suriname", "GFT": "Giờ Guiana thuộc Pháp", "WITA": "Giờ Miền Trung Indonesia", "WESZ": "Giờ Mùa hè Tây Âu", "HNT": "Giờ Chuẩn Newfoundland", "UYT": "Giờ Chuẩn Uruguay", "NZDT": "Giờ Mùa Hè New Zealand", "EDT": "Giờ ban ngày miền đông", "CLST": "Giờ Mùa Hè Chile", "NZST": "Giờ Chuẩn New Zealand", "TMST": "Giờ Mùa Hè Turkmenistan", "MYT": "Giờ Malaysia", "EAT": "Giờ Đông Phi", "CLT": "Giờ Chuẩn Chile", "AEDT": "Giờ Mùa Hè Miền Đông Nước Úc", "VET": "Giờ Venezuela", "SGT": "Giờ Singapore", "OEZ": "Giờ Chuẩn Đông Âu", "WAST": "Giờ Mùa Hè Tây Phi", "ACDT": "Giờ Mùa Hè Miền Trung Nước Úc", "ACWDT": "Giờ Mùa Hè Miền Trung Tây Nước Úc", "TMT": "Giờ Chuẩn Turkmenistan", "AKDT": "Giờ Mùa Hè Alaska", "HADT": "Giờ Mùa Hè Hawaii-Aleutian", "CDT": "Giờ ban ngày miền trung", "COST": "Giờ Mùa Hè Colombia", "AWST": "Giờ Chuẩn Miền Tây Nước Úc", "PST": "Giờ chuẩn Thái Bình Dương", "WART": "Giờ chuẩn miền mây Argentina", "GYT": "Giờ Guyana", "ARST": "Giờ Mùa Hè Argentina", "∅∅∅": "Giờ Mùa Hè Azores", "HKST": "Giờ Mùa Hè Hồng Kông", "EST": "Giờ chuẩn miền đông", "AEST": "Giờ Chuẩn Miền Đông Nước Úc", "WIB": "Giờ Miền Tây Indonesia", "CHAST": "Giờ Chuẩn Chatham", "COT": "Giờ Chuẩn Colombia", "MESZ": "Giờ Mùa Hè Trung Âu", "LHST": "Giờ Chuẩn Lord Howe", "JST": "Giờ Chuẩn Nhật Bản", "OESZ": "Giờ Mùa Hè Đông Âu", "IST": "Giờ Chuẩn Ấn Độ", "AWDT": "Giờ Mùa Hè Miền Tây Nước Úc", "JDT": "Giờ Mùa Hè Nhật Bản", "WIT": "Giờ Miền Đông Indonesia", "HAST": "Giờ Chuẩn Hawaii-Aleutian", "AST": "Giờ Chuẩn Đại Tây Dương", "BOT": "Giờ Bolivia", "SAST": "Giờ Chuẩn Nam Phi", "CAT": "Giờ Trung Phi", "ChST": "Giờ Chamorro", "UYST": "Giờ Mùa Hè Uruguay", "CST": "Giờ chuẩn miền trung", "HKT": "Giờ Chuẩn Hồng Kông", "GMT": "Giờ Trung bình Greenwich", "ADT": "Giờ Mùa hè Đại Tây Dương", "MEZ": "Giờ Chuẩn Trung Âu", "MST": "Giờ chuẩn miền núi", "AKST": "Giờ Chuẩn Alaska", "WARST": "Giờ mùa hè miền tây Argentina", "MDT": "Giờ ban ngày miền núi", "HAT": "Giờ Mùa Hè Newfoundland", "ACWST": "Giờ Chuẩn Miền Trung Tây Nước Úc", "ECT": "Giờ Ecuador", "BT": "Giờ Bhutan", "CHADT": "Giờ Mùa Hè Chatham", "WAT": "Giờ Chuẩn Tây Phi", "ACST": "Giờ Chuẩn Miền Trung Nước Úc", "LHDT": "Giờ Mùa Hè Lord Howe", "PDT": "Giờ ban ngày Thái Bình Dương"}, } } @@ -118,80 +118,77 @@ func (vi *vi) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided -func (vi *vi) MonthAbbreviated(month time.Month) []byte { +func (vi *vi) MonthAbbreviated(month time.Month) string { return vi.monthsAbbreviated[month] } // MonthsAbbreviated returns the locales abbreviated months -func (vi *vi) MonthsAbbreviated() [][]byte { +func (vi *vi) MonthsAbbreviated() []string { return vi.monthsAbbreviated[1:] } // MonthNarrow returns the locales narrow month given the 'month' provided -func (vi *vi) MonthNarrow(month time.Month) []byte { +func (vi *vi) MonthNarrow(month time.Month) string { return vi.monthsNarrow[month] } // MonthsNarrow returns the locales narrow months -func (vi *vi) MonthsNarrow() [][]byte { +func (vi *vi) MonthsNarrow() []string { return vi.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided -func (vi *vi) MonthWide(month time.Month) []byte { +func (vi *vi) MonthWide(month time.Month) string { return vi.monthsWide[month] } // MonthsWide returns the locales wide months -func (vi *vi) MonthsWide() [][]byte { +func (vi *vi) MonthsWide() []string { return vi.monthsWide[1:] } // WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided -func (vi *vi) WeekdayAbbreviated(weekday time.Weekday) []byte { +func (vi *vi) WeekdayAbbreviated(weekday time.Weekday) string { return vi.daysAbbreviated[weekday] } // WeekdaysAbbreviated returns the locales abbreviated weekdays -func (vi *vi) WeekdaysAbbreviated() [][]byte { +func (vi *vi) WeekdaysAbbreviated() []string { return vi.daysAbbreviated } // WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided -func (vi *vi) WeekdayNarrow(weekday time.Weekday) []byte { +func (vi *vi) WeekdayNarrow(weekday time.Weekday) string { return vi.daysNarrow[weekday] } // WeekdaysNarrow returns the locales narrow weekdays -func (vi *vi) WeekdaysNarrow() [][]byte { +func (vi *vi) WeekdaysNarrow() []string { return vi.daysNarrow } // WeekdayShort returns the locales short weekday given the 'weekday' provided -func (vi *vi) WeekdayShort(weekday time.Weekday) []byte { +func (vi *vi) WeekdayShort(weekday time.Weekday) string { return vi.daysShort[weekday] } // WeekdaysShort returns the locales short weekdays -func (vi *vi) WeekdaysShort() [][]byte { +func (vi *vi) WeekdaysShort() []string { return vi.daysShort } // WeekdayWide returns the locales wide weekday given the 'weekday' provided -func (vi *vi) WeekdayWide(weekday time.Weekday) []byte { +func (vi *vi) WeekdayWide(weekday time.Weekday) string { return vi.daysWide[weekday] } // WeekdaysWide returns the locales wide weekdays -func (vi *vi) WeekdaysWide() [][]byte { +func (vi *vi) WeekdaysWide() []string { return vi.daysWide } // FmtNumber returns 'num' with digits/precision of 'v' for 'vi' 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 (vi *vi) FmtNumber(num float64, v uint64) []byte { - +func (vi *vi) FmtNumber(num float64, v uint64) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) l := len(s) + len(vi.decimal) + len(vi.group)*len(s[:len(s)-int(v)-1])/3 count := 0 @@ -227,15 +224,13 @@ func (vi *vi) FmtNumber(num float64, v uint64) []byte { b[i], b[j] = b[j], b[i] } - return b + results = string(b) + return } // FmtPercent returns 'num' with digits/precision of 'v' for 'vi' 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 (vi *vi) FmtPercent(num float64, v uint64) []byte { - +func (vi *vi) FmtPercent(num float64, v uint64) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) l := len(s) + len(vi.decimal) b := make([]byte, 0, l) @@ -261,13 +256,12 @@ func (vi *vi) FmtPercent(num float64, v uint64) []byte { b = append(b, vi.percent...) - return b + results = string(b) + return } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtCurrency(num float64, v uint64, currency currency.Type) []byte { +func (vi *vi) FmtCurrency(num float64, v uint64, currency currency.Type) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := vi.currencies[currency] @@ -320,13 +314,13 @@ func (vi *vi) FmtCurrency(num float64, v uint64, currency currency.Type) []byte b = append(b, symbol...) - return b + results = string(b) + return } // FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'vi' -// 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 (vi *vi) FmtAccounting(num float64, v uint64, currency currency.Type) []byte { +// in accounting notation. +func (vi *vi) FmtAccounting(num float64, v uint64, currency currency.Type) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := vi.currencies[currency] @@ -386,13 +380,12 @@ func (vi *vi) FmtAccounting(num float64, v uint64, currency currency.Type) []byt b = append(b, symbol...) } - return b + results = string(b) + return } // FmtDateShort returns the short date representation of 't' for 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtDateShort(t time.Time) []byte { +func (vi *vi) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) @@ -412,13 +405,11 @@ func (vi *vi) FmtDateShort(t time.Time) []byte { b = append(b, []byte{0x2f}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtDateMedium returns the medium date representation of 't' for 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtDateMedium(t time.Time) []byte { +func (vi *vi) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) @@ -428,13 +419,11 @@ func (vi *vi) FmtDateMedium(t time.Time) []byte { b = append(b, []byte{0x2c, 0x20}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtDateLong returns the long date representation of 't' for 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtDateLong(t time.Time) []byte { +func (vi *vi) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) @@ -458,13 +447,11 @@ func (vi *vi) FmtDateLong(t time.Time) []byte { b = append(b, []byte{0x27, 0x6e, 0xc4, 0x83, 0x6d, 0x27, 0x20}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtDateFull returns the full date representation of 't' for 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtDateFull(t time.Time) []byte { +func (vi *vi) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) @@ -483,13 +470,11 @@ func (vi *vi) FmtDateFull(t time.Time) []byte { b = append(b, []byte{0x27, 0x6e, 0xc4, 0x83, 0x6d, 0x27, 0x20}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtTimeShort returns the short time representation of 't' for 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtTimeShort(t time.Time) []byte { +func (vi *vi) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) @@ -506,13 +491,11 @@ func (vi *vi) 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 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtTimeMedium(t time.Time) []byte { +func (vi *vi) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) @@ -536,13 +519,11 @@ func (vi *vi) 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 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtTimeLong(t time.Time) []byte { +func (vi *vi) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) @@ -570,13 +551,11 @@ func (vi *vi) 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 'vi' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (vi *vi) FmtTimeFull(t time.Time) []byte { +func (vi *vi) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) @@ -609,5 +588,5 @@ func (vi *vi) FmtTimeFull(t time.Time) []byte { b = append(b, tz...) } - return b + return string(b) } |