瀏覽代碼

语音识别,翻译 暂存

cxmo 1 年之前
父節點
當前提交
934ab5a7ef

+ 216 - 0
src/lang/modules/SemanticsManage/ASRpage.js

@@ -0,0 +1,216 @@
+/**
+ * 语义分析 -- 语音识别
+ * $t('SemanticsManage.ASRpage')
+ */
+
+export const ASRPageEn = {
+
+    //新建编辑弹窗
+    create_new:"Create New",
+    belonging_directory:"Belonging Directory",
+    belonging_directory_placeholder:"Please Select Belonging Directory",
+    belonging_directory_hint:"Belonging Directory Required",
+    file_count:"File Count",
+    file_name:"File Name",
+    file_size:"Size",
+    audio_video:"Audio/Video",
+    start_upload_hint:"Click/Drag and Drop Local Audio/Video Files",
+    uploading_hint:"Uploading, Please Do Not Close the Popup Window",
+    continue_adding:"Continue Adding",
+    file_check_hint:"The same file name already exists!",
+    faile_upload_hint:"Upload failed, please refresh and try again!",
+    success_upload_hint:"Upload complete, please check the transcription list.",
+    supported_audio_formats:"Supported Audio Formats",
+    supported_video_formats:"Supported Video Formats",
+    upload_description:"Single file up to 5 hours long, maximum 1GB, up to 50 files per upload.",
+
+    //搜索,筛选
+    search_placeholder:"Please Enter File Name",
+    filter_text:"Filter",
+    filter_options:"Filter Options",
+    clear_btn:"Clear",
+    start_text:"Start",
+    end_text:"End",
+    creator_text:"Creator",
+    tag_text:"Tag",
+    directory_text:"Directory",
+
+    //添加,编辑目录
+    add_directory_category:"Add Directory Category",
+    add_directory_text:"Add Directory",
+    edit_directory_text:"Edit Directory",
+    add_tag_category:"Add Tag Category",
+    edit_tag_category:"Edit Tag Category",
+    edit_tag_text:"Edit Tag",
+    add_tag_text:"Add Tag",
+    directory_name:"Directory Name",
+    tag_name:"Tag Name",
+    tag_name_placeholder:"Please Enter the Tag Name",
+    belonging_directory:"Belonging Directory",
+    parent_directory:"Parent Directory",
+    first_directory:"First-Level Directory",
+    second_directory:"Second-Level Directory",
+    directory_name_required:"Directory Name Required",
+    required_field:"Required Field",
+    tag_name_required:"Tag Name Required",
+    belonging_directory_required:"Belonging Directory Required",
+    addition_directory_successful:"Directory Added Successfully",
+    edition_directory_successful:"Directory Edited Successfully",
+    addition_tag_successful:"New Tag Added Successfully",
+    editition_tag_successful:"Tag Edited Successfully",
+    //删除校验
+    prompt_text:"Prompt",
+    failed_text:"Deletion Failed",
+    failed_btn:"Understood",
+    check_text:"Are you sure you want to delete the current category?",
+    check_text2:"Are you sure you want to delete the current category and its subcategories?",
+    check_text3:"Are you sure you want to delete the current tag?",
+    failed_delete_text:"The category is associated with tags, deletion failed!",
+    failed_delete_text2:"The category is associated with transcription files, deletion failed!",
+    failed_delete_text3:"The tag is associated with transcription files, deletion failed!",
+    deletion_successful:"Deletion Successful",
+    //卡片列表
+    no_directory_available:"No Directory Available",
+    total_files:"A total of {num} files",
+    //列表操作
+    rename_text:"Rename",
+    //file_name,
+    //search_placeholder,
+    file_name_required:"File Name Required",
+    rename_successful:"Rename Successful",
+
+    tagging_text:"Tagging",
+    select_all_text:"Select All",
+    //tag_name_placeholder,
+    //add_tag_text,
+    tag_directory_placeholder:"Please Select a Tag Directory",
+    //tag_name_required,
+    tag_directory_required:"Tag Directory Required",
+    //addition_tag_successful
+    tagging_successful:"Tagging Successful",
+
+    export_text:"Export",
+    export_content:"Export Content",
+    file_format:"File Format",
+    display_information:"Display Information",
+    display_information_placeholder:"Select Display Information",
+    timestamps_text:"Timestamp",
+
+    delete_text:"Delete",
+    delete_file_check:"Are you sure you want to delete the selected records?",
+
+    //详情
+    please_enter_keywords:"Please Enter Keywords",
+    save_successful:"Save Successful",
+    delete_audio_check:"Are you sure you want to delete this audio? (Deleting will not affect the display of the original text.)",
+    delete_video_check:"Are you sure you want to delete this video? (Deleting will not affect the display of the original text.)",
+    original_text:"Original Text",
+    hide_timestamps:"Hide Timestamps",
+    show_timestamps:"Show Timestamps",
+    copy_text:"Copy",
+    speed_text:"Speed",
+
+
+
+
+
+
+
+}
+export const ASRPageZh = {
+    create_new:"新建",
+    belonging_directory_placeholder:"请选择所属目录",
+    belonging_directory:"所属目录必填",
+    file_count:"文件数量",
+    file_name:"文件名",
+    file_size:"大小",
+    audio_video:"音/视频",
+    /**
+     * 操作,删除 Table.column_operations,delete_btn
+     * 取消,确认/确定 Dialog.confirm_btn,cancel_btn
+     * 保存confirm_save_btn
+     */
+    start_upload_hint:"点击/拖拽本地音视频文件",
+    uploading_hint:"上传中,请勿关闭弹窗",
+    continue_adding:"继续添加",
+    file_check_hint:"相同文件名称已存在!",
+    faile_upload_hint:"上传失败,请刷新重试",
+    success_upload_hint:"上传完成,请检查转写列表",
+    supported_audio_formats:"支持音频格式",
+    supported_video_formats:"支持视频格式",
+    upload_description:"单个文件最长5小时,最大1GB,单次上传支持上传50个",
+
+    search_placeholder:"请输入文件名称",
+    filter_text:"筛选",
+    filter_options:"筛选项",
+    clear_btn:"清空",
+    start_text:"开始",
+    end_text:"结束",
+    creator_text:"创建人",
+    tag_text:"标签",
+    directory_text:"目录",
+
+    add_directory_category:"添加目录分类",
+    add_directory_text:"添加目录",
+    edit_directory_text:"编辑目录",
+    add_tag_category:"添加标签分类",
+    edit_tag_category:"编辑标签分类",
+    edit_tag_text:"编辑标签",
+    add_tag_text:"添加标签",
+    directory_name:"目录名称",
+    tag_name:"标签名称",
+    tag_name_placeholder:"请输入标签名称",
+    belonging_directory:"所属目录",
+    //belonging_directory_placeholder
+    parent_directory:"上级目录",
+    first_directory:"一级目录",
+    second_directory:"二级目录",
+    directory_name_required:"目录名称必填",
+    required_field:"必填项",
+    tag_name_required:"标签名称必填",
+    belonging_directory_required:"所属目录必填",
+    addition_directory_successful:"添加目录成功",
+    edition_directory_successful:"编辑目录成功",
+    addition_tag_successful:"添加标签成功",
+    editition_tag_successful:"编辑标签成功",
+
+    prompt_text:"提示",
+    failed_text:"删除失败",
+    failed_btn:"知道了",
+    check_text:"确定删除当前分类吗?",
+    check_text2:"确定删除当前分类及包含的子分类吗?",
+    check_text3:"确定删除该标签吗?",
+    failed_delete_text:"该分类关联标签,删除失败!",
+    failed_delete_text2:"该分类关联转写文件,删除失败!",
+    failed_delete_text3:"标签关联转写文件,删除失败!",
+    deletion_successful:"删除成功",
+
+    no_directory_available:"暂无目录",
+    total_files:"共{num}个文件",
+    rename_text:"重命名",
+    file_name_required:"文件名称必填",
+    rename_successful:"重命名成功",
+    tagging_text:"打标签",
+    select_all_text:"全选",
+    tag_directory_placeholder:"请选择标签目录",
+    tag_directory_required:"标签目录必填",
+    tagging_successful:"打标签成功",
+    export_text:"导出",
+    export_content:"导出成功",
+    file_format:"文件格式",
+    display_information:"显示信息",
+    display_information_placeholder:"请选择显示信息",
+    timestamps_text:"时间戳",
+    delete_text:"删除",
+    delete_file_check:"确定删除选中记录吗?",
+
+    please_enter_keywords:"请输入关键词",
+    save_successful:"保存成功",
+    delete_audio_check:"确定删除该音频吗?(删除后不影响原文显示)",
+    delete_video_check:"确定删除该视频吗?(删除后不影响原文显示)",
+    original_text:"原文",
+    hide_timestamps:"隐藏时间戳",
+    show_timestamps:"显示时间戳",
+    copy_text:"复制",
+    speed_text:"倍速",
+}

