Files
zn-ai/runtime-shared/locales/messages.ts
duanshuwen 27dc4af3b4 Add Thai language support for various application components
- Introduced Thai translations for dashboard, knowledge, login, models, scripts, settings, skills, task, and common UI elements.
- Updated provider placeholders to include Thai language options.
- Modified locale resolution to support Thai language.
- Adjusted settings store to handle legacy language migration from Japanese to Thai.
- Enhanced runtime types to include Thai as a supported language.
2026-04-21 19:55:48 +08:00

100 lines
4.1 KiB
TypeScript

export type RuntimeMessageTree = {
[key: string]: string | number | RuntimeMessageTree;
};
export const runtimeLocaleMessages: Record<'en' | 'zh' | 'th', RuntimeMessageTree> = {
en: {
settings: {
title: 'Settings',
},
menu: {
conversation: {
newConversation: 'New Conversation',
sortBy: 'Sort By',
sortByCreateTime: 'Sort by Creation Time',
sortByUpdateTime: 'Sort by Update Time',
sortByName: 'Sort by Name',
sortByModel: 'Sort by Model',
sortAscending: 'Ascending',
sortDescending: 'Descending',
pinConversation: 'Pin Conversation',
renameConversation: 'Rename Conversation',
delConversation: 'Delete Conversation',
batchOperations: 'Batch Operations',
},
message: {
copyMessage: 'Copy Message',
deleteMessage: 'Delete Message',
selectMessage: 'Select Message',
},
},
tray: {
tooltip: 'ZN-AI',
showWindow: 'Show Window',
exit: 'Exit',
},
},
zh: {
settings: {
title: '\u8bbe\u7f6e',
},
menu: {
conversation: {
newConversation: '\u65b0\u5efa\u5bf9\u8bdd',
sortBy: '\u6392\u5e8f\u65b9\u5f0f',
sortByCreateTime: '\u6309\u521b\u5efa\u65f6\u95f4\u6392\u5e8f',
sortByUpdateTime: '\u6309\u66f4\u65b0\u65f6\u95f4\u6392\u5e8f',
sortByName: '\u6309\u540d\u79f0\u6392\u5e8f',
sortByModel: '\u6309\u6a21\u578b\u6392\u5e8f',
sortAscending: '\u9012\u589e',
sortDescending: '\u9012\u51cf',
pinConversation: '\u7f6e\u9876\u5bf9\u8bdd',
renameConversation: '\u91cd\u547d\u540d\u5bf9\u8bdd',
delConversation: '\u5220\u9664\u5bf9\u8bdd',
batchOperations: '\u6279\u91cf\u64cd\u4f5c',
},
message: {
copyMessage: '\u590d\u5236\u6d88\u606f',
deleteMessage: '\u5220\u9664\u6d88\u606f',
selectMessage: '\u9009\u62e9\u6d88\u606f',
},
},
tray: {
tooltip: 'ZN-AI',
showWindow: '\u663e\u793a\u7a97\u53e3',
exit: '\u9000\u51fa',
},
},
th: {
settings: {
title: '\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32',
},
menu: {
conversation: {
newConversation: '\u0e01\u0e32\u0e23\u0e2a\u0e19\u0e17\u0e19\u0e32\u0e43\u0e2b\u0e21\u0e48',
sortBy: '\u0e08\u0e31\u0e14\u0e40\u0e23\u0e35\u0e22\u0e07\u0e15\u0e32\u0e21',
sortByCreateTime: '\u0e08\u0e31\u0e14\u0e40\u0e23\u0e35\u0e22\u0e07\u0e15\u0e32\u0e21\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07',
sortByUpdateTime: '\u0e08\u0e31\u0e14\u0e40\u0e23\u0e35\u0e22\u0e07\u0e15\u0e32\u0e21\u0e40\u0e27\u0e25\u0e32\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15',
sortByName: '\u0e08\u0e31\u0e14\u0e40\u0e23\u0e35\u0e22\u0e07\u0e15\u0e32\u0e21\u0e0a\u0e37\u0e48\u0e2d',
sortByModel: '\u0e08\u0e31\u0e14\u0e40\u0e23\u0e35\u0e22\u0e07\u0e15\u0e32\u0e21\u0e42\u0e21\u0e40\u0e14\u0e25',
sortAscending: '\u0e40\u0e23\u0e35\u0e22\u0e07\u0e08\u0e32\u0e01\u0e19\u0e49\u0e2d\u0e22\u0e44\u0e1b\u0e21\u0e32\u0e01',
sortDescending: '\u0e40\u0e23\u0e35\u0e22\u0e07\u0e08\u0e32\u0e01\u0e21\u0e32\u0e01\u0e44\u0e1b\u0e19\u0e49\u0e2d\u0e22',
pinConversation: '\u0e1b\u0e31\u0e01\u0e2b\u0e21\u0e38\u0e14\u0e01\u0e32\u0e23\u0e2a\u0e19\u0e17\u0e19\u0e32',
renameConversation: '\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e0a\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e2a\u0e19\u0e17\u0e19\u0e32',
delConversation: '\u0e25\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e19\u0e17\u0e19\u0e32',
batchOperations: '\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e41\u0e1a\u0e1a\u0e01\u0e25\u0e38\u0e48\u0e21',
},
message: {
copyMessage: '\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21',
deleteMessage: '\u0e25\u0e1a\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21',
selectMessage: '\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21',
},
},
tray: {
tooltip: 'ZN-AI',
showWindow: '\u0e41\u0e2a\u0e14\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07',
exit: '\u0e2d\u0e2d\u0e01',
},
},
};