Browse Source

i18n: Add Traditional Chinese (zh-TW) locale support

### 為什麼改 (Why)

- **變更目標**:補齊 Ghostfolio 官方 PR #7106 審核意見要求的全部語系註冊與 Changelog 檔案。
- **動機與痛點**:使 Ghostfolio 完整支援繁體中文 (zh-TW),提供台灣與繁體中文使用者原生語言介面與日期格式。

### 改了什麼 (What)

- **語系註冊**:於 `libs/common/src/lib/config.ts` 的 `SUPPORTED_LANGUAGE_CODES` 中加入 `zh-TW`。
- **日期與轉換**:於 `libs/common/src/lib/helper.ts` 中導入 `date-fns/locale` 的 `zhTW` 並在 `getDateFnsLocale` 設定對應邏輯。
- **UI 選單**:於 `user-account-settings.html` 的語言選單中加入 `Chinese / 繁體中文 (zh-TW)` 選項。
- **變更紀錄**:於 `CHANGELOG.md` 中新增 `Add support for Traditional Chinese (zh-TW) locale` 說明。

### 實體檔案異動清單 (Files Changed)

- [修改] `CHANGELOG.md`
- [修改] `apps/client/src/app/components/user-account-settings/user-account-settings.html`
- [修改] `libs/common/src/lib/config.ts`
- [修改] `libs/common/src/lib/helper.ts`

### 驗證狀態 (Verification)

- [x] 本地專案結構驗證通過
- [x] 符合 Ghostfolio 官方貢獻規範
pull/7565/head
JUDRAGONII 2 weeks ago
parent
commit
156a4f205c
  1. 2
      CHANGELOG.md
  2. 6
      apps/client/src/app/components/user-account-settings/user-account-settings.html
  3. 4
      libs/common/src/lib/config.ts
  4. 7
      libs/common/src/lib/helper.ts

2
CHANGELOG.md

@ -9,8 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
- Added support for Traditional Chinese (`zh-TW`) locale
- Added support for the `DIRECT_URL` environment variable to enable direct database connections - Added support for the `DIRECT_URL` environment variable to enable direct database connections
### Changed ### Changed
- Improved the pagination in the activities table of the account detail dialog - Improved the pagination in the activities table of the account detail dialog

6
apps/client/src/app/components/user-account-settings/user-account-settings.html

@ -91,6 +91,12 @@
>Community</ng-container >Community</ng-container
>)</mat-option >)</mat-option
> >
<mat-option value="zh-TW"
>Chinese / 繁體中文 (<ng-container i18n
>Community</ng-container
>)</mat-option
>
<mat-option value="es" <mat-option value="es"
>Español (<ng-container i18n>Community</ng-container >Español (<ng-container i18n>Community</ng-container
>)</mat-option >)</mat-option

4
libs/common/src/lib/config.ts

@ -295,9 +295,11 @@ export const SUPPORTED_LANGUAGE_CODES = [
'pt', 'pt',
'tr', 'tr',
'uk', 'uk',
'zh' 'zh',
'zh-TW'
]; ];
export const TAG_ID_EMERGENCY_FUND = '4452656d-9fa4-4bd0-ba38-70492e31d180'; export const TAG_ID_EMERGENCY_FUND = '4452656d-9fa4-4bd0-ba38-70492e31d180';
export const TAG_ID_EXCLUDE_FROM_ANALYSIS = export const TAG_ID_EXCLUDE_FROM_ANALYSIS =
'f2e868af-8333-459f-b161-cbc6544c24bd'; 'f2e868af-8333-459f-b161-cbc6544c24bd';

7
libs/common/src/lib/helper.ts

@ -23,8 +23,10 @@ import {
pt, pt,
tr, tr,
uk, uk,
zhCN zhCN,
zhTW
} from 'date-fns/locale'; } from 'date-fns/locale';
import { get, isNil, isString } from 'lodash'; import { get, isNil, isString } from 'lodash';
import { import {
@ -212,8 +214,11 @@ export function getDateFnsLocale(aLanguageCode?: string) {
return uk; return uk;
} else if (aLanguageCode === 'zh') { } else if (aLanguageCode === 'zh') {
return zhCN; return zhCN;
} else if (aLanguageCode === 'zh-TW') {
return zhTW;
} }
return undefined; return undefined;
} }

Loading…
Cancel
Save