+ 2 - 0
src/lang/modules/SemanticsManage/indexEn.js

@@ -3,11 +3,13 @@
 import { DocumentComparisonEn } from "./DocumentComparison";
 import { DocumentComparisonEn } from "./DocumentComparison";
 import { DocumentManagementEn } from "./DocumentManagement";
 import { DocumentManagementEn } from "./DocumentManagement";
 import { TagManagementEn } from "./TagManagement";
 import { TagManagementEn } from "./TagManagement";
+import { ASRPageEn } from "./ASRpage";
 
 
 export default {
 export default {
   SemanticsManage: {
   SemanticsManage: {
     DocumentComparison: DocumentComparisonEn,
     DocumentComparison: DocumentComparisonEn,
     DocumentManagement: DocumentManagementEn,
     DocumentManagement: DocumentManagementEn,
     TagManagement: TagManagementEn,
     TagManagement: TagManagementEn,
+    ASRpage:ASRPageEn,
   },
   },
 };
 };

+ 2 - 0
src/lang/modules/SemanticsManage/indexZh.js

@@ -1,6 +1,7 @@
 import { DocumentComparisonZh } from "./DocumentComparison";
 import { DocumentComparisonZh } from "./DocumentComparison";
 import { DocumentManagementZh } from "./DocumentManagement";
 import { DocumentManagementZh } from "./DocumentManagement";
 import { TagManagementZh } from "./TagManagement";
 import { TagManagementZh } from "./TagManagement";
+import {ASRPageZh} from "./ASRpage";
 
 
 export default {
 export default {
   // 语义分析----模块
   // 语义分析----模块
@@ -8,5 +9,6 @@ export default {
     DocumentComparison: DocumentComparisonZh,
     DocumentComparison: DocumentComparisonZh,
     DocumentManagement: DocumentManagementZh,
     DocumentManagement: DocumentManagementZh,
     TagManagement: TagManagementZh,
     TagManagement: TagManagementZh,
+    ASRpage:ASRPageZh,
   },
   },
 };
 };

+ 85 - 56
src/views/semantics_manage/asr/ASR.vue

@@ -3,32 +3,39 @@
     <div class="asr-main">
     <div class="asr-main">
       <div class="asr-main-left">
       <div class="asr-main-left">
         <div class="add-zone" >
         <div class="add-zone" >
+            <!-- 新建 -->
           <el-button @click="addAsr" type="primary" style="min-width: 100px;"
           <el-button @click="addAsr" type="primary" style="min-width: 100px;"
-          v-permission="permissionBtn.semanticPermission.ASR_addArticles">新建</el-button>
+          v-permission="permissionBtn.semanticPermission.ASR_addArticles">{{$t('SemanticsManage.ASRpage.create_new')}}</el-button>
         </div>
         </div>
         <div class="catalogue-zone" v-loading="detailLoadig" element-loading-text="加载中······">
         <div class="catalogue-zone" v-loading="detailLoadig" element-loading-text="加载中······">
           <div class="search-box">
           <div class="search-box">
+            <!-- 请输入文件名称 -->
             <el-select v-model="search_txt" v-loadMore="searchLoad" :filterable="!search_txt" remote clearable
             <el-select v-model="search_txt" v-loadMore="searchLoad" :filterable="!search_txt" remote clearable
-              placeholder="请输入文件名称" class="select-com" :remote-method="searchHandle" @click.native="inputFocusHandle">
+              :placeholder="$t('SemanticsManage.ASRpage.search_placeholder')" 
+              class="select-com" :remote-method="searchHandle" @click.native="inputFocusHandle">
               <i slot="prefix" class="el-input__icon el-icon-search"></i>
               <i slot="prefix" class="el-input__icon el-icon-search"></i>
               <el-option v-for="item in searchOptions" :key="item.SpeechRecognitionId" :label="item.FileName"
               <el-option v-for="item in searchOptions" :key="item.SpeechRecognitionId" :label="item.FileName"
                 :value="item.SpeechRecognitionId">
                 :value="item.SpeechRecognitionId">
               </el-option>
               </el-option>
             </el-select>
             </el-select>
+            <!-- 筛选 -->
             <el-popover placement="bottom-end" :offset="10" width="334" v-model="showFilterPopopver"
             <el-popover placement="bottom-end" :offset="10" width="334" v-model="showFilterPopopver"
               trigger="click" @hide="resetFilterOption" @show="getTagsList">
               trigger="click" @hide="resetFilterOption" @show="getTagsList">
                 <div class="filter-poopver">
                 <div class="filter-poopver">
                   <div class="filter-poopver-header">
                   <div class="filter-poopver-header">
-                    <span>筛选项</span>
-                    <span style="cursor: pointer;color: #0052D9;" @click="resetFilterOption('clear')">清空</span>
+                    <span>{{ $t('SemanticsManage.ASRpage.filter_options') }}</span>
+                    <span style="cursor: pointer;color: #0052D9;" @click="resetFilterOption('clear')">{{ $t('SemanticsManage.ASRpage.clear_btn') }}</span>
                   </div>
                   </div>
                   <el-form :model="filterForm" ref="filterForm" class="filter-poopver-form">
                   <el-form :model="filterForm" ref="filterForm" class="filter-poopver-form">
                     <el-form-item prop="createtimeRange">
                     <el-form-item prop="createtimeRange">
-                      <el-date-picker v-model="filterForm.createtimeRange" start-placeholder="开始" end-placeholder="结束"
+                      <el-date-picker v-model="filterForm.createtimeRange" 
+                      :start-placeholder="$t('SemanticsManage.ASRpage.start_text')" 
+                      :end-placeholder="$t('SemanticsManage.ASRpage.end_text')"
                       type="daterange" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                       type="daterange" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="author" >
                     <el-form-item prop="author" >
