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.
This commit is contained in:
duanshuwen
2026-04-21 19:55:48 +08:00
parent 488d420e06
commit 27dc4af3b4
37 changed files with 1154 additions and 1150 deletions

View File

@@ -2,7 +2,7 @@ export type RuntimeMessageTree = {
[key: string]: string | number | RuntimeMessageTree;
};
export const runtimeLocaleMessages: Record<'en' | 'zh' | 'ja', RuntimeMessageTree> = {
export const runtimeLocaleMessages: Record<'en' | 'zh' | 'th', RuntimeMessageTree> = {
en: {
settings: {
title: 'Settings',
@@ -65,35 +65,35 @@ export const runtimeLocaleMessages: Record<'en' | 'zh' | 'ja', RuntimeMessageTre
exit: '\u9000\u51fa',
},
},
ja: {
th: {
settings: {
title: '\u8a2d\u5b9a',
title: '\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32',
},
menu: {
conversation: {
newConversation: '\u65b0\u3057\u3044\u4f1a\u8a71',
sortBy: '\u4e26\u3079\u66ff\u3048',
sortByCreateTime: '\u4f5c\u6210\u65e5\u6642\u3067\u4e26\u3079\u66ff\u3048',
sortByUpdateTime: '\u66f4\u65b0\u65e5\u6642\u3067\u4e26\u3079\u66ff\u3048',
sortByName: '\u540d\u524d\u3067\u4e26\u3079\u66ff\u3048',
sortByModel: '\u30e2\u30c7\u30eb\u3067\u4e26\u3079\u66ff\u3048',
sortAscending: '\u6607\u9806',
sortDescending: '\u964d\u9806',
pinConversation: '\u4f1a\u8a71\u3092\u30d4\u30f3\u7559\u3081',
renameConversation: '\u4f1a\u8a71\u540d\u3092\u5909\u66f4',
delConversation: '\u4f1a\u8a71\u3092\u524a\u9664',
batchOperations: '\u4e00\u62ec\u64cd\u4f5c',
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: '\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30b3\u30d4\u30fc',
deleteMessage: '\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u524a\u9664',
selectMessage: '\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9078\u629e',
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: '\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u8868\u793a',
exit: '\u7d42\u4e86',
showWindow: '\u0e41\u0e2a\u0e14\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07',
exit: '\u0e2d\u0e2d\u0e01',
},
},
};