Bladeren bron

提交project文件夹下的的list文件翻译

Lijy 10 maanden geleden
bovenliggende
commit
8e52940e23

+ 53 - 1
fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json

@@ -1833,5 +1833,57 @@
   "yiYue": "January",
   "zhou": "week",
   "jiHuaJieShuRiQi": "Plan End Date",
-  "shiJiYuGuGongShi": "Actual/estimated working hours:"
+  "shiJiYuGuGongShi": "Actual/estimated working hours:",
+  "ciCaoZuoJiangYongJiuShanChuGaiWenJianShiFouJiXu": "This operation will permanently delete the file. Do you want to continue?",
+  "congGaiRiQiQiTianBaoGongShiKaiShiZhanYongYuSuanRenTianGongShi": "Starting from this date, the reported working hours will occupy the budgeted person day working hours",
+  "feiBiTian": "Not mandatory",
+  "feiXiangMuGongShi": "Non project working hours",
+  "fenZuFuZeRen": "Group leader:",
+  "fenZuGongShiBuZuShi": "When group working hours are insufficient",
+  "fenZuGongShiShengYuTiXingBaiFenBi": "Group Work Remaining Reminder Percentage",
+  "fenZuMingCheng": "Group name:",
+  "fuZhiDaoQiTaXiangMu": "Copy to other projects",
+  "genJuXiTongJiChuSheZhiMeiRiZhengChangGongZuoShiChangJiSuan_1RenTianWeiYiGeMeiRiZhengChangGongZuoShiChang": "According to the basic system settings, the daily normal working hours are calculated, and 1 person day is a daily normal working hour",
+  "gongShiLeiXing": "Work hour type",
+  "gongShiXiTongChuangJianDeXiangMuBiTian": "Items created by the working hours system must be filled in",
+  "gongShiXiTongHeWaiBuTongBuDeXiangMuDuBiTian": "Both the work hour system and external synchronization projects are mandatory",
+  "gongZuoNeiRong": "job content",
+  "gongZuoZhiZe": "operating duty",
+  "guanBiChengGong": "Closed successfully",
+  "guanKongKaiShiRiQi": "Control start date",
+  "jinZhiTianBao": "Prohibit reporting",
+  "kaiQiChengGong": "Successfully opened",
+  "keYiTianBaoJinTiXing": "Can be filled out, only reminder",
+  "piLiangSheZhiFenZuFuZeRen": "Batch setting of group leaders",
+  "piLiangSheZhiRenWuFenZuFuZeRen": "Batch set task group leader",
+  "piLiangZengJiaRenWuFenZu": "Batch adding task groups",
+  "qingTianXieFenZuMingCheng": "Please fill in the group name",
+  "qingTianXieGongZuoNeiRong": "Please fill in the job description",
+  "qingXuanZeChaoSongRen": "Please select a CC recipient",
+  "qingXuanZeFenZuFuZeRen": "Please select the group leader",
+  "qingXuanZeJpgHuoJpegWenJian": "Please select a. jpg or. jpeg file",
+  "qingXuanZeSuoShuBuMen": "Please select the department you belong to",
+  "queRenTongBuXiangMuShuJu": "Confirm synchronizing project data?",
+  "renTianYuGuGongShi": "Man day (estimated working hours:",
+  "riBaoChaoSongRen": "Daily copy recipient",
+  "shengYuYuGuGongShi": "Remaining estimated working hours",
+  "tianJiaYiHang": "Add a row",
+  "weiTongBuXiangMu": "Unsynchronized items",
+  "xiaZaiDuoXiangMuRenWuMoBan": "Download multi project task templates",
+  "xiangMuDaoChuZhongQingShaoHou": "Project export in progress, please wait",
+  "xiangMuFuWuTongBu": "Project service synchronization",
+  "xiangMuGongShi": "Project working hours",
+  "xiangMuGongShiBuZuShi": "When project hours are insufficient",
+  "xiangMuGongShiShengYuTiXingBaiFenBi": "Remaining reminder percentage of project hours",
+  "xiangMuRenTian": "Project person day",
+  "xiangMuShenHeRenShenHe": "Project Reviewer Review",
+  "xiangMuSuoShuBuFuZeRenShenHe": "Reviewed by the BU responsible person for the project",
+  "xiangMuTongBuChengGong": "Project synchronization successful",
+  "xiangMuYuGuGongShiPeiZhi": "Project estimated working hours configuration",
+  "xuanZeYaoFuZhiDaoDeMuBiaoXiangMu": "Select the target project to copy to",
+  "yiTongBuXiangMu": "Synchronized project",
+  "yuGuGongShiBuNengWei_0": "Estimated working hours cannot be 0",
+  "yuGuGongShiShiFouBiTian": "Is estimated working hours mandatory",
+  "zhengZaiTongBuZhongQingNaiXinDengDai": "Syncing in progress, please be patient.",
+  "zhiNengFenGongSheZhi": "Functional division of labor setting"
 }

+ 53 - 1
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -1833,5 +1833,57 @@
   "nian": "年",
   "anRenYuanChaKan": "按人员查看",
   "shiJiYuGuGongShi": "实际/预估工时:",
