Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .i18nrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ module.exports = defineConfig({
entry: 'src/locales/en',
entryLocale: 'en',
output: 'src/locales',
outputLocales: ['zh', 'ru', 'ja', 'ko', 'fr', 'es'],
outputLocales: ['zh', 'zh-TW', 'ru', 'ja', 'ko', 'fr', 'es'],
reference: `Special names to keep untranslated: flux, photomaker, clip, vae, cfg, stable audio, stable cascade, stable zero, controlnet, lora, HiDream.
'latent' is the short form of 'latent space'.
'mask' is in the context of image processing.
Note: For Traditional Chinese (Taiwan), use Taiwan-specific terminology and traditional characters.
`
});
7 changes: 4 additions & 3 deletions scripts/check-unused-i18n-keys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ async function checkNewUnusedKeys() {

// Report results
if (unusedNewKeys.length > 0) {
console.log('\n Found unused NEW i18n keys:\n')
console.log('\n⚠️ Warning: Found unused NEW i18n keys:\n')

for (const key of unusedNewKeys.sort()) {
console.log(` - ${key}`)
Expand All @@ -176,9 +176,10 @@ async function checkNewUnusedKeys() {
console.log(
'\nThese keys were added but are not used anywhere in the codebase.'
)
console.log('Please either use them or remove them before committing.')
console.log('Consider using them or removing them in a future update.')

process.exit(1)
// Changed from process.exit(1) to process.exit(0) for warning only
process.exit(0)
} else {
// Silent success - no output needed
}
Expand Down
1 change: 1 addition & 0 deletions src/constants/coreSettings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ export const CORE_SETTINGS: SettingParams[] = [
options: [
{ value: 'en', text: 'English' },
{ value: 'zh', text: '中文' },
{ value: 'zh-TW', text: '繁體中文' },
{ value: 'ru', text: 'Русский' },
{ value: 'ja', text: '日本語' },
{ value: 'ko', text: '한국어' },
Expand Down
5 changes: 5 additions & 0 deletions src/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ import ruCommands from './locales/ru/commands.json'
import ru from './locales/ru/main.json'
import ruNodes from './locales/ru/nodeDefs.json'
import ruSettings from './locales/ru/settings.json'
import zhTWCommands from './locales/zh-TW/commands.json'
import zhTW from './locales/zh-TW/main.json'
import zhTWNodes from './locales/zh-TW/nodeDefs.json'
import zhTWSettings from './locales/zh-TW/settings.json'
import zhCommands from './locales/zh/commands.json'
import zh from './locales/zh/main.json'
import zhNodes from './locales/zh/nodeDefs.json'
Expand All @@ -41,6 +45,7 @@ function buildLocale<M, N, C, S>(main: M, nodes: N, commands: C, settings: S) {
const messages = {
en: buildLocale(en, enNodes, enCommands, enSettings),
zh: buildLocale(zh, zhNodes, zhCommands, zhSettings),
'zh-TW': buildLocale(zhTW, zhTWNodes, zhTWCommands, zhTWSettings),
ru: buildLocale(ru, ruNodes, ruCommands, ruSettings),
ja: buildLocale(ja, jaNodes, jaCommands, jaSettings),
ko: buildLocale(ko, koNodes, koCommands, koSettings),
Expand Down
249 changes: 249 additions & 0 deletions src/locales/zh-TW/commands.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
{
"Comfy-Desktop_CheckForUpdates": {
"label": "檢查更新"
},
"Comfy-Desktop_Folders_OpenCustomNodesFolder": {
"label": "開啟自訂節點資料夾"
},
"Comfy-Desktop_Folders_OpenInputsFolder": {
"label": "開啟輸入資料夾"
},
"Comfy-Desktop_Folders_OpenLogsFolder": {
"label": "開啟日誌資料夾"
},
"Comfy-Desktop_Folders_OpenModelConfig": {
"label": "開啟 extra_model_paths.yaml"
},
"Comfy-Desktop_Folders_OpenModelsFolder": {
"label": "開啟模型資料夾"
},
"Comfy-Desktop_Folders_OpenOutputsFolder": {
"label": "開啟輸出資料夾"
},
"Comfy-Desktop_OpenDevTools": {
"label": "開啟開發者工具"
},
"Comfy-Desktop_OpenUserGuide": {
"label": "桌面版使用指南"
},
"Comfy-Desktop_Quit": {
"label": "退出"
},
"Comfy-Desktop_Reinstall": {
"label": "重新安裝"
},
"Comfy-Desktop_Restart": {
"label": "重新啟動"
},
"Comfy_BrowseTemplates": {
"label": "瀏覽範本"
},
"Comfy_Canvas_AddEditModelStep": {
"label": "新增編輯模型步驟"
},
"Comfy_Canvas_DeleteSelectedItems": {
"label": "刪除選取項目"
},
"Comfy_Canvas_FitView": {
"label": "將視圖適應至所選節點"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "將選取的節點下移"
},
"Comfy_Canvas_MoveSelectedNodes_Left": {
"label": "左移選取的節點"
},
"Comfy_Canvas_MoveSelectedNodes_Right": {
"label": "右移選取的節點"
},
"Comfy_Canvas_MoveSelectedNodes_Up": {
"label": "上移選取的節點"
},
"Comfy_Canvas_ResetView": {
"label": "重設視圖"
},
"Comfy_Canvas_Resize": {
"label": "調整所選節點大小"
},
"Comfy_Canvas_ToggleLinkVisibility": {
"label": "畫布切換連結可見性"
},
"Comfy_Canvas_ToggleLock": {
"label": "畫布切換鎖定"
},
"Comfy_Canvas_ToggleSelectedNodes_Bypass": {
"label": "略過/取消略過選取的節點"
},
"Comfy_Canvas_ToggleSelectedNodes_Collapse": {
"label": "收合/展開選取的節點"
},
"Comfy_Canvas_ToggleSelectedNodes_Mute": {
"label": "停用/啟用選取的節點"
},
"Comfy_Canvas_ToggleSelectedNodes_Pin": {
"label": "釘選/取消釘選已選取的節點"
},
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "釘選/取消釘選已選項目"
},
"Comfy_Canvas_ZoomIn": {
"label": "放大"
},
"Comfy_Canvas_ZoomOut": {
"label": "縮小"
},
"Comfy_ClearPendingTasks": {
"label": "清除待處理任務"
},
"Comfy_ClearWorkflow": {
"label": "清除工作流程"
},
"Comfy_ContactSupport": {
"label": "聯絡支援"
},
"Comfy_DuplicateWorkflow": {
"label": "複製目前工作流程"
},
"Comfy_ExportWorkflow": {
"label": "匯出工作流程"
},
"Comfy_ExportWorkflowAPI": {
"label": "匯出工作流程(API 格式)"
},
"Comfy_Feedback": {
"label": "提供回饋"
},
"Comfy_Graph_ConvertToSubgraph": {
"label": "將選取內容轉換為子圖"
},
"Comfy_Graph_FitGroupToContents": {
"label": "調整群組以符合內容"
},
"Comfy_Graph_GroupSelectedNodes": {
"label": "群組所選節點"
},
"Comfy_GroupNode_ConvertSelectedNodesToGroupNode": {
"label": "將選取的節點轉換為群組節點"
},
"Comfy_GroupNode_ManageGroupNodes": {
"label": "管理群組節點"
},
"Comfy_GroupNode_UngroupSelectedGroupNodes": {
"label": "取消群組所選群組節點"
},
"Comfy_Help_AboutComfyUI": {
"label": "開啟關於 ComfyUI"
},
"Comfy_Help_OpenComfyOrgDiscord": {
"label": "開啟 Comfy-Org Discord"
},
"Comfy_Help_OpenComfyUIDocs": {
"label": "開啟 ComfyUI 文件"
},
"Comfy_Help_OpenComfyUIForum": {
"label": "開啟 ComfyUI 論壇"
},
"Comfy_Help_OpenComfyUIIssues": {
"label": "開啟 ComfyUI 問題追蹤"
},
"Comfy_Interrupt": {
"label": "中斷"
},
"Comfy_LoadDefaultWorkflow": {
"label": "載入預設工作流程"
},
"Comfy_Manager_CustomNodesManager": {
"label": "切換自訂節點管理器"
},
"Comfy_Manager_ToggleManagerProgressDialog": {
"label": "切換自訂節點管理器進度條"
},
"Comfy_MaskEditor_OpenMaskEditor": {
"label": "為選取的節點開啟 Mask 編輯器"
},
"Comfy_NewBlankWorkflow": {
"label": "新增空白工作流程"
},
"Comfy_OpenClipspace": {
"label": "Clipspace"
},
"Comfy_OpenWorkflow": {
"label": "開啟工作流程"
},
"Comfy_QueuePrompt": {
"label": "將提示詞加入佇列"
},
"Comfy_QueuePromptFront": {
"label": "將提示詞加入佇列前方"
},
"Comfy_QueueSelectedOutputNodes": {
"label": "佇列所選的輸出節點"
},
"Comfy_Redo": {
"label": "重做"
},
"Comfy_RefreshNodeDefinitions": {
"label": "重新整理節點定義"
},
"Comfy_SaveWorkflow": {
"label": "儲存工作流程"
},
"Comfy_SaveWorkflowAs": {
"label": "另存工作流程"
},
"Comfy_ShowSettingsDialog": {
"label": "顯示設定對話框"
},
"Comfy_ToggleTheme": {
"label": "切換主題(深色/淺色)"
},
"Comfy_Undo": {
"label": "復原"
},
"Comfy_User_OpenSignInDialog": {
"label": "開啟登入對話框"
},
"Comfy_User_SignOut": {
"label": "登出"
},
"Workspace_CloseWorkflow": {
"label": "關閉當前工作流程"
},
"Workspace_NextOpenedWorkflow": {
"label": "下一個已開啟的工作流程"
},
"Workspace_PreviousOpenedWorkflow": {
"label": "上次開啟的工作流程"
},
"Workspace_SearchBox_Toggle": {
"label": "切換搜尋框"
},
"Workspace_ToggleBottomPanel": {
"label": "切換下方面板"
},
"Workspace_ToggleBottomPanelTab_command-terminal": {
"label": "切換終端機底部面板"
},
"Workspace_ToggleBottomPanelTab_logs-terminal": {
"label": "切換日誌底部面板"
},
"Workspace_ToggleFocusMode": {
"label": "切換專注模式"
},
"Workspace_ToggleSidebarTab_model-library": {
"label": "切換模型庫側邊欄",
"tooltip": "模型庫"
},
"Workspace_ToggleSidebarTab_node-library": {
"label": "切換節點庫側邊欄",
"tooltip": "節點庫"
},
"Workspace_ToggleSidebarTab_queue": {
"label": "切換佇列側邊欄",
"tooltip": "佇列"
},
"Workspace_ToggleSidebarTab_workflows": {
"label": "切換工作流程側邊欄",
"tooltip": "工作流程"
}
}
Loading