add Chinese (Traditional) language

This commit is contained in:
MaysWind
2025-04-20 15:55:23 +08:00
parent 13c4ad10c5
commit f175644843
14 changed files with 2118 additions and 15 deletions
+3
View File
@@ -34,6 +34,9 @@ var AllLanguages = map[string]*LocaleInfo{
"zh-Hans": {
Content: zhHans,
},
"zh-Hant": {
Content: zhHant,
},
}
func GetLocaleTextItems(locale string) *LocaleTextItems {
+30
View File
@@ -0,0 +1,30 @@
package locales
import (
"github.com/mayswind/ezbookkeeping/pkg/core"
)
var zhHant = &LocaleTextItems{
DefaultTypes: &DefaultTypes{
DecimalSeparator: core.DECIMAL_SEPARATOR_DOT,
DigitGroupingSymbol: core.DIGIT_GROUPING_SYMBOL_COMMA,
},
DataConverterTextItems: &DataConverterTextItems{
Alipay: "支付寶",
WeChatWallet: "零錢",
},
VerifyEmailTextItems: &VerifyEmailTextItems{
Title: "驗證郵箱",
SalutationFormat: "%s 您好,",
DescriptionAboveBtn: "請點擊下方的連結確認您的郵箱地址。",
VerifyEmail: "驗證郵箱",
DescriptionBelowBtnFormat: "如果您沒有註冊 %s 帳戶,請直接忽略本郵件。如果您無法點擊上述連結,請複製下方的地址然後在您的瀏覽器中貼上。郵箱驗證連結將在 %v 分鐘後過期。",
},
ForgetPasswordMailTextItems: &ForgetPasswordMailTextItems{
Title: "重設密碼",
SalutationFormat: "%s 您好,",
DescriptionAboveBtn: "我們剛才收到重設您密碼的請求。您可以點擊下方連結重設您的密碼。",
ResetPassword: "重設密碼",
DescriptionBelowBtnFormat: "如果您沒有請求重設密碼,請直接忽略本郵件。如果您無法點擊上述連結,請複製下方的地址然後在您的瀏覽器中貼上。重設密碼連結將在 %v 分鐘後過期。",
},
}
+4 -3
View File
@@ -3,9 +3,10 @@ import type { ImportFileType } from '@/core/file.ts';
export const SUPPORTED_IMAGE_EXTENSIONS: string = '.jpg,.jpeg,.png,.gif,.webp';
export const DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE: string = 'en';
export const SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE: Record<string, boolean> = {
DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE: true,
'zh-Hans': true
export const SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE: Record<string, string> = {
DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE: DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE,
'zh-Hans': 'zh-Hans',
'zh-Hant': 'zh-Hans',
};
export const SUPPORTED_FILE_ENCODINGS: string[] = [
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "Russisch",
"Ukrainian": "Ukrainisch",
"Vietnamese": "Vietnamesisch",
"Chinese (Simplified)": "Chinesisch (Vereinfacht)"
"Chinese (Simplified)": "Chinesisch (Vereinfacht)",
"Chinese (Traditional)": "Chinesisch (Traditionell)"
},
"default": {
"currency": "EUR",
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "Russian",
"Ukrainian": "Ukrainian",
"Vietnamese": "Vietnamese",
"Chinese (Simplified)": "Chinese (Simplified)"
"Chinese (Simplified)": "Chinese (Simplified)",
"Chinese (Traditional)": "Chinese (Traditional)"
},
"default": {
"currency": "USD",
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "Ruso",
"Ukrainian": "Ucraniano",
"Vietnamese": "Vietnamita",
"Chinese (Simplified)": "Chino (Simplificado)"
"Chinese (Simplified)": "Chino (Simplificado)",
"Chinese (Traditional)": "Chino (Tradicional)"
},
"default": {
"currency": "EUR",
+4 -1
View File
@@ -1087,8 +1087,11 @@ export function useI18n() {
if (fileType.document.supportMultiLanguages === true) {
documentLanguage = getCurrentLanguageTag();
if (SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE[documentLanguage]) {
if (SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE[documentLanguage] === documentLanguage) {
documentAnchor = t(`document.anchor.export_and_import.${fileType.document.anchor}`);
} else if (SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE[documentLanguage]) {
documentLanguage = SUPPORTED_DOCUMENT_LANGUAGES_FOR_IMPORT_FILE[documentLanguage];
documentAnchor = t(`document.anchor.export_and_import.${fileType.document.anchor}`, {}, { locale: documentLanguage });
} else {
documentLanguage = DEFAULT_DOCUMENT_LANGUAGE_FOR_IMPORT_FILE;
documentAnchor = t(`document.anchor.export_and_import.${fileType.document.anchor}`, {}, { locale: documentLanguage });
+11 -3
View File
@@ -1,11 +1,12 @@
import de from './de.json';
import en from './en.json';
import es from './es.json';
import ja from './ja.json';
import ru from './ru.json';
import uk from './uk.json';
import es from './es.json';
import vi from './vi.json';
import zhHans from './zh_Hans.json';
import de from './de.json';
import ja from './ja.json';
import zhHant from './zh_Hant.json';
export interface LanguageInfo {
readonly name: string;
@@ -73,5 +74,12 @@ export const ALL_LANGUAGES: Record<string, LanguageInfo> = {
alternativeLanguageTag: 'zh-CN',
aliases: ['zh-CHS', 'zh-CN', 'zh-SG'],
content: zhHans
},
'zh-Hant': {
name: 'Chinese (Traditional)',
displayName: '中文 (繁體)',
alternativeLanguageTag: 'zh-TW',
aliases: ['zh-CHT', 'zh-HK', 'zh-MO'],
content: zhHant
}
};
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "ロシア語",
"Ukrainian": "ウクライナ語",
"Vietnamese": "ベトナム語",
"Chinese (Simplified)": "中国語 (簡体字)"
"Chinese (Simplified)": "中国語 (簡体字)",
"Chinese (Traditional)": "中国語 (繁体字)"
},
"default": {
"currency": "JPY",
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "Русский",
"Ukrainian": "Украинский",
"Vietnamese": "Вьетнамский",
"Chinese (Simplified)": "Китайский (Упрощенный)"
"Chinese (Simplified)": "Китайский (Упрощенный)",
"Chinese (Traditional)": "Китайский (Традиционный)"
},
"default": {
"currency": "RUB",
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "Російська",
"Ukrainian": "Українська",
"Vietnamese": "В'єтнамська",
"Chinese (Simplified)": "Китайська (Спрощена)"
"Chinese (Simplified)": "Китайська (Спрощена)",
"Chinese (Traditional)": "Китайська (Традиційна)"
},
"default": {
"currency": "UAH",
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "Tiếng Nga",
"Ukrainian": "Tiếng Ukraina",
"Vietnamese": "Tiếng Việt",
"Chinese (Simplified)": "Tiếng Trung (Giản Thể)"
"Chinese (Simplified)": "Tiếng Trung (Giản Thể)",
"Chinese (Traditional)": "Tiếng Trung (Phồn Thể)"
},
"default": {
"currency": "VND",
+2 -1
View File
@@ -12,7 +12,8 @@
"Russian": "俄语",
"Ukrainian": "乌克兰语",
"Vietnamese": "越南语",
"Chinese (Simplified)": "中文 (简体)"
"Chinese (Simplified)": "中文 (简体)",
"Chinese (Traditional)": "中文 (繁体)"
},
"default": {
"currency": "CNY",
File diff suppressed because it is too large Load Diff