-  "jiHuaJieShuRiQi": "计划结束日期"
+  "jiHuaJieShuRiQi": "计划结束日期",
+  "shengYuYuGuGongShi": "剩余预估工时",
+  "piLiangZengJiaRenWuFenZu": "批量增加任务分组",
+  "piLiangSheZhiFenZuFuZeRen": "批量设置分组负责人",
+  "riBaoChaoSongRen": "日报抄送人",
+  "qingXuanZeChaoSongRen": "请选择抄送人",
+  "xiangMuRenTian": "项目人天",
+  "renTianYuGuGongShi": "人天(预估工时:",
+  "genJuXiTongJiChuSheZhiMeiRiZhengChangGongZuoShiChangJiSuan_1RenTianWeiYiGeMeiRiZhengChangGongZuoShiChang": "根据系统基础设置每日正常工作时长计算,1人天为一个每日正常工作时长",
+  "guanKongKaiShiRiQi": "管控开始日期",
+  "congGaiRiQiQiTianBaoGongShiKaiShiZhanYongYuSuanRenTianGongShi": "从该日期起,填报工时开始占用预算人天工时",
+  "fuZhiDaoQiTaXiangMu": "复制到其他项目",
+  "xuanZeYaoFuZhiDaoDeMuBiaoXiangMu": "选择要复制到的目标项目",
+  "xiangMuYuGuGongShiPeiZhi": "项目预估工时配置",
+  "yuGuGongShiShiFouBiTian": "预估工时是否必填",
+  "feiBiTian": "非必填",
+  "gongShiXiTongChuangJianDeXiangMuBiTian": "工时系统创建的项目必填",
+  "gongShiXiTongHeWaiBuTongBuDeXiangMuDuBiTian": "工时系统和外部同步的项目都必填",
+  "xiangMuGongShiShengYuTiXingBaiFenBi": "项目工时剩余提醒百分比",
+  "xiangMuGongShiBuZuShi": "项目工时不足时",
+  "jinZhiTianBao": "禁止填报",
+  "keYiTianBaoJinTiXing": "可以填报,仅提醒",
+  "fenZuGongShiShengYuTiXingBaiFenBi": "分组工时剩余提醒百分比",
+  "fenZuGongShiBuZuShi": "分组工时不足时",
+  "xiangMuShenHeRenShenHe": "项目审核人审核",
+  "xiangMuSuoShuBuFuZeRenShenHe": "项目所属BU负责人审核",
+  "zhiNengFenGongSheZhi": "职能分工设置",
+  "gongShiLeiXing": "工时类型",
+  "gongZuoZhiZe": "工作职责",
+  "gongZuoNeiRong": "工作内容",
+  "tianJiaYiHang": "添加一行",
+  "piLiangSheZhiRenWuFenZuFuZeRen": "批量设置任务分组负责人",
+  "fenZuMingCheng": "分组名称:",
+  "fenZuFuZeRen": "分组负责人:",
+  "xiangMuFuWuTongBu": "项目服务同步",
+  "yiTongBuXiangMu": "已同步项目",
+  "weiTongBuXiangMu": "未同步项目",
+  "xiaZaiDuoXiangMuRenWuMoBan": "下载多项目任务模板",
+  "qingXuanZeSuoShuBuMen": "请选择所属部门",
+  "xiangMuGongShi": "项目工时",
+  "feiXiangMuGongShi": "非项目工时",
+  "qingXuanZeJpgHuoJpegWenJian": "请选择.jpg或.jpeg文件",
+  "qingTianXieFenZuMingCheng": "请填写分组名称",
+  "qingXuanZeFenZuFuZeRen": "请选择分组负责人",
+  "xiangMuDaoChuZhongQingShaoHou": "项目导出中、请稍后...",
+  "queRenTongBuXiangMuShuJu": "确认同步项目数据?",
+  "zhengZaiTongBuZhongQingNaiXinDengDai": "正在同步中,请耐心等待。",
+  "xiangMuTongBuChengGong": "项目同步成功",
+  "yuGuGongShiBuNengWei_0": "预估工时不能为0",
+  "kaiQiChengGong": "开启成功",
+  "guanBiChengGong": "关闭成功",
+  "ciCaoZuoJiangYongJiuShanChuGaiWenJianShiFouJiXu": "此操作将永久删除该文件, 是否继续?",
+  "qingTianXieGongZuoNeiRong": "请填写工作内容"
 }

+ 121 - 123
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -117,7 +117,7 @@
                 <br v-if="user.companyId == 936">
                 <!-- 时间段筛选 -->
                 <el-form-item>
-                    <span style="margin-left:15px;margin-right:5px;color:#606266;">时间段</span>
+                    <span style="margin-left:15px;margin-right:5px;color:#606266;">{{ $t('message.period') }}</span>
                     <el-date-picker v-model="createDate" type="daterange" :range-separator="$t('other.to')" :start-placeholder="$t('time.startDate')" :end-placeholder="$t('time.endDate')" @change="manageSelect()" value-format="yyyy-MM-dd" :placeholder="$t('optiondate')" size="small" clearable style="width:290px;margin-left:5px"></el-date-picker>
                 </el-form-item>
                 <!-- 项目经理筛选 -->
@@ -315,13 +315,13 @@
                 </template>
             </el-table-column>
             <!-- 合同金额 -->
-            <el-table-column prop="contractAmount" :label="'合同金额'"  width="200" v-if="user.company.packageProject==1" align="right">
+            <el-table-column prop="contractAmount" :label="$t('contractamount')"  width="200" v-if="user.company.packageProject==1" align="right">
                 <template slot-scope="scope" >
                     <span>¥{{Number(scope.row.contractAmount).toFixed(2)}}</span>
                 </template>
             </el-table-column>
             <!-- 日报审核人 -->
-            <el-table-column prop="projectAuditorName" :label="'日报审核人'" sortable="custom" min-width="150" v-if="user.company.companyName=='成都明夷电子科技有限公司'">
+            <el-table-column prop="projectAuditorName" :label="$t('newspaperauditor')" sortable="custom" min-width="150" v-if="user.company.companyName=='成都明夷电子科技有限公司'">
                 <template slot-scope="scope">
                     <el-link type="primary" :underline="false" @click="showUser(scope.row.projectAuditorId)">
                             {{scope.row.projectAuditorName}}
@@ -360,12 +360,12 @@
                     {{scope.row.progress==null?"-":scope.row.progress}}%
                 </template>
             </el-table-column>
-            <el-table-column prop="manDay" :label="'预估工时'" min-width="150"   v-if="user.timeType.projectManDay == 1">
+            <el-table-column prop="manDay" :label="$t('yuGuGongShi')" min-width="150"   v-if="user.timeType.projectManDay == 1">
                 <template slot-scope="scope">
-                    {{scope.row.manDay==null?"":scope.row.manDay}}<span v-if="scope.row.manDay">人天({{scope.row.estimatedWorkTime}}h)</span>
+                    {{scope.row.manDay==null?"":scope.row.manDay}}<span v-if="scope.row.manDay">{{ $t('renTian') }}({{scope.row.estimatedWorkTime}}h)</span>
                 </template>
             </el-table-column>
-            <el-table-column prop="residueEstimatedWorkTime" :label="'剩余预估工时'" min-width="120"   v-if="user.timeType.projectManDay == 1">
+            <el-table-column prop="residueEstimatedWorkTime" :label="$t('shengYuYuGuGongShi')" min-width="120"   v-if="user.timeType.projectManDay == 1">
                 <template slot-scope="scope">
                     {{scope.row.residueEstimatedWorkTime==null?"":scope.row.residueEstimatedWorkTime}}<span v-if="scope.row.residueEstimatedWorkTime">h</span>
                 </template>
@@ -395,10 +395,10 @@
                 <el-button size="small" type="primary" @click="batchSetWudulistBtn2(false)">{{ $t('pi-liang-tian-jia') }} {{user.timeType.customDegreeName}}</el-button>
             </template>
             <template v-if="user.company.packageProject && (showColumnWidth != '0' || permissions.projectManagement)">
-                <el-button size="small" type="primary" @click="addTaskGroup()" >{{'批量增加任务分组'}}</el-button>
+                <el-button size="small" type="primary" @click="addTaskGroup()" >{{ $t('piLiangZengJiaRenWuFenZu') }}</el-button>
             </template>
             <template v-if="user.company.packageProject && (showColumnWidth != '0' || permissions.projectManagement)">
