@tencent-rtc/trtc-agent-skills 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.
Files changed (205) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +172 -0
  3. package/README.zh.md +173 -0
  4. package/bin/cli.js +434 -0
  5. package/knowledge-base/index.yaml +454 -0
  6. package/knowledge-base/platform-slice-template.md +233 -0
  7. package/knowledge-base/scenario-spec.md +350 -0
  8. package/knowledge-base/scenarios/conference/base/general-conference.md +365 -0
  9. package/knowledge-base/scenarios/conference/base/webinar-conference.md +130 -0
  10. package/knowledge-base/scenarios/conference/medical/1v1-video-consultation.md +145 -0
  11. package/knowledge-base/scenarios/conference/medical/medical-multidoctor-consultation.md +113 -0
  12. package/knowledge-base/scenarios/live/entertainment-live-room.md +118 -0
  13. package/knowledge-base/slice-spec.md +546 -0
  14. package/knowledge-base/slices/conference/web/ai-tools.md +225 -0
  15. package/knowledge-base/slices/conference/web/beauty-effects.md +188 -0
  16. package/knowledge-base/slices/conference/web/device-control.md +338 -0
  17. package/knowledge-base/slices/conference/web/login-auth.md +261 -0
  18. package/knowledge-base/slices/conference/web/network-quality.md +190 -0
  19. package/knowledge-base/slices/conference/web/official-roomkit-api.md +298 -0
  20. package/knowledge-base/slices/conference/web/official-roomkit-login-ui.md +246 -0
  21. package/knowledge-base/slices/conference/web/participant-list.md +238 -0
  22. package/knowledge-base/slices/conference/web/participant-management.md +718 -0
  23. package/knowledge-base/slices/conference/web/prejoin-check.md +293 -0
  24. package/knowledge-base/slices/conference/web/room-call.md +213 -0
  25. package/knowledge-base/slices/conference/web/room-chat.md +426 -0
  26. package/knowledge-base/slices/conference/web/room-lifecycle.md +534 -0
  27. package/knowledge-base/slices/conference/web/room-schedule.md +281 -0
  28. package/knowledge-base/slices/conference/web/screen-share.md +211 -0
  29. package/knowledge-base/slices/conference/web/video-layout.md +675 -0
  30. package/knowledge-base/slices/conference/web/virtual-background.md +197 -0
  31. package/knowledge-base/slices/conference/web/webinar-interaction.md +206 -0
  32. package/knowledge-base/slices/live/anchor-lifecycle.md +122 -0
  33. package/knowledge-base/slices/live/anchor-preview.md +90 -0
  34. package/knowledge-base/slices/live/anchor-room-config.md +104 -0
  35. package/knowledge-base/slices/live/audience-list.md +86 -0
  36. package/knowledge-base/slices/live/audience-manage.md +92 -0
  37. package/knowledge-base/slices/live/audience-watch.md +85 -0
  38. package/knowledge-base/slices/live/audio.md +116 -0
  39. package/knowledge-base/slices/live/barrage.md +88 -0
  40. package/knowledge-base/slices/live/beauty.md +99 -0
  41. package/knowledge-base/slices/live/coguest-apply.md +105 -0
  42. package/knowledge-base/slices/live/device-control.md +91 -0
  43. package/knowledge-base/slices/live/error-codes.md +167 -0
  44. package/knowledge-base/slices/live/gift.md +84 -0
  45. package/knowledge-base/slices/live/ios/.gitkeep +0 -0
  46. package/knowledge-base/slices/live/ios/anchor-lifecycle.md +313 -0
  47. package/knowledge-base/slices/live/ios/anchor-preview.md +228 -0
  48. package/knowledge-base/slices/live/ios/anchor-room-config.md +257 -0
  49. package/knowledge-base/slices/live/ios/audience-list.md +353 -0
  50. package/knowledge-base/slices/live/ios/audience-manage.md +381 -0
  51. package/knowledge-base/slices/live/ios/audience-watch.md +286 -0
  52. package/knowledge-base/slices/live/ios/audio.md +373 -0
  53. package/knowledge-base/slices/live/ios/barrage.md +285 -0
  54. package/knowledge-base/slices/live/ios/beauty.md +323 -0
  55. package/knowledge-base/slices/live/ios/coguest-apply.md +506 -0
  56. package/knowledge-base/slices/live/ios/device-control.md +286 -0
  57. package/knowledge-base/slices/live/ios/error-codes.md +270 -0
  58. package/knowledge-base/slices/live/ios/gift.md +315 -0
  59. package/knowledge-base/slices/live/ios/live-list.md +269 -0
  60. package/knowledge-base/slices/live/ios/login-auth.md +247 -0
  61. package/knowledge-base/slices/live/live-list.md +82 -0
  62. package/knowledge-base/slices/live/login-auth.md +78 -0
  63. package/package.json +34 -0
  64. package/skills/trtc/SKILL.md +326 -0
  65. package/skills/trtc/room-builder/SKILL.md +138 -0
  66. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/README.md +108 -0
  67. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/docs/backend-contract.zh-CN.md +162 -0
  68. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/docs/integration.zh-CN.md +154 -0
  69. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/docs/theme.zh-CN.md +78 -0
  70. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/index.html +12 -0
  71. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/package.json +28 -0
  72. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/postcss.config.js +5 -0
  73. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/App.vue +25 -0
  74. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/ConsultationManagePanel.vue +838 -0
  75. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/LanguageSwitch.vue +102 -0
  76. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/LoadingSpinner.vue +6 -0
  77. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/MedicalAlert.vue +34 -0
  78. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/MedicalBusinessPanel.vue +148 -0
  79. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/MedicalButton.vue +49 -0
  80. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/MedicalConfirmDialog.vue +68 -0
  81. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/MedicalDataPanel.vue +196 -0
  82. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/MedicalRecordPanel.vue +270 -0
  83. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/components/PrescriptionPanel.vue +363 -0
  84. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/config/basic-info-config.ts +29 -0
  85. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/config/lib-generate-test-usersig-es.min.d.ts +4 -0
  86. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/config/lib-generate-test-usersig-es.min.js +2 -0
  87. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/config/runtime-config.ts +12 -0
  88. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/env.d.ts +32 -0
  89. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/components/ConsultationChatPanel.vue +123 -0
  90. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/components/ConsultationMembersPanel.vue +230 -0
  91. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/components/ConsultationTranscriptionPanel.vue +135 -0
  92. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/components/ConsultationVideoStage.vue +113 -0
  93. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/components/InviteDoctorDialog.vue +132 -0
  94. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/components/KickMemberConfirmDialog.vue +50 -0
  95. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/types.ts +77 -0
  96. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/useConsultationChat.ts +97 -0
  97. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/useConsultationDevices.ts +48 -0
  98. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/useConsultationParticipants.ts +121 -0
  99. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/useConsultationPermissions.ts +25 -0
  100. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/features/consultation/utils.ts +70 -0
  101. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/i18n/en-US/index.ts +553 -0
  102. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/i18n/index.ts +25 -0
  103. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/i18n/medicalTranslate.ts +85 -0
  104. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/i18n/state.ts +49 -0
  105. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/i18n/zh-CN/index.ts +463 -0
  106. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/main.ts +12 -0
  107. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/mock/appointments.ts +96 -0
  108. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/mock/users.ts +79 -0
  109. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/router/index.ts +63 -0
  110. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/index.ts +25 -0
  111. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/integration/appointmentService.ts +77 -0
  112. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/integration/authService.ts +38 -0
  113. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/integration/launchContext.ts +31 -0
  114. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/integration/userService.ts +35 -0
  115. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/mock/appointmentService.ts +43 -0
  116. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/mock/authService.ts +33 -0
  117. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/mock/userService.ts +43 -0
  118. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/services/adapters/types.ts +135 -0
  119. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/shared/icons.ts +53 -0
  120. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/styles/index.css +106 -0
  121. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/styles/tailwind.css +3 -0
  122. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/styles/theme.css +209 -0
  123. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/utils/auth.ts +50 -0
  124. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/utils/format.ts +24 -0
  125. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/utils/navigation.ts +12 -0
  126. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/utils/session.ts +28 -0
  127. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/DoctorConsultationView.vue +777 -0
  128. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/DoctorDashboardView.vue +678 -0
  129. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/LoginView.vue +441 -0
  130. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/PatientConsultationFinishedView.vue +185 -0
  131. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/PatientConsultationView.vue +1003 -0
  132. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/PatientSelectDoctorView.vue +317 -0
  133. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/src/views/PatientWaitingView.vue +454 -0
  134. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/tsconfig.json +21 -0
  135. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/tsconfig.node.json +8 -0
  136. package/skills/trtc/room-builder/templates/scenarios/medical-consultation/vite.config.ts +17 -0
  137. package/skills/trtc/room-builder/templates/scenarios/medical-consultation//346/216/245/345/205/245/350/257/264/346/230/216.md +6 -0
  138. package/skills/trtc/room-builder/tools/render_ai_instructions.py +226 -0
  139. package/skills/trtc-apply/SKILL.md +97 -0
  140. package/skills/trtc-apply/guardrails/apply_lib/__init__.py +0 -0
  141. package/skills/trtc-apply/guardrails/apply_lib/__pycache__/__init__.cpython-313.pyc +0 -0
  142. package/skills/trtc-apply/guardrails/apply_lib/__pycache__/rule_parser.cpython-313.pyc +0 -0
  143. package/skills/trtc-apply/guardrails/apply_lib/rule_parser.py +268 -0
  144. package/skills/trtc-docs/SKILL.md +207 -0
  145. package/skills/trtc-onboarding/SKILL.md +839 -0
  146. package/skills/trtc-onboarding/reference/path-a1-demo.md +103 -0
  147. package/skills/trtc-onboarding/reference/path-a2-integrate.md +693 -0
  148. package/skills/trtc-onboarding/reference/path-b-troubleshoot.md +115 -0
  149. package/skills/trtc-onboarding/reference/path-c-expand.md +43 -0
  150. package/skills/trtc-onboarding/reference/reporting-protocol.md +174 -0
  151. package/skills/trtc-onboarding/reference/supported-matrix.md +100 -0
  152. package/skills/trtc-onboarding/reference/usersig-handling.md +140 -0
  153. package/skills/trtc-search/SKILL.md +221 -0
  154. package/skills/trtc-topic/SKILL.md +638 -0
  155. package/skills/trtc-topic/guardrails/__pycache__/gate_slice_read.cpython-313.pyc +0 -0
  156. package/skills/trtc-topic/guardrails/__pycache__/gate_slice_write.cpython-313.pyc +0 -0
  157. package/skills/trtc-topic/guardrails/__pycache__/stop_require_apply_evidence.cpython-313.pyc +0 -0
  158. package/skills/trtc-topic/guardrails/gate_slice_read.py +133 -0
  159. package/skills/trtc-topic/guardrails/gate_slice_write.py +169 -0
  160. package/skills/trtc-topic/guardrails/stop_require_apply_evidence.py +97 -0
  161. package/skills/trtc-topic/references/execution-units.yaml +58 -0
  162. package/skills/trtc-topic/runtime/README.md +50 -0
  163. package/skills/trtc-topic/runtime/RUNTIME.md +128 -0
  164. package/skills/trtc-topic/runtime/lib/__init__.py +0 -0
  165. package/skills/trtc-topic/runtime/lib/platforms.py +194 -0
  166. package/skills/trtc-topic/runtime/package-lock.json +1211 -0
  167. package/skills/trtc-topic/runtime/package.json +13 -0
  168. package/skills/trtc-topic/runtime/telemetry-bridge.mjs +339 -0
  169. package/skills/trtc-topic/runtime/telemetry_collector.py +293 -0
  170. package/skills/trtc-topic/scripts/STATE-MACHINE-GUIDE.md +186 -0
  171. package/skills/trtc-topic/scripts/__pycache__/apply.cpython-313.pyc +0 -0
  172. package/skills/trtc-topic/scripts/apply.py +581 -0
  173. package/skills/trtc-topic/scripts/finalize_session.py +113 -0
  174. package/skills/trtc-topic/scripts/init_slice_queue.py +96 -0
  175. package/skills/trtc-topic/scripts/lib/__pycache__/state_machine.cpython-313.pyc +0 -0
  176. package/skills/trtc-topic/scripts/lib/state_machine.py +328 -0
  177. package/skills/trtc-topic/scripts/next_slice.py +137 -0
  178. package/skills/trtc-topic/tests/README.md +70 -0
  179. package/skills/trtc-topic/tests/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc +0 -0
  180. package/skills/trtc-topic/tests/__pycache__/conftest.cpython-313-pytest-9.0.3.pyc +0 -0
  181. package/skills/trtc-topic/tests/__pycache__/test_apply_cli.cpython-313-pytest-9.0.2.pyc +0 -0
  182. package/skills/trtc-topic/tests/__pycache__/test_apply_cli.cpython-313-pytest-9.0.3.pyc +0 -0
  183. package/skills/trtc-topic/tests/__pycache__/test_end_to_end.cpython-313-pytest-9.0.2.pyc +0 -0
  184. package/skills/trtc-topic/tests/__pycache__/test_end_to_end.cpython-313-pytest-9.0.3.pyc +0 -0
  185. package/skills/trtc-topic/tests/__pycache__/test_finalize_session.cpython-313-pytest-9.0.2.pyc +0 -0
  186. package/skills/trtc-topic/tests/__pycache__/test_finalize_session.cpython-313-pytest-9.0.3.pyc +0 -0
  187. package/skills/trtc-topic/tests/__pycache__/test_gates.cpython-313-pytest-9.0.2.pyc +0 -0
  188. package/skills/trtc-topic/tests/__pycache__/test_gates.cpython-313-pytest-9.0.3.pyc +0 -0
  189. package/skills/trtc-topic/tests/__pycache__/test_session_resolver.cpython-313-pytest-9.0.2.pyc +0 -0
  190. package/skills/trtc-topic/tests/__pycache__/test_session_resolver.cpython-313-pytest-9.0.3.pyc +0 -0
  191. package/skills/trtc-topic/tests/__pycache__/test_state_machine.cpython-313-pytest-9.0.2.pyc +0 -0
  192. package/skills/trtc-topic/tests/__pycache__/test_state_machine.cpython-313-pytest-9.0.3.pyc +0 -0
  193. package/skills/trtc-topic/tests/__pycache__/test_stop_require_apply.cpython-313-pytest-9.0.2.pyc +0 -0
  194. package/skills/trtc-topic/tests/__pycache__/test_stop_require_apply.cpython-313-pytest-9.0.3.pyc +0 -0
  195. package/skills/trtc-topic/tests/__pycache__/test_topic_skill_invariants.cpython-313-pytest-9.0.2.pyc +0 -0
  196. package/skills/trtc-topic/tests/__pycache__/test_topic_skill_invariants.cpython-313-pytest-9.0.3.pyc +0 -0
  197. package/skills/trtc-topic/tests/conftest.py +72 -0
  198. package/skills/trtc-topic/tests/test_apply_cli.py +480 -0
  199. package/skills/trtc-topic/tests/test_end_to_end.py +305 -0
  200. package/skills/trtc-topic/tests/test_finalize_session.py +51 -0
  201. package/skills/trtc-topic/tests/test_gates.py +316 -0
  202. package/skills/trtc-topic/tests/test_session_resolver.py +260 -0
  203. package/skills/trtc-topic/tests/test_state_machine.py +414 -0
  204. package/skills/trtc-topic/tests/test_stop_require_apply.py +99 -0
  205. package/skills/trtc-topic/tests/test_topic_skill_invariants.py +130 -0
