gemercheung 2 년 전
부모
커밋
9d5ef51371

+ 5 - 2
src/locales/lang/en/base.ts

@@ -3,12 +3,15 @@ export default {
     en: 'English',
     zh_CN: '简体中文'
   },
+  tips: 'tips',
+  confirm: 'confirm',
   personalCenter: 'personal center',
   logout: 'logout',
   edit: 'Edit',
   share: 'Share',
-  delede: 'Delete',
+  delete: 'Delete',
   save: 'Save',
   cancel: 'Cancel',
-  loginFail: '登录状态失效,请重新登录'
+  loginFail: '登录状态失效,请重新登录',
+  saveSuccess: '保存成功'
 }

+ 17 - 11
src/locales/lang/en/room.ts

@@ -5,19 +5,25 @@ export default {
   searchRoom: 'search Room',
   personalCenter: 'personal Center',
   logout: 'log out',
-  startLivestreaming: 'Start livestreaming',
+  startLivestreaming: 'livestreaming',
   roomInfo: 'room Info',
   form: {
     title: 'title',
     titleRequired: 'Title is Required',
-    titleplaceHolder: '请输入标题名称,限15字。',
-    desc: '简介',
-    descplaceHolder: '请输入简介,限200字。',
-    host: '主持人信息',
-    nickname: '昵称',
-    nicknameRequired: '请输入昵称',
-    nicknameDesc: '请输入主持人昵称,限15字',
-    selectScene: '选择场景',
-    addScene: '添加场景'
-  }
+    titleplaceHolder: 'Please enter up to 15 words for the title',
+    desc: 'description',
+    descplaceHolder: 'Please enter up to 200 words for the description',
+    host: 'Hoster Infomation',
+    nickname: 'Nickname',
+    nicknameRequired: 'Nickname is required',
+    nicknameDesc: 'Please enter up to 15 words for the host nickname',
+    selectScene: 'select scene',
+    addScene: 'add scene'
+  },
+  roomOnfired: '房间直播中, 请先关闭直播再修改 !',
+  copyLink: 'Copy link',
+  linkCopySuccess: 'Link copied successfully!',
+  deletedScenes: 'Deleted scenes',
+  deletedScenesWaring: 'Cannot recover from deletion, confirm to delete?',
+  projectLink: 'Project Link'
 }

+ 3 - 2
src/locales/lang/zh-CN/base.ts

@@ -9,8 +9,9 @@ export default {
   logout: '退出登录',
   edit: '编辑',
   share: '分享',
-  delede: '删除',
+  delete: '删除',
   save: '保存',
   cancel: '取消',
-  loginFail: '登录状态失效,请重新登录'
+  loginFail: '登录状态失效,请重新登录',
+  saveSuccess: '保存成功'
 }

+ 7 - 1
src/locales/lang/zh-CN/room.ts

@@ -19,5 +19,11 @@ export default {
     nicknameDesc: '请输入主持人昵称,限15字',
     selectScene: '选择场景',
     addScene: '添加场景'
-  }
+  },
+  roomOnfired: '房间直播中, 请先关闭直播再修改 !',
+  copyLink: '复制链接',
+  linkCopySuccess: '链接复制成功!',
+  deletedScenes: '删除场景',
+  deletedScenesWaring: '删除后无法恢复,是否确认?',
+  projectLink: '作品链接'
 }

+ 12 - 2
src/views/room/edit-room/index.vue

@@ -36,7 +36,7 @@
       <div class="scene">
         <iframe
           v-if="current.scenes.length"
-          :src="`${mainURL}/smg.html?m=${current.scenes[0].num}&mobile=true`"
+          :src="`${mainURL}/smg.html?m=${current.scenes[0].num}&mobile=true&lang=${returnLocale}`"
           frameborder="0"
         />
         <img v-else :src="unScenePng" />
@@ -103,7 +103,7 @@
 </template>
 
 <script lang="ts">
-import { ref, defineComponent, reactive } from 'vue'
+import { ref, defineComponent, reactive, computed, unref } from 'vue'
 import { createRoom, useRoomStore } from '@/store/modules/room'
 import { props } from './props'
 import { message } from 'ant-design-vue'
@@ -114,6 +114,7 @@ import unScenePng from '@/assets/images/un-scene.png'
 import type { Scene } from '@/store/modules/scene'
 import type { FormInstance } from 'ant-design-vue'
 import { useI18n } from '@/hook/useI18n'
+import { useLocale } from '@/locales/useLocale'
 
 const roomStore = useRoomStore()
 const { t } = useI18n()