-                <el-button size="small" type="primary" @click="setGroupIncharger()" >{{'批量设置分组负责人'}}</el-button>
+                <el-button size="small" type="primary" @click="setGroupIncharger()" >{{ $t('piLiangSheZhiFenZuFuZeRen') }}</el-button>
             </template>
             <template v-if="user.company.packageProject && (showColumnWidth != '0' || permissions.projectManagement)">
                 <el-button size="small" type="primary" @click="addGroupPerson()" :loading="addGroupPersonBtnLoading">{{ $t('groupparticipantsinbatches') }}</el-button>
@@ -406,7 +406,7 @@
             <template v-if="(showColumnWidth != '0' || permissions.projectManagement)">
                 <el-button size="small" type="primary" @click="addProPreson()">{{ $t('projectparticipantsinbatches') }}</el-button>
                 <el-button size="small" type="primary" v-if="permissions.projectManagement" @click="batchIncharger()">{{ $t('projectmanagersinbatches') }}</el-button>
-                <el-button size="small" type="primary" v-if="user.roleName='超级管理员'" @click="batchDelete()" :loading="isDeleting">批量删除</el-button>
+                <el-button size="small" type="primary" v-if="user.roleName=($t('role.superAdministrator'))" @click="batchDelete()" :loading="isDeleting">{{ $t('Batchdelete') }}</el-button>
             </template>
             
             <el-pagination :key="projectListPageComponentKey"
@@ -550,8 +550,8 @@
                         </el-form-item>
                     </span>
                     
-                    <el-form-item v-if="user.timeType.reportCc == 1 && (user.company.nonProjectSimple == 0 || (user.company.nonProjectSimple == 1 && addForm.isPublic == 0))" label="日报抄送人" >
-                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="addForm.ccUserIds" multiple="true" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" filterable placeholder="请选择抄送人" style="width:100%;" >
+                    <el-form-item v-if="user.timeType.reportCc == 1 && (user.company.nonProjectSimple == 0 || (user.company.nonProjectSimple == 1 && addForm.isPublic == 0))" :label="$t('riBaoChaoSongRen')" >
+                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="addForm.ccUserIds" multiple="true" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" filterable :placeholder="$t('qingXuanZeChaoSongRen')" style="width:100%;" >
                             <el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id"></el-option>
                         </el-select>
                         <selectCat v-if="user.userNameNeedTranslate == '1'" :size="'medium'" :tile="true" :widthStr="'800'" :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" :subjectId="addForm.ccUserIds" :subject="participator" :clearable="false" :distinction="'10'"  :multiSelect="true" @selectCal="selectCal"></selectCat>
@@ -602,27 +602,25 @@
                             :options="buOption" :props="{ checkStrictly: true, expandTrigger: 'hover' }" clearable v-show="user.userNameNeedTranslate != 1"></el-cascader>
                         <vueCascader :size="'small'" :subjectId="addForm.bu" :widthStr="'200'" :clearable="true" :subject="buOption" :radios="true" :distinction="'32'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1"></vueCascader>
                     </el-form-item>
-
                     <!-- 增加项目人天字段 绎维固定字段 -->
                     <el-form-item  v-if="user.timeType.projectManDay == 1 && (user.company.nonProjectSimple == 0 || (user.company.nonProjectSimple == 1 && addForm.isPublic == 0))">
-                        <template slot="label"><span v-if="manDaySetting.projectManDayFillMode == 2 || (manDaySetting.projectManDayFillMode == 1 && addForm.fromOutside == 0)" style="padding:5px;color:red;">*</span>项目人天</template>
+                        <template slot="label"><span v-if="manDaySetting.projectManDayFillMode == 2 || (manDaySetting.projectManDayFillMode == 1 && addForm.fromOutside == 0)" style="padding:5px;color:red;">*</span>{{ $t('xiangMuRenTian') }}</template>
                         <el-input v-model.number="addForm.manDay" :placeholder="$t('peaseenterthe')" @input="jisuanEstimatedWorkTime(addForm.manDay)"  style="width: 100px"></el-input>
-                        <span style="margin-left:10px;position:absolute;">人天(预估工时:<el-input size="small" v-model.number="addForm.estimatedWorkTime" :placeholder="$t('peaseenterthe')" @input="jisuanManDay(addForm.estimatedWorkTime)"  style="width: 100px"></el-input>h)</span>
-                        <el-tooltip effect="dark" :content="$t('根据系统基础设置每日正常工作时长计算,1人天为一个每日正常工作时长')" placement="top-start" style="margin-left:180px">
+                        <span style="margin-left:10px;position:absolute;">{{ $t('renTianYuGuGongShi') }}<el-input size="small" v-model.number="addForm.estimatedWorkTime" :placeholder="$t('peaseenterthe')" @input="jisuanManDay(addForm.estimatedWorkTime)"  style="width: 100px"></el-input>h)</span>
+                        <el-tooltip effect="dark" :content="$t('genJuXiTongJiChuSheZhiMeiRiZhengChangGongZuoShiChangJiSuan_1RenTianWeiYiGeMeiRiZhengChangGongZuoShiChang')" placement="top-start" style="margin-left:180px">
                                         <i class="el-icon-question" style="color:#606266"></i>
                         </el-tooltip>
-                        <span style="margin-left:63px;margin-right:10px;" v-if="user.companyId != 936" >{{'管控开始日期'}}</span>
+                        <span style="margin-left:63px;margin-right:10px;" v-if="user.companyId != 936" >{{ $t('guanKongKaiShiRiQi') }}</span>
                         <el-date-picker v-model="addForm.manDayStartDate"  v-if="user.companyId != 936"
                         :editable="false" style="width:20%;" 
                         format="yyyy-MM-dd" 
                         value-format="yyyy-MM-dd"
                         :clearable="false" type="date" 
                         :placeholder="$t('optiondate')"></el-date-picker>
-                        <el-tooltip effect="dark" :content="$t('从该日期起,填报工时开始占用预算人天工时')" placement="top-start" style="margin-left:10px"  v-if="user.companyId != 936">
+                        <el-tooltip effect="dark" :content="$t('congGaiRiQiQiTianBaoGongShiKaiShiZhanYongYuSuanRenTianGongShi')" placement="top-start" style="margin-left:10px"  v-if="user.companyId != 936">
                                         <i class="el-icon-question" style="color:#606266"></i>
                         </el-tooltip>
                     </el-form-item>
-
                     <el-form-item :label="$t('projectoutput')" prop="outputValue"  v-if="user.timeType.outputValueStatus == 1">
                         <el-input id="outputValue" v-model="addForm.outputValue" style="width:32%;" :disabled="canOnlyModParticipator"
                         placeholder="" clearable  @keyup.native="restrictNumber('outputValue')">
@@ -672,7 +670,7 @@
                     <div style="margin-top: 20px" v-if="dataList.length > 0 && user.timeType.projectCustom">
                         <el-form-item v-for="(item, index) in dataList" :key="item.id" :label="item.customName">
                             <div v-if="item.customType == 0">