-                      <el-cascader v-model="filterForm.author" placeholder="创建人" ref="authorsCascader" clearable 
+                      <el-cascader v-model="filterForm.author" ref="authorsCascader" clearable 
+                      :placeholder="$t('SemanticsManage.ASRpage.creator_text')" 
                       id="authors-cascader" style="width: 100%" :options="authorsList" collapse-tags :show-all-levels="false"
                       id="authors-cascader" style="width: 100%" :options="authorsList" collapse-tags :show-all-levels="false"
                       :props="{value:'ItemId',label:'ItemName',children:'Children',multiple:true,emitPath:false}"></el-cascader>
                       :props="{value:'ItemId',label:'ItemName',children:'Children',multiple:true,emitPath:false}"></el-cascader>
                       <!-- <el-select v-model="filterForm.author" placeholder="创建人" style="width: 100%;" multiple
                       <!-- <el-select v-model="filterForm.author" placeholder="创建人" style="width: 100%;" multiple
@@ -38,7 +45,8 @@
                       </el-select> -->
                       </el-select> -->
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="tags" v-if="leftShowLabel !== '标签'">
                     <el-form-item prop="tags" v-if="leftShowLabel !== '标签'">
-                      <el-select v-model="filterForm.tags" placeholder="标签" style="width: 100%;" multiple
+                      <el-select v-model="filterForm.tags" style="width: 100%;" multiple
+                      :placeholder="$t('SemanticsManage.ASRpage.tag_text')" 
                       collapse-tags filterable>
                       collapse-tags filterable>
                         <el-option :label="item.TagName" :value="item.TagId" 
                         <el-option :label="item.TagName" :value="item.TagId" 
                         v-for="item in tagsList" :key="item.TagId"></el-option>
                         v-for="item in tagsList" :key="item.TagId"></el-option>
@@ -46,20 +54,28 @@
                     </el-form-item>
                     </el-form-item>
                   </el-form>
                   </el-form>
                   <div class="filter-poopver-footer">
                   <div class="filter-poopver-footer">
-                    <el-button type="primary" plain style="width: 140px;"  @click="showFilterPopopver=false">取消</el-button>
-                    <el-button type="primary" style="width: 140px;" @click="filterArticle">确认</el-button>
+                    <el-button type="primary" plain style="width: 140px;"  @click="showFilterPopopver=false">
+                        {{ $t('Dialog.cancel_btn') }}
+                    </el-button>
+                    <el-button type="primary" style="width: 140px;" @click="filterArticle">
+                        {{ $t('Dialog.confirm_btn') }}
+                    </el-button>
                   </div>
                   </div>
                 </div>
                 </div>
               <div class="filter-box" slot="reference">
               <div class="filter-box" slot="reference">
                 <img src="~@/assets/img/filter.png" />
                 <img src="~@/assets/img/filter.png" />
-                <span>筛选</span>
+                <span>{{ $t('SemanticsManage.ASRpage.filter_text') }}</span>
               </div>
               </div>
             </el-popover>
             </el-popover>
           </div>
           </div>
           <div class="catalogue-head">
           <div class="catalogue-head">
             <ul class="left-tab">
             <ul class="left-tab">
-              <li :class="['tab', { 'act': leftShowLabel === tab }]" v-for="tab in ['目录', '标签']" :key="tab"
-                @click="tabChange(tab)">{{ tab }}</li>
+              <li :class="['tab', { 'act': leftShowLabel === tab.key }]" 
+                v-for="tab in [
+                    {key:'目录',label:$t('SemanticsManage.ASRpage.directory_text')},
+                    {key:'标签',label:$t('SemanticsManage.ASRpage.tag_text')}]" 
+                :key="tab.key"
+                @click="tabChange(tab.key)">{{ tab.label }}</li>
             </ul>
             </ul>
           </div>
           </div>
           <div v-show="leftShowLabel=='目录'" class="tree-container">
           <div v-show="leftShowLabel=='目录'" class="tree-container">
@@ -67,7 +83,7 @@
               <el-tree ref="treeRef" class="target_tree" :data="treeData" node-key="UniqueCode" :props="defaultProp"
               <el-tree ref="treeRef" class="target_tree" :data="treeData" node-key="UniqueCode" :props="defaultProp"
                 :allow-drag="canDragHandle" :allow-drop="canDropHandle" :current-node-key="select_node_key"
                 :allow-drag="canDragHandle" :allow-drop="canDropHandle" :current-node-key="select_node_key"
                 :default-expanded-keys="defaultShowNodes" draggable :expand-on-click-node="false" check-strictly
                 :default-expanded-keys="defaultShowNodes" draggable :expand-on-click-node="false" check-strictly
-                empty-text="暂无分类" lazy :load="getLazyTreeData" @node-expand="handleNodeExpand"
+                :empty-text="$t('Common.no_classify_msg')" lazy :load="getLazyTreeData" @node-expand="handleNodeExpand"
                 @node-collapse="handleNodeCollapse" @current-change="nodeChange" @node-drop="dropOverHandle"
                 @node-collapse="handleNodeCollapse" @current-change="nodeChange" @node-drop="dropOverHandle"
                 @node-drag-end="dropMouseLeave" @node-drag-leave="dropMouseLeave" @node-drag-enter="dropMouseOver">
                 @node-drag-end="dropMouseLeave" @node-drag-leave="dropMouseLeave" @node-drag-enter="dropMouseOver">
                 <span class="custom-tree-node" slot-scope="{ node, data }">
                 <span class="custom-tree-node" slot-scope="{ node, data }">
@@ -90,7 +106,8 @@
             <div class="bottom-operation" v-permission="permissionBtn.semanticPermission.ASR_classify_catalogue_add">
             <div class="bottom-operation" v-permission="permissionBtn.semanticPermission.ASR_classify_catalogue_add">
               <div class="bottom-add" @click="editCatalogue(1)">
               <div class="bottom-add" @click="editCatalogue(1)">
                 <img src="~@/assets/img/add-quadrate-blue.png" />
                 <img src="~@/assets/img/add-quadrate-blue.png" />
-                <span>添加目录分类</span>
+                <!-- 添加目录分类 -->
+                <span>{{ $t('SemanticsManage.ASRpage.add_directory_category') }}</span>
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>
@@ -99,7 +116,7 @@
               <el-tree ref="tagTreeRef" class="target_tree" :data="tagTreeData" node-key="UniqueCode" :props="defaultProp"
               <el-tree ref="tagTreeRef" class="target_tree" :data="tagTreeData" node-key="UniqueCode" :props="defaultProp"
                 :allow-drag="canDragHandle" :allow-drop="canDropHandle" :current-node-key="tag_select_node_key"
                 :allow-drag="canDragHandle" :allow-drop="canDropHandle" :current-node-key="tag_select_node_key"
                 :default-expanded-keys="tagDefaultShowNodes" draggable :expand-on-click-node="false" check-strictly
                 :default-expanded-keys="tagDefaultShowNodes" draggable :expand-on-click-node="false" check-strictly
-                empty-text="暂无分类" lazy :load="getLazyTreeTagData" @node-expand="handleNodeExpand"
+                :empty-text="$t('Common.no_classify_msg')" lazy :load="getLazyTreeTagData" @node-expand="handleNodeExpand"
                 @node-collapse="handleNodeCollapse" @current-change="nodeChange" @node-drop="dropOverHandle"
                 @node-collapse="handleNodeCollapse" @current-change="nodeChange" @node-drop="dropOverHandle"
                 @node-drag-end="dropMouseLeave" @node-drag-leave="dropMouseLeave" @node-drag-enter="dropMouseOver">
                 @node-drag-end="dropMouseLeave" @node-drag-leave="dropMouseLeave" @node-drag-enter="dropMouseOver">
                 <span class="custom-tree-node" slot-scope="{ node, data }">
                 <span class="custom-tree-node" slot-scope="{ node, data }">