@@ -131,6 +132,14 @@ export default defineComponent({
   props,
   setup(props) {
     const visible = ref(true)
+    const { getLocale } = useLocale()
+    const returnLocale = computed(() => {
+      if (unref(getLocale).includes('zh')) {
+        return 'zh'
+      }
+      return unref(getLocale)
+    })
+
     const formRef = ref<FormInstance>()
     const current = reactive(createRoom(props.room || {}))
     const deleteScene = (scene: Scene) => {
@@ -155,6 +164,7 @@ export default defineComponent({
     // }
 
     return {
+      returnLocale,
       t,
       visible,
       current,

+ 5 - 2
src/views/room/edit-room/scene-list.vue

@@ -37,6 +37,9 @@ import SceneList from '@/views/scene/list.vue'
 
 import type { Scene } from '@/store/modules/scene'
 import { renderModal } from '@/helper'
+import { useI18n } from '@/hook/useI18n'
+
+const { t } = useI18n()
 
 defineOptions<{ name: 'RoomSceneList' }>()
 const props = defineProps<{ scenes: Scene[] }>()
@@ -54,9 +57,9 @@ const deleteScene = (scene: Scene) => {
     content: '删除后无法恢复,是否确认?',
     title: '删除场景',
     width: '400px',
-    okText: '删除',
+    okText: t('base.delete'),
     icon: null,
-    cancelText: '取消',
+    cancelText: t('base.cancel'),
     onOk: () => emit('delete', scene)
   })
 }

+ 10 - 10
src/views/room/list.vue

@@ -93,12 +93,12 @@ const roomList = computed(() => [addMarked, ...roomStore.filter(keyword.value)])
 
 const deleteRoom = (room: Room) => {
   Modal.confirm({
-    content: '删除后无法恢复,是否确认?',
-    title: '删除作品',
+    content: t('room.deletedScenesWaring'),
+    title: t('room.deletedScenes'),
     width: '400px',
-    okText: '删除',
+    okText: t('base.delete'),
     icon: null,
-    cancelText: '取消',
+    cancelText: t('base.cancel'),
     onOk: () => roomStore.delete(room)
   })
 }
@@ -109,12 +109,12 @@ const shareRoom = async (room: Room) => {
   const m = scenes.sceneData[0].num
   Modal.confirm({
     content: createVNode(Share, { room, num: m }),
-    title: '分享',
+    title: t('base.share'),
     icon: null,
     width: '500px',
-    okText: '复制链接',
+    okText: t('room.copyLink'),
     appContext: app._context,
-    cancelText: '取消',
+    cancelText: t('base.cancel'),
     onOk: async () => {
       const link = roomStore.getShareUrl({
         roomId: room.id,
@@ -123,7 +123,7 @@ const shareRoom = async (room: Room) => {
         isTour: '1'
       })
       await copyText(link)
-      message.success('链接复制成功')
+      message.success(t('room.linkCopySuccess'))
     }
   })
 }
@@ -171,7 +171,7 @@ const editRoom = async (room?: Room) => {
   if (room) {
     await roomStore.setRoomScenes(room)
     if (room.roomStatus === 1) {
-      message.error('房间直播中, 请先关闭直播再修改 !')
+      message.error(t('room.roomOnfired'))
       return
     }
   }
@@ -184,7 +184,7 @@ const editRoom = async (room?: Room) => {
       } else {
         await roomStore.insert(actionRoom)
       }
-      message.success('保存成功')
+      message.success(t('base.saveSuccess'))
     }
   })
 }

+ 3 - 2
src/views/room/modal/share.vue

@@ -4,7 +4,7 @@
     :wrapper-col="{ span: 19 }"
     class="share-form"
   >
-    <a-form-item label="作品链接">
+    <a-form-item :label="t('room.projectLink')">
       <a-input disabled :value="url" />
     </a-form-item>
     <!-- <a-form-item label="作品葵花码">
@@ -16,7 +16,8 @@
 <script lang="ts" setup>
 import { useRoomStore } from '@/store/modules/room'
 import type { Room } from '@/store/modules/room'
-
+import { useI18n } from '@/hook/useI18n'
+const { t } = useI18n()
 defineOptions({ name: 'RoomShare' })
 const props = defineProps<{ room: Room; num: string }>()
 const roomStore = useRoomStore()

+ 1 - 1
src/views/room/sign.vue

@@ -41,7 +41,7 @@
             <span style="--hover-color: #fa5555" @click="$emit('delete')">
               <i class="iconfont icon-works_delete" />
               <!-- 删除 -->
-              {{ t('base.delede') }}
+              {{ t('base.delete') }}
             </span>
           </div>
         </div>