-                                <el-input v-model="item.value" clearable placeholder="请输入内容" @input="ipts(item.value, index)"></el-input>
+                                <el-input v-model="item.value" clearable :placeholder="$t('pleaseentercontent')" @input="ipts(item.value, index)"></el-input>
                             </div>
                             <div v-if="item.customType == 1">
                                 <el-upload
@@ -703,7 +701,7 @@
                                     </el-upload>
                             </div>
                             <div v-if="item.customType == 2">
-                                <el-date-picker v-model="item.value" type="date" placeholder="请选择日期"  value-format="yyyy-MM-dd"></el-date-picker>
+                                <el-date-picker v-model="item.value" type="date" :placeholder="$t('pleaseselectadate')"  value-format="yyyy-MM-dd"></el-date-picker>
                             </div>
                         </el-form-item>
                     </div>
@@ -874,13 +872,13 @@
 
             </el-table>
             <div slot="footer" class="dialog-footer">
-                <el-button type="default" :disabled="subProjectList.length == 0" @click="forSubProjectlist = list.filter(a=>a.id != currentProject.id);copySubPListVisible = true;" style="align:left;">复制到其他项目</el-button>
+                <el-button type="default" :disabled="subProjectList.length == 0" @click="forSubProjectlist = list.filter(a=>a.id != currentProject.id);copySubPListVisible = true;" style="align:left;">{{ $t('fuZhiDaoQiTaXiangMu') }}</el-button>
                 <el-button type="primary" @click="subProjectVisible = false" >{{ $t('Shutdown') }}</el-button>
                 <el-button type="primary" @click="addNewSubProject()" >{{ $t('addsubitems') }}</el-button>
             </div>
         </el-dialog>
         <!--选择项目弹出框-->
-        <el-dialog title="选择要复制到的目标项目" v-if="copySubPListVisible" :visible.sync="copySubPListVisible" :close-on-click-modal="false" customClass="customWidth" width="700px">
+        <el-dialog :title="$t('xuanZeYaoFuZhiDaoDeMuBiaoXiangMu')" v-if="copySubPListVisible" :visible.sync="copySubPListVisible" :close-on-click-modal="false" customClass="customWidth" width="700px">
             <el-table ref="projectForSubCopy" border @cell-mouse-enter="hoverCall" @cell-mouse-leave="handCall" :cell-class-name="tableCellClassName" :data="forSubProjectlist" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;" @selection-change="checkedProlistForSub" @sort-change="tableSort">
                 <el-table-column type="selection" width="60" >
                 </el-table-column>
@@ -1055,46 +1053,46 @@
         </el-dialog>
 
         
-        <el-dialog title="项目预估工时配置" show-header="false" v-if="projectManDaySettingDialog" :visible.sync="projectManDaySettingDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
+        <el-dialog :title="$t('xiangMuYuGuGongShiPeiZhi')" show-header="false" v-if="projectManDaySettingDialog" :visible.sync="projectManDaySettingDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
             <el-form label-width="200px" :form="manDaySetting">
-                <el-form-item :label="'预估工时是否必填'"  >
+                <el-form-item :label="$t('yuGuGongShiShiFouBiTian')"  >
                     <el-select v-model="manDaySetting.projectManDayFillMode" :placeholder="$t('defaultText.pleaseChoose')"  >
-                        <el-option label="非必填" :value="0"></el-option>
-                        <el-option label="工时系统创建的项目必填" :value="1"></el-option>
-                        <el-option label="工时系统和外部同步的项目都必填" :value="2"></el-option>
+                        <el-option :label="$t('feiBiTian')" :value="0"></el-option>
+                        <el-option :label="$t('gongShiXiTongChuangJianDeXiangMuBiTian')" :value="1"></el-option>
+                        <el-option :label="$t('gongShiXiTongHeWaiBuTongBuDeXiangMuDuBiTian')" :value="2"></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item :label="'项目工时剩余提醒百分比'"  >
+                <el-form-item :label="$t('xiangMuGongShiShengYuTiXingBaiFenBi')"  >
                     <el-input v-model="manDaySetting.projectWarningPercent" type="number" style="width:200px;">
                     </el-input>%
                 </el-form-item>
-                <el-form-item :label="'项目工时不足时'"  >
+                <el-form-item :label="$t('xiangMuGongShiBuZuShi')"  >
                     <el-select v-model="manDaySetting.projectFronzeOnLack" :placeholder="$t('defaultText.pleaseChoose')"  >
-                        <el-option label="禁止填报" :value="1"></el-option>
-                        <el-option label="可以填报,仅提醒" :value="0"></el-option>
+                        <el-option :label="$t('jinZhiTianBao')" :value="1"></el-option>
+                        <el-option :label="$t('keYiTianBaoJinTiXing')" :value="0"></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item :label="'分组工时剩余提醒百分比'"  v-if="user.company.packageProject == 1">
+                <el-form-item :label="$t('fenZuGongShiShengYuTiXingBaiFenBi')"  v-if="user.company.packageProject == 1">
                     <el-input v-model="manDaySetting.groupWarningPercent" type="number" style="width:200px;">
                     </el-input>%
                 </el-form-item>
-                <el-form-item :label="'分组工时不足时'"  v-if="user.company.packageProject == 1" >
+                <el-form-item :label="$t('fenZuGongShiBuZuShi')"  v-if="user.company.packageProject == 1" >
                     <el-select v-model="manDaySetting.groupFronzeOnLack" :placeholder="$t('defaultText.pleaseChoose')"  >
-                        <el-option label="禁止填报" :value="1"></el-option>
-                        <el-option label="可以填报,仅提醒" :value="0"></el-option>
+                        <el-option :label="$t('jinZhiTianBao')" :value="1"></el-option>
+                        <el-option :label="$t('keYiTianBaoJinTiXing')" :value="0"></el-option>
                     </el-select>
                 </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button type="default" @click="projectManDaySettingDialog = false" >{{ $t('Shutdown') }}</el-button>
-                <el-button type="primary" @click="saveProjectManDaySetting()" >保存</el-button>
+                <el-button type="primary" @click="saveProjectManDaySetting()" >{{ $t('save') }}</el-button>
             </div>
         </el-dialog>
 
         <!-- 导出任务分组 -->
-        <el-dialog :title="'导出任务分组'" show-header="false" v-if="groupTaskDialog" :visible.sync="groupTaskDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
+        <el-dialog :title="$t('exportingTaskGroups')" show-header="false" v-if="groupTaskDialog" :visible.sync="groupTaskDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
             <el-form>
-                <el-form-item :label="'自主项目类别'">
+                <el-form-item :label="$t('IndependentProject')">
                     <el-select v-model="projectCategorySubId" :placeholder="$t('defaultText.pleaseChoose')" clearable >
                         <el-option v-for="item in projectCategorySubList" :key="item.value" :label="item.label" :value="item.value"></el-option>
                     </el-select>