@@ -127,11 +144,13 @@
               <div class="bottom-add" @click="editCatalogue(1)" style="margin-right: 20px;" 
               <div class="bottom-add" @click="editCatalogue(1)" style="margin-right: 20px;" 
               v-permission="permissionBtn.semanticPermission.ASR_classify_tag_add">
               v-permission="permissionBtn.semanticPermission.ASR_classify_tag_add">
                 <img src="~@/assets/img/add-quadrate-blue.png" />
                 <img src="~@/assets/img/add-quadrate-blue.png" />
-                <span>添加标签分类</span>
+                <!-- 添加标签分类 -->
+                <span>{{ $t('SemanticsManage.ASRpage.add_tag_category') }}</span>
               </div>
               </div>
               <div class="bottom-add" @click="editTag" v-permission="permissionBtn.semanticPermission.ASR_tagOperation_addTag">
               <div class="bottom-add" @click="editTag" v-permission="permissionBtn.semanticPermission.ASR_tagOperation_addTag">
                 <img src="~@/assets/img/add-quadrate-blue.png" />
                 <img src="~@/assets/img/add-quadrate-blue.png" />
-                <span>添加标签</span>
+                <!-- 添加标签 -->
+                <span>{{ $t('SemanticsManage.ASRpage.add_tag_text') }}</span>
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>
@@ -245,7 +264,7 @@
       <div class="asr-main-right" v-else v-permission="permissionBtn.semanticPermission.ASR_view" 
       <div class="asr-main-right" v-else v-permission="permissionBtn.semanticPermission.ASR_view" 
       v-infinite-scroll="handleLoadMore" :infinite-scroll-immediate="true" :infinite-scroll-disabled="articleListRequest.finished">
       v-infinite-scroll="handleLoadMore" :infinite-scroll-immediate="true" :infinite-scroll-disabled="articleListRequest.finished">
         <template v-if="articleList && articleList.length>0">
         <template v-if="articleList && articleList.length>0">
-          <div class="file-count">{{ total }}个文件</div>
+          <div class="file-count">{{ $t('SemanticsManage.ASRpage.total_files',{num:total}) }}</div>
           <div class="file-container">
           <div class="file-container">
             <div class="file-item" v-for="item in articleList" :key="item.SpeechRecognitionId" @click="switchDetail(item)">
             <div class="file-item" v-for="item in articleList" :key="item.SpeechRecognitionId" @click="switchDetail(item)">
               <div class="file-main">
               <div class="file-main">
@@ -273,10 +292,18 @@
                   <el-dropdown @command="(e)=>handleCommandMore(e,item)">
                   <el-dropdown @command="(e)=>handleCommandMore(e,item)">
                     <img src="~@/assets/img/more.png" />
                     <img src="~@/assets/img/more.png" />
                     <el-dropdown-menu slot="dropdown">
                     <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item command="rename" v-permission="permissionBtn.semanticPermission.ASR_renameArticles">重命名</el-dropdown-item>
-                      <el-dropdown-item command="tag" v-permission="permissionBtn.semanticPermission.ASR_tagMark_view">打标签</el-dropdown-item>
-                      <el-dropdown-item command="export" v-permission="permissionBtn.semanticPermission.ASR_exportArticles">导出</el-dropdown-item>
-                      <el-dropdown-item command="del" v-permission="permissionBtn.semanticPermission.ASR_deleteArticles">删除</el-dropdown-item>
+                      <el-dropdown-item command="rename" v-permission="permissionBtn.semanticPermission.ASR_renameArticles">
+                        {{ $t('SemanticsManage.ASRpage.rename_text') }}
+                      </el-dropdown-item>
+                      <el-dropdown-item command="tag" v-permission="permissionBtn.semanticPermission.ASR_tagMark_view">
+                        {{ $t('SemanticsManage.ASRpage.tagging_text') }}
+                      </el-dropdown-item>
+                      <el-dropdown-item command="export" v-permission="permissionBtn.semanticPermission.ASR_exportArticles">
+                        {{ $t('SemanticsManage.ASRpage.export_text') }}
+                      </el-dropdown-item>
+                      <el-dropdown-item command="del" v-permission="permissionBtn.semanticPermission.ASR_deleteArticles">
+                        {{ $t('SemanticsManage.ASRpage.delete_text') }}
+                      </el-dropdown-item>
                     </el-dropdown-menu>
                     </el-dropdown-menu>
                   </el-dropdown>
                   </el-dropdown>
                 </div>
                 </div>
@@ -285,7 +312,7 @@
           </div>
           </div>
         </template>
         </template>
         <div v-else class="nodata">
         <div v-else class="nodata">
