wangfei
2025-09-12 18b5b27959b7868c7cf7e19a7b636ffc1a494e41
新增韩语翻译
13个文件已修改
1个文件已添加
851 ■■■■■ 已修改文件
UI-Project/src/lang/en.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/kr.js 708 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/layout/MainErpView.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/LoginView.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Reportmanage/reportBigFeed.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Reportmanage/reportBigOut.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Reportmanage/reportDownCache.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Reportmanage/reportEdgCache.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/Landingindication.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/permissions.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -410,14 +410,12 @@
    },
    replenish: {
        patchManagement: 'Mesh management',
    },
    rework: {
        reworkManagement: 'Rework management',
        addRework: "Rework added ",
        gridNumberEnter:"Please enter the cell number ",
    },
    role: {
        id: 'ID',
        characterHomepage: 'Character Home',
UI-Project/src/lang/index.js
@@ -2,11 +2,13 @@
import { createI18n}  from 'vue-i18n'
import zh from "./zh"
import py from "./py"
import kr from "./kr"
import en from "./en"
let messages = {
    zh:zh,
    py:py,
    kr:kr,
    en: en
}
UI-Project/src/lang/kr.js
New file
@@ -0,0 +1,708 @@
export  default {
    "northglassMESsystem": "북부유리 MES 시스템",
      login:{
          userErr:'계정을 입력하세요',
          pwErr:'비밀번호를 입력하세요',
          user:'계정',
          password:'비밀번호',
          login:'로그인',
          loginSuccessful:'로그인 성공!',
          register:'등록',
          namea:'이름은 비워둘 수 없습니다.',
          len:'길이는 16자를 초과할 수 없습니다.',
          passnull:'비밀번호는 비워둘 수 없습니다.',
          leng:'비밀번호 길이는 6자 미만이거나 16자를 초과할 수 없습니다.',
          spwn:'확인 비밀번호는 비워둘 수 없습니다.',
          depass:'두 번의 비밀번호가 다릅니다.',
      },
      register:{
          registerSuccessful:'등록 성공',
          newuserregister:'새 사용자 등록',
          name:'이름:',
          inputname:'이름을 입력하세요',
          password:'비밀번호:',
          pwErr:'비밀번호를 입력하세요',
          passwordation:'비밀번호 확인:',
          pwErration:'비밀번호를 확인해 주세요',
          registration:'등록 확인',
          false:'취소',
      },
      main:{
          connectErr:'서버 연결에 문제가 발생했습니다. 잠시 후에 다시 시도해 주세요.',
          titleFirst:"환영합니다 ",
          titleLast:' 북유리 MES 시스템 사용!',
          quit:"탈퇴",
      },
      basicData:{
          Automaticprintingswitch:'자동 인쇄 스위치',
          laserprinting:'표기기 준비 상태:',
          cuttingmachine:'절단기 준비 상태:',
          machine:'상단 기계 연결 상태:',
          machineaa:'상단 기계 수동 상태:',
          selectproject:"프로젝트 선택",
          startloading:'시작하세요',
          stop:'일시 정지',
          yes:'확인',
          change:'전환',
          projectnumber:'공사 번호',
          glasswidth:'원본 넓이',
          glassheight:'원본 고',
          coatingtypes:'막계',
          coatingtypesa:'막계:',
          quantity:'수량',
          quantitya:'수량:',
          thickness:'두께',
          thicknessa:'두께:',
          startstatus:'활성 상태',
          pass:'통과',
          waiting:'기다리는 중',
          up:'상면 중',
          finish:'완료되었습니다',
          project:'공학',
          plselectproject:'프로젝트를 선택하세요',
          confirm:'확인',
          cancel:'취소',
          startfilm:'영화를 시작할까요?',
          whetherpause:'일시 중지 여부?',
          station:'작업대',
          width:'넓은',
          widtha:'넓은:',
          height:'높은',
          heighta:'높은:',
          operate:'작업',
          add:'추가하기',
          delete:'삭제',
          addglass:'원본 추가',
          selectwidth:'너비를 선택하세요',
          selectheight:'높은 것을 선택하세요',
          selectcoatingtypes:'막 시스템을 선택하십시오.',
          selectthickness:'두께를 선택하세요',
          selectquantity:'수량을 입력하세요',
          pause:'두 번째 줄과 네 번째 줄의 높이는 2700보다 커야 저장할 수 있습니다.!',
          pausea:'표시기와 절단기의 준비 상태를 확인해 주세요.!',
          infonull:'공정 번호는 비워 둘 수 없습니다.!',
          updatanull:'해당 작업이 상위 표에 저장되지 않았습니다.!',
          glassnull:'유리 상태를 업데이트하는 중 오류가 발생했습니다.',
          deletemessage:'이 정보를 삭제하시겠습니까??',
          layoutSequence:'번호',
      },
      sorter:{
          gridnumber:'격자 번호',
          glassnumber:'유리 번호',
          width:'넓은',
          height:'높은',
          startstatus:'활성 상태',
          disable:'이미 비활성화됨',
          start:'활성화됨',
          deficiencieste:'보고 누락',
          updown:'인공 하편',
          operate:'작업',
          prompt:'확인 요청',
          information:'이 정보를 누락해야 합니까?',
          infor:'인위적으로 이 정보를 추가해야 합니까?',
          yes:'이다',
          cancel:'취소',
      },
      order:{
          dilapidation:'파손',
          takeaway:'인공적으로 가져가다',
          takeon:'조정 완료',
          takeall:'모두 가져가세요',
      },
      searchOrder:{
        cageTemper: '우리의 난로 수',
        cageArea: '우리 내부 면적',
        totalAreas:'총 면적',
        totalTemper:'총 화로 수',
          deleteTask:'프로젝트 삭제',
          pdeleteTask:'프로젝트를 삭제하시겠습니까?',
          processcardinquiry:"공사 문의",
          searchlayout:'비강화 프로세스 카드 조회',
          fullfurnaces:'가득 찬 화로의 수',
          specifiedproject:'현재 지정된 프로젝트',
          undesignate:'지정 취소',
          allnumber:'총 수량',
          numbercages:'우리 안의 수량',
          numberslots:'차지하는 격자',
          missingquantity:'수량 부족',
          breakquantity:'파손/가져간 수량',
          ceng:'층',
          cageinformation:'리팩트 정보',
          productionqueue:'출력 대기열',
          outputglassID:'출판 유리 ID',
          startposition:'시작 위치',
          targetlocation:'목표 위치',
          trips:'차종',
          number:'번호',
          taskstatus:'작업 상태',
          filmenter:'대기 중입니다.',
          filmwait:'시작 대기',
          infilm:'진입 중',
          endtask:'작업 종료',
          completetask:'작업 완료',
          intoglassid:'진입 유리 ID',
          line:'선로',
          Usage:'사용율',
          free:'빈 공간(격자 수)',
          addcage:'리어 패널 정보 추가',
          glassIDa:'유리 ID:',
          glassID:'유리 ID',
          inglassID:'유리 ID를 입력하세요.',
          pieceingrid:'격자 내의 작은 조각 순서',
          pieceingrida:'격자 내의 작은 조각 순서:',
          inpieceingrid:'셀 내의 작은 조각 순서를 입력하세요.',
          cardnumber:'프로세스 카드 번호',
          cardnumbera:'프로세스 카드 번호:',
          incardnumber:'프로세스 카드 번호를 입력하세요',
          typeglass:'유리 종류',
          typeglassa:'유리 종류:',
          intypeglass:'유리 종류를 입력하세요.',
          width:'넓은',
          widtha:'넓은:',
          inwidth:'너비를 입력하세요',
          height:'높은',
          heighta:'높은:',
          inheight:'높이를 입력하세요',
          coatingtypes:'막계',
          thickness:'두께',
          thicknessa:'두께:',
          inthickness:'두께를 입력하세요',
          layoutID:'강화판 도면 ID',
          layoutIDa:'강화판 도면 ID:',
          inlayoutID:'강화판 이미지 ID를 입력하십시오.',
          picturesequence:'강화판 이미지 시리즈',
          picturesequencea:'강화판 이미지 시리즈:',
          inpicturesequence:'강화판 이미지 시퀀스를 입력하세요.',
          startstatus:'활성 상태',
          startstatusa:'활성 상태:',
          instartstatus:'사용 상태를 입력하세요',
          glassgaps:'유리 간격',
          glassgapsa:'유리 간격:',
          inglassgaps:'유리 간격을 입력하세요.',
          sure:'확인',
          cancel:'취소',
          operate:'작업',
          breakage:'파손',
          delete:'삭제',
          outfilm:'출품작',
          cagetableID:'대리 판롱 표 ID',
          cagenumber:'리판옹호',
          gridnumber:'격자 번호',
          gridnumbera:'격자 번호:',
          grid:'격자 번호를 입력하세요.',
          enable:'활성화됨',
          disable:'이미 비활성화됨',
          remainingwidth:'남은 너비',
          add:'추가하기',
          sheetID:'강화된 작은 조각 정보 표 ID',
          processcards:'프로세스 카드',
          processcardtype:'프로세스 카드 유리 유형',
          acceptshorizontal:'강화유리가 가로로 놓이는 것을 받아들일 수 있습니까',
          xcoordinates:'x좌표',
          ycoordinates:'y 좌표',
          rotationangle:'회전 각도 (시계 반대 방향)',
          state:'상태',
          takeout:'가져가',
          deletemessage:'이 정보를 삭제하시겠습니까?',
          prompt:'확인 요청',
          yes:'이다',
          accept:'수락하다',
          noaccept:'받지 않음',
          filmcomplete:'영상 완성',
          waiting:'기다리는 중',
          broke:'이 정보가 손상되었나요?',
          brokeb:'이 정보를 가져가시겠습니까?',
          outfil:'이 정보가 공개되었는지 여부?',
          inputid:'유리 ID를 입력하세요.',
          search:'검색',
          tabid:'다리편용 상세표 ID',
          tid:'장치 ID',
          tida:'장치 ID:',
          fin:'임무를 완료했습니까?',
          sureadd:'추가 확인',
          sureadda:'확인 추가 하시겠습니까?',
          zailong:'우리 안에서',
          rengongxp:'인공 하편',
          up:'이전 페이지',
          down:'다음 페이지',
          now:'현재 페이지 표시',
          tit:'데이터 조항',
          temperingqueries:'강화 조회',
          processcardqueriesa:'공사 문의',
          specifytempering:'지정된 하나의 화로',
          specifyout:'지정 인공 출품',
          specifyengineerid:'지정 공사',
          projectnumber:'공사 번호',
          layoutnumber:'강화판 도면 번호',
          numberglasses:'유리 개수',
          specifytemperinga:'이 정보에 대해 강화 유리를 지정하시겠습니까?',
          temperedswitch:'강화 스위치',
          dutyinformation:'근무 정보',
          line:'선로',
          process:'공정',
          team:'반',
          basic:'장비',
          makesure:'저장 확인',
          cancel:'취소',
          temperingtotal:'강화로 수:',
          glasstotal:'유리 총수:',
          scheduletime:'조정 시간:'
      },
      workOrder:{
          glassID:'유리 ID',
          height:'높은',
          width:'넓은',
          thickness:'두께',
          coatingtypes:'막계',
          productionsequence:'출품 순서',
          cardnumber:'프로세스 카드 번호',
          operate:'작업',
          messagedamaged:'이 정보가 손상되었나요?',
          prompt:'확인 요청',
          yes:'이다',
          cancel:'취소',
          takemessage:'이 정보를 가져가시겠습니까?',
          breakage:'파손',
          takeout:'가져가',
          glasstype:'유리 종류',
          line:'선로',
          status:'상태',
          time:'시간대',
          cway:'경로를 선택하세요',
          cstate:'상태를 선택하세요',
          edgingone:'면을 갈다',
          edgingtwo:'면 연마 이선',
          nedging:'미가공',
          edging:'연마 중',
          finedging:'이미 테두리가 다듬어졌습니다.',
      },
      processCard:{
          intofurnace:'강화로',
          beforefurnace:'패널 테이블',
          outfurnace:'출품대',
          print:'프린트를 가져가다',
          printing:'인쇄하기',
          projectnumber:'공사 번호를 입력하세요',
          inquire:'조회',
          project:'공사 번호',
          awayprocess:'작업 절차를 가져가다',
          awayequipment:'장비를 가져가다',
          awayteam:'반을 가져가다',
          flowcard:'프로세스 카드',
          layer:'층 번호',
          temperinglayout:'로 번호',
          temperingfeed:'편序',
          width:'넓은',
          height:'높은',
          thickness:'두껍다',
          glasstakeout:'유리 가져가기 목록',
          layoutID:'지도 ID',
          glassID:'유리 ID',
      },
      reportWork:{
          details:'낙하 세부 정보',
          filming:'인공 하편',
          printing:'자동 인쇄',
          cenumber:'층 수',
          artificialorder:'인위적 하안 수',
          processcard:'프린트 프로세스 카드',
          printlabels:'라벨 인쇄',
          information:'낙하 정보',
          cstation:'작업지를 선택해 주세요',
          all:'모두',
          timeperiod:'시간대',
          stationnumber:'작업위치 번호',
          order:'순서',
          filminformation:'인위적 하안 정보',
          glassmation:'인공 하편 현재 유리 정보',
          barcodescanner:'스캔 총 현재 유리 정보',
          lowerbit:'하단위치',
          shelfnumber:'架호',
          cardnumber:'프로세스 카드 번호',
          totalquantity:'총 수량',
          beendropped:'이미 떨어진 수량',
          state:'상태',
          devicenumber:'장비 번호',
          startstatus:'활성 상태',
          enable:'활성화됨',
          unenable:'비활성화됨',
          operate:'작업',
          bindingshelves:'바인딩架',
          clear:'비우기',
          workstation:'호 공위',
          shelfnumbera:'랙 번호:',
          cardnumbera:'공정 카드 번호:',
          incardnumber:'공정 카드 번호 선택 ',
          clearglass:'진열대 유리 청소',
          confirmclear:'프린트된 프로세스 카드와 라벨을 확인한 후 삭제해 주시기 바랍니다.',
          sure:'확인',
          cancel:'취소',
          glassinformation:'유리 정보',
          glassID:'유리 ID',
          coatingtypes:'막계',
          thickness:'두께',
          width:'너비',
          height:'높이',
      },
      productStock:{
          addusers:'사용자 추가',
          username:'사용자 이름',
          usernamea:'사용자 이름:',
          inusername:'사용자 이름을 입력하세요',
          role:'캐릭터',
          rolea:'캐릭터:',
          inrole:'역할 선택',
          test:'테스트',
          admin:'관리자',
          operate:'작업',
          resetpassword:'비밀번호 재설정',
          exit:'편집',
          delete:'삭제',
          prompt:'확인 요청',
          repassword:'사용자 비밀번호를 재설정하시겠습니까??',
          yes:'이다',
          cancel:'취소',
          reusername:'사용자 수정',
          addusername:'사용자 추가',
          password:'비밀번호:',
          sure:'확인',
          inpassword:'비밀번호를 입력하세요',
          deusername:'이 사용자를 삭제하시겠습니까?',
      },
      customer:{
          addmenua:'2단계 메뉴 추가',
          addmenu:'1단계 메뉴 추가',
          firstmenu:'1단계 메뉴 바',
          firstmenuname:'1단계 메뉴 이름:',
          link:'링크',
          inlink:'링크를 입력하세요',
          linka:'링크:',
          sort:'정렬',
          insort:'정렬을 입력하세요',
          sorta:'정렬:',
          operate:'작업',
          exit:'편집',
          delete:'삭제',
          semenu:'2단계 메뉴 바',
          semenuname:'2단계 메뉴 이름:',
          menu:'메뉴 바:',
          inmenu:'메뉴 이름을 입력하세요',
          sure:'확인',
          cancel:'취소',
          exmene:'1단계 메뉴 수정',
          exmenea:'2단계 메뉴 수정',
          yes:'이다',
          demenu:'이 메뉴를 삭제하시겠습니까?',
          prompt:'확인 요청',
      },
      delivery:{
          addrole:'역할 추가',
          editrole:'역할 수정',
          role :'역할',
          rolea :'역할:',
          inrole :'역할 선택 필수',
          operate :'작업',
          edit :'편집',
          delete :'삭제',
          yes:'이다',
          sure :'확인',
          cancel :'취소',
          derole :'이 역할을 삭제하시겠습니까',
          prompt:'확인 요청',
          choice:'메뉴 권한:',
          inchoice:'메뉴 권한을 선택하세요',
      },
      replenish:{
          patchManagement:'패치 관리',
      },
      rework:{
          reworkManagement:'재작업 관리',
          addRework:"재작업 추가 ",
          gridNumberEnter:"격자 번호를 입력하세요. ",
      },
      role:{
          id:'ID',
          characterHomepage:'역할홈페이지',
      },
      user:{
          userId:'사용자 ID',
          userHomepage:'사용자 홈 페이지',
      },
      orderBasicData:{
          order:'주문',
          orderType:'주문 유형',
      },
      machine:{
          basicId:'장비 번호',
          basicName:'장비 이름',
          basicCategory:'해당 공정',
          tempering:'강화',
      },
      report:{
          productionReport:'생산 보고서',
          workInProgressReport:'재공품 보고서',
      },
      productionBasicData:{
          basicDataQuery :'기초 데이터 조회',
      },
      mainIngredient:{
          materialInformation :'자재 정보',
      },
      mainIngredientStock:{
          materialName :'자재 이름',
          createTime :'반납 날짜',
      },
      large:{
          time: '다음 시간',
          number: '주문 번호',
          jobnumber: '보고 공번호',
          productionnumber: '생산 주문 번호',
          cardnumber: '프로세스 카드 번호',
          projectname: '프로젝트 이름',
          batch: '배치',
          detailID: '세부사항 ID',
          building: '동호수',
          serialnumber: '주문 번호',
          productname: '제품 이름',
          serial: '공예 확인 시리얼 번호',
          slicemarker: '조각 표지(위치)',
          numberpatches: '패치 수',
          width: '넓은',
          height: '높은',
          shape: '형태',
          responsibleprocess: '책임 공정',
          process: '이 공정',
          numberfractions: '다음 파손 미보충 수량',
          breakreason: '다음 파괴 원인',
          breaktype: '다음 파괴 유형',
          responsiblepersonnel: '책임자',
          responsiblequipment: '책임 장비',
          responsibleteam: '책임 반',
          area: '다음 파괴 면적',
          inspector: '품질 검사원',
          operate: '작업',
          mes: '자세한 사항',
          projectnumber: '작업 주문 번호',
          brokeno: '보고서가 아직 수정되지 않았습니다.',
          close: '닫기',
          orderId: '주문 ID',
          customerName: '고객 이름',
          project: '프로젝트 이름',
          are: '면적',
          quantity: '수량',
          warehousing: '상태',
          deliveryDate: '배송 시간',
          notstocked: '입고되지 않음',
          inboundstatus: '부분 입고 상태',
          allstatus: '모두 입고 상태',
          completedquantity: '완료 수량',
          scrapquantity: '폐기 수량',
          number: '수량',
          method: '가공 방식',
          innumber: '입력된 수량',
          productstatus: '생산 상태',
          projectnumber: '공사 번호',
          right: '정상',
          stop: '종료',
          inquire: '조회',
          starttime :'시작 시간',
          endtime :'종료 시간',
          loading :'현재 상영 중입니다.:',
      },
      reportmanage:{
          feed: '진행 중',
          out: '출품작',
          straightthrough: '직통',
          complete:'완료되었습니다',
          incomplete:'완성되지 않음',
          outed:'이미 출시됨',
          scan:'스캔하다',
          feeding:'지금 눕는 자세에서 일어나는 중입니다.',
          in:'누워서 일어나다',
          car:'차에서',
          cage:'우리 안에',
          oneline:'일선',
          twoline:'2선',
          id:'번호',
          targetSlot:'목표 격자',
          endSlot:'목표 선반',
          state:'작업 상태',
          width:'넓은',
          height:'높은',
          createTime:'생성 시간',
          totalCounts:'총 영화 수',
          totalAreas:'총 면적',
          totalDamages:'총 파손',
          totalTakes:'항상 가져간다',
          productiontime :'생산 시간',
          starttime :'시작 시간',
          endtime :'종료 시간',
          ctype :'유형을 선택하세요',
          cstate :'상태를 선택하세요',
          cprocess :'공정을 선택하세요',
          all :'모두',
          completed :'완공',
          broke :'파손',
          takeout :'가져가',
          dreportwork :'보고되지 않음',
          pendingwork :'보고 대기',
          reportwork :'보고 완료',
          incise :'절단',
          edging :'모서리 연마',
          steel :'강화',
          inquire :'조회',
          signingwork :'보고 공',
          reporteam :'작업 반 팀',
          reportingequipment :'보고 공장 장비',
          line :'선로',
          process :'공정',
          glassID :'유리 ID',
          projectnumber :'공사 번호',
          layoutID :'강화판 도면 ID',
          productiontime :'생산 시간',
          type :'유형',
          state :'상태',
          processcards :'프로세스 카드',
          number :'번호',
          layer :'층',
          typebreakage :'파손 유형',
          ptypebreakage :' 손상 유형을 선택하세요.',
          causebreakage :'파손 원인',
          pcausebreakage :'파손 원인을 선택하세요.',
          responsibleprocess :'책임 공정',
          responsiblepersonnel :'책임자',
          presponsiblepersonnel :'책임자를 입력하세요',
          responsibleteam :'책임 반',
          presponsibleteam :'책임 반을 선택하세요.',
          responsibleequipment :'책임 장비',
          presponsibleequipment :'책임 장비를 선택하십시오.',
          remark :'비고',
          premark :'메모를 입력하세요',
      },
      film:{
          mes:'원본 필름 저장 세부사항',
          warehousing:'원본 파일 입고',
          pwarehousing:'입고 요청',
          wareout:'원본 필름 출고',
          information:'이 정보를 출고할까요?',
          pwareout:'출고 요청',
          position:'리프팅위치:',
          cposition:'리프팅 위치를 선택하십시오.',
          position1:'리프팅위치1',
          position2:'리프팅위치2',
          addglass:'원본 정보',
          operate: '작업',
          exit:'편집',
          delete:'삭제',
          outbound:'출고',
          deviceid:'장치 ID',
          slot:'격자 번호',
          enablestatea:'태그 활성화',
          disable:'금지',
          start:'활성화',
          startslot:'시작 작업대',
          endslot:'목표 작업대',
          slotid:'격자 ID',
          slot:'격자 번호',
          width:'원본 넓이',
          widtha:'원본 넓이:',
          inwidth:'원본의 너비를 입력하세요',
          height:'원본 고',
          inheight:'원본의 높이를 입력하세요.',
          heighta:'원본 고:',
          thickness:'원본 두께',
          inthickness:'원본 두께를 입력하세요',
          thicknessa:'원본 두께:',
          films:'막계',
          infilms:'막계 입력하세요',
          filmsa:'막계:',
          createtime:'생성 시간',
          remainquantity:'남은 수량',
          thickremainquantity:'원본 남은 수량 (장):',
          inquantity:'수량을 입력하세요',
          quantitya:'수량:',
          enableid:'작업 ID',
          originateslot:'시작 격자',
          endslot:'목표 격자',
          patternquantity:'원본 수량',
          enabletype:'작업 유형',
          enablestate:'작업위치 상태',
          finish:'완료되었습니다',
          unfinish:'완료되지 않음',
          dedelete:'이 내용을 삭제하시겠습니까?',
          dedisable:'이 콘텐츠를 비활성화하시겠습니까?',
          deoutbound:'이 내용이 출고되었나요?',
          selectwarehousing:'리프팅 위치를 선택하십시오.',
          inwarehousing:'리프팅위치:',
          warehousing1:'리프팅위치1',
          warehousing2:'리프팅위치2',
          starttime :'시작 시간',
          endtime :'종료 시간',
          taskstatus :'작업 상태',
          built :'새로 만들기',
          execution :'실행 중',
          finish :'완료',
          tasktype :'작업 유형',
          stocke :'입고',
          outbound :'출고',
          dispatch :'조정',
          inquire :'조회',
          station :'작업대',
      },
      Mounting:{
          previewproject: '미리 보기 프로젝트 선택',
          loadinglinea: '상면선',
          loadingline: '상면선:',
          inloadingline: '윗부분 선을 선택하세요.',
          oneloadingline: '1번 상단 선',
          twoloadingline: '2호선 상행선',
          waiting: '기다리는 중',
          pass: '통과',
          setparameters: '매개변수 설정',
          project: '공사 번호',
          projecta: '공사 번호:',
          width: '원본 넓이',
          height: '원본 고',
          thickness: '원판 두께',
          projectnumber: '공정 원판 시리얼 번호',
          state: '상태',
          createtime: '생성 시간',
          all: '전체 선택',
          removalmethod: '필름 제거 방법을 선택하십시오.',
          removalmethodp: '막 제거 방식',
          removalmethoda: '막 제거 방식:',
          noremoval: '막을 제거하지 않다',
          coarselyground: '거칠게 갈다',
          finegrinding: '정밀 연마',
      },
    hellow: {
        createtask: '작업 생성',
        starttask: '작업 시작',
        pstarttask: '작업을 시작할까요?',
        stoptask: '작업 중지',
        pstoptask: '작업을 중지할까요?',
        currenttask: '현재 작업:',
        claimednumber: '이미 수령한 매칭 수:',
        linenumber: '중공선 들어가는 수량:',
        order: '출품 순서',
        thickness: '두께',
        coatingtypes: '막계',
        height: '길다',
        width: '넓은',
        state: '상태',
        cardnumber: '프로세스 카드 번호',
        cardnumbera: '프로세스 카드 번호:',
        layernumber: '층 번호',
        totalnumber: '총 영화 수',
        pairsnumber: '이미 매칭된 수량',
        missingnumber: '결함 개수',
        operate: '작업',
        claimquest: '임무 받기',
        pclaimquest: '작업을 수령하시겠습니까?',
        missingfilms: '결함 상세',
        forcedfilming: '강제 출판',
        pforcedfilming: '강제로 출품해야 하나요?',
        brokenpieces: '파손된 조각 수',
    }
}
UI-Project/src/lang/zh.js
@@ -420,9 +420,8 @@
      rework:{
          reworkManagement:'返工管理',
          addRework:"返工新增 ",
          gridNumberEnter:"请输入格子号 ",
      },
      role:{
          id:'ID',
          characterHomepage:'角色首页',
@@ -541,9 +540,9 @@
          productiontime :'生产时间',
          starttime :'开始时间',
          endtime :'结束时间',
          ctype :'清选择类型',
          cstate :'清选择状态',
          cprocess :'清选择工序',
          ctype :'请选择类型',
          cstate :'请选择状态',
          cprocess :'请选择工序',
          all :'全部',
          completed :'完工',
          broke :'破损',
UI-Project/src/layout/MainErpView.vue
@@ -31,7 +31,7 @@
}
  function replaceChineseWithEnglish(menuData) {  
      // 定义中俄文对照关系对象
       const translation  = {
    const translation  = {
    '上片机': 'Стол загрузки',
    '上片': 'Верхняя часть',
    '掰片/识别': 'Разлом/идентификация',
@@ -39,6 +39,7 @@
    '磨边前卧式缓存': 'Горизонтальный буфер перед шлифовкой',
    '下片卧式缓存': 'Горизонтальный буфер стекла разгрузки',
    '磨边(冷加工)': 'Шлифовать края (холодная обработка)',
    '磨边(冷加工)': 'Шлифовать края (холодная обработка)',
    '1线磨边(冷加工)': 'Шлифовать края 1 линии (холодная обработка)',
    '2线磨边(冷加工)': 'Шлифовать края 2 линии (холодная обработка)',
    '大理片笼': 'Буферная система',
@@ -54,6 +55,11 @@
    '报工管理': 'Управление отчетностью',
    '仓储中心': 'Складской центр',
    '原片仓储': 'Склад сырья',
    '报表管理': 'Управление отчетами',
    '大理片进片': 'Далианская пленка вступает в производство',
    '大理片出片': 'Дао Ли на диске',
    '磨边卧式理片': 'Шлифовальный станок для горизонтальной обработки плоских деталей',
    '下片卧式理片': 'Нижний горизонтальный резак',
     };  
  menuData.forEach(menu => {  
    menu.menuName = translation[menu.menuName] || menu.menuName;  
@@ -66,7 +72,7 @@
function replaceChineseWithRussian(menuData) {  
      // 定义中英文对照关系对象
       const translation  = {
    const translation  = {
    '上片机': 'Loading Machine',
    '上片': 'Start showing a movie',
    '掰片/识别': 'Breaking /Identification',
@@ -74,6 +80,7 @@
    '磨边前卧式缓存': 'Horizontal buffer before edge grinding',
    '下片卧式缓存': 'Offline horizontal cache',
    '磨边(冷加工)': 'Grinding edge (cold processing)',
    '磨边(冷加工)': 'Grinding edge (cold processing)',
    '1线磨边(冷加工)': '1-line edge grinding (cold processing)',
    '2线磨边(冷加工)': '2-line edge grinding (cold processing)',
    '大理片笼': 'Dali slice cage',
@@ -89,6 +96,52 @@
    '报工管理': 'Job reporting management',
    '仓储中心': 'Storage Center',
    '原片仓储': 'Original film storage',
    '报表管理': 'Report Management',
    '大理片进片': 'Dali film enters the film.',
    '大理片出片': 'Dali film release',
    '磨边卧式理片': 'Edge grinding horizontal sheet cutting',
    '下片卧式理片': 'Lower sheet horizontal cutting',
     };
  menuData.forEach(menu => {
    menu.menuName = translation[menu.menuName] || menu.menuName;
    // if (menu.children) {
      menu.children && menu.children.forEach(submenu => {
        submenu.menuName = translation[submenu.menuName] || submenu.menuName;
      });
    // }
  });
}
function replaceChineseWithKorean(menuData) {
      // 定义中韩文对照关系对象
    const translation  = {
    '上片机': '상면기',
    '上片': '상편',
    '掰片/识别': '조각내기/식별',
    '卧式缓存': '수평 캐시',
    '磨边前卧式缓存': '연마 모서리 전용 수평 캐시',
    '下片卧式缓存': '하단 수평 캐시',
    '磨边(冷加工)': '연마 모서리 (냉간 가공)',
    '磨边(冷加工)': '연마 모서리 (냉간 가공)',
    '1线磨边(冷加工)': '1선 연마(냉간 가공)',
    '2线磨边(冷加工)': '2선 연마(냉간 가공)',
    '大理片笼': '다리편롱',
    '钢化': '강화',
    '钢化前': '강화 전',
    '钢化后': '강화 후',
    '下片台': '하단 플랫폼',
    '系统管理': '시스템 관리',
    '用户管理': '사용자 관리',
    '权限管理': '권한 관리',
    '角色管理': '역할 관리',
    '可视化系统': '시각화 시스템',
    '报工管理': '보고 관리',
    '仓储中心': '창고 센터',
    '原片仓储': '원본 필름 저장',
    '报表管理': '보고서 관리',
    '大理片进片': '다리편 진편',
    '大理片出片': '다리편 출편',
    '磨边卧式理片': '연마 모서리 수평 절단기',
    '下片卧式理片': '하부 수평 이론',
     };  
  menuData.forEach(menu => {  
    menu.menuName = translation[menu.menuName] || menu.menuName;  
@@ -113,6 +166,9 @@
      if (language.value === 'py') {
        replaceChineseWithEnglish(menuList);
      }
      if (language.value === 'kr') {
        replaceChineseWithKorean(menuList);
      }
  } else {
    ElMessage.warning(res.msg)
    router.push('/login')
UI-Project/src/views/LoginView.vue
@@ -132,6 +132,7 @@
          <el-option value="zh"  label="中文" />
          <el-option value="py"  label="Русский язык" />
          <el-option value="en"  label="English" />
          <el-option value="kr"  label="한국어" />
        </el-select>
        <el-form @submit.native.prevent
                 ref="ruleFormRef"
UI-Project/src/views/Reportmanage/reportBigFeed.vue
@@ -5,9 +5,9 @@
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
        value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
        :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="请输入格子号" />
      <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="请输入宽" />
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="请输入高" />
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" :placeholder="$t('rework.gridNumberEnter')"/>
      <el-input v-model="report.width" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inwidth')"/>
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inheight')"/>
      <!-- <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
        <el-option :label="$t('reportmanage.all')" value="0"></el-option>
        <el-option :label="$t('reportmanage.go')" value="1"></el-option>
UI-Project/src/views/Reportmanage/reportBigOut.vue
@@ -5,9 +5,9 @@
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
        value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
        :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="请输入格子号" />
      <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="请输入宽" />
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="请输入高" />
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" :placeholder="$t('rework.gridNumberEnter')"/>
      <el-input v-model="report.width" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inwidth')"/>
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inheight')" />
      <!-- <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
        <el-option :label="$t('reportmanage.all')" value="0"></el-option>
        <el-option :label="$t('reportmanage.go')" value="1"></el-option>
UI-Project/src/views/Reportmanage/reportDownCache.vue
@@ -5,9 +5,9 @@
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
        value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
        :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="请输入格子号" />
      <!-- <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="请输入宽" />
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="请输入高" /> -->
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" :placeholder="$t('rework.gridNumberEnter')"/>
      <!-- <el-input v-model="report.width" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inwidth')"/>
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inheight')"/> -->
      <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
        <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
        <el-option :label="$t('reportmanage.incomplete')" value="0"></el-option>
@@ -27,7 +27,7 @@
      <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire')
      }}</el-button>
    </div>
    <el-card style="flex: 1;margin-left: 10px;" v-loading="loading">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading">
      <!-- <div style="margin-bottom: 20px">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="3">
UI-Project/src/views/Reportmanage/reportEdgCache.vue
@@ -5,9 +5,9 @@
      <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
        value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
        :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="请输入格子号" />
      <!-- <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="请输入宽" />
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="请输入高" /> -->
      <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" :placeholder="$t('rework.gridNumberEnter')"/>
      <!-- <el-input v-model="report.width" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inwidth')"/>
      <el-input v-model="report.height" style="margin-left: 15px;width: 150px" :placeholder="$t('searchOrder.inwidth')"/> -->
      <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
        <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
        <el-option :label="$t('reportmanage.incomplete')" value="0"></el-option>
@@ -27,7 +27,7 @@
      <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire')
      }}</el-button>
    </div>
    <el-card style="flex: 1;margin-left: 10px;" v-loading="loading">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading">
      <!-- <div style="margin-bottom: 20px">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="3">
UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -138,8 +138,13 @@
    });
const showCustomAlert = (downGlassInfoList) => {
  let tableContent = '<table border="1" style="border-collapse: collapse; width: 100%;">';
  tableContent += '<tr><th style="background-color: #f2f2f2;">玻璃ID</th><th style="background-color: #f2f2f2;">膜系</th><th style="background-color: #f2f2f2;">厚度</th><th style="background-color: #f2f2f2;">宽度</th><th style="background-color: #f2f2f2;">高度</th></tr>';
tableContent += `<tr>
    <th>${t('workOrder.glassID')}</th>
    <th>${t('workOrder.coatingtypes')}</th>
    <th>${t('workOrder.thickness')}</th>
    <th>${t('reportWork.width')}</th>
    <th>${t('reportWork.height')}</th>
  </tr>`;
  downGlassInfoList.forEach(info => {
    tableContent += `<tr>
      <td>${info.glassId}</td>
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -154,10 +154,16 @@
    closeWebSocket(socket);
    }
    });
const showCustomAlert = (downGlassInfoList) => {
  let tableContent = '<table border="1" style="border-collapse: collapse; width: 100%;">';
  tableContent += '<tr><th style="background-color: #f2f2f2;">玻璃ID</th><th style="background-color: #f2f2f2;">膜系</th><th style="background-color: #f2f2f2;">厚度</th><th style="background-color: #f2f2f2;">宽度</th><th style="background-color: #f2f2f2;">高度</th></tr>';
  tableContent += `<tr>
    <th>${t('workOrder.glassID')}</th>
    <th>${t('workOrder.coatingtypes')}</th>
    <th>${t('workOrder.thickness')}</th>
    <th>${t('reportWork.width')}</th>
    <th>${t('reportWork.height')}</th>
  </tr>`;
  downGlassInfoList.forEach(info => {
    tableContent += `<tr>
      <td>${info.glassId}</td>
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -482,12 +482,12 @@
            <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="150" />
            <el-table-column prop="totalQuantity" align="center" :label="$t('reportWork.totalquantity')"
              min-width="120" />
            <el-table-column prop="racksNumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" />
            <el-table-column prop="racksNumber" align="center" :label="$t('reportWork.beendropped')" min-width="130" />
            <el-table-column prop="layer" align="center" :label="$t('reportWork.cenumber')" min-width="120" />
            <el-table-column prop="otherNumber" align="center" :label="$t('reportWork.artificialorder')" min-width="120" />
            <!-- <el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" /> -->
            <el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="120" />
            <el-table-column align="center" :label="$t('reportWork.startstatus')" min-width="80" prop="enableState">
            <el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="110" />
            <el-table-column align="center" :label="$t('reportWork.startstatus')" min-width="90" prop="enableState">
              <template #default="scope">
                <el-tag :type="getTagType(scope.row.enableState)" @click="toggleStatus(scope.row)">
                  {{ scope.row.enableState === 1 ? $t('reportWork.enable') : $t('reportWork.unenable') }}
@@ -523,13 +523,13 @@
            <el-option label="7" value="7"></el-option>
          </el-select>
 
          <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable
          <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable style="margin-left: 20px;"
            @input="handleInputChangea($event, row.id)">
            <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" />
          </el-select>
 
          <span class="demonstration">{{ $t('reportWork.timeperiod') }}</span>
          <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" :start-placeholder="$t('reportmanage.starttime')"
          <span class="demonstration" style="margin-left: 20px;">{{ $t('reportWork.timeperiod') }}</span>
          <el-date-picker v-model="timeRange" type="datetimerange" range-separator="至" :start-placeholder="$t('reportmanage.starttime')" style="margin-left: 20px;"
            value-format="YYYY-MM-DD hh:mm:ss" :end-placeholder="$t('reportmanage.endtime')">
          </el-date-picker>
 
@@ -537,11 +537,11 @@
            $t('reportmanage.inquire')
          }}
          </el-button>
          <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="downGlass"
          <el-table height="600px" ref="table" @selection-change="handleSelectionChange" :data="downGlass" style="margin-top: 10px;"
            :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
            <el-table-column prop="workStationId" align="center" :label="$t('reportWork.stationnumber')" min-width="80" />
            <el-table-column prop="engineerId" align="center" :label="$t('basicData.projectnumber')" min-width="80" />
            <el-table-column prop="flowCardId" align="center" :label="$t('workOrder.cardnumber')" min-width="80" />
            <el-table-column prop="flowCardId" align="center" :label="$t('workOrder.cardnumber')" min-width="90" />
            <el-table-column prop="layer" align="center" :label="$t('searchOrder.ceng')" min-width="120" />
            <el-table-column prop="sequence" align="center" :label="$t('reportWork.order')" min-width="150" />
            <el-table-column prop="width" align="center" :label="$t('basicData.width')" min-width="120" />
@@ -551,7 +551,7 @@
            <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120" />
          </el-table>
        </el-dialog>
        <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('searchOrder.filminformation')">
        <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('reportWork.filminformation')">
          <div style="display:flex;justify-content: space-around;">
            <el-card
              style="display: flex; justify-content: center; align-items: center; width:800px; height: 800px;position: relative;">
UI-Project/src/views/User/permissions.vue
@@ -293,7 +293,7 @@
          <el-table-column prop="menuName" :label="$t('customer.firstmenu')" align="center" min-width="120"  />  
                  <el-table-column prop="url" :label="$t('customer.link')" align="center" min-width="200"/>  
          <el-table-column prop="listSort" align="center" :label="$t('customer.sort')" min-width="180" />
          <el-table-column fixed="right" :label="$t('customer.operate')" align="center" width="200">
          <el-table-column fixed="right" :label="$t('customer.operate')" align="center" width="220">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">{{ $t('customer.addmenua') }}</el-button>
              <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('customer.exit') }}</el-button>