@@ -1102,7 +1100,7 @@
             </el-form>
             <div slot="footer" class="dialog-footer">
                 <el-button type="primary" @click="groupTaskDialog = false" >{{ $t('Shutdown') }}</el-button>
-                <el-button type="primary" @click="exportProjectGroup" >{{ '导出' }}</el-button>
+                <el-button type="primary" @click="exportProjectGroup" >{{ $t('export.export') }}</el-button>
             </div>
         </el-dialog>
 
@@ -1139,9 +1137,9 @@
                 <!-- <el-form-item :label="$t('mainProjectName')" prop="name"> -->
                 <el-form-item :label="$t('AuditProcess')" prop="name">
                     <template>
-                    <el-checkbox v-model="addClf.proInchargerAudit" >项目审核人审核</el-checkbox>
+                    <el-checkbox v-model="addClf.proInchargerAudit" >{{ $t('xiangMuShenHeRenShenHe') }}</el-checkbox>
                     <div style="width: 120px ; text-align: center;"><i class="el-icon-bottom"></i></div>
-                    <el-checkbox v-model="addClf.proBuAudit" >项目所属BU负责人审核</el-checkbox>
+                    <el-checkbox v-model="addClf.proBuAudit" >{{ $t('xiangMuSuoShuBuFuZeRenShenHe') }}</el-checkbox>
                     </template>
                 </el-form-item>
             </el-form>
@@ -1216,7 +1214,7 @@
         <el-dialog :title="$t('selectingParticipants')"  :visible.sync="chooseParticipVisible" :close-on-click-modal="false" customClass="customWidth" width="500px">
             <!-- <el-input style="width:100%" v-model="filterName" placeholder="请输入姓名搜索" @change="findUserInTree"></el-input> -->
             <div v-if="user.userNameNeedTranslate == '1'">
-                <el-input placeholder="请输入内容" v-model.trim="filterText" class="input-with-select" @keyup.enter.native="echartDepartment()">
+                <el-input :placeholder="$t('pleaseentercontent')" v-model.trim="filterText" class="input-with-select" @keyup.enter.native="echartDepartment()">
                     <el-button slot="append" icon="el-icon-search" @click="echartDepartment()"></el-button>
                 </el-input>
             </div>
@@ -1439,14 +1437,14 @@
         </el-dialog>
 
         <!-- 职能分工设置 -->
-        <el-dialog :title="'职能分工设置'" v-if="functionalDivisionDig" :visible.sync="functionalDivisionDig" width="80%">
+        <el-dialog :title="$t('zhiNengFenGongSheZhi')" v-if="functionalDivisionDig" :visible.sync="functionalDivisionDig" width="80%">
             <el-table border :data="functionalList" style="width: 100%">
-                <el-table-column prop="id" label="序号" width="50" type="index" align="center"
+                <el-table-column prop="id" :label="$t('headerTop.serialNumber')" width="50" type="index" align="center"
                                     :index="index=>index+1"/>
-                <el-table-column prop="timeType" label="工时类型" align="center">
+                <el-table-column prop="timeType" :label="$t('gongShiLeiXing')" align="center">
                     <template slot-scope="scope">
                         <span v-show="!scope.row.editFlag">{{scope.row.timeType}}</span>
-                        <el-select v-show="scope.row.editFlag" v-model="scope.row.timeType" placeholder="请选择">
+                        <el-select v-show="scope.row.editFlag" v-model="scope.row.timeType" :placeholder="$t('defaultText.pleaseChoose')">
                             <el-option
                             v-for="item in timeTypeList"
                             :key="item.value"
@@ -1456,10 +1454,10 @@
                         </el-select>
                     </template>
                 </el-table-column>
-                <el-table-column prop="roleId" label="角色" align="center">
+                <el-table-column prop="roleId" :label="$t('jiao-se')" align="center">
                     <template  slot-scope="scope">
                         <span v-show="!scope.row.editFlag">{{scope.row.role}}</span>
-                        <el-select v-show="scope.row.editFlag" v-model="scope.row.role" placeholder="请选择">
+                        <el-select v-show="scope.row.editFlag" v-model="scope.row.role" :placeholder="$t('defaultText.pleaseChoose')">
                             <el-option
                             v-for="item in roleList"
                             :key="item.value"
@@ -1469,7 +1467,7 @@
                         </el-select>
                     </template>
                 </el-table-column>
-                <el-table-column prop="jobRespon" label="工作职责" align="center">
+                <el-table-column prop="jobRespon" :label="$t('gongZuoZhiZe')" align="center">
                     <template  slot-scope="scope">
                         <span v-show="!scope.row.editFlag">{{scope.row.jobRespon}}</span>
                         <el-input v-show="scope.row.editFlag"
@@ -1477,56 +1475,56 @@
                         </el-input>
                     </template>
                 </el-table-column>
-                <el-table-column prop="workContext" label="工作内容" align="center">
+                <el-table-column prop="workContext" :label="$t('gongZuoNeiRong')" align="center">
                     <template slot-scope="scope">
-                        <a v-if="scope.row.id" @click="workContextDig=true,getWorkContextList(scope.row.id)" style="color:#409EFF">{{'数据维护'}}</a>
-                        <a v-else>{{'数据维护'}}</a>
+                        <a v-if="scope.row.id" @click="workContextDig=true,getWorkContextList(scope.row.id)" style="color:#409EFF">{{ $t('datamaintenance') }}</a>
+                        <a v-else>{{ $t('datamaintenance') }}</a>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" width="120" align="center">
+                <el-table-column :label="$t('operation')" width="120" align="center">
                     <template  slot-scope="scope">
                         <div style="display: flex;">
                             <el-button size="small"
                                         type="text"
                                         icon="CircleCheck"
                                         v-show="scope.row.editFlag"
-                                        @click="functionalSubmit(scope.row)">确定
+                                        @click="functionalSubmit(scope.row)">{{ $t('btn.determine') }}
                             </el-button>
                             <el-button size="small"
                                         type="text"
                                         icon="CircleClose"
                                         v-show="scope.row.editFlag"
-                                        @click="functionalCancel(scope.row,scope.$index,'functional')">取消
+                                        @click="functionalCancel(scope.row,scope.$index,'functional')">{{ $t('btn.cancel') }}
                             </el-button>
                             <el-button size="small"
                                         icon="Edit"
                                         type="text"
                                         v-show="!scope.row.editFlag"
-                                        @click="functionalEditVersion(scope.row)"> 编辑
+                                        @click="functionalEditVersion(scope.row)"> {{ $t('bian-ji') }}
                             </el-button>
                             <el-button size="small"
                                         icon="Delete"
                                         type="text"
                                         v-show="!scope.row.editFlag"