-          <tableNoData text="暂无记录"/>
+          <tableNoData :text="$t('SemanticsManage.ASRpage.no_directory_available')"/>
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>
@@ -638,42 +665,42 @@ export default {
         params={TagId:data.TagId}
         params={TagId:data.TagId}
         apiName='removeTagCheck'
         apiName='removeTagCheck'
         deleteLabelMap = {
         deleteLabelMap = {
-          0: '确定删除该标签吗?',
-          1: '标签关联转写文件,删除失败!'
+          0: /*'确定删除该标签吗?'*/this.$t('SemanticsManage.ASRpage.check_text3'),
+          1: /*'标签关联转写文件,删除失败!'*/ this.$t('SemanticsManage.ASRpage.failed_delete_text3')
         }
         }
       }else{
       }else{
         // 目录
         // 目录
         params={MenuId:data.MenuId}
         params={MenuId:data.MenuId}
         apiName=this.leftShowLabel=="目录"?'removeCatalogueCheck':'removeTagCatalogueCheck'
         apiName=this.leftShowLabel=="目录"?'removeCatalogueCheck':'removeTagCatalogueCheck'
         deleteLabelMap = {
         deleteLabelMap = {
-						0: '确定删除当前分类吗?',
-						1: `该分类关联${this.leftShowLabel=='目录'?'转写文件':'标签'},删除失败!`,
-						2: '确定删除当前分类及包含的子分类吗?'
-					}
+            0: /*'确定删除当前分类吗?'*/ this.$t('SemanticsManage.ASRpage.check_text'),
+            /*`该分类关联${this.leftShowLabel=='目录'?'转写文件':'标签'},删除失败!`*/
+            1: this.leftShowLabel=='目录'?this.$t('SemanticsManage.ASRpage.failed_delete_text2'):this.$t('SemanticsManage.ASRpage.failed_delete_text'),
+            2: /*'确定删除当前分类及包含的子分类吗?'*/this.$t('SemanticsManage.ASRpage.check_text2'),
+        }
       }
       }
       asrInterface[apiName](params).then(res => {
       asrInterface[apiName](params).then(res => {
-				if(res.Ret === 200) {
-					if([1].includes(res.Data.CheckResult)) this.$confirm(
-            deleteLabelMap[res.Data.CheckResult],
-            '删除失败',
-            {
-            confirmButtonText: '知道了',
-            showCancelButton:false,
-            type: 'error'
-          })
-					else if([0,2].includes(res.Data.CheckResult)) this.$confirm(
-              deleteLabelMap[res.Data.CheckResult]
-							|| '确定删除吗?', 
-							'提示',
-							{
-							confirmButtonText: '确定',
-							cancelButtonText: '取消',
-							type: 'warning'
-						}).then(() => {
-							this.delHandle(data.MenuId,data.TagId);
-						}).catch(() => {})
-				}
-			})
+        if(res.Ret === 200) {
+            if([1].includes(res.Data.CheckResult)) this.$confirm(
+                deleteLabelMap[res.Data.CheckResult],
+                this.$t('SemanticsManage.ASRpage.failed_text'),
+                {
+                    confirmButtonText: this.$t('SemanticsManage.ASRpage.failed_btn'),
+                    showCancelButton:false,
+                    type: 'error'
+                }).then(() => {}).catch(() => {})
+            else if([0,2].includes(res.Data.CheckResult)) this.$confirm(
+                deleteLabelMap[res.Data.CheckResult], 
+                this.$t('SemanticsManage.ASRpage.prompt_text'),
+                {
+                    confirmButtonText: this.$t('Dialog.confirm_btn'),
+                    cancelButtonText: this.$t('Dialog.cancel_btn'),
+                    type: 'warning'
+                }).then(() => {
+                    this.delHandle(data.MenuId,data.TagId);
+                }).catch(() => {})
+        }
+      })
     },
     },
     delHandle(mId,tid){
     delHandle(mId,tid){
       let params={}
       let params={}
@@ -690,7 +717,7 @@ export default {
       asrInterface[apiName](params).then(res=>{
       asrInterface[apiName](params).then(res=>{
         if(res.Ret == 200){
         if(res.Ret == 200){
           this.leftShowLabel=='目录'?this.getTreeData():this.getTagTreeData()
           this.leftShowLabel=='目录'?this.getTreeData():this.getTagTreeData()
-          this.$message.success("删除成功")
+          this.$message.success(this.$t('SemanticsManage.ASRpage.deletion_successful'))
         }
         }
       })
       })
     },
     },
@@ -1085,15 +1112,17 @@ export default {
       }
       }
     },
     },
     articleDel(row){
     articleDel(row){
-      this.$confirm('确定删除选中的记录吗?', '提示',
+      this.$confirm(
+        /*确定删除选中的记录吗*/this.$t('SemanticsManage.ASRpage.delete_file_check'), 
+        /*'提示'*/this.$t('SemanticsManage.ASRpage.prompt_text'),
         {
         {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+        confirmButtonText: this.$t('Dialog.confirm_btn'),
+        cancelButtonText: this.$t('Dialog.cancel_btn'),
         type: 'warning'
         type: 'warning'
       }).then(() => {
       }).then(() => {
         asrInterface.speechRemove({SpeechRecognitionId:row.SpeechRecognitionId}).then(res=>{
         asrInterface.speechRemove({SpeechRecognitionId:row.SpeechRecognitionId}).then(res=>{
           if(res.Ret == 200){
           if(res.Ret == 200){
-            this.$message.success("删除成功")
+            this.$message.success(this.$t('SemanticsManage.ASRpage.deletion_successful'))
             this.page=1
             this.page=1
             this.getArticleList()
             this.getArticleList()
             this.leftShowLabel=="目录" && this.getTreeData()
             this.leftShowLabel=="目录" && this.getTreeData()

+ 49 - 21
src/views/semantics_manage/asr/components/catalogueDia.vue

@@ -3,28 +3,35 @@
 		:visible.sync="diaShow"
 		:visible.sync="diaShow"
 		:close-on-click-modal="false"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
 		:modal-append-to-body='false'
-    :title="diaTitle"
+		:title="diaTitle"
 		@close="closeHandle"
 		@close="closeHandle"
 		center
 		center
 		width="480px">
 		width="480px">
 			<div class="dialog-main">
 			<div class="dialog-main">
 				<el-form
 				<el-form
-				ref="diaForm"
-				label-position="top"
-				hide-required-asterisk
-				:model="formData">
-          <el-form-item :label="(index+1)==formData.level?'目录名称':getFormLabel(index,formData.level)" 
-          :rules="{required:true,message:'目录名称必填',trigger:'blur'}" :prop="formProps[index]" 
-          v-for="(item,index) in new Array(formData.level)" :key="index">
-            <el-input v-model="formData.first" style="width: 100%" placeholder="必填项" v-if="index==0" :disabled="formData.level!=1"></el-input>
-            <el-input v-model="formData.second" style="width: 100%" placeholder="必填项" v-else-if="index==1" :disabled="formData.level!=2"></el-input>
-            <el-input v-model="formData.third" style="width: 100%" placeholder="必填项" v-else></el-input>
-          </el-form-item>
+					ref="diaForm"
+					label-position="top"
+					hide-required-asterisk
+					:model="formData">
+					<el-form-item 
+					:label="(index+1)==formData.level
+						?$t('SemanticsManage.ASRpage.directory_name')
+						:getFormLabel(index,formData.level)" 
+					:rules="{required:true,message:$t('SemanticsManage.ASRpage.directory_name_required'),trigger:'blur'}" :prop="formProps[index]" 
+					v-for="(item,index) in new Array(formData.level)" :key="index">
+						<el-input v-model="formData.first" style="width: 100%" :placeholder="$t('SemanticsManage.ASRpage.required_field')" v-if="index==0" :disabled="formData.level!=1"></el-input>
+						<el-input v-model="formData.second" style="width: 100%" :placeholder="$t('SemanticsManage.ASRpage.required_field')" v-else-if="index==1" :disabled="formData.level!=2"></el-input>
+						<el-input v-model="formData.third" style="width: 100%" :placeholder="$t('SemanticsManage.ASRpage.required_field')" v-else></el-input>
+					</el-form-item>
 				</el-form>
 				</el-form>
-        <div class="dia-bot">
-          <el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">取消</el-button>
-          <el-button type="primary" @click="saveHandle" style="min-width:120px;">保存</el-button>
-        </div>
+				<div class="dia-bot">
+					<el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">
+						{{ $t('Dialog.cancel_btn') }}
+					</el-button>
+					<el-button type="primary" @click="saveHandle" style="min-width:120px;">
+						{{ $t('Dialog.confirm_save_btn') }}
+					</el-button>
+				</div>
 			</div>
 			</div>
 		</el-dialog>
 		</el-dialog>
 </template>
 </template>
@@ -50,7 +57,17 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
     watch:{
     watch:{
       diaShow(value){
       diaShow(value){
         if(value){
         if(value){
-          this.diaTitle = this.formData.code?"编辑":"添加"
+          const titleAddMap = {
+            '目录':this.$t('SemanticsManage.ASRpage.add_directory_text'),//添加目录
+            '标签':this.$t('SemanticsManage.ASRpage.add_tag_category'),//添加标签分类
+          }
+          const titleEditMap = {
+            '目录':this.$t('SemanticsManage.ASRpage.edit_directory_text'),//编辑目录
+            '标签':this.$t('SemanticsManage.ASRpage.edit_tag_category'),//编辑标签分类
+          }
+          this.diaTitle = this.formData.code
+            ?titleEditMap[this.formData.type]
+            :titleAddMap[this.formData.type]
           this.$refs.diaForm && this.$nextTick(()=>{
           this.$refs.diaForm && this.$nextTick(()=>{
             this.$refs.diaForm.clearValidate()
             this.$refs.diaForm.clearValidate()
           })
           })
@@ -86,7 +103,11 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
                 MenuName:this.formData[keyI]
                 MenuName:this.formData[keyI]
               }).then(res=>{
               }).then(res=>{
                 if(res.Ret == 200){
                 if(res.Ret == 200){
-                  this.$message.success(this.diaTitle+"成功")
+                  this.$message.success(
+                    this.formData.type == "目录"
+                    ?this.$t('SemanticsManage.ASRpage.edition_directory_successful')
+                    :this.$t('SemanticsManage.ASRpage.editition_tag_successful')
+                  )
                   this.$emit("catalogueSuccess",{type:'edit',code:''})
                   this.$emit("catalogueSuccess",{type:'edit',code:''})
                   this.$emit("update:diaShow",false)
                   this.$emit("update:diaShow",false)
                 }
                 }
@@ -105,7 +126,11 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
                 MenuName:this.formData[keyI]
                 MenuName:this.formData[keyI]
               }).then(res=>{
               }).then(res=>{
                 if(res.Ret == 200){
                 if(res.Ret == 200){
-                  this.$message.success(this.diaTitle+"成功")
+                    this.$message.success(
+                    this.formData.type == "目录"
+                    ?this.$t('SemanticsManage.ASRpage.addition_directory_successful')
+                    :this.$t('SemanticsManage.ASRpage.addition_tag_successful')
+                  )
                   this.$emit("catalogueSuccess",{type:'add',code:this.formData.code})
                   this.$emit("catalogueSuccess",{type:'add',code:this.formData.code})
                   this.$emit("update:diaShow",false)
                   this.$emit("update:diaShow",false)
                 }
                 }
@@ -116,9 +141,12 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
       },
       },
       getFormLabel(index,level){
       getFormLabel(index,level){
         if(level==2){
         if(level==2){
-          return "上级目录"
+          return /* 上级目录 */ this.$t('SemanticsManage.ASRpage.parent_directory')
         }
         }
-        let levelLabel=['一级目录','二级目录']
+        let levelLabel=[
+            /*一级目录*/ this.$t('SemanticsManage.ASRpage.first_directory'),
+            /*二级目录*/ this.$t('SemanticsManage.ASRpage.second_directory'),
+        ]
         return levelLabel[index]
         return levelLabel[index]
       },
       },
       closeHandle(){
       closeHandle(){

+ 33 - 21
src/views/semantics_manage/asr/components/editTag.vue

@@ -3,30 +3,40 @@
 		:visible.sync="diaShow"
 		:visible.sync="diaShow"
 		:close-on-click-modal="false"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
 		:modal-append-to-body='false'
-    :title="diaTitle"
+		:title="diaTitle"
 		@close="closeHandle"
 		@close="closeHandle"
 		center
 		center
 		width="480px">
 		width="480px">
 			<div class="dialog-main">
 			<div class="dialog-main">
 				<el-form
 				<el-form
-				ref="diaForm"
-				label-position="top"
-				hide-required-asterisk
-				:model="formData">
-          <el-form-item label="标签名称" :rules="{required:true,message:'标签名称必填',trigger:'blur'}" prop="tName">
-            <el-input v-model="formData.tName" style="width: 100%" placeholder="请输入标签名称"></el-input>
-          </el-form-item>
-          <el-form-item label="所属目录" :rules="{required:true,message:'所属目录必填',trigger:'change'}" prop="mId"
-          v-if="!formData.tId">
-            <el-cascader v-model="formData.mId" ref="editTagCascader" placeholder="请选择标签目录" clearable id="edit-tag-cascader"
-              :options="tagCatalogue" :props="{value:'MenuId',label:'MenuName',children:'Children',checkStrictly:true,emitPath:false}"
-              style="width: 100%;" :clearable="false" ></el-cascader>
-          </el-form-item>
+					ref="diaForm"
+					label-position="top"
+					hide-required-asterisk
+					:model="formData">
+					<!-- 标签名称 -->
+					<el-form-item :label="$t('SemanticsManage.ASRpage.tag_name')" 
+						:rules="{required:true,message:$t('SemanticsManage.ASRpage.tag_name_required'),trigger:'blur'}" prop="tName">
+						<el-input v-model="formData.tName" style="width: 100%" 
+						:placeholder="$t('SemanticsManage.ASRpage.tag_name_placeholder')"></el-input>
+					</el-form-item>
+					<!-- 所属目录 -->
+					<el-form-item :label="$t('SemanticsManage.ASRpage.belonging_directory')" 
+					:rules="{required:true,message:$t('SemanticsManage.ASRpage.belonging_directory_required'),trigger:'change'}" prop="mId"
+						v-if="!formData.tId">
+						<el-cascader v-model="formData.mId" ref="editTagCascader" 
+							:placeholder="$t('SemanticsManage.ASRpage.belonging_directory_placeholder')" clearable id="edit-tag-cascader"
+							:options="tagCatalogue" :props="{value:'MenuId',label:'MenuName',children:'Children',checkStrictly:true,emitPath:false}"
+							style="width: 100%;" :clearable="false" ></el-cascader>
+					</el-form-item>
 				</el-form>
 				</el-form>
-        <div class="dia-bot">
-          <el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">取消</el-button>
-          <el-button type="primary" @click="saveHandle" style="min-width:120px;">保存</el-button>
-        </div>
+				<div class="dia-bot">
+					<el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">
+						{{ $t('Dialog.cancel_btn') }}
+					</el-button>
+					<el-button type="primary" @click="saveHandle" style="min-width:120px;">
+						{{ $t('Dialog.confirm_save_btn') }}
+					</el-button>
+				</div>
 			</div>
 			</div>
 		</el-dialog>
 		</el-dialog>
 </template>
 </template>
@@ -55,7 +65,9 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
     watch:{
     watch:{
       diaShow(value){
       diaShow(value){
         if(value){
         if(value){
-          this.diaTitle = this.formData.tId?"编辑标签":"添加标签"
+          this.diaTitle = this.formData.tId
+            ?this.$t("SemanticsManage.ASRpage.edit_tag_text")
+            :this.$t("SemanticsManage.ASRpage.add_tag_text")
           this.$refs.diaForm && this.$nextTick(()=>{
           this.$refs.diaForm && this.$nextTick(()=>{
             this.$refs.diaForm.clearValidate()
             this.$refs.diaForm.clearValidate()
           })
           })
@@ -81,7 +93,7 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
                 TagName:this.formData.tName
                 TagName:this.formData.tName
               }).then(res=>{
               }).then(res=>{
                 if(res.Ret == 200){
                 if(res.Ret == 200){
-                  this.$message.success(this.diaTitle+"成功")
+                  this.$message.success(this.$t('SemanticsManage.ASRpage.editition_tag_successful'))
                   this.$emit("tagSuccess",{type:"edit"})
                   this.$emit("tagSuccess",{type:"edit"})
                   this.$emit("update:diaShow",false)
                   this.$emit("update:diaShow",false)
                 }
                 }
@@ -92,7 +104,7 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
                 TagName:this.formData.tName
                 TagName:this.formData.tName
               }).then(res=>{
               }).then(res=>{
                 if(res.Ret == 200){
                 if(res.Ret == 200){
-                  this.$message.success(this.diaTitle+"成功")
+                  this.$message.success(this.$t('SemanticsManage.ASRpage.addition_tag_successful'))
                   let menuIds = this.$refs.editTagCascader.getCheckedNodes()[0] && this.$refs.editTagCascader.getCheckedNodes()[0].pathNodes.map(node=> node.data.UniqueCode)
                   let menuIds = this.$refs.editTagCascader.getCheckedNodes()[0] && this.$refs.editTagCascader.getCheckedNodes()[0].pathNodes.map(node=> node.data.UniqueCode)
                   this.$emit("tagSuccess",{type:"add",menuIds})
                   this.$emit("tagSuccess",{type:"add",menuIds})
                   this.$emit("update:diaShow",false)
                   this.$emit("update:diaShow",false)

+ 30 - 22
src/views/semantics_manage/asr/components/exportDia.vue

@@ -3,33 +3,38 @@
 		:visible.sync="diaShow"
 		:visible.sync="diaShow"
 		:close-on-click-modal="false"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
 		:modal-append-to-body='false'
-    :title="diaTitle"
+		:title="diaTitle"
 		@close="closeHandle"
 		@close="closeHandle"
 		center
 		center
 		width="480px">
 		width="480px">
 			<div class="dialog-main">
 			<div class="dialog-main">
 				<el-form
 				<el-form
-				ref="diaForm"
-				label-position="top"
-				hide-required-asterisk
-				:model="formData">
-          <el-form-item label="文件格式" :rules="{required:true,message:'文件格式必填',trigger:'change'}" prop="type">
-            <el-select v-model="formData.type" placeholder="请选择文件格式" style="width: 100%">
-              <el-option :label="item.label" :value="item.value" v-for="item in exportType" :key="item.value"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="显示信息" prop="shows">
-            <el-select v-model="formData.shows" placeholder="请选择显示信息" style="width: 100%" clearable >
-              <el-option :label="item.label" :value="item.value" v-for="item in showsList" :key="item.value"></el-option>
-            </el-select>
-          </el-form-item>
+					ref="diaForm"
+					label-position="top"
+					hide-required-asterisk
+					:model="formData">
+					<el-form-item :label="$t('SemanticsManage.ASRpage.file_format')" 
+						:rules="{required:true,message:'文件格式必填',trigger:'change'}" prop="type">
+						<el-select v-model="formData.type" placeholder="请选择文件格式" style="width: 100%">
+							<el-option :label="item.label" :value="item.value" v-for="item in exportType" :key="item.value"></el-option>
+						</el-select>
+					</el-form-item>
+					<el-form-item :label="$t('SemanticsManage.ASRpage.display_information')" prop="shows">
+						<el-select v-model="formData.shows" :placeholder="$t('SemanticsManage.ASRpage.display_information_placeholder')" style="width: 100%" clearable >
+							<el-option :label="item.label" :value="item.value" v-for="item in showsList" :key="item.value"></el-option>
+						</el-select>
+					</el-form-item>
 				</el-form>
 				</el-form>
-        <div class="dia-bot">
-          <el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle" >取消</el-button>
-          <el-button type="primary" @click="saveHandle" style="min-width:120px;" >保存</el-button>
-        </div>
+				<div class="dia-bot">
+					<el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle" >
+						{{ $t('Dialog.cancel_btn') }}
+					</el-button>
+					<el-button type="primary" @click="saveHandle" style="min-width:120px;" >
+						{{ $t('Dialog.confirm_btn') }}
+					</el-button>
+				</div>
 			</div>
 			</div>
-		</el-dialog>
+	</el-dialog>
 </template>
 </template>
 
 
 <script>
 <script>
@@ -50,9 +55,9 @@
     },
     },
     data() {
     data() {
       return {
       return {
-        diaTitle:'导出内容',
+        //diaTitle:'导出内容',
         exportType:[{value:1,label:".txt"},{value:2,label:".doc"},{value:3,label:".pdf"}],
         exportType:[{value:1,label:".txt"},{value:2,label:".doc"},{value:3,label:".pdf"}],
-        showsList:[{value:"timestamp",label:"时间戳"}],
+        showsList:[{value:"timestamp",label:this.$t('SemanticsManage.ASRpage.timestamps_text')}],
         exportBase: process.env.VUE_APP_API_ROOT + "/speech_recognition/export", //数据导出接口
         exportBase: process.env.VUE_APP_API_ROOT + "/speech_recognition/export", //数据导出接口
       }
       }
     },
     },
@@ -79,6 +84,9 @@
         urlStr += `&Timestamp=${!!this.formData.shows}`;
         urlStr += `&Timestamp=${!!this.formData.shows}`;
         return this.escapeStr(urlStr);
         return this.escapeStr(urlStr);
       },
       },
+      diaTitle(){
+        return this.$t('SemanticsManage.ASRpage.export_text')
+      },
     },
     },
     methods: {
     methods: {
       cancelHandle(){
       cancelHandle(){

+ 26 - 14
src/views/semantics_manage/asr/components/fileRename.vue

@@ -3,24 +3,31 @@
 		:visible.sync="diaShow"
 		:visible.sync="diaShow"
 		:close-on-click-modal="false"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
 		:modal-append-to-body='false'
-    :title="diaTitle"
+		:title="diaTitle"
 		@close="closeHandle"
 		@close="closeHandle"
 		center
 		center
 		width="480px">
 		width="480px">
 			<div class="dialog-main">
 			<div class="dialog-main">
 				<el-form
 				<el-form
-				ref="diaForm"
-				label-position="top"
-				hide-required-asterisk
-				:model="formData">
-          <el-form-item label="文件名称" :rules="{required:true,message:'文件名称必填',trigger:'blur'}" prop="name">
-            <el-input v-model="formData.name" style="width: 100%" placeholder="请输入文件名称"></el-input>
-          </el-form-item>
+					ref="diaForm"
+					label-position="top"
+					hide-required-asterisk
+					:model="formData">
+					<el-form-item :label="$t('SemanticsManage.ASRpage.file_name')" 
+						:rules="{required:true,message:$t('SemanticsManage.ASRpage.file_name_required'),trigger:'blur'}" 
+						prop="name">
+						<el-input v-model="formData.name" style="width: 100%" 
+							:placeholder="$t('SemanticsManage.ASRpage.search_placeholder')"></el-input>
+					</el-form-item>
 				</el-form>
 				</el-form>
-        <div class="dia-bot">
-          <el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">取消</el-button>
-          <el-button type="primary" @click="saveHandle" style="min-width:120px;">保存</el-button>
-        </div>
+				<div class="dia-bot">
+					<el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">
+						{{ $t('Dialog.cancel_btn') }}
+					</el-button>
+					<el-button type="primary" @click="saveHandle" style="min-width:120px;">
+						{{ $t('Dialog.confirm_btn') }}
+					</el-button>
+				</div>
 			</div>
 			</div>
 		</el-dialog>
 		</el-dialog>
 </template>
 </template>
@@ -53,9 +60,14 @@ import { asrInterface } from '../../../../api/modules/semanticsApi'
     },
     },
     data() {
     data() {
       return {
       return {
-        diaTitle:'重命名',
+        //diaTitle:'重命名',
       }
       }
     },
     },
+    computed:{
+        diaTitle(){
+            return this.$t('SemanticsManage.ASRpage.rename_text')
+        }
+    },
     methods: {
     methods: {
       cancelHandle(){
       cancelHandle(){
         this.$emit("update:diaShow",false)
         this.$emit("update:diaShow",false)
@@ -65,7 +77,7 @@ import { asrInterface } from '../../../../api/modules/semanticsApi'
           if(valid){
           if(valid){
             asrInterface.speechRename({SpeechRecognitionId:this.formData.id,FileName:this.formData.name}).then(res=>{
             asrInterface.speechRename({SpeechRecognitionId:this.formData.id,FileName:this.formData.name}).then(res=>{
               if(res.Ret == 200){
               if(res.Ret == 200){
-                this.$message.success(this.diaTitle+"成功")
+                this.$message.success(this.$t('SemanticsManage.ASRpage.rename_successful'))
                 this.$emit("renameSuccess")
                 this.$emit("renameSuccess")
                 this.$emit("update:diaShow",false)
                 this.$emit("update:diaShow",false)
               }
               }

+ 54 - 39
src/views/semantics_manage/asr/components/makeTags.vue

@@ -3,47 +3,57 @@
 		:visible.sync="diaShow"
 		:visible.sync="diaShow"
 		:close-on-click-modal="false"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
 		:modal-append-to-body='false'
-    :title="diaTitle"
+		:title="diaTitle"
 		@close="closeHandle"
 		@close="closeHandle"
 		center
 		center
 		width="800px"
 		width="800px"
-    top="5vh">
+		top="5vh">
 			<div class="dialog-main">
 			<div class="dialog-main">
-        <div class="make-tags-header">
-          <el-checkbox :indeterminate="isIndeterminate" v-model="isCheckAll" @change="checkAllTags">全选</el-checkbox>
-          <el-input v-model="tagSeachWord" placeholder="请输入标签名称" prefix-icon="el-icon-search" clearable
-              style="width: 360px;" @input="searchTags"></el-input>
-        </div>
-        <div class="make-tags-list">
-          <el-checkbox-group v-model="formData.tagsArr" class="make-tags-group" ref="tagsGroupRef" 
-          v-if="tagsListAfterFilter && tagsListAfterFilter.length>0" @change="tagsCheckedChange">
-            <el-checkbox :label="item.TagId" v-for="item in tagsListAfterFilter" :key="item.TagId" style="margin-right: 0;"> {{ item.TagName }}</el-checkbox>
-          </el-checkbox-group>
-          <tableNoData text="暂无数据" v-else />
-        </div>
-        <div class="make-tags-add" v-permission="permissionBtn.semanticPermission.ASR_tagMark_add">
-          <div class="make-tags-add-title">添加标签</div>
-          <el-form
-          ref="tagsForm" class="tags-form"
-          label-position="top" inline
-          hide-required-asterisk
-          :model="addTagsForm">
-            <el-form-item :rules="{required:true,message:'标签名称必填',trigger:'blur'}" prop="TagName">
-              <el-input v-model="addTagsForm.TagName" placeholder="请输入标签名称" style="width: 260px"></el-input>
-            </el-form-item>
-            <el-form-item prop="MenuId"  :rules="{required:true,message:'标签目录必填',trigger:'change'}">
-              <el-cascader v-model="addTagsForm.MenuId" placeholder="请选择标签目录" ref="makeTagsCascader" id="make-tags-cascader" style="width: 260px"
-              :options="tagCatalogueList" :props="{value:'MenuId',label:'MenuName',children:'Children',checkStrictly:true,emitPath:false}"></el-cascader>
-            </el-form-item>
-            <el-button type="primary" style="width: 100px;" @click="addTag">添加</el-button>
-          </el-form>
-        </div>
-        <div class="dia-bot">
-          <el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">取消</el-button>
-          <el-button type="primary" @click="saveHandle" style="min-width:120px;">保存</el-button>
-        </div>
+				<div class="make-tags-header">
+					<el-checkbox :indeterminate="isIndeterminate" v-model="isCheckAll" @change="checkAllTags">
+						{{ $t('SemanticsManage.ASRpage.select_all_text') }}
+					</el-checkbox>
+					<el-input v-model="tagSeachWord" 
+						:placeholder="$t('SemanticsManage.ASRpage.tag_name_placeholder')" prefix-icon="el-icon-search" clearable
+						style="width: 360px;" @input="searchTags"></el-input>
+				</div>
+				<div class="make-tags-list">
+					<el-checkbox-group v-model="formData.tagsArr" class="make-tags-group" ref="tagsGroupRef" 
+					v-if="tagsListAfterFilter && tagsListAfterFilter.length>0" @change="tagsCheckedChange">
+					<el-checkbox :label="item.TagId" v-for="item in tagsListAfterFilter" :key="item.TagId" style="margin-right: 0;"> {{ item.TagName }}</el-checkbox>
+					</el-checkbox-group>
+					<tableNoData :text="$t('Table.prompt_slogan')" v-else />
+				</div>
+				<div class="make-tags-add" v-permission="permissionBtn.semanticPermission.ASR_tagMark_add">
+					<div class="make-tags-add-title">{{ $t('SemanticsManage.ASRpage.add_tag_text') }}</div>
+					<el-form
+						ref="tagsForm" class="tags-form"
+						label-position="top" inline
+						hide-required-asterisk
+						:model="addTagsForm">
+						<el-form-item :rules="{required:true,message:$t('SemanticsManage.ASRpage.tag_name_required'),trigger:'blur'}" prop="TagName">
+							<el-input v-model="addTagsForm.TagName" 
+								:placeholder="$t('SemanticsManage.ASRpage.tag_name_placeholder')" style="width: 260px"></el-input>
+						</el-form-item>
+						<el-form-item prop="MenuId"  :rules="{required:true,message:$t('SemanticsManage.ASRpage.tag_directory_required'),trigger:'change'}">
+							<el-cascader v-model="addTagsForm.MenuId" 
+								:placeholder="$t('SemanticsManage.ASRpage.tag_directory_placeholder')" 
+								ref="makeTagsCascader" id="make-tags-cascader" style="width: 260px"
+								:options="tagCatalogueList" :props="{value:'MenuId',label:'MenuName',children:'Children',checkStrictly:true,emitPath:false}"></el-cascader>
+						</el-form-item>
+						<el-button type="primary" style="width: 100px;" @click="addTag">{{ $t('SemanticsManage.ASRpage.add_tag_text') }}</el-button>
+					</el-form>
+				</div>
+				<div class="dia-bot">
+					<el-button type="primary" plain style="margin-right:20px;min-width:120px ;" @click="cancelHandle">
+						{{ $t('Dialog.cancel_btn') }}
+					</el-button>
+					<el-button type="primary" @click="saveHandle" style="min-width:120px;">
+						{{ $t('Dialog.confirm_btn') }}
+					</el-button>
+				</div>
 			</div>
 			</div>
-		</el-dialog>
+	</el-dialog>
 </template>
 </template>
 
 
 <script>
 <script>
@@ -72,7 +82,7 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
     },
     },
     data() {
     data() {
       return {
       return {
-        diaTitle:'打标签',
+        //diaTitle:'打标签',
         tagSeachWord:"",
         tagSeachWord:"",
         isIndeterminate:false,
         isIndeterminate:false,
         isCheckAll:false,
         isCheckAll:false,
@@ -85,6 +95,11 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
         hasAddTag:false
         hasAddTag:false
       }
       }
     },
     },
+    computed:{
+        diaTitle(){
+            return this.$t('SemanticsManage.ASRpage.tagging_text')
+        },
+    },
     methods: {
     methods: {
       checkAllTags(){
       checkAllTags(){
         this.isIndeterminate=false
         this.isIndeterminate=false
@@ -158,7 +173,7 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
                   TagName:'',
                   TagName:'',
                   MenuId:''
                   MenuId:''
                 }
                 }
-                this.$message.success("新增标签成功")
+                this.$message.success(this.$t('SemanticsManage.ASRpage.addition_tag_successful'))
                 this.$emit("addTagSuccess")
                 this.$emit("addTagSuccess")
               }
               }
             })
             })
@@ -171,7 +186,7 @@ import {asrInterface} from '@/api/modules/semanticsApi.js';
           TagIds:this.formData.tagsArr
           TagIds:this.formData.tagsArr
         }).then(res=>{
         }).then(res=>{
           if(res.Ret == 200){
           if(res.Ret == 200){
-            this.$message.success("打标签成功")
+            this.$message.success(this.$t('SemanticsManage.ASRpage.tagging_successful'))
             let tagsData=this.tagsList.filter(tag => this.formData.tagsArr.includes(tag.TagId))
             let tagsData=this.tagsList.filter(tag => this.formData.tagsArr.includes(tag.TagId))
             this.$emit("makeTagsSuccess",tagsData)
             this.$emit("makeTagsSuccess",tagsData)
             this.$emit("update:diaShow",false)
             this.$emit("update:diaShow",false)