@liujitcn/kratos-taro-app-system 0.0.97 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.mjs +80 -4
- package/package.json +3 -3
- package/src/locales/en-US.json +20 -1
- package/src/locales/ja-JP.json +20 -1
- package/src/locales/zh-CN.json +20 -1
- package/src/locales/zh-TW.json +20 -1
- package/src/utils/persisted-message.ts +28 -0
- package/src/views/pagesMember/ai/components/Composer.tsx +2 -2
- package/src/views/pagesMember/ai/components/SessionDrawer.tsx +2 -2
- package/src/views/pagesMember/ai/components/WelcomePanel.tsx +2 -2
- package/src/views/pagesMember/ai/index.tsx +2 -2
- package/src/views/pagesMember/message/detail.tsx +5 -12
- package/src/views/pagesMember/message/index.tsx +2 -1
- package/src/views/pagesMember/profile/profile.tsx +1 -1
- package/src/views/pagesMember/settings/settings.tsx +5 -5
package/dist/module.mjs
CHANGED
|
@@ -163,6 +163,24 @@ var zh_CN_default = {
|
|
|
163
163
|
"system.notification.action.archive": "\u5F52\u6863",
|
|
164
164
|
"system.notification.action.restore": "\u6062\u590D",
|
|
165
165
|
"system.notification.action.delete": "\u5220\u9664",
|
|
166
|
+
"system.workflow.notification.title.withdrawn": "\u5F85\u5BA1\u6279\u7533\u8BF7\u5DF2\u88AB\u64A4\u56DE",
|
|
167
|
+
"system.workflow.notification.content.withdrawn": "\u7533\u8BF7\u4EBA\u5DF2\u64A4\u56DE\u8BE5\u7533\u8BF7\uFF0C\u65E0\u9700\u7EE7\u7EED\u5904\u7406",
|
|
168
|
+
"system.workflow.notification.title.rejected": "\u60A8\u7684\u7533\u8BF7\u5DF2\u88AB\u9A73\u56DE",
|
|
169
|
+
"system.workflow.notification.content.rejected": "\u8BF7\u767B\u5F55\u7CFB\u7EDF\u67E5\u770B\u5BA1\u6279\u610F\u89C1",
|
|
170
|
+
"system.workflow.notification.title.forwarded": "\u60A8\u6709\u88AB\u8F6C\u529E\u7684\u5BA1\u6279\u4EFB\u52A1",
|
|
171
|
+
"system.workflow.notification.title.added": "\u60A8\u6709\u88AB\u52A0\u7B7E\u7684\u5BA1\u6279\u4EFB\u52A1",
|
|
172
|
+
"system.workflow.notification.title.pending": "\u60A8\u6709\u65B0\u7684\u5F85\u5BA1\u6279\u4EFB\u52A1",
|
|
173
|
+
"system.workflow.notification.content.pending": "\u8BF7\u767B\u5F55\u7CFB\u7EDF\u5904\u7406\u5F85\u5BA1\u6279\u4E8B\u9879",
|
|
174
|
+
"system.workflow.notification.title.approved": "\u60A8\u7684\u7533\u8BF7\u5DF2\u901A\u8FC7",
|
|
175
|
+
"system.workflow.notification.content.approved": "\u5168\u90E8\u5BA1\u6279\u8282\u70B9\u5DF2\u901A\u8FC7",
|
|
176
|
+
"system.workflow.notification.title.definition_rejected": "\u60A8\u7684\u7533\u8BF7\u5DF2\u88AB\u9A73\u56DE",
|
|
177
|
+
"system.workflow.notification.content.definition_rejected": "\u6D41\u7A0B\u5B9A\u4E49\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",
|
|
178
|
+
"system.workflow.notification.title.escalated_assignee": "\u60A8\u6709\u5F85\u5BA1\u6279\u4EFB\u52A1\u4E25\u91CD\u8D85\u65F6",
|
|
179
|
+
"system.workflow.notification.content.escalated_assignee": "\u8BE5\u4EFB\u52A1\u5DF2\u8D85\u65F6\u8F83\u4E45\u4ECD\u672A\u5904\u7406\uFF0C\u5DF2\u540C\u6B65\u63D0\u9192\u7533\u8BF7\u4EBA\u5173\u6CE8\u8FDB\u5EA6\u3002",
|
|
180
|
+
"system.workflow.notification.title.escalated_applicant": "\u60A8\u7684\u7533\u8BF7\u5BA1\u6279\u8D85\u65F6",
|
|
181
|
+
"system.workflow.notification.content.escalated_applicant": "\u5F53\u524D\u5BA1\u6279\u8282\u70B9\u529E\u7406\u4EBA\u957F\u65F6\u95F4\u672A\u5904\u7406\uFF0C\u7CFB\u7EDF\u5DF2\u518D\u6B21\u63D0\u9192\u5BF9\u65B9\u3002",
|
|
182
|
+
"system.workflow.notification.title.reminder": "\u60A8\u6709\u5F85\u5BA1\u6279\u4EFB\u52A1\u8D85\u65F6\u672A\u5904\u7406",
|
|
183
|
+
"system.workflow.notification.content.reminder": "\u8BF7\u5C3D\u5FEB\u767B\u5F55\u7CFB\u7EDF\u5904\u7406\u5F85\u5BA1\u6279\u4E8B\u9879\uFF0C\u957F\u65F6\u95F4\u672A\u5904\u7406\u5C06\u540C\u6B65\u63D0\u9192\u7533\u8BF7\u4EBA\u3002",
|
|
166
184
|
"system.ai.model.model_placeholder": "\u9009\u62E9\u6A21\u578B",
|
|
167
185
|
"system.ai.model.title": "\u9009\u62E9\u6A21\u578B",
|
|
168
186
|
"system.ai.model.provider_model_count": "{providers} \u4E2A\u4F9B\u5E94\u5546 \xB7 {models} \u4E2A\u6A21\u578B",
|
|
@@ -175,7 +193,8 @@ var zh_CN_default = {
|
|
|
175
193
|
"system.settings.theme": "\u4E3B\u9898\u5916\u89C2",
|
|
176
194
|
"system.settings.theme_auto": "\u8DDF\u968F\u7CFB\u7EDF",
|
|
177
195
|
"system.settings.theme_dark": "\u6697\u9ED1",
|
|
178
|
-
"system.settings.theme_light": "\u660E\u4EAE"
|
|
196
|
+
"system.settings.theme_light": "\u660E\u4EAE",
|
|
197
|
+
"common.message.unknown": "\u672A\u77E5"
|
|
179
198
|
};
|
|
180
199
|
|
|
181
200
|
// src/locales/en-US.json
|
|
@@ -310,6 +329,24 @@ var en_US_default = {
|
|
|
310
329
|
"system.notification.action.archive": "Archive",
|
|
311
330
|
"system.notification.action.restore": "Restore",
|
|
312
331
|
"system.notification.action.delete": "Delete",
|
|
332
|
+
"system.workflow.notification.title.withdrawn": "Pending approval request withdrawn",
|
|
333
|
+
"system.workflow.notification.content.withdrawn": "The applicant withdrew this request; no further action is needed",
|
|
334
|
+
"system.workflow.notification.title.rejected": "Your request was rejected",
|
|
335
|
+
"system.workflow.notification.content.rejected": "Sign in to review the approval comments",
|
|
336
|
+
"system.workflow.notification.title.forwarded": "An approval task was forwarded to you",
|
|
337
|
+
"system.workflow.notification.title.added": "An approval task was added for you",
|
|
338
|
+
"system.workflow.notification.title.pending": "You have a new approval task",
|
|
339
|
+
"system.workflow.notification.content.pending": "Sign in to process the pending approval task",
|
|
340
|
+
"system.workflow.notification.title.approved": "Your request was approved",
|
|
341
|
+
"system.workflow.notification.content.approved": "All approval steps have been completed",
|
|
342
|
+
"system.workflow.notification.title.definition_rejected": "Your request was rejected",
|
|
343
|
+
"system.workflow.notification.content.definition_rejected": "The workflow definition is invalid. Contact an administrator",
|
|
344
|
+
"system.workflow.notification.title.escalated_assignee": "Your pending approval task is severely overdue",
|
|
345
|
+
"system.workflow.notification.content.escalated_assignee": "This task has remained unprocessed for a long time; the applicant has been notified",
|
|
346
|
+
"system.workflow.notification.title.escalated_applicant": "Your approval request is overdue",
|
|
347
|
+
"system.workflow.notification.content.escalated_applicant": "The current approver has not processed the task for a long time; they have been reminded",
|
|
348
|
+
"system.workflow.notification.title.reminder": "Your pending approval task is overdue",
|
|
349
|
+
"system.workflow.notification.content.reminder": "Please sign in to process the pending approval task; the applicant will be notified if it remains unresolved",
|
|
313
350
|
"system.ai.model.model_placeholder": "Select a model",
|
|
314
351
|
"system.ai.model.title": "Select Model",
|
|
315
352
|
"system.ai.model.provider_model_count": "{providers} providers \xB7 {models} models",
|
|
@@ -322,7 +359,8 @@ var en_US_default = {
|
|
|
322
359
|
"system.settings.theme": "Theme Appearance",
|
|
323
360
|
"system.settings.theme_auto": "Follow System",
|
|
324
361
|
"system.settings.theme_dark": "Dark",
|
|
325
|
-
"system.settings.theme_light": "Light"
|
|
362
|
+
"system.settings.theme_light": "Light",
|
|
363
|
+
"common.message.unknown": "Unknown"
|
|
326
364
|
};
|
|
327
365
|
|
|
328
366
|
// src/locales/ja-JP.json
|
|
@@ -457,6 +495,24 @@ var ja_JP_default = {
|
|
|
457
495
|
"system.notification.action.archive": "\u30A2\u30FC\u30AB\u30A4\u30D6",
|
|
458
496
|
"system.notification.action.restore": "\u5FA9\u5143",
|
|
459
497
|
"system.notification.action.delete": "\u524A\u9664",
|
|
498
|
+
"system.workflow.notification.title.withdrawn": "\u627F\u8A8D\u5F85\u3061\u306E\u7533\u8ACB\u304C\u53D6\u308A\u4E0B\u3052\u3089\u308C\u307E\u3057\u305F",
|
|
499
|
+
"system.workflow.notification.content.withdrawn": "\u7533\u8ACB\u8005\u304C\u7533\u8ACB\u3092\u53D6\u308A\u4E0B\u3052\u305F\u305F\u3081\u3001\u3053\u308C\u4EE5\u4E0A\u306E\u5BFE\u5FDC\u306F\u4E0D\u8981\u3067\u3059",
|
|
500
|
+
"system.workflow.notification.title.rejected": "\u7533\u8ACB\u304C\u5374\u4E0B\u3055\u308C\u307E\u3057\u305F",
|
|
501
|
+
"system.workflow.notification.content.rejected": "\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u627F\u8A8D\u30B3\u30E1\u30F3\u30C8\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
502
|
+
"system.workflow.notification.title.forwarded": "\u627F\u8A8D\u30BF\u30B9\u30AF\u304C\u8EE2\u9001\u3055\u308C\u307E\u3057\u305F",
|
|
503
|
+
"system.workflow.notification.title.added": "\u627F\u8A8D\u30BF\u30B9\u30AF\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F",
|
|
504
|
+
"system.workflow.notification.title.pending": "\u65B0\u3057\u3044\u627F\u8A8D\u30BF\u30B9\u30AF\u304C\u3042\u308A\u307E\u3059",
|
|
505
|
+
"system.workflow.notification.content.pending": "\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u627F\u8A8D\u5F85\u3061\u306E\u30BF\u30B9\u30AF\u3092\u51E6\u7406\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
506
|
+
"system.workflow.notification.title.approved": "\u7533\u8ACB\u304C\u627F\u8A8D\u3055\u308C\u307E\u3057\u305F",
|
|
507
|
+
"system.workflow.notification.content.approved": "\u3059\u3079\u3066\u306E\u627F\u8A8D\u30B9\u30C6\u30C3\u30D7\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F",
|
|
508
|
+
"system.workflow.notification.title.definition_rejected": "\u7533\u8ACB\u304C\u5374\u4E0B\u3055\u308C\u307E\u3057\u305F",
|
|
509
|
+
"system.workflow.notification.content.definition_rejected": "\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u5B9A\u7FA9\u306B\u7570\u5E38\u304C\u3042\u308A\u307E\u3059\u3002\u7BA1\u7406\u8005\u306B\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
510
|
+
"system.workflow.notification.title.escalated_assignee": "\u627F\u8A8D\u5F85\u3061\u30BF\u30B9\u30AF\u304C\u5927\u5E45\u306B\u671F\u9650\u8D85\u904E\u3057\u3066\u3044\u307E\u3059",
|
|
511
|
+
"system.workflow.notification.content.escalated_assignee": "\u30BF\u30B9\u30AF\u304C\u9577\u6642\u9593\u51E6\u7406\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u7533\u8ACB\u8005\u306B\u3082\u901A\u77E5\u3057\u307E\u3057\u305F",
|
|
512
|
+
"system.workflow.notification.title.escalated_applicant": "\u7533\u8ACB\u306E\u627F\u8A8D\u304C\u671F\u9650\u8D85\u904E\u3057\u3066\u3044\u307E\u3059",
|
|
513
|
+
"system.workflow.notification.content.escalated_applicant": "\u73FE\u5728\u306E\u627F\u8A8D\u8005\u304C\u9577\u6642\u9593\u30BF\u30B9\u30AF\u3092\u51E6\u7406\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u518D\u901A\u77E5\u3057\u307E\u3057\u305F",
|
|
514
|
+
"system.workflow.notification.title.reminder": "\u627F\u8A8D\u5F85\u3061\u30BF\u30B9\u30AF\u304C\u671F\u9650\u8D85\u904E\u3057\u3066\u3044\u307E\u3059",
|
|
515
|
+
"system.workflow.notification.content.reminder": "\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u627F\u8A8D\u5F85\u3061\u306E\u30BF\u30B9\u30AF\u3092\u51E6\u7406\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u672A\u51E6\u7406\u306E\u5834\u5408\u306F\u7533\u8ACB\u8005\u306B\u3082\u901A\u77E5\u3055\u308C\u307E\u3059",
|
|
460
516
|
"system.ai.model.model_placeholder": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
|
|
461
517
|
"system.ai.model.title": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
|
|
462
518
|
"system.ai.model.provider_model_count": "{providers} \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC \xB7 {models} \u30E2\u30C7\u30EB",
|
|
@@ -469,7 +525,8 @@ var ja_JP_default = {
|
|
|
469
525
|
"system.settings.theme": "\u30C6\u30FC\u30DE\u5916\u89B3",
|
|
470
526
|
"system.settings.theme_auto": "\u30B7\u30B9\u30C6\u30E0\u306B\u5F93\u3046",
|
|
471
527
|
"system.settings.theme_dark": "\u30C0\u30FC\u30AF",
|
|
472
|
-
"system.settings.theme_light": "\u30E9\u30A4\u30C8"
|
|
528
|
+
"system.settings.theme_light": "\u30E9\u30A4\u30C8",
|
|
529
|
+
"common.message.unknown": "\u4E0D\u660E"
|
|
473
530
|
};
|
|
474
531
|
|
|
475
532
|
// src/locales/zh-TW.json
|
|
@@ -604,6 +661,24 @@ var zh_TW_default = {
|
|
|
604
661
|
"system.notification.action.archive": "\u6B78\u6A94",
|
|
605
662
|
"system.notification.action.restore": "\u6062\u5FA9",
|
|
606
663
|
"system.notification.action.delete": "\u522A\u9664",
|
|
664
|
+
"system.workflow.notification.title.withdrawn": "\u5F85\u5BE9\u6279\u7533\u8ACB\u5DF2\u88AB\u64A4\u56DE",
|
|
665
|
+
"system.workflow.notification.content.withdrawn": "\u7533\u8ACB\u4EBA\u5DF2\u64A4\u56DE\u8A72\u7533\u8ACB\uFF0C\u7121\u9700\u7E7C\u7E8C\u8655\u7406",
|
|
666
|
+
"system.workflow.notification.title.rejected": "\u60A8\u7684\u7533\u8ACB\u5DF2\u88AB\u99C1\u56DE",
|
|
667
|
+
"system.workflow.notification.content.rejected": "\u8ACB\u767B\u5165\u7CFB\u7D71\u67E5\u770B\u5BE9\u6279\u610F\u898B",
|
|
668
|
+
"system.workflow.notification.title.forwarded": "\u60A8\u6709\u88AB\u8F49\u8FA6\u7684\u5BE9\u6279\u4EFB\u52D9",
|
|
669
|
+
"system.workflow.notification.title.added": "\u60A8\u6709\u88AB\u52A0\u7C3D\u7684\u5BE9\u6279\u4EFB\u52D9",
|
|
670
|
+
"system.workflow.notification.title.pending": "\u60A8\u6709\u65B0\u7684\u5F85\u5BE9\u6279\u4EFB\u52D9",
|
|
671
|
+
"system.workflow.notification.content.pending": "\u8ACB\u767B\u5165\u7CFB\u7D71\u8655\u7406\u5F85\u5BE9\u6279\u4E8B\u9805",
|
|
672
|
+
"system.workflow.notification.title.approved": "\u60A8\u7684\u7533\u8ACB\u5DF2\u901A\u904E",
|
|
673
|
+
"system.workflow.notification.content.approved": "\u5168\u90E8\u5BE9\u6279\u7BC0\u9EDE\u5DF2\u901A\u904E",
|
|
674
|
+
"system.workflow.notification.title.definition_rejected": "\u60A8\u7684\u7533\u8ACB\u5DF2\u88AB\u99C1\u56DE",
|
|
675
|
+
"system.workflow.notification.content.definition_rejected": "\u6D41\u7A0B\u5B9A\u7FA9\u7570\u5E38\uFF0C\u8ACB\u806F\u7D61\u7BA1\u7406\u54E1",
|
|
676
|
+
"system.workflow.notification.title.escalated_assignee": "\u60A8\u6709\u5F85\u5BE9\u6279\u4EFB\u52D9\u56B4\u91CD\u8D85\u6642",
|
|
677
|
+
"system.workflow.notification.content.escalated_assignee": "\u8A72\u4EFB\u52D9\u5DF2\u8D85\u6642\u8F03\u4E45\u4ECD\u672A\u8655\u7406\uFF0C\u5DF2\u540C\u6B65\u63D0\u9192\u7533\u8ACB\u4EBA\u95DC\u6CE8\u9032\u5EA6\u3002",
|
|
678
|
+
"system.workflow.notification.title.escalated_applicant": "\u60A8\u7684\u7533\u8ACB\u5BE9\u6279\u8D85\u6642",
|
|
679
|
+
"system.workflow.notification.content.escalated_applicant": "\u76EE\u524D\u5BE9\u6279\u7BC0\u9EDE\u8FA6\u7406\u4EBA\u9577\u6642\u9593\u672A\u8655\u7406\uFF0C\u7CFB\u7D71\u5DF2\u518D\u6B21\u63D0\u9192\u5C0D\u65B9\u3002",
|
|
680
|
+
"system.workflow.notification.title.reminder": "\u60A8\u6709\u5F85\u5BE9\u6279\u4EFB\u52D9\u8D85\u6642\u672A\u8655\u7406",
|
|
681
|
+
"system.workflow.notification.content.reminder": "\u8ACB\u76E1\u5FEB\u767B\u5165\u7CFB\u7D71\u8655\u7406\u5F85\u5BE9\u6279\u4E8B\u9805\uFF0C\u9577\u6642\u9593\u672A\u8655\u7406\u5C07\u540C\u6B65\u63D0\u9192\u7533\u8ACB\u4EBA\u3002",
|
|
607
682
|
"system.ai.model.model_placeholder": "\u9078\u64C7\u6A21\u578B",
|
|
608
683
|
"system.ai.model.title": "\u9078\u64C7\u6A21\u578B",
|
|
609
684
|
"system.ai.model.provider_model_count": "{providers} \u500B\u4F9B\u61C9\u5546 \xB7 {models} \u500B\u6A21\u578B",
|
|
@@ -616,7 +691,8 @@ var zh_TW_default = {
|
|
|
616
691
|
"system.settings.theme": "\u4E3B\u984C\u5916\u89C0",
|
|
617
692
|
"system.settings.theme_auto": "\u8DDF\u96A8\u7CFB\u7D71",
|
|
618
693
|
"system.settings.theme_dark": "\u6697\u9ED1",
|
|
619
|
-
"system.settings.theme_light": "\u660E\u4EAE"
|
|
694
|
+
"system.settings.theme_light": "\u660E\u4EAE",
|
|
695
|
+
"common.message.unknown": "\u672A\u77E5"
|
|
620
696
|
};
|
|
621
697
|
|
|
622
698
|
// src/locales/generated.ts
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git@github.com:liujitcn/kratos-admin.git"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.0
|
|
10
|
+
"version": "0.1.0",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@tarojs/components": "4.2.1",
|
|
40
40
|
"@tarojs/taro": "4.2.1",
|
|
41
41
|
"react": "18.3.1",
|
|
42
|
-
"@liujitcn/kratos-taro-app-
|
|
43
|
-
"@liujitcn/kratos-taro-app-
|
|
42
|
+
"@liujitcn/kratos-taro-app-ui": "^0.1.0",
|
|
43
|
+
"@liujitcn/kratos-taro-app-core": "^0.1.0"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "pnpm run build:entries && pnpm pack --pack-destination ../../../dist/npm",
|
package/src/locales/en-US.json
CHANGED
|
@@ -129,6 +129,24 @@
|
|
|
129
129
|
"system.notification.action.archive": "Archive",
|
|
130
130
|
"system.notification.action.restore": "Restore",
|
|
131
131
|
"system.notification.action.delete": "Delete",
|
|
132
|
+
"system.workflow.notification.title.withdrawn": "Pending approval request withdrawn",
|
|
133
|
+
"system.workflow.notification.content.withdrawn": "The applicant withdrew this request; no further action is needed",
|
|
134
|
+
"system.workflow.notification.title.rejected": "Your request was rejected",
|
|
135
|
+
"system.workflow.notification.content.rejected": "Sign in to review the approval comments",
|
|
136
|
+
"system.workflow.notification.title.forwarded": "An approval task was forwarded to you",
|
|
137
|
+
"system.workflow.notification.title.added": "An approval task was added for you",
|
|
138
|
+
"system.workflow.notification.title.pending": "You have a new approval task",
|
|
139
|
+
"system.workflow.notification.content.pending": "Sign in to process the pending approval task",
|
|
140
|
+
"system.workflow.notification.title.approved": "Your request was approved",
|
|
141
|
+
"system.workflow.notification.content.approved": "All approval steps have been completed",
|
|
142
|
+
"system.workflow.notification.title.definition_rejected": "Your request was rejected",
|
|
143
|
+
"system.workflow.notification.content.definition_rejected": "The workflow definition is invalid. Contact an administrator",
|
|
144
|
+
"system.workflow.notification.title.escalated_assignee": "Your pending approval task is severely overdue",
|
|
145
|
+
"system.workflow.notification.content.escalated_assignee": "This task has remained unprocessed for a long time; the applicant has been notified",
|
|
146
|
+
"system.workflow.notification.title.escalated_applicant": "Your approval request is overdue",
|
|
147
|
+
"system.workflow.notification.content.escalated_applicant": "The current approver has not processed the task for a long time; they have been reminded",
|
|
148
|
+
"system.workflow.notification.title.reminder": "Your pending approval task is overdue",
|
|
149
|
+
"system.workflow.notification.content.reminder": "Please sign in to process the pending approval task; the applicant will be notified if it remains unresolved",
|
|
132
150
|
"system.ai.model.model_placeholder": "Select a model",
|
|
133
151
|
"system.ai.model.title": "Select Model",
|
|
134
152
|
"system.ai.model.provider_model_count": "{providers} providers · {models} models",
|
|
@@ -141,5 +159,6 @@
|
|
|
141
159
|
"system.settings.theme": "Theme Appearance",
|
|
142
160
|
"system.settings.theme_auto": "Follow System",
|
|
143
161
|
"system.settings.theme_dark": "Dark",
|
|
144
|
-
"system.settings.theme_light": "Light"
|
|
162
|
+
"system.settings.theme_light": "Light",
|
|
163
|
+
"common.message.unknown": "Unknown"
|
|
145
164
|
}
|
package/src/locales/ja-JP.json
CHANGED
|
@@ -129,6 +129,24 @@
|
|
|
129
129
|
"system.notification.action.archive": "アーカイブ",
|
|
130
130
|
"system.notification.action.restore": "復元",
|
|
131
131
|
"system.notification.action.delete": "削除",
|
|
132
|
+
"system.workflow.notification.title.withdrawn": "承認待ちの申請が取り下げられました",
|
|
133
|
+
"system.workflow.notification.content.withdrawn": "申請者が申請を取り下げたため、これ以上の対応は不要です",
|
|
134
|
+
"system.workflow.notification.title.rejected": "申請が却下されました",
|
|
135
|
+
"system.workflow.notification.content.rejected": "ログインして承認コメントを確認してください",
|
|
136
|
+
"system.workflow.notification.title.forwarded": "承認タスクが転送されました",
|
|
137
|
+
"system.workflow.notification.title.added": "承認タスクが追加されました",
|
|
138
|
+
"system.workflow.notification.title.pending": "新しい承認タスクがあります",
|
|
139
|
+
"system.workflow.notification.content.pending": "ログインして承認待ちのタスクを処理してください",
|
|
140
|
+
"system.workflow.notification.title.approved": "申請が承認されました",
|
|
141
|
+
"system.workflow.notification.content.approved": "すべての承認ステップが完了しました",
|
|
142
|
+
"system.workflow.notification.title.definition_rejected": "申請が却下されました",
|
|
143
|
+
"system.workflow.notification.content.definition_rejected": "ワークフロー定義に異常があります。管理者に連絡してください",
|
|
144
|
+
"system.workflow.notification.title.escalated_assignee": "承認待ちタスクが大幅に期限超過しています",
|
|
145
|
+
"system.workflow.notification.content.escalated_assignee": "タスクが長時間処理されていないため、申請者にも通知しました",
|
|
146
|
+
"system.workflow.notification.title.escalated_applicant": "申請の承認が期限超過しています",
|
|
147
|
+
"system.workflow.notification.content.escalated_applicant": "現在の承認者が長時間タスクを処理していないため、再通知しました",
|
|
148
|
+
"system.workflow.notification.title.reminder": "承認待ちタスクが期限超過しています",
|
|
149
|
+
"system.workflow.notification.content.reminder": "ログインして承認待ちのタスクを処理してください。未処理の場合は申請者にも通知されます",
|
|
132
150
|
"system.ai.model.model_placeholder": "モデルを選択",
|
|
133
151
|
"system.ai.model.title": "モデルを選択",
|
|
134
152
|
"system.ai.model.provider_model_count": "{providers} プロバイダー · {models} モデル",
|
|
@@ -141,5 +159,6 @@
|
|
|
141
159
|
"system.settings.theme": "テーマ外観",
|
|
142
160
|
"system.settings.theme_auto": "システムに従う",
|
|
143
161
|
"system.settings.theme_dark": "ダーク",
|
|
144
|
-
"system.settings.theme_light": "ライト"
|
|
162
|
+
"system.settings.theme_light": "ライト",
|
|
163
|
+
"common.message.unknown": "不明"
|
|
145
164
|
}
|
package/src/locales/zh-CN.json
CHANGED
|
@@ -129,6 +129,24 @@
|
|
|
129
129
|
"system.notification.action.archive": "归档",
|
|
130
130
|
"system.notification.action.restore": "恢复",
|
|
131
131
|
"system.notification.action.delete": "删除",
|
|
132
|
+
"system.workflow.notification.title.withdrawn": "待审批申请已被撤回",
|
|
133
|
+
"system.workflow.notification.content.withdrawn": "申请人已撤回该申请,无需继续处理",
|
|
134
|
+
"system.workflow.notification.title.rejected": "您的申请已被驳回",
|
|
135
|
+
"system.workflow.notification.content.rejected": "请登录系统查看审批意见",
|
|
136
|
+
"system.workflow.notification.title.forwarded": "您有被转办的审批任务",
|
|
137
|
+
"system.workflow.notification.title.added": "您有被加签的审批任务",
|
|
138
|
+
"system.workflow.notification.title.pending": "您有新的待审批任务",
|
|
139
|
+
"system.workflow.notification.content.pending": "请登录系统处理待审批事项",
|
|
140
|
+
"system.workflow.notification.title.approved": "您的申请已通过",
|
|
141
|
+
"system.workflow.notification.content.approved": "全部审批节点已通过",
|
|
142
|
+
"system.workflow.notification.title.definition_rejected": "您的申请已被驳回",
|
|
143
|
+
"system.workflow.notification.content.definition_rejected": "流程定义异常,请联系管理员",
|
|
144
|
+
"system.workflow.notification.title.escalated_assignee": "您有待审批任务严重超时",
|
|
145
|
+
"system.workflow.notification.content.escalated_assignee": "该任务已超时较久仍未处理,已同步提醒申请人关注进度。",
|
|
146
|
+
"system.workflow.notification.title.escalated_applicant": "您的申请审批超时",
|
|
147
|
+
"system.workflow.notification.content.escalated_applicant": "当前审批节点办理人长时间未处理,系统已再次提醒对方。",
|
|
148
|
+
"system.workflow.notification.title.reminder": "您有待审批任务超时未处理",
|
|
149
|
+
"system.workflow.notification.content.reminder": "请尽快登录系统处理待审批事项,长时间未处理将同步提醒申请人。",
|
|
132
150
|
"system.ai.model.model_placeholder": "选择模型",
|
|
133
151
|
"system.ai.model.title": "选择模型",
|
|
134
152
|
"system.ai.model.provider_model_count": "{providers} 个供应商 · {models} 个模型",
|
|
@@ -141,5 +159,6 @@
|
|
|
141
159
|
"system.settings.theme": "主题外观",
|
|
142
160
|
"system.settings.theme_auto": "跟随系统",
|
|
143
161
|
"system.settings.theme_dark": "暗黑",
|
|
144
|
-
"system.settings.theme_light": "明亮"
|
|
162
|
+
"system.settings.theme_light": "明亮",
|
|
163
|
+
"common.message.unknown": "未知"
|
|
145
164
|
}
|
package/src/locales/zh-TW.json
CHANGED
|
@@ -129,6 +129,24 @@
|
|
|
129
129
|
"system.notification.action.archive": "歸檔",
|
|
130
130
|
"system.notification.action.restore": "恢復",
|
|
131
131
|
"system.notification.action.delete": "刪除",
|
|
132
|
+
"system.workflow.notification.title.withdrawn": "待審批申請已被撤回",
|
|
133
|
+
"system.workflow.notification.content.withdrawn": "申請人已撤回該申請,無需繼續處理",
|
|
134
|
+
"system.workflow.notification.title.rejected": "您的申請已被駁回",
|
|
135
|
+
"system.workflow.notification.content.rejected": "請登入系統查看審批意見",
|
|
136
|
+
"system.workflow.notification.title.forwarded": "您有被轉辦的審批任務",
|
|
137
|
+
"system.workflow.notification.title.added": "您有被加簽的審批任務",
|
|
138
|
+
"system.workflow.notification.title.pending": "您有新的待審批任務",
|
|
139
|
+
"system.workflow.notification.content.pending": "請登入系統處理待審批事項",
|
|
140
|
+
"system.workflow.notification.title.approved": "您的申請已通過",
|
|
141
|
+
"system.workflow.notification.content.approved": "全部審批節點已通過",
|
|
142
|
+
"system.workflow.notification.title.definition_rejected": "您的申請已被駁回",
|
|
143
|
+
"system.workflow.notification.content.definition_rejected": "流程定義異常,請聯絡管理員",
|
|
144
|
+
"system.workflow.notification.title.escalated_assignee": "您有待審批任務嚴重超時",
|
|
145
|
+
"system.workflow.notification.content.escalated_assignee": "該任務已超時較久仍未處理,已同步提醒申請人關注進度。",
|
|
146
|
+
"system.workflow.notification.title.escalated_applicant": "您的申請審批超時",
|
|
147
|
+
"system.workflow.notification.content.escalated_applicant": "目前審批節點辦理人長時間未處理,系統已再次提醒對方。",
|
|
148
|
+
"system.workflow.notification.title.reminder": "您有待審批任務超時未處理",
|
|
149
|
+
"system.workflow.notification.content.reminder": "請盡快登入系統處理待審批事項,長時間未處理將同步提醒申請人。",
|
|
132
150
|
"system.ai.model.model_placeholder": "選擇模型",
|
|
133
151
|
"system.ai.model.title": "選擇模型",
|
|
134
152
|
"system.ai.model.provider_model_count": "{providers} 個供應商 · {models} 個模型",
|
|
@@ -141,5 +159,6 @@
|
|
|
141
159
|
"system.settings.theme": "主題外觀",
|
|
142
160
|
"system.settings.theme_auto": "跟隨系統",
|
|
143
161
|
"system.settings.theme_dark": "暗黑",
|
|
144
|
-
"system.settings.theme_light": "明亮"
|
|
162
|
+
"system.settings.theme_light": "明亮",
|
|
163
|
+
"common.message.unknown": "未知"
|
|
145
164
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { t } from '@liujitcn/kratos-taro-app-core'
|
|
2
|
+
|
|
3
|
+
const PERSISTED_MESSAGE_PREFIX = '__I18N__:'
|
|
4
|
+
const LEGACY_PERSISTED_MESSAGE_PREFIX = '__I18N__'
|
|
5
|
+
|
|
6
|
+
/** 将持久化的国际化消息标记按当前语言渲染,兼容历史纯文本记录。 */
|
|
7
|
+
export function resolvePersistedMessage(value?: string): string {
|
|
8
|
+
if (value === '系统') return t('system.notification.sender.system')
|
|
9
|
+
if (!value) return ''
|
|
10
|
+
const prefix = value.startsWith(PERSISTED_MESSAGE_PREFIX)
|
|
11
|
+
? PERSISTED_MESSAGE_PREFIX
|
|
12
|
+
: value.startsWith(LEGACY_PERSISTED_MESSAGE_PREFIX)
|
|
13
|
+
? LEGACY_PERSISTED_MESSAGE_PREFIX
|
|
14
|
+
: ''
|
|
15
|
+
if (!prefix) return value
|
|
16
|
+
const marker = value.split(/\r?\n/, 1)[0].slice(prefix.length)
|
|
17
|
+
const separator = marker.indexOf('?')
|
|
18
|
+
const key = separator < 0 ? marker : marker.slice(0, separator)
|
|
19
|
+
if (!key) return value
|
|
20
|
+
const params: Record<string, string> = {}
|
|
21
|
+
if (separator >= 0) {
|
|
22
|
+
new URLSearchParams(marker.slice(separator + 1)).forEach((paramValue, name) => {
|
|
23
|
+
params[name] = paramValue
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
const localized = t(key, params)
|
|
27
|
+
return localized === key || localized === t('common.message.unknown') ? value : localized
|
|
28
|
+
}
|
|
@@ -43,8 +43,8 @@ export default function Composer(props: ComposerProps) {
|
|
|
43
43
|
const [showModelPicker, setShowModelPicker] = useState(false)
|
|
44
44
|
const [showKnowledgePicker, setShowKnowledgePicker] = useState(false)
|
|
45
45
|
const themeStore = useThemeStore()
|
|
46
|
-
const iconColor = themeStore.
|
|
47
|
-
const primaryIconColor = themeStore.
|
|
46
|
+
const iconColor = themeStore.colors.aiTextMuted
|
|
47
|
+
const primaryIconColor = themeStore.colors.aiPrimary
|
|
48
48
|
|
|
49
49
|
const selectedModelDisplayName = useMemo(() => {
|
|
50
50
|
const provider = props.modelProviders.find((item) => item.provider_id === props.providerId)
|
|
@@ -40,8 +40,8 @@ function formatSessionTime(session: AiSession) {
|
|
|
40
40
|
export default function SessionDrawer(props: SessionDrawerProps) {
|
|
41
41
|
useI18n()
|
|
42
42
|
const themeStore = useThemeStore()
|
|
43
|
-
const primaryIconColor = themeStore.
|
|
44
|
-
const mutedIconColor = themeStore.
|
|
43
|
+
const primaryIconColor = themeStore.colors.aiPrimary
|
|
44
|
+
const mutedIconColor = themeStore.colors.aiTextMuted
|
|
45
45
|
return (
|
|
46
46
|
<>
|
|
47
47
|
{props.open ? <View className='session-mask' onClick={props.onClose} /> : null}
|
|
@@ -17,8 +17,8 @@ type WelcomePanelProps = {
|
|
|
17
17
|
export default function WelcomePanel(props: WelcomePanelProps) {
|
|
18
18
|
useI18n()
|
|
19
19
|
const themeStore = useThemeStore()
|
|
20
|
-
const primaryIconColor = themeStore.
|
|
21
|
-
const mutedIconColor = themeStore.
|
|
20
|
+
const primaryIconColor = themeStore.colors.aiPrimary
|
|
21
|
+
const mutedIconColor = themeStore.colors.aiTextDim
|
|
22
22
|
return (
|
|
23
23
|
<View className='welcome-panel'>
|
|
24
24
|
<View className='welcome-row is-hello'>
|
|
@@ -580,8 +580,8 @@ export default function AiPage() {
|
|
|
580
580
|
title: session?.title || t('system.ai.current_session'),
|
|
581
581
|
}),
|
|
582
582
|
confirmText: t('common.action.delete'),
|
|
583
|
-
confirmColor: themeStore.
|
|
584
|
-
cancelColor: themeStore.
|
|
583
|
+
confirmColor: themeStore.colors.aiDanger,
|
|
584
|
+
cancelColor: themeStore.colors.aiTextMuted,
|
|
585
585
|
})
|
|
586
586
|
if (!result.confirm) return
|
|
587
587
|
try {
|
|
@@ -6,6 +6,7 @@ import { UniIcon } from '@liujitcn/kratos-taro-app-ui'
|
|
|
6
6
|
import { defNotificationService } from '../../../api/base/v1/notification'
|
|
7
7
|
import type { Notification } from '../../../rpc/base/v1/notification'
|
|
8
8
|
import { MessageActionType, MessageContentFormat } from '../../../rpc/base/v1/notification'
|
|
9
|
+
import { resolvePersistedMessage } from '../../../utils/persisted-message'
|
|
9
10
|
import { resolveMessageCategoryIcon } from './icons'
|
|
10
11
|
import './message.scss'
|
|
11
12
|
|
|
@@ -26,14 +27,6 @@ export default function MessageDetailPage() {
|
|
|
26
27
|
if (!value.read_at) await defNotificationService.MarkNotificationRead({ ids: [id] })
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
/** 将系统通知发送者映射到当前语言。 */
|
|
30
|
-
function resolveSenderName(value?: string) {
|
|
31
|
-
if (value === '系统' || value === '__I18N__:system.notification.sender.system') {
|
|
32
|
-
return t('system.notification.sender.system')
|
|
33
|
-
}
|
|
34
|
-
return value || ''
|
|
35
|
-
}
|
|
36
|
-
|
|
37
30
|
/** 执行通知携带的稳定 viewKey 动作。 */
|
|
38
31
|
function openAction() {
|
|
39
32
|
if (!detail || detail.action_type !== MessageActionType.MESSAGE_ACTION_TYPE_VIEW_KEY) return
|
|
@@ -62,7 +55,7 @@ export default function MessageDetailPage() {
|
|
|
62
55
|
<KratosNavBar title={t('system.notification.title')} />
|
|
63
56
|
{detail ? (
|
|
64
57
|
<>
|
|
65
|
-
<Text className='detail-title'>{detail.title}</Text>
|
|
58
|
+
<Text className='detail-title'>{resolvePersistedMessage(detail.title)}</Text>
|
|
66
59
|
<View className='detail-meta'>
|
|
67
60
|
<View className='detail-category' style={{ color: detail.category_color || undefined }}>
|
|
68
61
|
<UniIcon
|
|
@@ -73,13 +66,13 @@ export default function MessageDetailPage() {
|
|
|
73
66
|
/>
|
|
74
67
|
<Text>{detail.category_name}</Text>
|
|
75
68
|
</View>
|
|
76
|
-
<Text>{
|
|
69
|
+
<Text>{resolvePersistedMessage(detail.sender_name)}</Text>
|
|
77
70
|
<Text>{detail.received_at}</Text>
|
|
78
71
|
</View>
|
|
79
72
|
{detail.content_format === MessageContentFormat.MESSAGE_CONTENT_FORMAT_RICH_TEXT ? (
|
|
80
|
-
<RichText className='detail-content-rich' nodes={detail.content} />
|
|
73
|
+
<RichText className='detail-content-rich' nodes={resolvePersistedMessage(detail.content)} />
|
|
81
74
|
) : (
|
|
82
|
-
<Text className='detail-content'>{detail.content}</Text>
|
|
75
|
+
<Text className='detail-content'>{resolvePersistedMessage(detail.content)}</Text>
|
|
83
76
|
)}
|
|
84
77
|
{detail.action_type === MessageActionType.MESSAGE_ACTION_TYPE_VIEW_KEY && (
|
|
85
78
|
<Button className='detail-action' onClick={openAction}>
|
|
@@ -13,6 +13,7 @@ import { defNotificationService } from '../../../api/base/v1/notification'
|
|
|
13
13
|
import type { Notification, NotificationCategory } from '../../../rpc/base/v1/notification'
|
|
14
14
|
import { NotificationView } from '../../../rpc/base/v1/notification'
|
|
15
15
|
import { refreshNotificationSummary } from '../../../notification'
|
|
16
|
+
import { resolvePersistedMessage } from '../../../utils/persisted-message'
|
|
16
17
|
import { resolveMessageCategoryIcon } from './icons'
|
|
17
18
|
import './message.scss'
|
|
18
19
|
|
|
@@ -230,7 +231,7 @@ export default function MessageInboxPage() {
|
|
|
230
231
|
/>
|
|
231
232
|
</View>
|
|
232
233
|
<View className='message-item__body'>
|
|
233
|
-
<Text className='k-msg-item__title'>{item.title}</Text>
|
|
234
|
+
<Text className='k-msg-item__title'>{resolvePersistedMessage(item.title)}</Text>
|
|
234
235
|
<View className='k-msg-item__foot'>
|
|
235
236
|
<Text className='k-msg-item__meta'>{item.category_name}</Text>
|
|
236
237
|
<Text className='k-msg-item__time'>{item.received_at}</Text>
|
|
@@ -220,7 +220,7 @@ export default function ProfilePage() {
|
|
|
220
220
|
<Label className='profile-radio' key={item.value}>
|
|
221
221
|
<Radio
|
|
222
222
|
value={item.value}
|
|
223
|
-
color={themeStore.
|
|
223
|
+
color={themeStore.colors.aiPrimary}
|
|
224
224
|
checked={userInfo.gender === Number(item.value)}
|
|
225
225
|
/>
|
|
226
226
|
{item.label}
|
|
@@ -46,9 +46,9 @@ export default function SettingsPage() {
|
|
|
46
46
|
languageOptions.findIndex((item) => item.language_code === locale),
|
|
47
47
|
)
|
|
48
48
|
const settingsIcons = useMemo(() => {
|
|
49
|
-
const primary = themeStore.
|
|
50
|
-
const warning = themeStore.
|
|
51
|
-
const violet = themeStore.
|
|
49
|
+
const primary = themeStore.colors.aiPrimary
|
|
50
|
+
const warning = themeStore.colors.aiWarning
|
|
51
|
+
const violet = themeStore.colors.aiViolet
|
|
52
52
|
const createIcon = (body: string, color: string) =>
|
|
53
53
|
'data:image/svg+xml;charset=utf-8,' +
|
|
54
54
|
encodeURIComponent(
|
|
@@ -145,8 +145,8 @@ export default function SettingsPage() {
|
|
|
145
145
|
if (logoutLoading) return
|
|
146
146
|
const result = await Taro.showModal({
|
|
147
147
|
content: t('system.settings.logout_confirm'),
|
|
148
|
-
confirmColor: themeStore.
|
|
149
|
-
cancelColor: themeStore.
|
|
148
|
+
confirmColor: themeStore.colors.aiPrimary,
|
|
149
|
+
cancelColor: themeStore.colors.aiTextMuted,
|
|
150
150
|
})
|
|
151
151
|
if (!result.confirm) return
|
|
152
152
|
setLogoutLoading(true)
|