-                                        @click="functionalDelVersion(scope.row,scope.$index)">删除
+                                        @click="functionalDelVersion(scope.row,scope.$index)">{{ $t('btn.delete') }}
                             </el-button>
                         </div>
                     </template>
                 </el-table-column>
             </el-table>
             <div slot="footer" class="dialog-footer">
-                <el-button @click="addFunctional('functional')" type="primary">添加一行</el-button>
+                <el-button @click="addFunctional('functional')" type="primary">{{ $t('tianJiaYiHang') }}</el-button>
                 <el-button  @click="functionalDivisionDig = false" >{{ $t('btn.cancel') }}</el-button>
                 <el-button type="primary" @click="submitFunctional()">{{ $t('btn.determine') }}</el-button>
             </div>
         </el-dialog>
 
         <!-- 工作内容dig -->
-        <el-dialog :title="'工作内容'" v-if="workContextDig" :visible.sync="workContextDig" width="40%">
+        <el-dialog :title="$t('gongZuoNeiRong')" v-if="workContextDig" :visible.sync="workContextDig" width="40%">
             <el-table border :data="workContextList" style="width: 100%">
-                <el-table-column prop="id" label="序号" width="50" type="index" align="center"
+                <el-table-column prop="id" :label="$t('headerTop.serialNumber')" width="50" type="index" align="center"
                                     :index="index=>index+1"/>
-                <el-table-column prop="workContext" label="工作内容" align="center">
+                <el-table-column prop="workContext" :label="$t('gongZuoNeiRong')" align="center">
                     <template  slot-scope="scope">
                         <span v-show="!scope.row.editFlag">{{scope.row.workContext}}</span>
                         <el-input v-show="scope.row.editFlag"
@@ -1534,39 +1532,39 @@
                         </el-input>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" width="120" align="center">
+                <el-table-column :label="$t('operation')" width="120" align="center">
                     <template  slot-scope="scope">
                         <div style="display: flex;">
                             <el-button size="small"
                                         type="text"
                                         icon="CircleCheck"
                                         v-show="scope.row.editFlag"
-                                        @click="functionalSubmit(scope.row)">确定
+                                        @click="functionalSubmit(scope.row)">{{ $t('btn.determine') }}
                             </el-button>
                             <el-button size="small"
                                         type="text"
                                         icon="CircleClose"
                                         v-show="scope.row.editFlag"
-                                        @click="functionalCancel(scope.row,scope.$index,'workContext')">取消
+                                        @click="functionalCancel(scope.row,scope.$index,'workContext')">{{ $t('btn.cancel') }}
                             </el-button>
                             <el-button size="small"
                                         icon="Edit"
                                         type="text"
                                         v-show="!scope.row.editFlag"
-                                        @click="functionalEditVersion(scope.row)"> 编辑
+                                        @click="functionalEditVersion(scope.row)"> {{ $t('bian-ji') }}
                             </el-button>
                             <el-button size="small"
                                         icon="Delete"
                                         type="text"
                                         v-show="!scope.row.editFlag"
-                                        @click="workContextDelVersion(scope.row,scope.$index)">删除
+                                        @click="workContextDelVersion(scope.row,scope.$index)">{{ $t('btn.delete') }}
                             </el-button>
                         </div>
                     </template>
                 </el-table-column>
             </el-table>
             <div slot="footer" class="dialog-footer">
-                <el-button @click="addFunctional('workContext')" type="primary">添加一行</el-button>
+                <el-button @click="addFunctional('workContext')" type="primary">{{ $t('tianJiaYiHang') }}</el-button>
                 <el-button  @click="workContextDig = false" >{{ $t('btn.cancel') }}</el-button>
                 <el-button type="primary" @click="submitWorkContext()">{{ $t('btn.determine') }}</el-button>
             </div>
@@ -1584,10 +1582,10 @@
             </div>
         </el-dialog> -->
         <!-- 批量设置任务分组负责人 -->
-        <el-dialog :title="'批量设置任务分组负责人'" v-if="addTaskGroupInchargerDig" :visible.sync="addTaskGroupInchargerDig" width="40%">
+        <el-dialog :title="$t('piLiangSheZhiRenWuFenZuFuZeRen')" v-if="addTaskGroupInchargerDig" :visible.sync="addTaskGroupInchargerDig" width="40%">
             <el-form label-width="20%">
-                <el-form-item :label="'分组名称:'">
-                     <el-select  v-model="hasSetGroupName" placeholder="请选择">
+                <el-form-item :label="$t('fenZuMingCheng')">
+                     <el-select  v-model="hasSetGroupName" :placeholder="$t('defaultText.pleaseChoose')">
                             <el-option
                             v-for="item in hasSetGroupList"
                             :key="item.value"
@@ -1596,7 +1594,7 @@
                             </el-option>
                         </el-select>
                 </el-form-item>
-                <el-form-item :label="'分组负责人:'">
+                <el-form-item :label="$t('fenZuFuZeRen')">
                     <el-select v-if="user.userNameNeedTranslate != '1'" v-model="hasSetGroupInchargerId" :placeholder="$t('defaultText.pleaseChoose')" style="width: 80%" filterable clearable>
                         <el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
                             <span style="float: left">{{item.name}}</span>
@@ -1612,17 +1610,17 @@
             </div>
         </el-dialog>
         <!-- 项目同步弹窗 -->
-        <el-dialog title="项目服务同步" :visible.sync="syncProjectDig" width="600px" :before-close="handleClose">
+        <el-dialog :title="$t('xiangMuFuWuTongBu')" :visible.sync="syncProjectDig" width="600px" :before-close="handleClose">
             <el-form label-width="0">
                 <div class="synchronization">
                     <div class="synchronizationLabel">
-                        <el-select v-model="synchronizationVal" placeholder="请选择" @change="synchronizationChange()">
-                            <el-option label="已同步项目" value="0"></el-option>
-                            <el-option label="未同步项目" value="1"></el-option>
+                        <el-select v-model="synchronizationVal" :placeholder="$t('defaultText.pleaseChoose')" @change="synchronizationChange()">
+                            <el-option :label="$t('yiTongBuXiangMu')" value="0"></el-option>
+                            <el-option :label="$t('weiTongBuXiangMu')" value="1"></el-option>
                         </el-select>
                     </div>
                     <el-form-item style="flex: 1" v-if="synchronizationVal == 0">
-                        <el-select filterable collapse-tags clearable  v-model="hasChooseProjectCode" multiple placeholder="请选择" style="width:100%">
+                        <el-select filterable collapse-tags clearable  v-model="hasChooseProjectCode" multiple :placeholder="$t('defaultText.pleaseChoose')" style="width:100%">
                             <el-option v-for="item in allProjectList" :key="item.id" :label="item.projectName  + '\u3000' + item.projectCode" :value="item.projectCode">
                                 <span style="float: right; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
                                 <span style="float: left;">{{ item.projectName }}</span>
