From f9d8293fd2d56b3759ba0ddf6326acffff73d9a2 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Mon, 9 Jun 2025 23:53:36 +0800 Subject: [PATCH] code refactor --- pkg/locales/all_locales.go | 36 ------------------------------------ pkg/locales/helpers.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 36 deletions(-) create mode 100644 pkg/locales/helpers.go diff --git a/pkg/locales/all_locales.go b/pkg/locales/all_locales.go index 096e6e75..bde4de4a 100644 --- a/pkg/locales/all_locales.go +++ b/pkg/locales/all_locales.go @@ -1,9 +1,5 @@ package locales -import ( - "github.com/mayswind/ezbookkeeping/pkg/core" -) - // DefaultLanguage represents the default language var DefaultLanguage = en @@ -41,35 +37,3 @@ var AllLanguages = map[string]*LocaleInfo{ Content: zhHant, }, } - -func GetLocaleTextItems(locale string) *LocaleTextItems { - localeInfo, exists := AllLanguages[locale] - - if exists { - return localeInfo.Content - } - - return DefaultLanguage -} - -func IsDecimalSeparatorEqualsDigitGroupingSymbol(decimalSeparator core.DecimalSeparator, digitGroupingSymbol core.DigitGroupingSymbol, locale string) bool { - if decimalSeparator == core.DECIMAL_SEPARATOR_DEFAULT && digitGroupingSymbol == core.DIGIT_GROUPING_SYMBOL_DEFAULT { - return false - } - - if byte(decimalSeparator) == byte(digitGroupingSymbol) { - return true - } - - localeTextItems := GetLocaleTextItems(locale) - - if decimalSeparator == core.DECIMAL_SEPARATOR_DEFAULT { - decimalSeparator = localeTextItems.DefaultTypes.DecimalSeparator - } - - if digitGroupingSymbol == core.DIGIT_GROUPING_SYMBOL_DEFAULT { - digitGroupingSymbol = localeTextItems.DefaultTypes.DigitGroupingSymbol - } - - return byte(decimalSeparator) == byte(digitGroupingSymbol) -} diff --git a/pkg/locales/helpers.go b/pkg/locales/helpers.go new file mode 100644 index 00000000..11d96571 --- /dev/null +++ b/pkg/locales/helpers.go @@ -0,0 +1,37 @@ +package locales + +import "github.com/mayswind/ezbookkeeping/pkg/core" + +// GetLocaleTextItems returns the locale text items for the specified locale +func GetLocaleTextItems(locale string) *LocaleTextItems { + localeInfo, exists := AllLanguages[locale] + + if exists { + return localeInfo.Content + } + + return DefaultLanguage +} + +// IsDecimalSeparatorEqualsDigitGroupingSymbol returns whether the decimal separator equals to the digit grouping symbol in the specified locale +func IsDecimalSeparatorEqualsDigitGroupingSymbol(decimalSeparator core.DecimalSeparator, digitGroupingSymbol core.DigitGroupingSymbol, locale string) bool { + if decimalSeparator == core.DECIMAL_SEPARATOR_DEFAULT && digitGroupingSymbol == core.DIGIT_GROUPING_SYMBOL_DEFAULT { + return false + } + + if byte(decimalSeparator) == byte(digitGroupingSymbol) { + return true + } + + localeTextItems := GetLocaleTextItems(locale) + + if decimalSeparator == core.DECIMAL_SEPARATOR_DEFAULT { + decimalSeparator = localeTextItems.DefaultTypes.DecimalSeparator + } + + if digitGroupingSymbol == core.DIGIT_GROUPING_SYMBOL_DEFAULT { + digitGroupingSymbol = localeTextItems.DefaultTypes.DigitGroupingSymbol + } + + return byte(decimalSeparator) == byte(digitGroupingSymbol) +}