docs: record dropdown bilingual display convention
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1510,3 +1510,20 @@ AzureFileOperationService ← 未來實作(🔜 取得 Azure 額度
|
||||
| 18 | CCLI License 號碼 | 教會是否已有 CCLI License?需填入系統設定 | 🟡 中 | ⏳ 待確認 |
|
||||
| 19 | ~~Phase 2/3 模組分配~~ | **已決定**:Phase 2 = 服事表排班 + 主日出席統計 + 小組管理;Phase 3 = 事工預算 | 🔴 高 | ✅ 決定 |
|
||||
| 20 | ~~檔案儲存後端~~ | **已決定**:Microsoft 拒絕申請,暫無法用 Azure Blob。改以 `IFileOperationService` 抽象,現階段用 `LocalFileOperationService`(base folder 由 config 設定),未來取得 Azure 額度後切換 `AzureFileOperationService`(見 §6 檔案儲存抽象層) | 🔴 高 | ✅ 決定 |
|
||||
|
||||
---
|
||||
|
||||
## 下拉雙語顯示約定 (Dropdown Bilingual Display)
|
||||
|
||||
所有業務下拉選單的選項同時顯示英文與中文,格式 `英文/中文`(無空格、英文在前;無中文則只顯示英文)。
|
||||
|
||||
- **DB 查表下拉**(giving categories / ministries / expense category groups & subs):
|
||||
在對應的 API service 載入時計算 `label = bilingual(name_en, name_zh)`,模板綁 `textField="label"`。
|
||||
不改 DB、不改 schema、不改儲存值。
|
||||
- **寫死 enum 下拉**(payment method / expense status / member status / gender / language / roles):
|
||||
選項一律定義在 `APP/src/app/shared/i18n/option-lists.ts`,型別 `{ value, label }`,
|
||||
模板綁 `textField="label" valueField="value" [valuePrimitive]="true"`。送出/儲存的 `value` 不變。
|
||||
- 共用工具:`APP/src/app/shared/i18n/bilingual.ts` 的 `bilingual(en, zh)`。
|
||||
- 新增下拉時沿用以上兩種模式,不要在 component 內各自寫死中文字串。
|
||||
|
||||
*文件由 ROLAC 開發團隊維護。*
|
||||
|
||||
Reference in New Issue
Block a user