@@ -1630,20 +1628,20 @@
                         </el-select>
                     </el-form-item>
                     <el-form-item style="flex: 1" v-if="synchronizationVal == 1">
-                        <el-input placeholder="请输入项目编号" v-model="synchronizationInputVal" clearable></el-input>
+                        <el-input :placeholder="$t('Pleaseentertheprojectnumber')" v-model="synchronizationInputVal" clearable></el-input>
                     </el-form-item>
                 </div>
             </el-form>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="syncProjectDig = false">取 消</el-button>
-                <el-button type="primary" @click="syncProjectForThird(hasChooseProjectCode)">开始同步</el-button>
+                <el-button @click="syncProjectDig = false">{{ $t('quXiao') }}</el-button>
+                <el-button type="primary" @click="syncProjectForThird(hasChooseProjectCode)">{{ $t('startsynchronization') }}</el-button>
             </span>
         </el-dialog>
         <!--导入数据,下载模板 -->
         <el-dialog :title="$t('wdorkplanimport')" v-if="importTaskDialog" :visible.sync="importTaskDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
             <el-form ref="form4" >
                 <el-form-item :label="'1. '+$t('qing-xian-xia-zai-mo-ban-bing-tian-xie-hou-shang-chuan')" >
-                    <el-link type="primary" :underline="false" href="./upload/多项目任务导入模板.xlsx" download="多项目任务模板.xlsx'">下载多项目任务模板</el-link>
+                    <el-link type="primary" :underline="false" href="./upload/多项目任务导入模板.xlsx" download="多项目任务模板.xlsx'">{{ $t('xiaZaiDuoXiangMuRenWuMoBan') }}</el-link>
                 </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
@@ -1701,7 +1699,7 @@
                 <el-form label-width="20%">
                     <el-form-item :label="$t('mo-ban-ming-cheng')"><el-input v-model="setTemplateData.name" style="width:80%" clearable></el-input></el-form-item>
                     <el-form-item label=""><el-checkbox v-model="setTemplateData.creWithPro">{{ $t('suixiangmuzidongchuangjian') }}</el-checkbox></el-form-item>
-                    <el-form-item v-for="item,index in setTemplateData.stagesList" :key="item.id" :label="index == 0 ? '任务列表' : ''">
+                    <el-form-item v-for="item,index in setTemplateData.stagesList" :key="item.id" :label="index == 0 ? $t('tasklist') : ''">
                         <el-input v-model="item.stagesName"  style="width:70%" clearable></el-input>
                         <el-link :underline="false" type="primary" style="color:#aaa;" @click="deleteStages(item,index)"  v-if="index != 0">
                             <i class="el-icon-delete"></i>
@@ -1874,7 +1872,7 @@ a {
                     code: [{ required: true, message: this.$t('qing-shu-ru-bian-hao'), trigger: "blur" }],
                     projectStageName: [{ required: true, message: this.$t('pleaseentername'), trigger: "blur" }],
                     projectLevelName: [{ required: true, message: this.$t('pleaseentername'), trigger: "blur" }],
-                    deptId: [{ required: true, message: '请选择所属部门', trigger: "blur" }]
+                    deptId: [{ required: true, message: this.$t('qingXuanZeSuoShuBuMen'), trigger: "blur" }]
                 },
                 ause: [],
                 auseList: [],