@@ -0,0 +1,553 @@
1
+ export const resource = {
2
+ 'Medical.Common.PlatformName': 'Medical Demo Platform',
3
+ 'Medical.Common.TemplateName': 'Medical Consultation Template',
4
+ 'Medical.Common.SourceTemplate': 'Medical scenario source template',
5
+ 'Medical.Common.SecureLink': 'Encrypted audio/video link',
6
+ 'Medical.Common.SceneTemplate': 'Medical scenario template',
7
+ 'Medical.Common.Doctor': 'Doctor',
8
+ 'Medical.Common.Patient': 'Patient',
9
+ 'Medical.Common.Member': 'Member',
10
+ 'Medical.Common.Me': 'Me',
11
+ 'Medical.Common.AttendingDoctor': 'Attending Doctor',
12
+ 'Medical.Common.ConsultingDoctor': 'Consulting Doctor',
13
+ 'Medical.Common.UnknownDepartment': 'Unknown Department',
14
+ 'Medical.Common.Online': 'Online',
15
+ 'Medical.Common.Busy': 'Busy',
16
+ 'Medical.Common.Entering': 'Entering...',
17
+ 'Medical.Common.Processing': 'Processing...',
18
+ 'Medical.Common.Cancel': 'Cancel',
19
+ 'Medical.Common.Confirm': 'Confirm',
20
+ 'Medical.Common.Decline': 'Decline',
21
+ 'Medical.Common.Accept': 'Accept',
22
+ 'Medical.Common.Invite': 'Invite',
23
+ 'Medical.Common.Inviting': 'Inviting',
24
+ 'Medical.Common.Canceling': 'Canceling',
25
+ 'Medical.Common.Copy': 'Copy',
26
+ 'Medical.Common.Copying': 'Copying...',
27
+ 'Medical.Common.Export': 'Export',
28
+ 'Medical.Common.Exporting': 'Exporting...',
29
+ 'Medical.Common.View': 'View',
30
+ 'Medical.Common.Download': 'Download',
31
+ 'Medical.Common.BackHome': 'Back Home',
32
+ 'Medical.Common.Replaceable': 'Replaceable',
33
+
34
+ 'Medical.Language.SwitchToEnglish': 'Switch to English',
35
+ 'Medical.Language.SwitchToChinese': 'Switch to Chinese',
36
+ 'Medical.Language.Chinese': '中文',
37
+ 'Medical.Language.English': 'English',
38
+
39
+ 'Medical.Login.VideoSecurityTitle': 'Secure Audio/Video Foundation',
40
+ 'Medical.Login.VideoSecurityDescription':
41
+ 'Provides stable audio/video links and can integrate with your security system',
42
+ 'Medical.Login.WorkflowTitle': 'Complete Care Workflow',
43
+ 'Medical.Login.WorkflowDescription':
44
+ 'Digital workflow from appointment to prescription',
45
+ 'Medical.Login.MockEntryTitle': 'Scenario Demo Entry',
46
+ 'Medical.Login.IntegrationEntryTitle': 'Integration Entry Example',
47
+ 'Medical.Login.MockEntryDescription':
48
+ 'Choose a preset identity to try the doctor-patient flow',
49
+ 'Medical.Login.IntegrationEntryDescription':
50
+ 'In integration mode, pass parameters from your business system and open this page directly',
51
+ 'Medical.Login.DoctorLogin': 'Doctor Login',
52
+ 'Medical.Login.PatientLogin': 'Patient Login',
53
+ 'Medical.Login.DoctorAccount': 'Doctor Account',
54
+ 'Medical.Login.PatientAccount': 'Patient Account',
55
+ 'Medical.Login.SelectAccount': 'Please select an account',
56
+ 'Medical.Login.Password': 'Password',
57
+ 'Medical.Login.AppointmentCode': 'Appointment Code',
58
+ 'Medical.Login.RememberLogin': 'Remember me',
59
+ 'Medical.Login.ForgotPassword': 'Forgot password?',
60
+ 'Medical.Login.Tips': 'Tips: ',
61
+ 'Medical.Login.PatientPhoneTip':
62
+ 'Use the phone number submitted with the appointment',
63
+ 'Medical.Login.ConfigTipPrefix': 'Before running, fill in',
64
+ 'Medical.Login.ConfigTipMiddle': 'in',
65
+ 'Medical.Login.ConfigTipSuffix': '. For production delivery, issue',
66
+ 'Medical.Login.LoginLoading': 'Logging in...',
67
+ 'Medical.Login.OpenDashboard': 'Open Dashboard',
68
+ 'Medical.Login.EnterWaitingRoom': 'Enter Waiting Room',
69
+ 'Medical.Login.EntryDescription':
70
+ 'This page demonstrates the entry flow and can be replaced with your own login or SSO entry',
71
+ 'Medical.Login.IntegrationMode': 'Integration Mode',
72
+ 'Medical.Login.IntegrationModeDescription':
73
+ 'This page tries to read role, userId, appointmentId, token and other parameters from the URL for automatic login.',
74
+ 'Medical.Login.DoctorExample': 'Doctor example:',
75
+ 'Medical.Login.PatientExample': 'Patient example:',
76
+ 'Medical.Login.PresetAccountNotFound': 'Preset demo account not found',
77
+ 'Medical.Login.LoginFailed': 'Login failed. Check the SDK configuration.',
78
+ 'Medical.Login.IntegrationHint':
79
+ 'The current mode is integration. Please enter through URL parameters such as role, userId, appointmentId, and token from your business system.',
80
+ 'Medical.Login.IntegrationInitFailed':
81
+ 'Failed to initialize integration mode',
82
+
83
+ 'Medical.PatientSelect.Subtitle': 'Choose a doctor to start a consultation',
84
+ 'Medical.PatientSelect.Logout': 'Log out',
85
+ 'Medical.PatientSelect.SearchPlaceholder':
86
+ 'Search doctors, departments, or conditions',
87
+ 'Medical.PatientSelect.Satisfaction': 'Satisfaction',
88
+ 'Medical.PatientSelect.Experience': 'Experience',
89
+ 'Medical.PatientSelect.Consultations': 'Consultations',
90
+ 'Medical.PatientSelect.VideoConsultation': 'Video Consultation',
91
+ 'Medical.PatientSelect.PerConsultation': '/consultation',
92
+ 'Medical.PatientSelect.StartConsultation': 'Start Consultation',
93
+
94
+ 'Medical.DoctorDashboard.Title': 'Doctor Dashboard',
95
+ 'Medical.DoctorDashboard.Subtitle':
96
+ 'Medical audio/video integration template',
97
+ 'Medical.DoctorDashboard.TodayAppointments': '{{count}} appointments today',
98
+ 'Medical.DoctorDashboard.CurrentDoctor':
99
+ '{{hospital}} · Current doctor {{doctor}}',
100
+ 'Medical.DoctorDashboard.Refreshing': 'Refreshing...',
101
+ 'Medical.DoctorDashboard.RefreshToday': 'Refresh Appointments',
102
+ 'Medical.DoctorDashboard.StatToday': 'Today',
103
+ 'Medical.DoctorDashboard.StatWaiting': 'Waiting',
104
+ 'Medical.DoctorDashboard.StatRunning': 'In Progress',
105
+ 'Medical.DoctorDashboard.StatSynced': 'Synced Rooms',
106
+ 'Medical.DoctorDashboard.ConsultationInvite': 'Consultation Invite',
107
+ 'Medical.DoctorDashboard.Pending': 'Pending',
108
+ 'Medical.DoctorDashboard.InviteSummary':
109
+ '{{doctor}} ({{department}}) invites you to consult on patient {{patient}}',
110
+ 'Medical.DoctorDashboard.ViewDetails': 'View Details',
111
+ 'Medical.DoctorDashboard.Joining': 'Joining...',
112
+ 'Medical.DoctorDashboard.JoinNow': 'Join Now',
113
+ 'Medical.DoctorDashboard.WaitingPatients': 'Patients Waiting',
114
+ 'Medical.DoctorDashboard.LoadingAppointments': 'Loading appointment rooms...',
115
+ 'Medical.DoctorDashboard.SortByTime': 'Sorted by appointment time',
116
+ 'Medical.DoctorDashboard.All': 'All',
117
+ 'Medical.DoctorDashboard.Waiting': 'Waiting',
118
+ 'Medical.DoctorDashboard.Running': 'In Progress',
119
+ 'Medical.DoctorDashboard.PatientAge': '{{gender}} · {{age}} years old',
120
+ 'Medical.DoctorDashboard.ConsultationRunning': 'Consultation in progress',
121
+ 'Medical.DoctorDashboard.StartConsultation': 'Start Consultation',
122
+ 'Medical.DoctorDashboard.InviteDetails': 'Consultation Invite Details',
123
+ 'Medical.DoctorDashboard.AppointmentId': 'Appointment ID: {{id}}',
124
+ 'Medical.DoctorDashboard.InvitingDoctor': 'Inviting Doctor',
125
+ 'Medical.DoctorDashboard.PatientInfo': 'Patient Info',
126
+ 'Medical.DoctorDashboard.ChiefComplaint': 'Chief Complaint',
127
+ 'Medical.DoctorDashboard.AllergyHistory': 'Allergies',
128
+ 'Medical.DoctorDashboard.HandleLater': 'Handle Later',
129
+ 'Medical.DoctorDashboard.RefreshSuccess':
130
+ 'Appointments refreshed. Replace this with your own appointment API.',
131
+ 'Medical.DoctorDashboard.RefreshFailed': 'Failed to refresh appointments',
132
+ 'Medical.DoctorDashboard.EnterFailed':
133
+ 'Failed to enter the consultation room. Please try again.',
134
+ 'Medical.DoctorDashboard.JoinInviteFailed':
135
+ 'Failed to join consultation. Please try again later.',
136
+
137
+ 'Medical.PatientWaiting.InitialCallMessage':
138
+ 'The doctor has not started the call yet. Please stay on this page.',
139
+ 'Medical.PatientWaiting.JoinFailed':
140
+ 'Failed to join the consultation. Please try again.',
141
+ 'Medical.PatientWaiting.RejectedMessage':
142
+ 'You declined this call. Please wait for the doctor to call again.',
143
+ 'Medical.PatientWaiting.CallingMessage':
144
+ '{{doctor}} is calling you to join the consultation.',
145
+ 'Medical.PatientWaiting.CancelledMessage': 'The doctor canceled this call.',
146
+ 'Medical.PatientWaiting.TimeoutMessage':
147
+ 'This call timed out. Please wait for the doctor to call again.',
148
+ 'Medical.PatientWaiting.DoctorCalling': 'Doctor Calling',
149
+ 'Medical.PatientWaiting.InviteToConsultation':
150
+ '{{doctor}} invites you to a video consultation',
151
+ 'Medical.PatientWaiting.JoinLater': 'Join Later',
152
+ 'Medical.PatientWaiting.Joining': 'Joining...',
153
+ 'Medical.PatientWaiting.JoinNow': 'Join Now',
154
+ 'Medical.PatientWaiting.Subtitle': 'Waiting for video consultation',
155
+ 'Medical.PatientWaiting.Title': 'Waiting',
156
+ 'Medical.PatientWaiting.Description':
157
+ 'Please stay on this page. The doctor will start a video call when ready.',
158
+ 'Medical.PatientWaiting.Flow': 'Consultation Flow',
159
+ 'Medical.PatientWaiting.StepAppointment': '1. Appointment Confirmed',
160
+ 'Medical.PatientWaiting.StepAppointmentDesc':
161
+ 'Doctor selected and appointment submitted',
162
+ 'Medical.PatientWaiting.StepWaiting': '2. Waiting (Current)',
163
+ 'Medical.PatientWaiting.StepWaitingDesc':
164
+ 'The doctor will join the video soon',
165
+ 'Medical.PatientWaiting.StepVideo': '3. Video Consultation',
166
+ 'Medical.PatientWaiting.StepVideoDesc': 'Talk with the doctor face to face',
167
+ 'Medical.PatientWaiting.StepPrescription': '4. Get Prescription',
168
+ 'Medical.PatientWaiting.StepPrescriptionDesc':
169
+ 'The doctor issues an e-prescription',
170
+ 'Medical.PatientWaiting.AppointmentDetails': 'Appointment Details',
171
+ 'Medical.PatientWaiting.AppointmentTime': 'Appointment Time',
172
+ 'Medical.PatientWaiting.AppointmentId': 'Appointment ID',
173
+ 'Medical.PatientWaiting.ChiefComplaint': 'Chief Complaint',
174
+ 'Medical.PatientWaiting.Tip1':
175
+ '• Keep your mobile network available. Video will open automatically when the doctor starts.',
176
+ 'Medical.PatientWaiting.Tip2':
177
+ '• Prepare previous records, exam reports, and related materials.',
178
+ 'Medical.PatientWaiting.Tip3':
179
+ '• Use a quiet, well-lit environment for the video consultation.',
180
+ 'Medical.PatientWaiting.Returning': 'Returning...',
181
+ 'Medical.PatientWaiting.BackToDoctors': 'Back to Doctors',
182
+
183
+ 'Medical.Consultation.Title': 'Video Consultation Workspace',
184
+ 'Medical.Consultation.AppointmentId': 'Appointment ID: {{id}}',
185
+ 'Medical.Consultation.InCall': 'In Call',
186
+ 'Medical.Consultation.WaitingPatient': 'Waiting for Patient',
187
+ 'Medical.Consultation.NetworkGood': 'Good Network',
188
+ 'Medical.Consultation.PatientAge': '{{gender}} · {{age}} years old',
189
+ 'Medical.Consultation.CallIdleHint':
190
+ 'Click to call the patient. The patient will receive a notification and join automatically.',
191
+ 'Medical.Consultation.ConnectingPatient': 'Connecting {{patient}}',
192
+ 'Medical.Consultation.InvitePatientMessage':
193
+ '{{doctor}} invites you to join the video consultation',
194
+ 'Medical.Consultation.CallPatientFailed': 'Failed to call patient',
195
+ 'Medical.Consultation.CallCancelled': 'This call has been canceled',
196
+ 'Medical.Consultation.CancelCallFailed':
197
+ 'Failed to cancel the call. Please try again.',
198
+ 'Medical.Consultation.PatientAccepted': '{{patient}} accepted',
199
+ 'Medical.Consultation.PatientRejected':
200
+ '{{patient}} declined the consultation invite',
201
+ 'Medical.Consultation.PatientTimeout': '{{patient}} did not answer in time',
202
+ 'Medical.Consultation.PatientJoined': '{{patient}} joined the room',
203
+ 'Medical.Consultation.CallingPatient': 'Calling patient...',
204
+ 'Medical.Consultation.PendingPatient': 'Patient waiting',
205
+ 'Medical.Consultation.CameraPreviewOff':
206
+ 'Camera is off. Use the bottom-left button to start preview.',
207
+ 'Medical.Consultation.Calling': 'Calling...',
208
+ 'Medical.Consultation.CallPatient': 'Call Patient',
209
+ 'Medical.Consultation.Canceling': 'Canceling...',
210
+ 'Medical.Consultation.CancelCall': 'Cancel Call',
211
+ 'Medical.Consultation.PatientResponding':
212
+ 'The patient is responding and will join automatically',
213
+ 'Medical.Consultation.WaitPrimaryDoctor':
214
+ 'Waiting for the attending doctor to call the patient',
215
+ 'Medical.Consultation.PatientAvatarFallback': 'P',
216
+ 'Medical.Consultation.ChiefComplaint': 'Chief Complaint',
217
+ 'Medical.Consultation.AllergyHistory': 'Allergies',
218
+ 'Medical.Consultation.MedicalHistory': 'Medical History',
219
+ 'Medical.Consultation.Phone': 'Phone',
220
+ 'Medical.Consultation.FinishTitle': 'End consultation?',
221
+ 'Medical.Consultation.FinishMessage':
222
+ 'After ending, the patient will leave this video consultation and enter the completion page. Please confirm the consultation is complete.',
223
+ 'Medical.Consultation.ContinueConsultation': 'Continue',
224
+ 'Medical.Consultation.ConfirmFinish': 'End Consultation',
225
+ 'Medical.Consultation.CameraOff': '{{role}} camera is off',
226
+ 'Medical.Consultation.Speaker': 'Speaker',
227
+ 'Medical.Consultation.Messages': 'Messages',
228
+ 'Medical.Consultation.PatientBottomHint':
229
+ 'Describe your condition as guided by the doctor. You can view the e-prescription after the consultation.',
230
+ 'Medical.Consultation.Transcription': 'Live Transcription',
231
+ 'Medical.Consultation.NoTranscription':
232
+ 'No transcription yet. It will appear here after the doctor starts live transcription.',
233
+ 'Medical.Consultation.AITranscribingTip':
234
+ 'AI transcription is in progress. For reference only.',
235
+ 'Medical.Consultation.TextChat': 'Text Chat',
236
+ 'Medical.Consultation.DeviceRequest': 'Device Request',
237
+ 'Medical.Consultation.DeviceInviteTitle':
238
+ '{{sender}} invites you to turn on {{device}}',
239
+ 'Medical.Consultation.InviteCancelled': 'This invitation was canceled',
240
+ 'Medical.Consultation.InviteTimeout': 'This invitation timed out',
241
+ 'Medical.Consultation.DeviceInviteAccepted': 'Turned on {{device}}',
242
+ 'Medical.Consultation.DeviceInviteDeclined': 'Declined to turn on {{device}}',
243
+ 'Medical.Consultation.DeviceInviteProcessFailed':
244
+ 'Failed to process invitation',
245
+
246
+ 'Medical.Finished.Title': 'Consultation Details',
247
+ 'Medical.Finished.Completed': 'Consultation Completed',
248
+ 'Medical.Finished.Thanks': 'Thank you. Wishing you a speedy recovery.',
249
+ 'Medical.Finished.Duration': '{{minutes}} min',
250
+ 'Medical.Finished.ResultExample': 'Result Example',
251
+ 'Medical.Finished.ResultPlaceholder':
252
+ 'Diagnosis results from the customer business system can be displayed here.',
253
+ 'Medical.Finished.PrescriptionExample': 'Prescription Example',
254
+ 'Medical.Finished.RecordExample': 'Record Example',
255
+ 'Medical.Finished.PrescriptionDataExample': 'Prescription Data Example',
256
+ 'Medical.Finished.SampleNo': 'Sample No.: {{no}}',
257
+
258
+ 'Medical.Data.Title': 'Exam Data',
259
+ 'Medical.Data.Description': 'Images and exam reports uploaded by the patient',
260
+ 'Medical.Data.FileCount': '{{count}} files',
261
+ 'Medical.Data.Upload': 'Upload Exam Data',
262
+ 'Medical.Data.UploadHint':
263
+ 'Supports JPG, PNG, and PDF. Max 10 MB per file.',
264
+ 'Medical.Data.EmptyTitle': 'No exam data',
265
+ 'Medical.Data.EmptyDesc': 'Patients can upload exam reports on mobile.',
266
+ 'Medical.Data.SecurityTip':
267
+ 'All materials are encrypted and visible only to the doctor and patient.',
268
+ 'Medical.Data.BloodRoutine': 'Blood Routine',
269
+ 'Medical.Data.CTImage': 'CT Image',
270
+ 'Medical.Data.XRay': 'X-ray',
271
+ 'Medical.Data.ECG': 'ECG',
272
+ 'Medical.Data.BloodRoutineReport': 'Blood routine report.pdf',
273
+ 'Medical.Data.ChestCTImage': 'Chest CT image.jpg',
274
+ 'Medical.Data.ECGReport': 'ECG report.pdf',
275
+
276
+ 'Medical.Prescription.Title': 'Prescription Form',
277
+ 'Medical.Prescription.Description':
278
+ 'Customers can replace this with their own prescription system or review flow',
279
+ 'Medical.Prescription.AllergyWarning': 'Allergy Warning',
280
+ 'Medical.Prescription.Diagnosis': 'Diagnosis',
281
+ 'Medical.Prescription.DiagnosisPlaceholder': 'Enter diagnosis (required)',
282
+ 'Medical.Prescription.MedicineIndex': 'Medicine {{index}}',
283
+ 'Medical.Prescription.MedicineName': 'Medicine Name *',
284
+ 'Medical.Prescription.MedicineNamePlaceholder': 'Enter medicine name',
285
+ 'Medical.Prescription.Spec': 'Specification',
286
+ 'Medical.Prescription.SpecPlaceholder': 'e.g. 0.25g*24 capsules',
287
+ 'Medical.Prescription.Dosage': 'Single Dose',
288
+ 'Medical.Prescription.DosagePlaceholder': 'e.g. 1 capsule',
289
+ 'Medical.Prescription.Frequency': 'Frequency',
290
+ 'Medical.Prescription.QD': 'Once daily',
291
+ 'Medical.Prescription.BID': 'Twice daily',
292
+ 'Medical.Prescription.TID': 'Three times daily',
293
+ 'Medical.Prescription.QID': 'Four times daily',
294
+ 'Medical.Prescription.QN': 'At bedtime',
295
+ 'Medical.Prescription.DurationDays': 'Days',
296
+ 'Medical.Prescription.DayPlaceholder': 'Days',
297
+ 'Medical.Prescription.Quantity': 'Quantity',
298
+ 'Medical.Prescription.AutoCalculate': 'Auto calculate',
299
+ 'Medical.Prescription.Usage': 'Usage',
300
+ 'Medical.Prescription.Oral': 'Oral',
301
+ 'Medical.Prescription.External': 'External',
302
+ 'Medical.Prescription.Injection': 'Injection',
303
+ 'Medical.Prescription.Nebulization': 'Nebulization',
304
+ 'Medical.Prescription.AddMedicine': 'Add Medicine',
305
+ 'Medical.Prescription.CommonMedicines': 'Common Medicines',
306
+ 'Medical.Prescription.Guidance': 'Medication Guidance',
307
+ 'Medical.Prescription.Guidance1':
308
+ 'Take medicine at the dose and time prescribed by the doctor',
309
+ 'Medical.Prescription.Guidance2':
310
+ 'Stop taking it and contact the doctor if you feel unwell',
311
+ 'Medical.Prescription.Guidance3':
312
+ 'Store medicines properly and check expiration dates',
313
+ 'Medical.Prescription.FooterTip':
314
+ 'This only demonstrates form structure and submission flow. Connect actual review and purchase logic to the customer system.',
315
+ 'Medical.Prescription.SubmitAlert':
316
+ 'Prescription demo submit triggered. Connect this to the customer business system.',
317
+ 'Medical.Prescription.Amoxicillin': 'Amoxicillin Capsules',
318
+ 'Medical.Prescription.Ibuprofen': 'Ibuprofen Sustained-release Capsules',
319
+ 'Medical.Prescription.Ambroxol': 'Ambroxol Oral Solution',
320
+ 'Medical.Prescription.Montmorillonite': 'Montmorillonite Powder',
321
+ 'Medical.Prescription.Antibiotic': 'Antibiotic',
322
+ 'Medical.Prescription.Antipyretic': 'Antipyretic Analgesic',
323
+ 'Medical.Prescription.Expectorant': 'Expectorant',
324
+ 'Medical.Prescription.Antidiarrheal': 'Antidiarrheal',
325
+ 'Medical.Prescription.AmoxicillinSpec': '0.25g*24 capsules',
326
+ 'Medical.Prescription.IbuprofenSpec': '0.3g*20 capsules',
327
+ 'Medical.Prescription.AmbroxolSpec': '15mg/5ml*100ml',
328
+ 'Medical.Prescription.MontmorilloniteSpec': '3g*10 sachets',
329
+ 'Medical.Prescription.DosageOneCapsule': '1 capsule',
330
+ 'Medical.Prescription.Quantity21': '21 capsules',
331
+
332
+ 'Medical.Business.Workspace': 'Business Workspace',
333
+ 'Medical.Business.WorkspaceDesc':
334
+ 'The center area hosts customer systems such as EMR, medical records, prescriptions, and PACS.',
335
+ 'Medical.Business.RecordTab': 'Medical Record Form',
336
+ 'Medical.Business.PrescriptionTab': 'Prescription Form',
337
+ 'Medical.Business.DataTab': 'Exam Data',
338
+ 'Medical.Business.SlotTab': 'Business Slot',
339
+ 'Medical.Business.SlotDesc':
340
+ 'Customer frontend teams can connect their own EMR, HIS, PACS, prescription review, or follow-up forms here. The SDK scenario template carries the main audio/video link, consultation collaboration, instant calls, chat, and transcription.',
341
+ 'Medical.Business.Left': 'Left',
342
+ 'Medical.Business.Center': 'Center',
343
+ 'Medical.Business.Right': 'Right',
344
+ 'Medical.Business.LeftDesc': 'Audio/video and device controls',
345
+ 'Medical.Business.CenterDesc': 'Customer business system slot',
346
+ 'Medical.Business.RightDesc':
347
+ 'Consultation, chat, transcription, and member management',
348
+ 'Medical.Record.ReplaceDesc':
349
+ 'Customers can replace this with their own EMR / HIS form',
350
+ 'Medical.Record.SlotExample': 'Business Slot Example',
351
+ 'Medical.Record.PatientLabel': 'Patient: ',
352
+ 'Medical.Record.PresentIllness': 'Present Illness',
353
+ 'Medical.Record.PastHistory': 'Past History',
354
+ 'Medical.Record.PhysicalExam': 'Physical Exam',
355
+ 'Medical.Record.Temperature': 'Temperature (C)',
356
+ 'Medical.Record.Pulse': 'Pulse (bpm)',
357
+ 'Medical.Record.BloodPressure': 'Blood Pressure (mmHg)',
358
+ 'Medical.Record.Respiration': 'Respiration (breaths/min)',
359
+ 'Medical.Record.AuxiliaryExam': 'Auxiliary Exams',
360
+ 'Medical.Record.InitialDiagnosis': 'Initial Diagnosis',
361
+ 'Medical.Record.ICD10': 'Search ICD-10 Code',
362
+ 'Medical.Record.Treatment': 'Treatment Plan',
363
+ 'Medical.Record.FollowUp': 'Follow-up Advice',
364
+ 'Medical.Record.ChiefComplaintPlaceholder':
365
+ 'Describe the main symptoms and duration',
366
+ 'Medical.Record.PresentIllnessPlaceholder':
367
+ 'Describe onset, symptom changes, and previous treatment',
368
+ 'Medical.Record.PastHistoryPlaceholder':
369
+ 'Past diseases, surgeries, trauma history, etc.',
370
+ 'Medical.Record.AllergyPlaceholder':
371
+ 'Drug or food allergies. Enter “None” if not applicable',
372
+ 'Medical.Record.AuxiliaryExamPlaceholder':
373
+ 'Blood tests, imaging results, etc.',
374
+ 'Medical.Record.DiagnosisPlaceholder': 'Enter diagnosis',
375
+ 'Medical.Record.TreatmentPlaceholder':
376
+ 'Treatment plan, advice, precautions, etc.',
377
+ 'Medical.Record.SubmitDemo': 'Submit Demo Data',
378
+ 'Medical.Record.Preview': 'Preview',
379
+ 'Medical.Record.FooterTip':
380
+ 'This only demonstrates the form structure and submission flow. Connect actual submission to the customer business system.',
381
+ 'Medical.Record.Option3Days': 'After 3 days',
382
+ 'Medical.Record.Option1Week': 'After 1 week',
383
+ 'Medical.Record.Option2Weeks': 'After 2 weeks',
384
+ 'Medical.Record.Option1Month': 'After 1 month',
385
+ 'Medical.Record.SaveAlert':
386
+ 'Medical record demo submit triggered. Connect this to the customer business system.',
387
+
388
+ 'Medical.Manage.Chat': 'Chat',
389
+ 'Medical.Manage.Transcribe': 'Transcription',
390
+ 'Medical.Manage.Members': 'Members',
391
+ 'Medical.Manage.PendingJoin': 'Pending',
392
+ 'Medical.Manage.PrimaryDoctor': 'Attending Doctor',
393
+ 'Medical.Manage.UnknownMember': 'Unknown Member',
394
+ 'Medical.Manage.MemberManagement': 'Member Management',
395
+ 'Medical.Manage.MemberCount': '{{count}} members',
396
+ 'Medical.Manage.InviteDoctor': 'Invite Consulting Doctor',
397
+ 'Medical.Manage.KickMember': 'Remove Member',
398
+ 'Medical.Manage.ClosePatientCamera': 'Turn off patient camera',
399
+ 'Medical.Manage.InvitePatientCamera': 'Invite patient to turn on camera',
400
+ 'Medical.Manage.ClosePatientMicrophone': 'Turn off patient microphone',
401
+ 'Medical.Manage.InvitePatientMicrophone':
402
+ 'Invite patient to turn on microphone',
403
+ 'Medical.Manage.CancelInvite': 'Cancel Invite',
404
+ 'Medical.Manage.PermissionTip1':
405
+ 'The attending doctor can invite, remove, and manage patient devices',
406
+ 'Medical.Manage.PermissionTip2':
407
+ 'Consulting doctors can speak, chat, and view transcription',
408
+ 'Medical.Manage.PermissionTip3':
409
+ 'Patients can only join the video consultation',
410
+ 'Medical.Manage.TranscriptionTitle': 'Live Speech Transcription',
411
+ 'Medical.Manage.Transcribing': 'Transcribing',
412
+ 'Medical.Manage.StartTranscription': 'Start',
413
+ 'Medical.Manage.RealtimeTranscribing': 'Live transcription',
414
+ 'Medical.Manage.TranscriptCount': '{{count}} messages',
415
+ 'Medical.Manage.WaitingSpeech': 'Waiting for speech...',
416
+ 'Medical.Manage.ClickStartTranscription':
417
+ 'Click the button above to start live transcription',
418
+ 'Medical.Manage.TranscriptionFooterTip':
419
+ 'Supports copying and exporting live transcription content',
420
+ 'Medical.Manage.SearchDoctorPlaceholder': 'Search doctor name or department',
421
+ 'Medical.Manage.NoInviteDoctor': 'No doctors available to invite',
422
+ 'Medical.Manage.TranscriberClosed': 'Live transcription stopped',
423
+ 'Medical.Manage.TranscriberStarted': 'Live transcription started',
424
+ 'Medical.Manage.TranscriberFailed': 'Transcription operation failed',
425
+ 'Medical.Manage.NoCopyContent': 'No content to copy',
426
+ 'Medical.Manage.Copied': 'Copied to clipboard',
427
+ 'Medical.Manage.CopyFailed': 'Copy failed. Check browser permission.',
428
+ 'Medical.Manage.NoExportContent': 'No content to export',
429
+ 'Medical.Manage.Exported': 'Content exported',
430
+ 'Medical.Manage.NoInvitePermission':
431
+ 'Your role cannot invite consulting doctors',
432
+ 'Medical.Manage.NotInRoomInvite':
433
+ 'You are not in the room, so consulting doctors cannot be invited now',
434
+ 'Medical.Manage.InviteExtension':
435
+ '{{doctor}} invites you to join the consultation',
436
+ 'Medical.Manage.InviteSent': 'Invitation sent. Waiting for response.',
437
+ 'Medical.Manage.InviteFailed': 'Invitation failed. Please try again later.',
438
+ 'Medical.Manage.NoCancelInvitePermission':
439
+ 'Your role cannot cancel consultation invitations',
440
+ 'Medical.Manage.NotInRoomCancelInvite':
441
+ 'You are not in the room, so invitations cannot be canceled now',
442
+ 'Medical.Manage.InviteCancelled': 'Invitation canceled',
443
+ 'Medical.Manage.CancelInviteFailed':
444
+ 'Failed to cancel invitation. Please try again later.',
445
+ 'Medical.Manage.InvitedPatientOpenDevice':
446
+ 'Invited patient to turn on {{device}}',
447
+ 'Medical.Manage.InviteOpenDeviceFailed':
448
+ 'Failed to invite patient to turn on {{device}}',
449
+ 'Medical.Manage.CancelledPatientDeviceInvite':
450
+ 'Canceled patient {{device}} invitation',
451
+ 'Medical.Manage.CancelDeviceInviteFailed':
452
+ 'Failed to cancel {{device}} invitation',
453
+ 'Medical.Manage.ClosedPatientDevice': 'Turned off patient {{device}}',
454
+ 'Medical.Manage.CloseDeviceFailed': 'Failed to turn off {{device}}',
455
+ 'Medical.Manage.NoKickPermission': 'Your role cannot remove members',
456
+ 'Medical.Manage.MemberKicked': 'Member removed from the room',
457
+ 'Medical.Manage.KickFailed': 'Failed to remove member. Please try again.',
458
+ 'Medical.Manage.PatientAcceptedDeviceInvite':
459
+ 'Patient accepted {{device}} invitation',
460
+ 'Medical.Manage.PatientDeclinedDeviceInvite':
461
+ 'Patient declined {{device}} invitation',
462
+ 'Medical.Manage.DeviceInviteTimeout': '{{device}} invitation timed out',
463
+ 'Medical.Manage.DeviceInviteCancelled': '{{device}} invitation canceled',
464
+ 'Medical.Chat.EncryptedNotice':
465
+ 'Messages are encrypted. You can communicate with the patient in real time. This demo only shows text messages for consultation scenarios.',
466
+ 'Medical.Chat.Empty': 'No chat messages yet',
467
+ 'Medical.Chat.Initializing': 'Initializing conversation...',
468
+ 'Medical.Chat.InputPlaceholder': 'Type a message...',
469
+ 'Medical.Chat.MessageCount': '{{count}} messages',
470
+
471
+ 'Medical.Device.Microphone': 'Microphone',
472
+ 'Medical.Device.Camera': 'Camera',
473
+ 'Medical.Device.OpenFailed':
474
+ '{{device}} failed to start. Check browser permission, system privacy settings, and whether another app is using the device. {{message}}',
475
+ 'Medical.Device.ErrorInfo': 'Error: {{message}}',
476
+ 'Medical.Device.PermissionHint':
477
+ '{{devices}} failed to start. Check browser permission, system privacy settings, and whether another app is using the device.',
478
+
479
+ 'Medical.Mock.DoctorLi': 'Dr. Li',
480
+ 'Medical.Mock.DoctorWang': 'Dr. Wang',
481
+ 'Medical.Mock.DoctorZhang': 'Dr. Zhang',
482
+ 'Medical.Mock.PatientZhang': 'Zhang Xiaoming',
483
+ 'Medical.Mock.PatientLi': 'Li Meihua',
484
+ 'Medical.Mock.ChiefPhysician': 'Chief Physician',
485
+ 'Medical.Mock.AssociateChiefPhysician': 'Associate Chief Physician',
486
+ 'Medical.Mock.AttendingPhysician': 'Attending Physician',
487
+ 'Medical.Mock.Cardiology': 'Cardiology',
488
+ 'Medical.Mock.Respiratory': 'Respiratory Medicine',
489
+ 'Medical.Mock.Gastroenterology': 'Gastroenterology',
490
+ 'Medical.Mock.TertiaryHospital': 'Demo Tertiary Hospital',
491
+ 'Medical.Mock.InternetHospital': 'Demo Internet Hospital',
492
+ 'Medical.Mock.SpecialtyHospital': 'Demo Specialty Hospital',
493
+ 'Medical.Mock.Years20': '20 years',
494
+ 'Medical.Mock.Years15': '15 years',
495
+ 'Medical.Mock.Years10': '10 years',
496
+ 'Medical.Mock.Hypertension': 'Hypertension',
497
+ 'Medical.Mock.Coronary': 'Coronary Heart Disease',
498
+ 'Medical.Mock.Arrhythmia': 'Arrhythmia',
499
+ 'Medical.Mock.Cough': 'Cough',
500
+ 'Medical.Mock.Asthma': 'Asthma',
501
+ 'Medical.Mock.Pneumonia': 'Pneumonia',
502
+ 'Medical.Mock.Gastritis': 'Gastritis',
503
+ 'Medical.Mock.GastricUlcer': 'Gastric Ulcer',
504
+ 'Medical.Mock.Indigestion': 'Indigestion',
505
+ 'Medical.Mock.ChronicCare':
506
+ 'Follow-up consultations and chronic disease management',
507
+ 'Medical.Mock.RespiratoryFollowUp': 'Online respiratory follow-up',
508
+ 'Medical.Mock.GastroFollowUp': 'Gastrointestinal health follow-up',
509
+ 'Medical.Mock.Male': 'Male',
510
+ 'Medical.Mock.Female': 'Female',
511
+ 'Medical.Mock.None': 'None',
512
+ 'Medical.Mock.Unknown': 'Unknown',
513
+ 'Medical.Mock.CoughFever': 'Persistent cough and low-grade fever for 3 days',
514
+ 'Medical.Mock.NightCough': 'Night cough and mild wheezing',
515
+ 'Medical.Mock.Reflux': 'Post-meal bloating and acid reflux',
516
+ 'Medical.Mock.DizzyPalpitations': 'Dizziness and palpitations',
517
+ 'Medical.Mock.ThroatCough': 'Recurrent itchy throat and morning cough',
518
+ 'Medical.Mock.AbdominalPain': 'Dull abdominal pain and loss of appetite',
519
+ 'Medical.Mock.PenicillinAllergy': 'Penicillin allergy',
520
+ 'Medical.Mock.PollenAllergy': 'Pollen allergy',
521
+ 'Medical.Mock.NoMajorHistory': 'No major disease history',
522
+ 'Medical.Mock.AllergicRhinitis': 'Allergic rhinitis',
523
+ 'Medical.Mock.ChronicGastritis': 'Chronic gastritis',
524
+ 'Medical.Mock.ThyroidNodule': 'Thyroid nodule',
525
+ 'Medical.Mock.MildAsthma': 'Mild asthma',
526
+ 'Medical.Mock.IntegrationChiefComplaint':
527
+ 'Sample chief complaint. Replace with pre-consultation data from the customer appointment system.',
528
+ 'Medical.Mock.IntegrationBusinessData': 'Replace with customer business data',
529
+
530
+ 'Medical.Business.EMRHISPACSSlot': 'EMR / HIS / PACS Business Slot',
531
+
532
+ 'Medical.Chat.SessionInitFailed': 'Failed to initialize session',
533
+ 'Medical.Chat.MessageSendFailed': 'Failed to send message',
534
+
535
+ 'Medical.Message.ImageMessage': '[Image Message]',
536
+ 'Medical.Message.VideoMessage': '[Video Message]',
537
+ 'Medical.Message.FileMessage': '[File Message]',
538
+ 'Medical.Message.UnsupportedMessage': '[Unsupported Message Type]',
539
+
540
+ 'Medical.Config.SDKConfigError':
541
+ 'Please configure SDKAPPID and SDKSECRETKEY in src/config/basic-info-config.ts first',
542
+ 'Medical.Config.SDKConfigErrorWithUserSig':
543
+ 'Please configure SDKAPPID and SDKSECRETKEY in src/config/basic-info-config.ts first. For production, have your backend service issue UserSig',
544
+
545
+ 'Medical.Member.ConfirmKickTitle': 'Confirm Removing Member',
546
+ 'Medical.Member.ConfirmKickMessage':
547
+ 'Are you sure you want to remove {{userName}} from the consultation?',
548
+ 'Medical.Member.ConfirmButton': 'Confirm Remove',
549
+ 'Medical.Member.CancelButton': 'Cancel',
550
+ 'Medical.Member.ProcessingButton': 'Processing...',
551
+
552
+ 'Medical.LanguageSwitch.ChineseLang': 'Chinese',
553
+ };
@@ -0,0 +1,25 @@
1
+ import { i18next } from '@tencentcloud/uikit-base-component-vue3';
2
+ import { resource as enResource } from './en-US';
3
+ import { resource as zhResource } from './zh-CN';
4
+
5
+ export { enResource, zhResource };
6
+
7
+ export const addI18n = (
8
+ lng: string,
9
+ resource: any,
10
+ deep = true,
11
+ overwrite = false
12
+ ) => {
13
+ i18next.addResourceBundle(
14
+ lng,
15
+ 'translation',
16
+ resource.translation,
17
+ deep,
18
+ overwrite
19
+ );
20
+ };
21
+
22
+ export function initMedicalI18n() {
23
+ addI18n('en-US', { translation: enResource });
24
+ addI18n('zh-CN', { translation: zhResource });
25
+ }