Browse Source

增加i18n

gemercheung 2 năm trước cách đây
mục cha
commit
b89507b79d

+ 11 - 6
src/components/chatRoom/dialog/createdName.vue

@@ -4,7 +4,7 @@
       <div class="blurBox"></div>
 
       <div class="content">
-        <div class="dialog_title">加入带看房间</div>
+        <div class="dialog_title">{{ t('base.joinRoom') }}</div>
         <!-- <div class="dialog_title" v-if="role == 'leader'">创建一起逛</div>
         <div class="dialog_title" v-else>进入一起逛</div> -->
         <!-- <div
@@ -21,7 +21,7 @@
             maxlength="20"
             v-model.trim="userName"
             type="text"
-            placeholder="请输入您的昵称"
+            :placeholder="t('base.nickNameRequired')"
           />
           <span class="limitNum">{{ userName.length }}/20</span>
         </div>
@@ -29,8 +29,8 @@
           <div @click="chooseMode(i.mode)" v-for="i,index in modeList" :key="index" :class="{ active: mode==i.mode }" class="mode">{{i.title}}</div>
         </div> -->
         <div class="created_btn">
-          <div class="created_cancel" @click="closeCreated">取消</div>
-          <div class="created_confirm" @click="createdConfirm">确认</div>
+          <div class="created_cancel" @click="closeCreated">{{ t('base.cancel') }}</div>
+          <div class="created_confirm" @click="createdConfirm">{{ t('base.confirm') }}</div>
         </div>
       </div>
     </div>
@@ -42,11 +42,14 @@
   import { ref, unref, watchEffect } from 'vue';
 
   import Dialog from '/@/components/basic/dialog';
+  import { useI18n } from '/@/hooks/useI18n';
+  import { useSocket } from '/@/hooks/userSocket';
   // import { useRtcStore } from '/@/store/modules/rtc';
   // import browser from '/@/utils/browser';
   // import Cropper from '@/components/cropper/cropper.vue';
   // Cropper
   const emit = defineEmits(['closeDialog', 'confirmDialog']);
+  const { t } = useI18n();
 
   const userName = ref('');
   // const rtcStore = useRtcStore();
@@ -65,13 +68,15 @@
 
   const closeCreated = () => {
     ifShow.value = false;
+    const { closeSocket } = useSocket();
     emit('closeDialog');
+    closeSocket();
   };
   const createdConfirm = () => {
     if (unref(userName).length === 0) {
-      Dialog.toast({ content: '请输入入您的昵称', type: 'error' });
+      Dialog.toast({ content: t('base.nickNameRequired'), type: 'error' });
     } else {
-      Dialog.toast({ content: '保存成功!', type: 'success' });
+      Dialog.toast({ content: t('base.saveSuccess'), type: 'success' });
       ifShow.value = false;
       emit('confirmDialog', unref(userName));
     }

+ 5 - 0
src/components/chatRoom/index.vue

@@ -142,9 +142,11 @@
 
   import { useAppStore } from '/@/store/modules/app';
   import { useI18n } from '/@/hooks/useI18n';
+  import { useLocale } from '/@/locales/useLocale';
   // hook
   const { isDrawing, setDraw, setCloseDraw } = useDraw();
   const { initialRoom } = useRoom();
+  const { getLocale } = useLocale();
 
   const rtcStore = useRtcStore();
   const appStore = useAppStore();
@@ -395,6 +397,9 @@
     search.set('name', '');
     search.set('roomId', `${rtcStore.roomId}`);
     search.set('m', browser.getURLParam('m'));
+    const lang = unref(getLocale);
+    search.set('lang', lang);
+
     const url = new URL(location.href);
     url.search = `?` + search.toString();
     shareLink.value = url.toString();

+ 2 - 2
src/hooks/useTRTC.ts

@@ -195,8 +195,8 @@ async function handleLeave() {
   }
   try {
     uninstallEventHandlers();
-    await localClient.leave();
-    localClient.destroy();
+    localClient && (await localClient.leave());
+    localClient && localClient.destroy();
     // localClient = null;
     invitedRemoteStreams.value.forEach((item) => {
       item.stop();

+ 3 - 3
src/hooks/userSocket.ts

@@ -32,11 +32,11 @@ async function closeSocket() {
   await leaveRoom();
   appStore.setIsTourMode(true);
   if (rtcStore.isLeader) {
-    socket.emit('action', { type: 'leader-dismiss' });
+    socket && socket.emit('action', { type: 'leader-dismiss' });
   }
   console.log('socket', socket);
-  socket.emit('disconnected');
-  console.log('socket', socket.connected);
+  socket && socket.emit('disconnected');
+  // console.log('socket', socket.connected);
   rtcStore.clearMemberList();
   createNewURLEntry({
     vruserId: '',

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

@@ -8,6 +8,7 @@ export default {
   sceneList: 'Scene List',
   inviteFriends: 'Invite Friends',
   copy: 'copy',
+  confirm: 'confirm',
   copyShare: 'copy share Link',
   copyShareSuccess: 'The link Successfully copied',
   share: 'share',
@@ -24,4 +25,8 @@ export default {
   knowIt: 'Confirm',
   view: 'view',
   send: 'Send',
+  saveSuccess: 'Save successfully',
+  nickNameRequired: 'Please input your’s nickname!',
+  joinRoom: '加入带看房间',
+  hoster: 'hoster',
 };

+ 5 - 1
src/locales/lang/zh/base.ts

@@ -20,9 +20,13 @@ export default {
   endNow: '立即结束',
   disabledTalk: '主持人设置了禁言',
   floorPlanView: '平面',
-  copySuccess: '复制成功',
+  copySuccess: '复制成功',
   errorRoom: '房间异常,请联系主持人。',
   knowIt: '我知道了。',
   view: '观看',
   send: '发送',
+  saveSuccess: '保存成功!',
+  nickNameRequired: '请输入入您的昵称',
+  joinRoom: '加入带看房间',
+  hoster: '主持人',
 };