@@ -1969,19 +1967,19 @@ a {
                 projectCategorySubList:[
                     {
                         value: 1,
-                        label: '纯软件项目'
+                        label: this.$t('softwareproject')
                     },
                     {
                         value: 2,
-                        label: '纯硬件项目'
+                        label: this.$t('hardwareproject')
                     },
                     {
                         value: 3,
-                        label: '集成项目'
+                        label: this.$t('integrationproject')
                     },
                     {
                         value: 4,
-                        label: '服务项目'
+                        label: this.$t('fuWuXiangMu')
                     }
                 ],
                 projectCategorySubId:'',
@@ -1994,11 +1992,11 @@ a {
                 timeTypeList:[
                     {
                         value: 1,
-                        label: '项目工时'
+                        label: this.$t('xiangMuGongShi')
                     },
                     {
                         value: 2,
-                        label: '非项目工时'
+                        label: this.$t('feiXiangMuGongShi')
                     },
                 ],
                 roleList:[
@@ -2088,7 +2086,7 @@ a {
         },
         methods: {
             showAllparticipator(item) {
-                this.participatorVisibleTitle = item.projectName + ' -- 参与人'
+                this.participatorVisibleTitle = item.projectName + ' -- '+this.$t('participantin')
                 this.participatorValue = item.participator || []
                 this.participatorVisible = true
             },
@@ -2195,7 +2193,7 @@ a {
                 res => {
                     if (res.code == "ok") {
                         this.$message({
-                            message: '操作成功',
+                            message: this.$t('operationissuccessful'),
                             type: "success"
                         });
                         this.copySubPListVisible = false;
@@ -2481,7 +2479,7 @@ a {
                 let format = str[str.length - 1];
                 if (format != "jpg" && format != "jpeg" && format != "png") {
                     this.$message({
-                        message: "请选择.jpg或.jpeg文件",
+                        message: this.$t('qingXuanZeJpgHuoJpegWenJian'),
                         type: "error"
                     });
                 } else {
@@ -2493,7 +2491,7 @@ a {
                             this.dataList[indexLi].valuelist.push(res.data)
                             this.$forceUpdate()
                             this.$message({
-                                message: "上传成功",
+                                message: this.$t('uploadedsuccessfully'),
                                 type: "success"
                             });
                         } else {
@@ -2787,7 +2785,7 @@ a {
                         res => {
                             if (res.code == "ok") {
                                 this.$message({
-                                message: "操作成功",
+                                message: this.$t('operationissuccessful'),
                                 type: "success"
                                 });
                             } else {
@@ -2817,7 +2815,7 @@ a {
             batchAddTaskGroup(){
                 if(!this.batchAddTaskGroupName){
                     this.$message({
-                        message: '请填写分组名称',
+                        message: this.$t('qingTianXieFenZuMingCheng'),
                         type: 'warning'
                     })
                     return
@@ -2832,7 +2830,7 @@ a {
                 },res=>{
                     if(res.code == 'ok'){
                         this.$message({
-                            message: '操作成功',
+                            message: this.$t('operationissuccessful'),
                             type: 'success'
                         })
                         this.addTaskGroupDig=false
@@ -2882,14 +2880,14 @@ a {
             batchSetGroupIncharger(){
                  if(!this.hasSetGroupName){
                     this.$message({
-                        message: '请选择任务分组',
+                        message: this.$t('defaultText.pleaseSelectaTaskGroup'),
                         type: 'warning'
                     })
                     return
                 }
                 if(!this.hasSetGroupInchargerId){
                     this.$message({
-                        message: '请选择分组负责人',
+                        message: this.$t('qingXuanZeFenZuFuZeRen'),
                         type: 'warning'
                     })
                     return
@@ -2905,7 +2903,7 @@ a {
                 },res=>{
                     if(res.code == 'ok'){
                         this.$message({
-                            message: '操作成功',
+                            message: this.$t('operationissuccessful'),
                             type: 'success'
                         })
                         this.addTaskGroupInchargerDig=false
@@ -3279,8 +3277,8 @@ a {
 
                 this.exportDisabled = true
                 this.exportNotification = this.$notify({
-                    title: '导出项目',
-                    message: '项目导出中、请稍后...',
+                    title: this.$t('exportProject'),
+                    message: this.$t('xiangMuDaoChuZhongQingShaoHou'),
                     duration: 0,
                     showClose: false
                 });
@@ -3632,7 +3630,7 @@ a {
                 res => {
                     if (res.code == "ok") {
                         this.$message({
-                        message: "操作成功",
+                        message: this.$t('operationissuccessful'),
                         type: "success"
                         });
                         this.addTaskGroupDig = false;
@@ -4345,14 +4343,14 @@ a {
                         }
                     }
                 }
-                this.$confirm('确认同步项目数据?','提示',{
-                    confirmButtonText: '确定',
-                    cancelButtonText: '取消',
+                this.$confirm(this.$t('queRenTongBuXiangMuShuJu'),this.$t('other.prompts'),{
+                    confirmButtonText: this.$t('btn.determine'),
+                    cancelButtonText: this.$t('btn.cancel'),
                     type: 'info'
                 }).then(()=>{
                     const loading = this.$loading({
                         lock: true,
-                        text: '正在同步中,请耐心等待。',
+                        text: this.$t('zhengZaiTongBuZhongQingNaiXinDengDai'),
                         spinner: 'el-icon-loading',
                         background: 'rgba(0, 0, 0, 0.7)'
                     });
@@ -4362,7 +4360,7 @@ a {
                         console.log(res, 'res')
                         if (res.code == "ok") {
                             this.$message({
-                                message: '项目同步成功',
+                                message: this.$t('xiangMuTongBuChengGong'),
                                 type: "success"
                             });
                             this.syncProjectDig=false
@@ -4977,7 +4975,7 @@ a {
                     console.log('点击来编辑执行')
                     const usersJson = JSON.parse(sessionStorage.getItem("user"))
                     if(usersJson.companyId == '936') {
-                        if(usersJson.roleName != '超级管理员' && usersJson.roleName != '系统管理员') {
+                        if(usersJson.roleName != this.$t('role.superAdministrator') && usersJson.roleName != this.$t('role.systemAdministrator')) {
                             this.isShowProjectName = true
                         } else {
                             this.isShowProjectName = false
@@ -5494,7 +5492,7 @@ a {
                             if (this.manDaySetting.projectManDayFillMode == 2 || (this.manDaySetting.projectManDayFillMode == 1 && this.addForm.fromOutside == 0)) {
                                 if (!this.addForm.manDay) {
                                     this.$message({
-                                        message: '预估工时不能为0',
+                                        message: this.$t('yuGuGongShiBuNengWei_0'),
                                         type: "error"
                                     });
                                     this.addLoading = false;
@@ -5754,7 +5752,7 @@ a {
                     this.listLoading = false;
                     if (res.code == "ok") {
                         this.$message({
-                            message: subProject.status?"开启成功":"关闭成功",
+                            message: subProject.status?this.$t('kaiQiChengGong'):this.$t('guanBiChengGong'),
                             type: "success"
                         });
                         this.subProject(this.currentProject);
@@ -5809,7 +5807,7 @@ a {
                 if(type=="functional"){
                     this.functionalList.push({
                         "id":null,
-                        'timeType': '项目工时',
+                        'timeType': this.$t('xiangMuGongShi'),
                         'role': 'CRC&LM',
                         'jobRespon': '',
                         "companyId":this.user.companyId,
@@ -5865,9 +5863,9 @@ a {
                     this.functionalList.splice(index, 1)
                     return
                 }
-                this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
-                    confirmButtonText: '确定',
-                    cancelButtonText: '取消',
+                this.$confirm(this.$t('ciCaoZuoJiangYongJiuShanChuGaiWenJianShiFouJiXu'), this.$t('other.prompts'), {
+                    confirmButtonText: this.$t('btn.determine'),
+                    cancelButtonText: this.$t('btn.cancel'),
                     type: 'warning'
                 }).then(() => {
                     this.functionalList.splice(index, 1)
@@ -5877,7 +5875,7 @@ a {
                     res => {
                         if (res.code == "ok") {
                             this.$message({
-                                message: '删除成功',
+                                message: this.$t('message.successfullyDeleted'),
                                 type: "success"
                             });
                         } else {
@@ -5897,7 +5895,7 @@ a {
                 }).catch(() => {
                     this.$message({
                         type: 'info',
-                        message: '已取消删除'
+                        message: this.$t('thedeletionhasbeencancelled')
                     });          
                 });
                 
@@ -5908,9 +5906,9 @@ a {
                     this.workContextList.splice(index, 1)
                     return
                 }
-                this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
-                    confirmButtonText: '确定',
-                    cancelButtonText: '取消',
+                this.$confirm(this.$t('ciCaoZuoJiangYongJiuShanChuGaiWenJianShiFouJiXu'), this.$t('other.prompts'), {
+                    confirmButtonText: this.$t('btn.determine'),
+                    cancelButtonText: this.$t('btn.cancel'),
                     type: 'warning'
                 }).then(() => {
                     this.workContextList.splice(index, 1)
@@ -5920,7 +5918,7 @@ a {
                     res => {
                         if (res.code == "ok") {
                             this.$message({
-                                message: '删除成功',
+                                message: this.$t('message.successfullyDeleted'),
                                 type: "success"
                             });
                         } else {
@@ -5940,7 +5938,7 @@ a {
                 }).catch(() => {
                     this.$message({
                         type: 'info',
-                        message: '已取消删除'
+                        message: this.$t('thedeletionhasbeencancelled')
                     });          
                 });
                 
@@ -5953,7 +5951,7 @@ a {
                 res => {
                     if (res.code == "ok") {
                         this.$message({
-                            message: '操作成功',
+                            message: this.$t('operationissuccessful'),
                             type: "success"
                         });
                         this.getFunctionalList()
@@ -5977,7 +5975,7 @@ a {
                 for(var index in this.workContextList){
                     if(!this.workContextList[index].workContext){
                         this.$message({
-                            message: "请填写工作内容",
+                            message: this.$t('qingTianXieGongZuoNeiRong'),
                             type: "error"
                         });
                         return
@@ -5989,7 +5987,7 @@ a {
                 res => {
                     if (res.code == "ok") {
                         this.$message({
-                            message: '操作成功',
+                            message: this.$t('operationissuccessful'),
                             type: "success"
                         });
                         // this.workContextDig = false