1. 新增 config/locales.php:定義 11 種系統支援語系白名單(原文+中文註記)、每台機台上限 5 種與 fallback (zh_TW)。 2. Company 新增 activeLocalesFor()/activeLocales():計算公司所有機台已開語系的聯集(去重、依白名單排序、保底 zh_TW),加快取與 forgetActiveLocales() 失效機制。 3. products 新增 spec_dictionary_key 欄位(migration);Product 新增 localized_spec accessor 與 specTranslations 關聯,商品規格比照名稱支援多語系。 4. ProductController 商品建立/更新改收 names 與 specs 物件,寫入 translations(group=product/product_spec),既有商品首次編輯補建 spec key,刪除時一併清除規格翻譯。 5. ProductCatalogService(B012)保留既有 t060v01_en/_jp 欄位,新增 t060v01_i18n/t060v03_i18n locale map,依公司語系聯集輸出並回退 zh_TW,確保線上舊 App 相容。 6. 機台系統設定(updateSystemSettings)新增 languages 顯示語系驗證與寫入(最多 5 種、白名單、去重,僅系統管理員),異動時失效語系聯集快取並重建商品目錄。 7. B014(getSettings)新增 LangSet 下發機台顯示語系(Languages 有序清單+Default 預設)。 8. 商品建立/編輯頁名稱與規格改為多語系 Tab(讀公司機台語系聯集、完成度標記),新增共用元件 product-locale-tabs;機台系統設定彈窗新增顯示語系勾選 UI(限 5 選、預設標記)。 9. 三語系 JSON(zh_TW/en/ja)新增 5 組對齊鍵並維持字母排序。 10. 同步更新文件:docs/API/product_multilingual_spec.md(規格書)、api-technical-specs SKILL.md(B012 i18n/B014 LangSet)、config/api-docs.php(B012/B014 範例與欄位)。 11. 系統設定同步:新增 sync-settings 路由與 update_settings 指令類型,ProcessCommandAck 與遠端指令歷史(remote index/tab-history)支援 update_settings 標籤,機台系統設定頁新增「同步設定」操作按鈕,並補 B016 回寫測試。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
1.9 KiB
PHP
49 lines
1.9 KiB
PHP
<?php
|
||
|
||
/*
|
||
|--------------------------------------------------------------------------
|
||
| 系統支援語系白名單 (Master Locale Whitelist)
|
||
|--------------------------------------------------------------------------
|
||
|
|
||
| 系統目前支援的所有語系,作為以下用途的唯一來源:
|
||
| 1. 機台設定頁「顯示語系」可勾選清單(管理員從此白名單替機台挑語系,最多 5 種)。
|
||
| 2. 後台儲存語系時(updateSystemSettings)languages 欄位的驗證白名單。
|
||
|
|
||
| 注意:商品編輯頁的語系 Tab 不是直接讀白名單,而是讀「公司所有機台已開語系
|
||
| 的聯集」(Company::activeLocales())。白名單是「機台能挑的池子」,聯集是
|
||
| 「商品實際要維護的語系」。
|
||
|
|
||
| 詳見 docs/API/product_multilingual_spec.md。
|
||
|
|
||
*/
|
||
|
||
return [
|
||
|
||
// 每台機台最多可勾選的語系數量
|
||
'max_per_machine' => 5,
|
||
|
||
// 缺翻譯時的回退語系(亦為商品名稱/規格的最終預設值)
|
||
'fallback' => 'zh_TW',
|
||
|
||
/*
|
||
| 支援語系:locale => 顯示名稱。
|
||
| 標籤採「原文(中文註記)」格式:因後台為我方使用,原文(如 ภาษาไทย、Tiếng Việt)
|
||
| 不易辨識,故一律附上中文註記,方便管理員一眼判斷是哪種語言。
|
||
| 陣列順序即為各處 UI 的呈現順序,請維持 zh_TW 在最前。
|
||
*/
|
||
'supported' => [
|
||
'zh_TW' => '繁體中文',
|
||
'en' => 'English(英文)',
|
||
'ja' => '日本語(日文)',
|
||
'ko' => '한국어(韓文)',
|
||
'th' => 'ภาษาไทย(泰文)',
|
||
'zh_CN' => '简体中文(簡中)',
|
||
'vi' => 'Tiếng Việt(越南文)',
|
||
'fr' => 'Français(法文)',
|
||
'de' => 'Deutsch(德文)',
|
||
'es' => 'Español(西班牙文)',
|
||
'id' => 'Bahasa Indonesia(印尼文)',
|
||
],
|
||
|
||
];
|