1import{a as Ho,_ as Go}from"./CkSgdRRr.js";import{d as Fs,c as f,o,a as c,b as a,t as n,u as s,aC as Wo,F as re,r as _e,n as Ue,A as ja,ah as Ko,j as Ls,k as Us,m as v,p as V,g as I,w as x,ao as Oa,O as Yo,f as d,e as G,v as qa,h as p,z as F,_ as Na,bZ as as,aA as Ds,c4 as ye,q as Qo,E as Xo,x as Zo,R as en,C as tn,ap as sn,cf as an,U as ln,T as Pa,P as he,aN as on,X as nn,ce as rn,a1 as ss,as as dn}from"./CSsAU7J6.js";import{u as un,_ as cn}from"./DkNe-RFh.js";import{_ as mn}from"./CSrPHcfr.js";import{_ as Ja}from"./CwiCLIcF.js";import{_ as Ba}from"./Cpazo6rb.js";import{_ as vn}from"./D46zRz-u.js";import{_ as pn}from"./BGsPHNc5.js";import{_ as fn}from"./CnMrmu9g.js";import{_ as gn}from"./CyQXnIxO.js";import{_ as hn}from"./BgsiEXec.js";import{u as _n,a as bn,b as yn,l as xn,_ as wn,V as kn}from"./Cq-rEr1y.js";import{_ as $n}from"./BLPWkV2D.js";import{_ as Tn}from"./DETUIHPo.js";import{_ as Ha}from"./CfYX-cc8.js";import{_ as Cn}from"./Bp3n537g.js";import{f as za}from"./Cd2vtFEo.js";import{S as be,a as Sn,u as En}from"./DwmIxvcc.js";import{t as Vn}from"./BJGFwfbY.js";import{u as Fn,A as Ln}from"./DVkfbQAH.js";import{s as Ga}from"./DSI3boDG.js";import{u as Un}from"./eJ1cHBTw.js";import{a as Dn,g as Mn,b as In}from"./CvQ9t2MM.js";import{P as On}from"./DnGD2tpj.js";import{g as Pn,q as Vs,i as Aa,p as zn}from"./CEtD6R6G.js";import{p as An}from"./Mo83PSAu.js";import"./D6U4YJ1E.js";import"./CwgCytK_.js";import"./DmdqpNCo.js";import"./BiOqWjSw.js";import"./Cc0ybuQN.js";import"./Dkjviub8.js";import"./CMp75YbY.js";import"./W8PNURYH.js";import"./BYfVDCEi.js";import"./D4Rre_em.js";import"./OZX6qmbF.js";import"./CdeN5H2a.js";import"./B63eIvcP.js";import"./D4k11_F0.js";import"./D7RMP1eQ.js";import"./eyezr-Ob.js";import"./D8_Iji58.js";import"./w94Y9x_v.js";import"./CGnZIDGD.js";import"./B2XtBgcC.js";import"./CbYe_r0c.js";const Rn=["aria-label"],jn={class:"sr-only"},qn={class:"viewport h-9 overflow-hidden","aria-hidden":"true"},Nn={class:"flex items-center self-end rounded-[0.4rem] bg-elevated p-[0.2rem]"},Jn=["aria-pressed","onClick"],Bn=Fs({__name:"ModeRoll",props:{modelValue:{},items:{}},emits:["update:modelValue"],setup(A,{emit:i}){const C=A,M=i,_=f(()=>{const E=C.items.findIndex(L=>L.value===C.modelValue);return E===-1?0:E}),w=f(()=>C.items[_.value]);return(E,L)=>(o(),c("div",{class:"flex items-center gap-3",role:"group","aria-label":E.$t("translate.modes.label")},[a("span",jn,n(E.$t("translate.modes.current",{mode:s(w)?.label})),1),a("div",qn,[a("div",{class:"reel",style:Wo({transform:`translateY(calc(${-s(_)} * var(--roll-h)))`})},[(o(!0),c(re,null,_e(A.items,b=>(o(),c("span",{key:b.value,class:"h-9 flex items-center text-3xl font-bold tracking-tight whitespace-nowrap"},n(b.label),1))),128))],4)]),a("div",Nn,[(o(!0),c(re,null,_e(A.items,b=>(o(),c("button",{key:b.value,type:"button",class:Ue(["text-[0.7rem]/[1rem] font-medium px-2 py-[0.2rem] rounded-[0.3rem] transition-colors",b.value===A.modelValue?"bg-primary/10 text-primary":"text-muted hover:text-default"]),"aria-pressed":b.value===A.modelValue,onClick:j=>M("update:modelValue",b.value)},n(b.label),11,Jn))),128))])],8,Rn))}}),Hn=Object.assign(ja(Bn,[["__scopeId","data-v-f2d60b1d"]]),{__name:"TranslateModeRoll"}),Gn={class:"space-y-4"},Wn={key:0,class:"flex items-center gap-3 py-6 justify-center"},Kn={class:"text-sm text-muted"},Yn={key:1,class:"flex items-start gap-2 rounded-lg bg-warning/10 p-3 text-sm text-warning"},Qn={key:2,class:"flex items-start gap-2 rounded-lg bg-elevated/50 p-3 text-sm text-muted"},Xn={class:"rounded-lg bg-elevated/50 divide-y divide-default/50"},Zn={class:"flex items-center justify-between px-4 py-2.5 text-sm"},ei={class:"text-muted"},ti={class:"flex items-center justify-between px-4 py-2.5 text-sm"},si={class:"text-muted"},ai={key:0,class:"flex items-center justify-between px-4 py-2.5 text-sm font-semibold"},li={class:"flex items-center gap-1"},oi={class:"p-3 max-w-xs text-xs font-normal text-muted"},ni={key:0,class:"flex items-start gap-2 rounded-lg bg-elevated/50 p-3 text-sm"},ii={class:"font-medium"},ri={class:"text-xs text-muted mt-0.5"},di={class:"flex justify-end gap-2"},ui=Fs({__name:"PostEditingModal",props:Oa({job:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Oa(["ordered"],["update:open"]),setup(A,{emit:i}){const C=A,M=i,_=Ko(A,"open"),{t:w,locale:E}=Ls(),L=Us(),b=v(null),j=v(!1),h=v(null),k=v(""),U=v(!1),W=(g,$)=>new Intl.NumberFormat(E.value,{style:"currency",currency:$,minimumFractionDigits:2,maximumFractionDigits:2}).format(g),X=f(()=>!!b.value&&(b.value.pricing_mode==="quote"||b.value.price==null)),de=f(()=>{const g=b.value;return!g||g.price==null||!g.currency?"":W(g.price,g.currency)}),R=f(()=>{if(!b.value)return"";const g=(b.value.source_language||"?").toUpperCase(),$=(b.value.target_languages||[]).join(", ").toUpperCase();return $?`${g} â ${$}`:g});let ve=0;const pe=async()=>
1{if(!C.job)return;const g=++ve;j.value=!0,h.value=null,b.value=null;try{const $=await $fetch(`/api/jobs/post-editing/${C.job.job_id}`);if(g!==ve)return;b.value=$}catch($){if(g!==ve)return;const S=$?.statusCode||$?.status;S===503?h.value=w("translate.postEditing.modal.pricingUnavailable"):S===422?h.value=w("translate.postEditing.modal.quoteUnavailable"):h.value=$?.data?.message||w("translate.postEditing.modal.quoteFailed")}finally{g===ve&&(j.value=!1)}};V(_,g=>{g&&C.job&&(k.value="",pe())});const q=async()=>{if(C.job){U.value=!0;try{const g=await $fetch(`/api/jobs/post-editing/${C.job.job_id}`,{method:"POST",body:{instructions:k.value.trim()||void 0}});L.add({title:w("translate.postEditing.modal.orderSuccessTitle"),description:w("translate.postEditing.modal.orderSuccessDescription"),color:"success"}),M("ordered",{job_id:g.job_id,status:g.status}),_.value=!1}catch(g){L.add({title:w("translate.postEditing.modal.orderFailedTitle"),description:g?.data?.message,color:"error"})}finally{U.value=!1}}};return(g,$)=>{const S=Na,H=qa,Y=Ba,P=Ja,se=Cn,xe=Ha;return o(),I(xe,{open:_.value,"onUpdate:open":$[2]||($[2]=Ve=>_.value=Ve),dismissible:!s(U),title:g.$t("translate.postEditing.modal.title"),description:g.$t("translate.postEditing.modal.description")},{body:x(()=>[a("div",Gn,[s(j)?(o(),c("div",Wn,[$[3]||($[3]=a("div",{class:"w-5 h-5 rounded-full border-2 border-primary border-t-transparent animate-spin"},null,-1)),a("span",Kn,n(g.$t("translate.postEditing.modal.loadingQuote")),1)])):s(h)?(o(),c("div",Yn,[d(S,{name:"i-lucide-alert-triangle",class:"w-4 h-4 mt-0.5 shrink-0"}),a("span",null,n(s(h)),1)])):s(b)?.existing_order?(o(),c("div",Qn,[d(S,{name:"i-lucide-info",class:"w-4 h-4 mt-0.5 shrink-0"}),a("span",null,n(g.$t("translate.postEditing.modal.alreadyOrdered")),1)])):s(b)?(o(),c(re,{key:3},[a("div",Xn,[a("div",Zn,[a("span",ei,n(g.$t("translate.postEditing.modal.languages")),1),a("span",null,n(s(R)),1)]),a("div",ti,[a("span",si,n(g.$t("translate.postEditing.modal.wordCount")),1),a("span",null,n(g.$t("translate.postEditing.modal.words",{count:s(b).word_count},s(b).word_count)),1)]),s(X)?p("",!0):(o(),c("div",ai,[a("span",li,[G(n(g.$t("translate.postEditing.modal.total"))+" ",1),d(Y,{mode:"click",content:{side:"top",sideOffset:4}},{content:x(()=>[a("p",oi,n(g.$t("translate.postEditing.modal.priceDisclaimer")),1)]),default:x(()=>[d(H,{icon:"i-lucide-info",variant:"ghost",color:"neutral",size:"xs",class:"!p-0.5","aria-label":g.$t("translate.postEditing.modal.priceDisclaimer")},null,8,["aria-label"])]),_:1})]),a("span",null,n(s(de)),1)]))]),s(X)?(o(),c("div",ni,[d(S,{name:"i-lucide-mail",class:"w-4 h-4 mt-0.5 shrink-0 text-muted"}),a("div",null,[a("p",ii,n(g.$t("translate.postEditing.modal.quoteModeTitle")),1),a("p",ri,n(g.$t("translate.postEditing.modal.quoteModeDescription")),1)])])):p("",!0),d(se,{label:g.$t("translate.postEditing.modal.instructionsLabel")},{default:x(()=>[d(P,{modelValue:s(k),"onUpdate:modelValue":$[0]||($[0]=Ve=>F(k)?k.value=Ve:null),rows:3,class:"w-full",placeholder:g.$t("translate.postEditing.modal.instructionsPlaceholder"),disabled:s(U)},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label"])],64)):p("",!0),a("div",di,[d(H,{label:g.$t("translate.postEditing.modal.cancel"),color:"neutral",variant:"subtle",disabled:s(U),onClick:$[1]||($[1]=Ve=>_.value=!1)},null,8,["label","disabled"]),s(b)&&!s(b).existing_order&&!s(h)?(o(),I(H,{key:0,label:s(X)?g.$t("translate.postEditing.modal.confirmQuote"):g.$t("translate.postEditing.modal.confirm",{price:s(de)}),color:"primary",variant:"solid",loading:s(U),disabled:s(U)||s(j),onClick:q},null,8,["label","loading","disabled"])):p("",!0)])])]),default:x(()=>[Yo(g.$slots,"default")]),_:3},8,["open","dismissible","title","description"])}}}),ci=Object.assign(ui,{__name:"TranslatePostEditingModal"}),Wa=as("/excel.svg"),Ka=as("/ppt.svg"),Ya=as("/word.svg"),mi=as("/pdf.svg");function vi(A){const i=A;return i?.statusCode===402||i?.status===402}async function pi(A,i){const C=await fetch("/api/text/translate/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A),signal:i.signal});if(!C.ok){let L;try{L=await C.text()}catch(b){if(i.signal?.aborted)throw b;L=C.statusText}i.onError({error:L,status:C.status});return}if(!C.body){i.onError({error:"",status:C.status});return}const M=C.body.getReader(),_=new TextDecoder;let w="",E="";for(;;){const{done:L,value:b}=await M.read();if(L)break;w+=_.decode(b,{stream:!0});const j=w.split(` 2`);w=j.pop()||"";for(const h of j){if(i.signal?.aborted)throw new DOMException("The translation stream was aborted","AbortError");
2if(!h.startsWith(":")){if(h===""){E="";continue}if(h.startsWith("event: "))E=h.slice(7).trim();else if(h.startsWith("data: ")){const k=h.slice(6);let U;try{U=JSON.parse(k)}catch{E==="error"&&i.onError({error:k});continue}E==="delta"?(typeof U?.text=="string"&&i.onDelta(U),await new Promise(W=>setTimeout(W,0))):E==="done"?i.onDone(U&&typeof U=="object"?U:{}):E==="error"&&i.onError(U&&typeof U=="object"?U:{error:k})}}}}}const fi=()=>{const{t:A}=Ls(),i=Us(),C=v(!1),M=v(null),_=v({}),w=v({}),E=Ds("showPaywallModal",()=>!1),L=v(!1),b=v({}),j=v(null);let h=null,k=new Set;const U=(q,g)=>{let $;try{$=Vn(g,A("translate.translationFailed"))}catch{$="Translation failed"}_.value={..._.value,[q]:$},console.error("Stream translation error:",q,g),!k.has($)&&(k.add($),i.add({title:A("translate.translationFailed"),description:$,color:"error"}))},W=async(q,g,$,S,H)=>{if(!q.trim()){j.value?.abort(),j.value=null,w.value={},b.value={},_.value={},C.value=!1,L.value=!1;return}j.value?.abort();const Y=new AbortController;j.value=Y,C.value=!0,M.value=null,_.value={},k=new Set,w.value={};let P=(typeof H=="string"?H:"")||(typeof S?.instructions=="string"?S.instructions:"")||"";if(S?.formality&&S.formality!=="neutral"){const ae=S.formality==="formal"?"Use formal language and tone.":"Use informal, casual language and tone.";P=P?`${P} 3 4${ae}`:ae}const se=$.filter(ae=>ae!==be),xe={};for(const ae of se)xe[ae]="";b.value=xe,L.value=se.length>0;let Ve=se.length;try{const ae=$.map(async te=>{if(te===be){const Me={source_text:q,source_language:g,type:"simplify",domain:S?.domain,instructions:P||void 0,glossaries:S?.glossaries&&S.glossaries.length>0?S.glossaries:void 0,context_stores:S?.contextStores&&S.contextStores.length>0?S.contextStores:void 0};try{const le=await $fetch("/api/text/rewrite",{method:"POST",body:Me}
4),fe={status:le.status,source_text:le.source_text,translated_text:le.rewritten_text,source_language:le.source_language,target_language:be,provider:"",domain:le.domain,context_window:null,processing_mode:""};Y.signal.aborted||(w.value={...w.value,[te]:fe})}catch(le){if(vi(le))E.value=!0;else{const fe=le;Y.signal.aborted||U(te,fe?.data??fe)}}return}const De={source_text:q,source_language:g,target_language:te,domain:S?.domain,provider:S?.provider,instructions:P||void 0,glossaries:S?.glossaries&&S.glossaries.length>0?S.glossaries:void 0,context_stores:S?.contextStores&&S.contextStores.length>0?S.contextStores:void 0};return new Promise(Me=>{let le=!1;const fe=()=>!Y.signal.aborted,we=K=>{fe()&&U(te,K)},Ie=()=>{le=!0,Ve--,Ve<=0&&j.value===Y&&(L.value=!1),Me()};pi(De,{signal:Y.signal,onDelta:({text:K})=>{fe()&&(b.value[te]=(b.value[te]||"")+K)},onDone:K=>{const ht={status:K.status||"success",source_text:K.source_text||q,translated_text:K.translated_text||K.text||b.value[te]||"",source_language:K.source_language||g,target_language:K.target_language||te,provider:K.provider||"",domain:K.domain||null,context_window:K.context_window||null,processing_mode:K.processing_mode||""};fe()&&(w.value={...w.value,[te]:ht}),Ie()},onError:({error:K,status:ht})=>{ht===402?fe()&&(E.value=!0):we(K),Ie()}}).then(()=>{le||(we(void 0),Ie())}).catch(K=>{le||(K?.name!=="AbortError"&&we(K),Ie())})})});await Promise.all(ae),C.value=!1,L.value=!1}catch(ae){ae.name!=="AbortError"&&(M.value=ae instanceof Error?ae.message:"Translation failed",console.error("Multiple translation error:",ae)),C.value=!1,L.value=!1}},X=(q,g,$,S,H,Y=1e3)=>new Promise(P=>{h&&clearTimeout(h),C.value=!0,h=setTimeout(async()=>{await W(q,g,$,S,H),P()},Y)}),de=()=>{j.value?.abort(),j.value=null,C.value=!1,L.value=!1,b.value={}},R=()=>{w.value={},b.value={},M.value=null,_.value={}},ve=q=>w.value[q]?.translated_text||"",pe=(q,g)=>{const $=w.value[q];$&&(w.value[q]={...$,translated_text:g})};return{isLoading:ye(C),error:ye(M),errors:ye(_),translations:ye(w),isStreaming:ye(L),streamingTexts:ye(b),translateMultipleLanguages:W,debouncedTranslateMultiple:X,clearTranslations:R,getTranslationForLanguage:ve,updateTranslationForLanguage:pe,cancelTranslation:de}};function gi(A){const i=A;return i?.statusCode===402||i?.status===402}const hi=()=>{const A=Ds("showPaywallModal",()=>!1),i=v(!1),C=v(!1),M=v(null),_=v(null),w=v({loaded:0,total:0}),E=v([]),L=f(()=>{if(!i.value)return null;const h=E.value;if(h.length<2)return null;const k=h[0],U=h[h.length-1],W=(U.t-k.t)/1e3;if(W<.5)return null;const X=U.loaded-k.loaded;if(X<=0)return null;const de=X/W,R=w.value.total-w.value.loaded;return R<=0?0:Math.ceil(R/de)}),b=(h,k)=>new Promise((U,W)=>{i.value=!0,_.value=null,w.value={loaded:0,total:h.size},E.value=[];const X=()=>{i.value=!1};if(k?.aborted){X(),W(new DOMException("Upload aborted","AbortError"));return}const de=new FormData;de.append("folder_path","ui/video"),de.append("file",h);const R=new XMLHttpRequest;R.open("POST","/api/files/upload"),R.responseType="text";const ve=globalThis.crypto?.randomUUID?.()??`upl_${Date.now()}_${Math.random().toString(36).slice(2)}`;R.setRequestHeader("X-Upload-Id",ve);let pe=null;const q=()=>{pe!==null&&(clearInterval(pe),pe=null)};pe=Ga(async()=>{try{const H=await fetch(`/api/files/upload-progress?id=${encodeURIComponent(ve)}`);if(!H.ok)return;const Y=await H.json();if(!Y.total)return;w.value={loaded:Y.sent,total:Y.total};const P=performance.now(),se=[...E.value,{t:P,loaded:Y.sent}],xe=P-3e3;for(;se.length>1&&se[0].t<xe;)se.shift();E.value=se}catch{}},500);const $=()=>R.abort();k?.addEventListener("abort",$,{once:!0});const S=()=>k?.removeEventListener("abort",$);R.addEventListener("load",()=>{if(X(),q(),S(),R.status>=200&&R.status<300){if(!R.responseText||R.responseText==="null"){W(new DOMException("Upload aborted","AbortError"));return}try{const P=JSON.parse(R.responseText);if(!P||typeof P!="object"){W(new DOMException("Upload aborted","AbortError"));return}const se=P.file_key||P.key||P.file_path||`ui/video/${h.name}`;U(se)}catch(P){_.value="Malformed upload response",W(P)}return}let H=R.statusText||"Failed to upload video";try{const P=JSON.parse(R.responseText);H=P.statusMessage||P.message||H}catch{}_.value=H;const Y=new Error(H);Y.statusCode=R.status,W(Y)}),R.addEventListener("error",()=>{X(),q(),S(),_.value="Network error during upload",W(new Error("Network error during upload"))}),R.addEventListener("abort",()=>{X(),q(),S(),W(new DOMException("Upload aborted","AbortError"))}),R.send(de)}),j=async h=>{C.value=!0,_.value=null;try{let k=h.sourceFileKey;if(!k&&h.sourceFile&&(k=await b(h.sourceFile)),!k&&!h.sourceVideoUrl)throw new Error("Either a source file or source URL is required");const U=await $fetch(`/api/jobs/video/${h.operation}`,{method:"POST",body:{source_lang:h.sourceLang,target_lang:h.targetLang,...k?{source_file:k}:{},...h.sourceVideoUrl?{source_video_url:h.sourceVideoUrl}:{},...h.projectName?{project_name:h.projectName}:{},...h.glossaries&&h.glossaries.length>0?{glossaries:h.glossaries}:{}
4,video:{tts_volume:h.ttsVolume??"normal",use_soundalike_voices:h.useSoundalikeVoices??!1,use_emotional_transfer:h.useEmotionalTransfer??!1}}});return M.value=U.job_id,U}catch(k){if(gi(k)){A.value=!0;return}throw _.value=k.data?.message||k.statusMessage||k.message||"Failed to create video job",k}finally{C.value=!1}};return{isUploading:ye(i),isSubmitting:ye(C),lastJobId:ye(M),error:ye(_),uploadProgress:ye(w),uploadEtaSeconds:L,uploadVideo:b,submitJob:j}},_i=()=>{const A=v([]),i=v(!1),C=v(null);return{recentJobs:A,isLoading:i,error:C,fetchRecentJobs:async(_=10)=>{i.value=!0,C.value=null;try{const w=await $fetch("/api/jobs",{method:"GET",params:{limit:_,category:"video"}});A.value=w.jobs||[]}catch(w){C.value=w.data?.message||w.statusMessage||"Failed to load video jobs",console.error("Failed to fetch video jobs:",w)}finally{i.value=!1}}}};function bi(A){return`WEBVTT 5 6${A.replace(/\r+/g,"").replace(/^\s*\d+\s*\n(?=\d{2}:\d{2}:\d{2},\d{3}\s*-->)/gm,"").replace(/(\d{2}:\d{2}:\d{2}),(\d{3})/g,"$1.$2").trim()} 7`}const yi={class:"space-y-6 w-full max-w-7xl mx-auto pb-12"},xi={class:"text-muted text-sm"},wi={key:0,class:"flex items-center gap-1.5 -mt-3 px-1 text-xs text-muted"},ki={href:"mailto:[email protected]",class:"text-primary hover:underline"},$i={class:"grid grid-cols-1 lg:grid-cols-4 gap-6"},Ti={class:"lg:col-span-3 space-y-6"},Ci={key:0,class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},Si={class:"flex items-center justify-between px-4 py-2 border-b border-default/50 bg-elevated/30"},Ei={class:"flex items-center gap-2"},Vi={class:"font-medium text-sm"},Fi={class:"relative"},Li={class:"px-5 py-2 flex items-center justify-between text-xs text-muted border-t border-default/50"},Ui={key:0,class:"flex items-center gap-1"},Di={key:1,class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},Mi={class:"flex items-center justify-between px-4 py-2 border-b border-default/50 bg-muted"},Ii={class:"flex items-center gap-2"},Oi={class:"font-medium text-sm"},Pi={class:"flex items-center gap-2 -mb-2"},zi={class:"relative"},Ai={class:"min-h-[200px]"},Ri={key:0,class:"p-5 text-error text-sm"},ji={key:1},qi={key:2,class:"p-5 min-h-[200px] flex items-center justify-center"},Ni={class:"text-center"},Ji={class:"text-muted"},Bi={key:0,class:"absolute inset-0 bg-elevated/80 backdrop-blur-sm flex items-center justify-center"},Hi={class:"text-center"},Gi={class:"text-sm font-medium"},Wi={class:"px-4 py-1 bg-muted flex items-center justify-end border-t border-default/50"},Ki={class:"flex items-center gap-2"},Yi={class:"p-4 w-80"},Qi={class:"text-sm font-medium mb-3"},Xi={class:"flex justify-end gap-2"},Zi={key:2,class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},er={class:"p-4 border-b border-default/50"},tr={class:"flex items-center gap-4"},sr={class:"flex items-center gap-3 px-4 py-3"},ar={class:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center shrink-0"},lr={class:"min-w-0"},or={class:"text-sm font-medium"},nr={class:"text-xs text-muted truncate"},ir={class:"p-4 w-96"},rr={class:"flex items-center gap-2 mb-1"},dr={class:"text-sm font-medium"},ur={class:"text-xs text-muted mb-3"},cr={class:"flex justify-end gap-2"},mr={class:"p-4 w-96"},vr={class:"flex items-center gap-2 mb-1"},pr={class:"text-sm font-medium"},fr={class:"text-xs text-muted mb-3"},gr={class:"flex justify-end gap-2"},hr={class:"p-4 w-96"},_r={class:"flex items-center gap-2 mb-1"},br={class:"text-sm font-medium"},yr={class:"text-xs text-muted mb-3"},xr={class:"flex justify-end gap-2"},wr={class:"relative"},kr={key:0,class:"absolute -top-1.5 -right-1.5 flex items-center justify-center w-5 h-5 rounded-full bg-amber-500 text-white"},$r={key:0,class:"mt-3 flex flex-wrap gap-2"},Tr={key:0,src:Wa,alt:"Excel",class:"w-4 h-4"},Cr={key:1,src:Ka,alt:"PowerPoint",class:"w-4 h-4"},Sr={key:2,src:mi,alt:"PDF",class:"w-4 h-4"},Er={key:3,src:Ya,alt:"Word",class:"w-4 h-4"},Vr={class:"truncate max-w-[150px]"},Fr={class:"text-xs text-muted"},Lr=["onClick"],Ur={key:1,class:"mt-2 ml-2 flex items-center gap-1.5 text-xs text-amber-600 dar
7k:text-amber-400"},Dr={class:"underline underline-offset-2 hover:no-underline cursor-pointer"},Mr={class:"p-3 w-72 text-xs text-muted space-y-2"},Ir={key:2,class:"mt-2 ml-2 flex items-center gap-1.5 text-xs text-amber-600 dark:text-amber-400"},Or={class:"flex items-center justify-between px-4 py-3 border-b border-default/50 bg-elevated/30"},Pr={class:"flex items-center gap-2"},zr={class:"w-7 h-7 rounded-lg bg-primary/10 flex items-center justify-center"},Ar={class:"font-medium text-sm"},Rr={class:"max-h-[550px] overflow-y-auto"},jr={key:0,class:"flex flex-col items-center justify-center py-12"},qr={class:"text-sm text-muted"},Nr={key:1,class:"p-5"},Jr={class:"text-center text-error text-sm"},Br={key:2,class:"divide-y divide-default/50"},Hr={class:"flex items-start justify-between gap-3"},Gr={class:"flex items-center gap-3 min-w-0"},Wr={class:"min-w-0"},Kr={class:"text-sm font-medium truncate"},Yr={class:"flex items-center gap-2 text-xs text-muted"},Qr={key:0},Xr={key:1},Zr={key:2,class:"flex items-center gap-2"},ed={key:3,class:"flex items-center gap-2"},td={class:"text-xs text-error"},sd={key:4,class:"flex items-center gap-2"},ad={class:"text-xs text-muted"},ld={key:5,class:"flex items-center gap-2"},od={key:6,class:"flex items-center gap-2"},nd={class:"flex items-center gap-2 shrink-0"},id={key:3,class:"flex flex-col items-center justify-center py-12"},rd={class:"w-12 h-12 rounded-xl bg-muted/10 flex items-center justify-center mb-3"},dd={class:"text-sm font-medium mb-1"},ud={class:"text-xs text-muted text-center max-w-xs"},cd={key:3,class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},md={class:"border-b border-default/50 p-4 flex items-center gap-4"},vd={class:"flex flex-1 min-w-0 items-center justify-end"},pd={class:"text-xs text-muted text-right"},fd={class:"p-4"},gd={class:"text-sm font-medium"},hd={class:"text-xs text-muted mt-1"},_d={key:1,class:"rounded-lg border border-default/50 bg-elevated overflow-hidden"},bd=["src"],yd={class:"flex items-center gap-3 px-3 py-2.5 border-t border-default/50"},xd={class:"flex-1 min-w-0"},wd={class:"text-sm font-medium truncate"},kd={class:"text-xs text-muted"},$d={class:"border-t border-default/50 p-4"},Td={class:"flex items-center justify-between gap-4"},Cd={class:"flex items-center gap-3 min-w-0"},Sd={key:0,class:"flex items-center gap-2 text-xs text-muted min-w-0"},Ed={class:"shrink-0"},Vd={class:"shrink-0 tabular-nums"},Fd={key:0,class:"text-muted/70 shrink-0"},Ld={key:1,class:"text-xs text-success inline-flex items-center gap-1.5"},Ud={key:0,class:"text-xs text-error mt-3"},Dd={key:4,class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},Md={class:"border-b border-default/50 p-4 flex items-center gap-4"},Id={class:"flex flex-1 min-w-0 items-center justify-end"},Od={class:"p-4"},Pd={class:"rounded-lg border border-default/50 bg-elevated overflow-hidden relative"},zd=["src"],Ad=["srclang","src"],Rd={key:1,class:"w-full aspect-video bg-black flex items-center justify-center"},jd={class:"text-center"},qd={class:"text-sm text-muted"},Nd={key:2,class:"absolute inset-0 bg-black/40 flex items-center justify-center pointer-events-none"},Jd={key:0,class:"text-xs text-error mt-2"},Bd={key:1,class:"text-xs text-muted mt-2 flex items-center gap-1"},Hd={class:"border-t border-default/50 p-4 flex items-center gap-4 flex-wrap"},Gd={class:"flex items-center gap-2"},Wd={class:"text-xs text-muted"},Kd={key:0,class:"flex items-center gap-2"},Yd={class:"text-xs text-muted"},Qd={class:"flex flex-1 min-w-0 items-center justify-end"},Xd={key:5,class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},Zd={class:"flex items-center justify-between px-4 py-3 border-b border-default/50 bg-elevated/30"},eu={class:"flex items-center gap-2"},tu={class:"w-7 h-7 rounded-lg bg-primary/10 flex items-center justify-center"},su={class:"font-medium text-sm"},au={class:"max-h-[550px] overflow-y-auto"},lu={key:0,class:"flex flex-col items-center justify-center py-12"},ou={class:"text-sm text-muted"},nu={key:1,class:"p-5 text-center text-error text-sm"},iu={key:2,class:"divide-y divide-default/50"},ru={class:"flex items-start justify-between gap-3"},du={class:"flex items-center gap-3 min-w-0"},uu={class:"min-w-0"},cu={class:"text-sm font-medium truncate"},mu={class:"flex items-center gap-2 text-xs text-muted"},vu={key:0},pu={key:1},fu={key:2},gu={class:"flex items-center gap-2 shrink-0"},hu={key:3,class:"flex flex-col items-center justify-center py-12"},_u={class:"w-12 h-12 rounded-xl bg-muted/10 flex items-center justify-center mb-3"},bu={class:"text-sm font-medium mb-1"},yu={class:"text-xs text-muted text-center max-w-xs"},xu={class:"space-y-6"},wu={class:"rounded-xl border border-default/50 bg-muted p-5 stagger-item"},ku={class:"flex items-center gap-2 mb-4"},$u={class:"font-medium text-sm"},Tu={class:"space-y-4"},Cu={class:"text-xs font-medium text-muted mb-1.5 block"},Su={key:0,class:"-my-2 flex justify-center"},Eu={key:1},Vu={class:"text-xs font-medium text-muted mb-1.5 block"},Fu={key:3,class:"flex items-start gap-1.5 text-xs text-muted"},Lu={key:0,class:"rounded-xl border border-default/50 bg-muted p-5 stagger-item"},Uu={class:"flex items-center gap-2 mb-4"},Du={class:"font-medium text-sm"},Mu={key:0},Iu={key:0,class:"space-y-2 mb-3"},Ou={key:0,class:"text-muted mt-0.5"},Pu={key:1,class:"mt-0.5"},zu={key:1,class:"text-center py-4"},Au={class:"text-xs text-muted"},Ru={key:2,class:"space-y-2 max-h-48 overflow-y-auto custom-scrollbar"},ju={class:"flex items-start justify-between gap-2"},qu={key:0,class:"text-xs text-muted"},Nu={key:1,class:"text-xs text-muted line-clamp-1 mt-0.5"},Ju={class:"rounded-xl border border-default/50 bg-muted overflow-hidden stagger-item"},Bu={class:"flex items-center gap-2"},Hu={class:"font-medium text-sm"},Gu={class:"px-5 pb-5 space-y-4 border-t border-default/50 pt-4"},Wu={class:"flex items-center justify-between mb-1.5 gap-2"},Ku={class:"text-xs font-medium text-muted block"},Yu={class:"inline-flex items-center gap-1 text-[11px] text-muted cursor-help"},Qu={class:"inline-flex items-center gap-1.5 min-w-0"},Xu={class:"truncate"},Zu={key:0,class:"space-y-2"},ec={class:"flex items-center gap-2 text-xs text-muted cursor-pointer"},tc={key:0,class:"text-xs text-muted/60"},sc={key:1},ac={class:"text-xs font-medium text-muted mb-1.5 block"},lc={key:2,class:"flex items-center justify-between gap-3"},oc={class:"text-xs font-medium text-muted"},nc={key:3,class:"flex items-start justify-between gap-3"},ic={class:"min-w-0"},rc={class:"text-xs font-medium text-muted block"},dc={key:0,class:"text-xs text-muted/70 mt-0.5"},uc={key:4},cc={class:"flex items-center justify-between mb-1.5 gap-2"},mc={class:"text-xs font-medium text-muted block"},vc={class:"inline-flex items-center gap-1 text-[11px] text-muted cursor-help"},pc={key:0,class:"inline-flex items-center gap-1.5 truncate"},fc={key:0,class:"text-muted"},gc={class:"inline-flex items-center gap-1 truncate"},hc={class:"truncate"},_c={key:1,class:"text-muted"},bc={class:"inline-flex items-center gap-1.5 min-w-0"},yc={class:"truncate"},xc={key:5},wc={class:"text-xs font-medium text-muted mb-1.5 block"},kc={key:6},$c={class:"text-xs font-medium text-muted mb-1.5 block"},Tc={key:7},Cc={class:"text-xs font-medium text-muted mb-1.5 block"},Sc={class:"rounded-xl border border-dashed border-primary/30 bg-primary/5 p-4 stagger-item"},Ec={class:"flex items-start gap-3"},Vc={class:"w-8 h-8 rounded-lg bg-primary/10 flex items-center justify-center shrink-0"},Fc={class:"font-medium text-sm"},Lc={class:"text-xs text-muted mt-1"},Uc={class:"p-6"},Dc={class:"flex justify-center mb-4"},Mc={class:"w-16 h-16 rounded-full bg-red-500/10 flex items-center justify-center"},Ic={class:"text-xl font-semibold text-center mb-2"},Oc={class:"text-muted text-center text-sm mb-4"},Pc={class:"bg-red-500/5 border border-red-500/20 rounded-lg p-3 mb-6"},zc={class:"flex items-start gap-2"},Ac={class:"text-xs text-red-400 break-all"},Rc={class:"flex flex-col gap-3"},jc={class:"p-6 max-w-lg"},qc={class:"flex items-center gap-3 mb-6"},Nc={class:"w-10 h-10 rounded-lg bg-primary/10 flex items-center justify-center"},Jc={class:"text-lg font-semibold"},Bc={class:"text-sm text-muted"},Hc={key:0,class:"space-y-4"},Gc={class:"rounded-lg border border-default/50 overflow-hidden"},Wc={class:"px-4 py-3 bg-elevated/50 border-b border-default/50"},Kc={class:"flex items-center justify-between"},Yc={class:"flex items-center gap-2"},Qc={class:"font-medium text-sm"},Xc={class:"divide-y divide-default/50"},Zc={class:"flex items-center gap-2 min-w-0"},em={class:"text-sm truncate"},tm={key:0,class:"px-4 py-3 text-sm text-muted text-center"},sm={class:"rounded-lg border border-default/50 overflow-hidden"},am={class:"px-4 py-3 bg-elevated/50 border-b border-default/50"},lm={class:"flex items-center justify-between"},om={class:"flex items-center gap-2"},nm={class:"font-medium text-sm"},im={key:0},rm={class:"flex items-center justify-between px-4 py-2 bg-elevated/20 border-b border-default/30"},dm={class:"flex items-center gap-2"},um={class:"text-xs font-medium uppercase"},cm={class:"divide-y divide-default/30"},mm={class:"flex items-center gap-2 min-w-0"},vm={class:"text-sm truncate"},pm={key:1,class:"px-4 py-3 text-sm text-muted text-center"},fm={class:"mt-6 flex justify-end gap-3"},gm=100*1024*1024,hm=1*1024*1024,_m=10,Ra=!1,Ee="off",bm=Fs({__name:"translate",setup(A){const{t:i}=Ls();
7Qo.useSession();const{branding:C}=Xo(),{sourceLanguage:M,targetLanguages:_,selectedModel:w,subject:E,instructions:L,selectedGlossaries:b,selectedContextStores:j,formality:h,showAdvancedSettings:k,languages:U,canSwapLanguages:W,glossaries:X,contextStores:de,formalityOptions:R,swapLanguages:ve}=Sn(),{videoSourceLanguages:pe,videoTargetLanguages:q,labelFor:g,labelList:$}=En(),S=f(()=>de.value||[]),H=f(()=>(de.value||[]).find(e=>e.isOrganisationDefault)),Y=f(()=>H.value?.label),P=f(()=>!j.value?.length&&!!H.value),se=e=>!!e?.isOrganisationDefault,xe=f(()=>(X.value||[]).find(e=>e.isOrganisationDefault)),Ve=f(()=>xe.value?.label),ae=e=>!!e?.isOrganisationDefault,te=f({get:()=>j.value?.length?j.value:H.value?[H.value]:[],set:e=>{const t=H.value?.value;if(e.some(m=>m.value!==t)&&t){j.value=e.filter(m=>m.value!==t);return}j.value=e}}),De=f(()=>{const e=te.value.map(t=>parseInt(t.value,10)).filter(t=>!Number.isNaN(t));return[...new Set(e)]}),{isLoading:Me,error:le,errors:fe,isStreaming:we,streamingTexts:Ie,debouncedTranslateMultiple:K,getTranslationForLanguage:ht,updateTranslationForLanguage:Qa,clearTranslations:Xa,cancelTranslation:Za}=fi(),{isLoading:Ms,resolveTargetTerms:el,getSelectedGlossaryEntryCount:tl}=Fn(),{uploadedFiles:N,isUploading:_t,isTranslating:Is,error:Mt,uploadFile:sl,startTranslation:al,startRewriteTranslation:ll,startExcelTranslation:ol,startPptTranslation:nl,startDocxTranslation:il,startSdlxliffTranslation:rl,startXliffTranslation:dl,startTradosTranslation:ul,removeUploadedFile:cl,recentJobs:Oe,isLoadingJobs:Os,jobsError:Ps,fetchRecentJobs:ke,refreshJobStatus:ml,cancelJob:vl,downloadJobFile:ls,downloadFilesAsZip:It,postEditingOrders:bt,refreshPostEditingOrders:zs}=_n(),{isUploading:pl,isSubmitting:As,error:os,submitJob:fl,uploadVideo:gl,uploadProgress:hl,uploadEtaSeconds:_l}=hi(),ns=f(()=>{const{loaded:e,total:t}=hl.value;return t?Math.min(100,Math.round(e/t*100)):0}),Rs=f(()=>{const e=_l.value;if(e===null)return null;if(e<=5)return i("home.video.uploadAlmostDone");if(e<60)return i("home.video.uploadEtaSeconds",{n:e});const t=Math.ceil(e/60);return i("home.video.uploadEtaMinutes",{n:t})}),{recentJobs:Ne,isLoading:js,error:qs,fetchRecentJobs:Je}=_i(),{isLoading:Ot,error:bl,clearError:yl,reviseTranslation:xl}=un(),Pt=v(i("translate.loading.translating")),yt=v(null),Ns=v(null),at=v([]),zt=v(!0),xt=v(!1),Js=v([]),wl=e=>{Js.value=e},Be=v([]),He=v([]),At=v({}),is=v({});let wt=0;const kl=()=>{wt++,He.value=[],Be.value=[]},rs=async e=>{const t=++wt;if(!e){He.value=[],Be.value=[];return}if(At.value[e]){He.value=At.value[e],Be.value=is.value[e]||[];return}const r=at.value.filter(u=>u.entry_id);if(r.length===0||ie.value.length===0){He.value=[],Be.value=[];return}const m=[...new Set(r.map(u=>u.entry_id))];try{const{target_terms:u,language_coverage:T}=await el(m,ie.value,e);if(t!==wt)return;const D=u.map(y=>({word:y.target_term,type:"preferred",term:y.target_term,alternative:null}));At.value[e]=D,is.value[e]=T,He.value=D,Be.value=T}catch(u){if(t!==wt)return;console.error("Error resolving target highlights:",u),He.value=[],Be.value=[]}},Rt=Zo(),$l=en(),ds=Rt.query.mode,Bs=ds==="file"||ds==="files"?"files":ds==="video"?"video":"text",Fe=v(Bs),Pe=f(()=>Fe.value==="text"),Ge=f(()=>Fe.value==="files"),Z=f(()=>Fe.value==="video");Bs==="files"&&(k.value=!0),V(Fe,e=>{$l.replace({query:{...Rt.query,mode:e}}),e==="files"&&(k.value=!0)});const Tl=f(()=>[{message:i("translate.loading.translating"),delay:0},{message:i("translate.loading.revising"),delay:5e3},{message:i("translate.loading.thinking"),delay:15e3},{message:i("translate.loading.editing"),delay:25e3},{message:i("translate.loading.perfecting"),delay:5e4}]),Cl=()=>{Pt.value=i("translate.loading.translating"),Ns.value=Date.now(),yt.value&&clearTimeout(yt.value),Tl.value.forEach(({message:e,delay:t})=>{t>0&&setTimeout(()=>{Me.value&&(Pt.value=e)},t)})},Sl=()=>{yt.value&&(clearTimeout(yt.value),yt.value=null),Ns.value=null,Pt.value=i("translate.loading.translating")};V(Me,e=>{e?Cl():Sl()});const jt=v(!1),Hs=v(),El=["application/pdf","text/plain","text/csv","text/html","text/vtt","text/xml","application/json","application/xml","application/rtf","text/rtf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","image/jpeg","image/png","image/gif","
7image/vnd.adobe.photoshop"],Vl=[".idml",".mif",".xliff",".xlf",".mqxliff",".sdlxliff",".zip",".srt",".vtt",".po",".pot",".rtf",".psd"],Fl=e=>{e.preventDefault(),jt.value=!0},Ll=e=>{e.preventDefault(),jt.value=!1},Ul=e=>{e.preventDefault(),jt.value=!1;const t=Array.from(e.dataTransfer?.files||[]);us(t)},Dl=e=>{const t=e.target,r=Array.from(t.files||[]);us(r)},us=async e=>{const t=[],r=[];e.forEach(m=>{if(m.size>gm){r.push(i("translate.errors.fileTooLarge",{filename:m.name}));return}const u="."+m.name.split(".").pop()?.toLowerCase();if(!El.includes(m.type)&&!Vl.includes(u)){r.push(i("translate.errors.fileTypeUnsupported",{filename:m.name}));return}t.push(m)}),r.length>0&&(console.warn("File upload errors:",r),J.add({title:i("translate.toast.uploadRejected"),description:r.join(` 8`),icon:"i-lucide-alert-circle",color:"error"}));for(const m of t)try{await sl(m)}catch(u){console.error("Failed to upload file:",m.name,u),J.add({title:i("translate.toast.uploadFailed"),description:u?.data?.message||i("translate.toast.uploadFailedDesc",{filename:m.name}),icon:"i-lucide-alert-circle",color:"error"})}},Ml=e=>{cl(e)},J=Us(),qt=Ds("showPaywallModal",()=>!1),Il=async()=>{if(N.value.length===0)return;const e=N.value.map(B=>B.path),t=e.filter(B=>B.toLowerCase().endsWith(".sdlxliff")),r=e.filter(B=>B.toLowerCase().endsWith(".zip")),m=e.filter(B=>/\.(mqxliff|xlf|xliff)$/.test(B.toLowerCase())),u=e.filter(B=>!t.includes(B)&&!r.includes(B)&&!m.includes(B)),T=M.value?.value,D=_.value.map(B=>B.value);if(u.length>0&&(!T||D.length===0))return;const y=E.value?.trim()||void 0,st=L.value?.trim()||void 0,qe=ie.value,me=De.value,Se={domain:y,instructions:st,formality:h.value?.value||void 0,glossaries:qe.length>0?qe:void 0,contextStores:me.length>0?me:void 0},Lt=N.value.some(B=>B.file.size>hm);try{if(!Ye.value&&D.length===1&&D[0]===be){if(t.length>0||r.length>0||m.length>0){Ae.value=i("translate.errors.bilingualSimpleLanguage"),Te.value=!0;return}if(!T)return;await ll(e,T,Se)}else{if(u.length>0&&T&&(await al(u,T,D,Se),qt.value)||t.length>0&&(await rl(t,Se),qt.value))return;if(m.length>0){const B=!Ye.value;if(await dl(m,{...Se,sourceLanguage:B&&T?T:void 0,targetLanguages:B&&D.length>0?D:void 0}),qt.value)return}r.length>0&&await ul(r,Se)}if(qt.value)return;J.add({title:i("translate.toast.translationStarted"),description:i(Lt?"translate.largeFileNotice":"translate.toast.translationStartedDesc"),icon:Lt?"i-lucide-clock":"i-lucide-file-clock",color:"primary"}),await ke(10),$e()}catch(B){const Ut=Mt.value||B?.data?.message||B?.message||i("translate.errors.fileTranslationFailed");Ae.value=Ut,Te.value=!0}},Nt=v(null),Gs=async e=>{Nt.value=e;try{await vl(e),Z.value&&await Je(10),J.add({title:i("translate.toast.jobCancelled"),description:i("translate.toast.jobCancelledDesc"),icon:"i-lucide-circle-x",color:"neutral"})}catch{J.add({title:i("translate.toast.jobCancelFailed"),description:i("translate.toast.jobCancelFailedDesc"),icon:"i-lucide-triangle-alert",color:"error"})}finally{Nt.value=null}},Ol=f(()=>i("translate.chatPlaceholder")),O=v(_.value[0]?.value);V(_,e=>{if(e.length===0){O.value="";return}const t=O.value;e.some(m=>m.value===t)||(O.value=e[0]?.value||"")},{deep:!0});let Ws=_.value.map(e=>e.value);V(_,e=>{const t=e.map(u=>u.value),r=Ws.includes(be);t.includes(be)&&t.length>1&&(r?_.value=e.filter(u=>u.value!==be):_.value=e.filter(u=>u.value===be)),Ws=_.value.map(u=>u.value)},{deep:!0});const ee=v(""),cs=yn();tn(()=>{if(Rt.query.text&&(ee.value=Rt.query.text),cs.value){const{mode:e,file:t}=cs.value;Fe.value=e,e==="video"?ue.value=t:us([t]),cs.value=null}Ge.value&&ke(10),Z.value&&Je(10)});const ze=v(null),We=e=>e==="pending"||e==="running"||e==="queued";let ms=0;const Jt=e=>e==="awaiting_human"||We(e),vs=()=>Object.values(bt.value).some(e=>Jt(e.status)),$e=()=>{ze.value||(ze.value=Ga(async()=>{const e=Oe.value.filter(m=>We(m.status));let t=!1;for(const m of e){const u=m.status;await ml(m.job_id);const T=Oe.value.find(D=>D.job_id===m.job_id);T&&T.status==="completed"&&u!=="completed"&&(t=!0)}if(t&&await ke(10),Ne.value.some(m=>We(m.status))&&await Je(10),ms+=1,vs()&&ms>=_m){ms=0;const m={...bt.value};try{await zs();for(const[u,T]of Object.entries(bt.value)){const D=m[u];if(T.status==="completed"&&D&&Jt(D.status)){J.add({title:i("translate.postEditing.deliveredTitle"),description:i("translate.postEditing.deliveredDescription"),color:"success"}),await ke(10);break}}}catch{}}!(Oe.value.some(m=>We(m.status))||Ne.value.some(m=>We(m.status))||vs())&&ze.value&&(clearInterval(ze.value),ze.value=null)},3e3))},Ks=()=>{ze.value&&(clearInterval(ze.value),ze.value=null)};V(Ge,e=>{e?(ke(10),$e()):Ks()}),V(Z,e=>{e&&(Je(10),$e())}),V(Oe,e=>{e.some(t=>We(t.status))&&$e()},{deep:!0}),V(Ne,e=>{e.some(t=>We(t.status))&&$e()},{deep:!0}),V(bt,()=>{vs()&&$e()},{deep:!0}),sn(()=>{Ks()});const Ys=e=>{const t=An(e),m=new Date().getTime()-t.getTime(),u=Math.floor(m/6e4),T=Math.floor(m/36e5),D=Math.floor(m/864e5);return u<1?i("translate.time.justNow"):u<60?i("translate.time.minutesAgo",{n:u}):T<24?i("translate.time.hoursAgo",{n:T}):D<7?i("translate.time.daysAgo",{n:D}):t.toLocaleDateString("de-DE")},Qs=e=>{switch((e||"").toLowerCase()){case"completed":return"i-lucide-check-circle";case"failed":return"i-lucide-x-circle";case"cancelled":return"i-lucide-circle-x";case"running":return"i-lucide-loader-2";
8case"pending":case"queued":return"i-lucide-clock";default:return"i-lucide-help-circle"}},lt=e=>{const t=e.split("/");return t[t.length-1]||e};async function Xs(e){if(ee.value.trim()&&_.value.length>0&&M.value){const t=_.value.map(D=>D.value),r=ie.value,m=De.value;let u=L.value||"";const T=h.value?.value;if(T&&T!=="neutral"){const D=T==="formal"?"Use formal language and tone.":"Use informal, casual language and tone.";u=u?`${u} 9 10${D}`:D}await K(ee.value,M.value.value,t,{domain:E.value||void 0,provider:w.value,glossaries:r.length>0?r:void 0,contextStores:m.length>0?m:void 0},u||void 0,e)}}V(ee,()=>Xs(2e3)),V([M,_,b,te,L,h,E],()=>Xs(1e3),{deep:!0});const Zs=v(null),ps=v(!1);async function Pl(){if(ps.value)return;const e=ee.value.trim();if(!(e.length<=10))try{const r=(await $fetch("/api/language-detection/detect",{method:"POST",body:{text:e}})).detections?.[0]?.language;if(!r||r===Zs.value)return;Zs.value=r;const m=M.value?.value;if(!Aa(r,m??"")&&!zn(r,m??"")){const u=U.value.find(T=>Aa(T.value,r));u&&(M.value=u)}}catch{}}const zl=()=>{ps.value=!0},Al=e=>{if(!e)return!1;const t=document.createElement("div");return t.innerHTML=e,(t.textContent||t.innerText||"").trim().length>0},Rl=()=>{if(!W.value)return;ps.value=!0;const e=Pe.value?oe.value:"";ve(),Pe.value&&(Za(),Xa(),oe.value="",Al(e)&&(ee.value=e))},jl=f(()=>W.value?i("common.swapLanguages"):_.value.some(e=>e.value===be)?i("common.swapLanguagesSimpleHint"):i("common.swapLanguagesHint")),ql=dn(Pl,1e3);V(ee,()=>{Pe.value&&ee.value.trim().length>10&&ql()});const Bt=f(()=>O.value?ht(O.value):""),ea=f(()=>{const e=O.value?fe.value[O.value]:void 0;return le.value||e||bl.value||null});V(Me,e=>{e&&yl()});const oe=v("");V(Bt,e=>{e&&e!==oe.value&&(oe.value=e)},{immediate:!0}),V(oe,e=>{O.value&&e!==Bt.value&&Qa(O.value,e)}),V(()=>O.value?Ie.value[O.value]:void 0,e=>{we.value&&e!=null&&(oe.value=e)});const ot=v(!1),Nl=async()=>{if(oe.value)try{const e=oe.value,t=document.createElement("div");t.innerHTML=e;const r=t.textContent||t.innerText||"",m=new Blob([e],{type:"text/html"}),u=new Blob([r],{type:"text/plain"});await navigator.clipboard.write([new ClipboardItem({"text/html":m,"text/plain":u})]),ot.value=!0,setTimeout(()=>{ot.value=!1},2e3)}catch(e){console.error("Failed to copy translation:",e)}},kt=v(!1),nt=v(""),Te=v(!1),Ae=v(""),ta=["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],fs=f(()=>_.value.some(e=>e.value===be)),sa=f(()=>N.value.length>0&&N.value.every(e=>ta.includes(e.file.type))),aa=f(()=>N.value.filter(e=>ta.includes(e.file.type))),it=v(!0),Ke=v(""),gs=v(!1);V(sa,e=>{e&&(it.value=!0)});const Jl=async()=>{if(!(aa.value.length===0||!Ke.value.trim())){gs.value=!0;try{const e=aa.value[0];if(!e)return;const t=e.path,r=M.value?.value,m=_.value.map(D=>D.value),u=ie.value,T=De.value;await ol(t,Ke.value,{sourceLanguage:r||void 0,targetLanguages:m.length>0?m:void 0,domain:E.value?.trim()||void 0,instructions:L.value?.trim()||void 0,formality:h.value?.value||void 0,glossaries:u.length>0?u:void 0,contextStores:T.length>0?T:void 0}),J.add({title:i("translate.toast.excelStarted"),description:i("translate.toast.excelStartedDesc"),avatar:{src:"/excel.svg"},color:"primary"}),Ke.value="",it.value=!0,await ke(10),$e()}catch(e){const t=Mt.value||e?.data?.message||e?.message||i("translate.errors.excelTranslationFailed");Ae.value=t,Te.value=!0}finally{gs.value=!1}}},la=f(()=>N.value.some(e=>e.file.type==="application/pdf")),Bl=f(()=>N.value.some(e=>e.file.name.toLowerCase().endsWith(".zip"))),Hl=e=>{const t=e.toLowerCase();return t.endsWith(".sdlxliff")||t.endsWith(".zip")||t.endsWith(".mqxliff")},Ye=f(()=>N.value.length>0&&N.value.every(e=>Hl(e.file.name))),oa=["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"],na=f(()=>N.value.length>0&&N.value.every(e=>oa.includes(e.file.type))),ia=f(()=>N.value.filter(e=>oa.includes(e.file.type))),rt=v(!0),Qe=v(""),hs=v(!1);V(na,e=>{e&&(rt.value=!0)});const Gl=async()=>{if(!(ia.value.length===0||!Qe.value.trim())){hs.value=!0;try{const e=ia.value[0];if(!e)return;const t=e.path,r=M.value?.value,m=_.value.map(D=>D.value),u=ie.value,T=De.value;await nl(t,Qe.value,{sourceLanguage:r||void 0,targetLanguages:m.length>0?m:void 0,domain:E.value?.trim()||void 0,instructions:L.value?.trim()||void 0,formality:h.value?.value||void 0,glossaries:u.length>0?u:void 0,contextStores:T.length>0?T:void 0}),J.add({title:i("translate.toast.pptStarted"),description:i("translate.toast.pptStartedDesc"),avatar:{src:"/ppt.svg"},color:"primary"}),Qe.value="",rt.value=!0,await ke(10),$e()}catch(e){const t=Mt.value||e?.data?.message||e?.message||i("translate.errors.pptTranslationFailed");Ae.value=t,Te.value=!0}finally{hs.value=!1}}},ra=["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],da=f(()=>N.value.length>0&&N.value.every(e=>ra.includes(e.file.type))),ua=f(()=>N.value.filter(e=>ra.includes(e.file.type))),dt=v(!0),Xe=v(""),_s=v(!1);V(da,e=>{e&&(dt.value=!0)});const Wl=async()=>
10{if(!(ua.value.length===0||!Xe.value.trim())){_s.value=!0;try{const e=ua.value[0];if(!e)return;const t=e.path,r=M.value?.value,m=_.value.map(D=>D.value),u=ie.value,T=De.value;await il(t,Xe.value,{sourceLanguage:r||void 0,targetLanguages:m.length>0?m:void 0,domain:E.value?.trim()||void 0,instructions:L.value?.trim()||void 0,formality:h.value?.value||void 0,glossaries:u.length>0?u:void 0,contextStores:T.length>0?T:void 0}),J.add({title:i("translate.toast.docxStarted"),description:i("translate.toast.docxStartedDesc"),avatar:{src:"/word.svg"},color:"neutral"}),Xe.value="",dt.value=!0,await ke(10),$e()}catch(e){const t=Mt.value||e?.data?.message||e?.message||i("translate.errors.docxTranslationFailed");Ae.value=t,Te.value=!0}finally{_s.value=!1}}},$t=v(!1),Q=v(null),Ze=v(new Set),ne=v(!1),bs=e=>{Q.value=e,$t.value=!0},Tt=()=>{$t.value=!1,Q.value=null,Ze.value.clear(),ne.value=!1},Ht=v(!1),ca=v(null),{postEditingEnabled:Kl}=bn(),ys=e=>bt.value[e],Yl=e=>{if(!Kl.value||e.status!=="completed"||e.job_type!=="file_translation"&&e.job_type!=="translation")return!1;const t=ys(e.job_id);return!t||t.status==="failed"||t.status==="cancelled"},Ql=e=>{ca.value=e,Ht.value=!0},Gt=e=>{if(e.status!=="completed")return null;const t=ys(e.job_id);return t?Jt(t.status)?"in_progress":t.status==="completed"?"completed":t.status==="failed"||t.status==="cancelled"?"failed":null:null},Xl=e=>{const t=Gt(e);return t==="in_progress"?"i-lucide-user-pen":t==="completed"?"i-lucide-user-check":t==="failed"?"i-lucide-user-x":Qs(e.status)},ma=e=>{const t=Gt(e);return t==="in_progress"?i("translate.postEditing.inProgress"):t==="completed"?i("translate.postEditing.completed"):t==="failed"?i("translate.postEditing.failed"):""},va=e=>{const t=Gt(e);if(t==="in_progress")return{bg:"bg-primary/10",icon:"text-primary"};if(t==="failed")return{bg:"bg-muted/10",icon:"text-muted"};switch(e.status){case"completed":return{bg:"bg-emerald-500/10",icon:"text-emerald-500"};case"failed":return{bg:"bg-red-500/10",icon:"text-red-500"};case"cancelled":return{bg:"bg-muted/10",icon:"text-muted"};case"running":return{bg:"bg-primary/10",icon:"text-primary animate-spin"};case"pending":case"queued":return{bg:"bg-amber-500/10",icon:"text-amber-500"};default:return{bg:"",icon:""}}},Zl=async()=>{try{await zs()}catch{}$e()},eo=e=>{if(!e.target_files)return[];const t=new Set(e.target_files.map(r=>r.language));return Array.from(t)},Wt=(e,t)=>e.target_files?e.target_files.filter(r=>r.language===t):[],Ct=e=>{const t=e.split("/");return t[t.length-1]||e},to=e=>{const t=e.lastIndexOf("/");return t===-1?`_source_${e}`:`${e.slice(0,t+1)}_source_${e.slice(t+1)}`},so=(e,t)=>{const r=t.toLowerCase();return e.job_type==="sdlxliff_translation"&&r.endsWith(".sdlxliff")||e.job_type==="xliff_translation"&&/\.(mqxliff|xlf|xliff)$/.test(r)},xs=(e,t)=>so(e,t)?to(t):t,ao=async(e,t)=>{Ze.value.add(e);try{await ls(e,t)}finally{Ze.value.delete(e)}},lo=async e=>{const t=lt(e),r=Q.value,m=r?xs(r,e):e;Ze.value.add(e);try{await ls(m,t)}catch(u){try{if(m===e)throw u;await ls(e,t)}catch{J.add({title:i("translate.toast.downloadFailed"),description:i("translate.toast.downloadFailedDesc",{filename:t}),icon:"i-lucide-alert-circle",color:"error"})}}finally{Ze.value.delete(e)}},oo=async e=>{const t=Ct(e);try{await ao(e,t)}catch{J.add({title:i("translate.toast.downloadFailed"),description:i("translate.toast.downloadFailedDesc",{filename:t}),icon:"i-lucide-alert-circle",color:"error"})}},no=async e=>{if(e.source_files?.length){ne.value=!0;try{const t=e.source_files.map(r=>({key:xs(e,r),filename:`source/${lt(r)}`}));await It(t,`source-files-${e.job_id.slice(0,8)}.zip`),J.add({title:i("translate.toast.downloadComplete"),description:i("translate.toast.downloadCompleteDesc",{count:e.source_files.length}),icon:"i-lucide-check",color:"success"}),Tt()}catch{J.add({title:i("translate.toast.downloadFailed"),description:i("translate.toast.downloadFailedSource"),icon:"i-lucide-alert-circle",color:"error"})}finally{ne.value=!1}}},io=async(e,t)=>{const r=Wt(e,t);if(r.length){ne.value=!0;try{const m=r.map(u=>({key:u.key,filename:Ct(u.key)}));await It(m,`${t}-translations-${e.job_id.slice(0,8)}.zip`),J.add({title:i("translate.toast.downloadComplete"),description:i("translate.toast.downloadCompleteLanguageDesc",{count:r.length,language:t.toUpperCase()}),icon:"i-lucide-check",color:"success"}),Tt()}catch{J.add({title:i("translate.toast.downloadFailed"),description:i("translate.toast.downloadFailedLanguage",{language:t.toUpperCase()}),icon:"i-lucide-alert-circle",color:"error"})}finally{ne.value=!1}}},ro=async e=>{if(e.target_files?.length){ne.value=!0;try{const t=e.target_files.map(r=>({key:r.key,filename:`${r.language}/${Ct(r.key)}`}));await It(t,`translated-files-${e.job_id.slice(0,8)}.zip`),J.add({title:i("translate.toast.downloadComplete"),description:i("translate.toast.downloadCompleteTranslatedDesc",{count:e.target_files.length}),icon:"i-lucide-check",color:"success"}),Tt()}catch{J.add({title:i("translate.toast.downloadFailed"),description:i("translate.toast.downloadFailedTranslated"),icon:"i-lucide-alert-circle",color:"error"})}finally{ne.value=!1}}},uo=async e=>{ne.value=!0;try{const t=[];if(e.source_files?.length)for(const r of e.source_files)t.push({key:xs(e,r),filename:`source/${lt(r)}`});if(e.target_files?.length)for(const r of e.target_files)t.push({key:r.key,filename:`translated/${r.language}/${Ct(r.key)}`});if(t.length===0){J.add({title:i("translate.toast.noFiles"),description:i("translate.toast.noFilesDesc"),icon:"i-lucide-info",color:"neutral"});return}await It(t,`all-files-${e.job_id.slice(0,8)}.zip`),J.add({title:i("translate.toast.downloadComplete"),description:i("translate.toast.downloadCompleteAllDesc",{count:t.length}),icon:"i-lucide-check",color:"success"}),Tt()}catch{J.add({title:i("translate.toast.downloadFailed"),description:i("translate.toast.downloadFailedFiles"),icon:"i-lucide-alert-circle",color:"error"})}finally{ne.value=!1}},co=()=>{const e=encodeURIComponent("File Translation Error"),t=encodeURIComponent(` 11Hi Support, 12 13I encountered an error while trying to translate files: 14 15Error: ${Ae.value} 16
17Details: 18- Source Language: ${M.value?.label||"Not selected"} 19- Target Languages: ${_.value.map(r=>r.label).join(", ")||"Not selected"} 20- Files: ${N.value.map(r=>r.file.name).join(", ")||"None"} 21- Time: ${new Date().toISOString()} 22 23Please help me resolve this issue. 24 25Thank you. 26 `.trim());window.open(`mailto:${C.value.supportEmail}?subject=${e}&body=${t}`,"_blank"),Te.value=!1},mo=()=>{Te.value=!1,Ae.value=""},vo=async()=>{if(!nt.value.trim()||!O.value||!ee.value.trim())return;const e=oe.value;if(!e){console.error("No translation found for current language");return}const t=nt.value;kt.value=!1,nt.value="";try{const r=ie.value,m=De.value,u=await xl(ee.value,e,M.value?.value||"",O.value,t,{domain:E.value||void 0,provider:w.value,formality:h.value?.value||void 0,glossaries:r.length>0?r:void 0,contextStores:m.length>0?m:void 0});u&&u.revised_text&&(oe.value=u.revised_text)}catch(r){console.error("Error refining translation:",r)}},pa=e=>e.is_synonym_violation?{color:"warning",label:i("translate.sidebar.suggest")}:e.is_preferred_term?{color:"success",label:i("translate.sidebar.use")}:e.is_forbidden_term?{color:"error",label:i("translate.sidebar.avoid")}:{color:"neutral",label:i("translate.sidebar.term")},po=e=>{at.value=e},ie=f(()=>Pn(b.value?.map(e=>e.value)||[],xe.value?.value)),fo=e=>(X.value?.find(r=>r.value===e)||b.value?.find(r=>r.value===e))?.label||i("translate.sidebar.glossary"),fa=e=>X.value?.find(t=>t.value===e)?.languageCounts,go=f(()=>{const e=O.value;return e?ie.value.flatMap(t=>{const r=fa(t),m=Dn(r,e);return m===null||m>0?[]:[{glossary_id:t,requested_language:e,term_count:0,available_languages:In(r),unknown_languages:Mn(r)}]}):[]}),ho=f(()=>{if(O.value===be)return[];const e=new Set(ie.value),t=new Set(ie.value.filter(r=>fa(r)!==void 0));return[...go.value,...Be.value.filter(r=>e.has(r.glossary_id)&&!t.has(r.glossary_id))]}),ws=f(()=>{const e=new Set;return[...Js.value,...ho.value].filter(t=>{if(t.term_count>0)return!1;const r=`${t.glossary_id}:${t.requested_language.toLowerCase()}`;return e.has(r)?!1:(e.add(r),!0)}).map(t=>({key:`${t.glossary_id}:${t.requested_language}`,glossaryName:t.glossary_name||fo(t.glossary_id),languageName:g(t.requested_language),availableLanguages:$(t.available_languages||[]),unknownLanguages:(t.unknown_languages||[]).join(", ")}))}),ga=v(0);V(ie,async e=>{ga.value=await tl(e)},{immediate:!0});const Kt=f(()=>ga.value>Ln);V(Kt,e=>{e&&(xt.value=!1)}),V(at,()=>{At.value={},is.value={},O.value&&!we.value?rs(O.value):wt++}),V(O,e=>{e&&!we.value?rs(e):kl()}),V(we,(e,t)=>{t&&!e&&O.value&&ss(()=>{rs(O.value)})});const _o=f(()=>{if(!ee.value)return 0;const e=document.createElement("div");return e.innerHTML=ee.value,(e.textContent||e.innerText||"").trim().split(/\s+/).filter(r=>r.length>0).length}),bo=f(()=>{if(!ee.value)return 0;const e=document.createElement("div");return e.innerHTML=ee.value,(e.textContent||e.innerText||"").length}),ha=f(()=>[{label:i("translate.modes.text"),value:"text",icon:"i-lucide-languages"},{label:i("translate.modes.files"),value:"files",icon:"i-lucide-file-text"},{label:i("translate.modes.video"),value:"video",icon:"i-lucide-video"}]),yo=f(()=>ha.value.find(e=>e.value===Fe.value)?.icon??"i-lucide-languages"),ut=v("subtitle"),ct=v(null);let ks=0,mt=null;const ge=v("file"),vt=v(""),ue=v(null),_a=an(ue),$s=v(),St=v(!1),xo=f(()=>[{label:i("home.video.operations.subtitle"),value:"subtitle"},{label:i("home.video.operations.dub"),value:"dub"},{label:i("home.video.operations.voiceover"),value:"voiceover"}]),wo=f(()=>{switch(ut.value){case"dub":return i("home.video.descriptions.dub");case"voiceover":return i("home.video.descriptions.voiceover");default:return i("home.video.descriptions.subtitle")}}),ko=f(()=>i(`home.video.submitByOperation.${ut.value}`)),Re=v(),je=v(),ba=f(()=>{const e=Vs(Re.value?.value??"");return e?q.value.filter(t=>Vs(t.value)!==e):q.value});V(pe,e=>{e.length&&(e.some(t=>t.value===Re.value?.value)||(Re.value=e.find(t=>t.value==="en")??e[0]))},{immediate:!0}),V(ba,e=>{e.length&&(e.some(t=>t.value===je.value?.value)||(je.value=e.find(t=>t.value==="fr-fr")??e[0]))},{immediate:!0});const Yt=v("normal"),Qt=v(!1),Et=v(!1),$o=f(()=>[{label:i("translate.sidebar.video.ttsVolumeOptions.veryQuiet"),value:"very_quiet"},{label:i("translate.sidebar.video.ttsVolumeOptions.quieter"),value:"quieter"},{label:i("translate.sidebar.video.ttsVolumeOptions.normal"),value:"normal"},{label:i("translate.sidebar.video.ttsVolumeOptions.louder"),value:"louder"},{label:i("translate.sidebar.video.ttsVolumeOptions.veryLoud"),value:"very_loud"}
26]),To=["en","de","fr","es","ru","it","pt"],Xt=f(()=>To.includes(Vs(je.value?.value??"")));V(Xt,e=>{e||(Et.value=!1)});const ya=f(()=>As.value||!Re.value?.value||!je.value?.value?!1:ge.value==="url"?!!vt.value.trim():!!ct.value),xa=Un();V(ue,async e=>{if(mt&&(mt.abort(),mt=null),!e){ct.value=null;return}if(e.size>kn){ue.value=null,xa.value=!0;return}const t=++ks;ct.value=null;const r=new AbortController;mt=r;try{const m=await gl(e,r.signal);t===ks&&(ct.value=m)}catch(m){if(m?.name==="AbortError")return;m?.statusCode===413&&t===ks&&(ue.value=null,xa.value=!0)}finally{mt===r&&(mt=null)}});const Co=["mp4","mov","webm","mkv","avi","m4v"],So=e=>{if(e.type.startsWith("video/"))return!0;const t=e.name.split(".").pop()?.toLowerCase()||"";return Co.includes(t)},Eo=e=>{const t=e.target,r=t.files?.[0];r&&(ue.value=r),t&&(t.value="")},Vo=e=>{St.value=!1;const t=e.dataTransfer?.files?.[0];if(t){if(!So(t)){J.add({title:i("home.video.submitFailedTitle"),description:i("home.video.uploadHint"),color:"error"});return}ue.value=t}},Fo=async()=>{if(ya.value)try{const e=ie.value;if(!await fl({operation:ut.value,sourceLang:Re.value.value,targetLang:je.value.value,sourceVideoUrl:ge.value==="url"?vt.value.trim():void 0,sourceFileKey:ge.value==="file"?ct.value:void 0,glossaries:e.length>0?e:void 0,ttsVolume:Yt.value,useSoundalikeVoices:Qt.value,useEmotionalTransfer:Xt.value&&Et.value}))return;J.add({title:i("home.video.submittedTitle"),description:i("home.video.submittedDescription"),color:"success"}),vt.value="",ue.value=null,Je(10)}catch{J.add({title:i("home.video.submitFailedTitle"),description:os.value||i("home.video.submitFailedDescription"),color:"error"})}},wa={subtitle_video:"subtitle",dub_video:"dub",voiceover_video:"voiceover"},Lo=e=>{if(!e)return null;const t=e.toLowerCase();return wa[t]?wa[t]:t.includes("subtitle")?"subtitle":t.includes("dub")?"dub":t.includes("voiceover")?"voiceover":null},ka=e=>{const t=Lo(e);return i(t?`home.video.operations.${t}`:"translate.modes.video")},$a=/\.(mp4|mov|webm|mkv|avi|m4v)$/i,Uo=/\.srt$/i,Ce=v(null),Le=v(""),ce=v(Ee),Ta=v(null),pt=v({}),ft=v({}),et=v({}),tt=v({}),Vt=v(null),Ca=f(()=>Ce.value!==null),Ts=e=>e.kind==="video"||!e.kind&&$a.test(e.key),Cs=e=>e.kind==="source_srt"||e.kind==="target_srt"||!e.kind&&Uo.test(e.key),Sa=f(()=>Ce.value?.source_files?.[0]??null),Zt=f(()=>Ce.value?.source_language??""),Ea=f(()=>(Ce.value?.target_files??[]).filter(Ts)),Va=f(()=>(Ce.value?.target_files??[]).filter(Cs)),Do=f(()=>{const e=[];Sa.value&&Zt.value&&e.push({label:g(Zt.value),value:Zt.value});for(const t of Ea.value)e.some(r=>r.value===t.language)||e.push({label:g(t.language),value:t.language});return e}),Fa=f(()=>{const e=[{label:i("translate.video.viewer.subtitlesOff"),value:Ee}];for(const t of Va.value)e.some(r=>r.value===t.language)||e.push({label:g(t.language),value:t.language});return e}),Mo=e=>e?e===Zt.value?Sa.value:Ea.value.find(t=>t.language===e)?.key??null:null,Io=e=>!e||e===Ee?null:Va.value.find(t=>t.language===e)?.key??null,Ft=f(()=>pt.value[Le.value]??null),es=f(()=>ce.value===Ee?null:ft.value[ce.value]??null),Ss=f(()=>!!et.value[Le.value]),Oo=f(()=>ce.value!==Ee&&!!tt.value[ce.value]),Po=e=>{if(e.target_files?.some(m=>Ts(m)))return!0;const t=e.source_files?.some(m=>typeof m=="string"&&$a.test(m)),r=e.target_files?.some(m=>Cs(m));return!!(t&&r)},zo=async e=>await $fetch("/api/files/download",{method:"POST",body:{file_path:e},responseType:"blob"}),Ao=async e=>(await $fetch("/api/files/stream-url",{method:"POST",body:{file_path:e}})).url,La=async e=>{if(!e||pt.value[e]||et.value[e])return;const t=Mo(e);if(t){et.value={...et.value,[e]:!0};try{pt.value={...pt.value,[e]:await Ao(t)}}catch(r){Vt.value=r?.data?.message||`Failed to load ${g(e)} video`}finally{const r={...et.value};delete r[e],et.value=r}}},Ua=async e=>{if(!e||e===Ee||ft.value[e]||tt.value[e])return;const t=Io(e);if(t){tt.value={...tt.value,[e]:!0};try{const m=await(await zo(t)).text(),u=bi(m),T=new Blob([u],{type:"text/vtt"});ft.value={...ft.value,[e]:URL.createObjectURL(T)}}catch(r){console.error("Failed to load captions:",r)}finally{const r={...tt.value};delete r[e],tt.value=r}}},Es=()=>{for(const e of Object.values(pt.value))e.startsWith("blob:")&&URL.revokeObjectURL(e);for(const e of Object.values(ft.value))URL.revokeObjectURL(e);pt.value={},ft.value={},et.value={},tt.value={},Vt.value=null},Ro=e=>{Es(),Ce.value=e;const t=(e.target_files??[]).find(m=>Ts(m));Le.value=t?.language||e.source_language||"";const r=(e.target_files??[]).find(m=>m.kind==="target_srt")??(e.target_files??[]).find(m=>Cs(m));ce.value=r?.language||Ee,Le.value&&La(Le.value),ce.value!==Ee&&Ua(ce.value)},jo=()=>{Es(),Ce.value=null},qo=()=>{Vt.value="Video cannot be previewed in this browser"},ts=()=>{const e=Ta.value?.textTracks;
26if(!e||e.length===0)return;const t=ce.value!==Ee&&!!es.value;for(let r=0;r<e.length;r++)e[r].mode=t?"showing":"disabled"};return V(Le,e=>{e&&La(e)}),V(ce,e=>{e&&e!==Ee&&Ua(e),ss(()=>ts())}),V(Ft,()=>ss(()=>ts())),V(es,()=>ss(()=>ts())),ln(()=>{Es()}),(e,t)=>{const r=Go,m=Hn,u=Na,T=cn,D=mn,y=qa,st=Ja,qe=Ba,me=vn,Se=pn,Lt=fn,B=on,Ut=gn,gt=hn,No=wn,Da=$n,Ma=Tn,Jo=Ho,Ia=Ha,Bo=ci;return o(),c(re,null,[d(Jo,{id:"translate"},{header:x(()=>[d(r)]),body:x(()=>[a("div",yi,[d(On,{title:e.$t("translate.title"),icon:s(yo)},{title:x(()=>[d(m,{modelValue:s(Fe),"onUpdate:modelValue":t[0]||(t[0]=l=>F(Fe)?Fe.value=l:null),items:s(ha)},null,8,["modelValue","items"]),a("p",xi,n(e.$t("translate.subtitle")),1)]),_:1},8,["title","icon"]),s(Z)?(o(),c("p",wi,[d(u,{name:"i-lucide-flask-conical",class:"w-3.5 h-3.5 text-primary shrink-0"}),a("span",null,[G(n(e.$t("translate.video.betaNotice"))+" ",1),a("a",ki,n(e.$t("translate.video.betaFeedbackLink")),1),t[53]||(t[53]=G(". ",-1))])])):p("",!0),a("div",$i,[a("div",Ti,[s(Pe)?(o(),c("div",Ci,[a("div",Si,[a("div",Ei,[d(u,{name:"i-lucide-pen-line",class:"w-3 h-3"}),a("div",null,[a("span",Vi,n(e.$t("translate.sourceText")),1)])])]),a("div",Fi,[d(T,{key:"input-editor",modelValue:s(ee),"onUpdate:modelValue":t[1]||(t[1]=l=>F(ee)?ee.value=l:null),placeholder:s(Ol),"show-toolbar":!0,"editor-class":"min-h-[200px]","enable-termbase":!0,"termbase-language":s(M)?.value||"en","glossary-ids":s(ie),"show-synonym-violations":s(xt),"show-matches-and-violations":s(zt),onTermsFound:po,onLanguageCoverage:wl},null,8,["modelValue","placeholder","termbase-language","glossary-ids","show-synonym-violations","show-matches-and-violations"])]),a("div",Li,[a("span",null,n(e.$t("translate.stats",{chars:s(bo),words:s(_o)})),1),s(Ms)?(o(),c("span",Ui,[d(u,{name:"i-lucide-loader-2",class:"w-3 h-3 animate-spin"}),G(" "+n(e.$t("translate.checkingTerminology")),1)])):p("",!0)])])):p("",!0),s(Pe)?(o(),c("div",Di,[a("div",Mi,[a("div",Ii,[d(u,{name:"i-lucide-globe",class:"w-3 h-3"}),a("span",Oi,n(e.$t("translate.translation")),1)]),a("div",Pi,[s(_).length>0?(o(),I(D,{key:0,modelValue:s(O),"onUpdate:modelValue":t[2]||(t[2]=l=>F(O)?O.value=l:null),variant:"pill",color:"primary",size:"sm",items:s(_).map(l=>({label:l.label,value:l.value}))},null,8,["modelValue","items"])):p("",!0)])]),a("div",zi,[a("div",Ai,[s(ea)?(o(),c("div",Ri,n(s(ea)),1)):s(Bt)||s(we)&&s(O)&&s(Ie)[s(O)]?(o(),c("div",ji,[d(T,{key:"output-editor",modelValue:s(oe),"onUpdate:modelValue":t[3]||(t[3]=l=>F(oe)?oe.value=l:null),placeholder:e.$t("translate.translationPlaceholder"),"show-toolbar":!1,"external-highlights":s(He),"editor-class":"min-h-[200px]"},null,8,["modelValue","placeholder","external-highlights"])])):(o(),c("div",qi,[a("div",Ni,[d(u,{name:"i-lucide-languages",class:"w-12 h-12 text-muted/30 mx-auto mb-3"}),a("p",Ji,n(e.$t("translate.enterText")),1)])]))]),d(Pa,{name:"fade"},{default:x(()=>[s(Me)&&!(s(we)&&s(O)&&s(Ie)[s(O)])||s(Ot)?(o(),c("div",Bi,[a("div",Hi,[t[54]||(t[54]=a("div",{class:"w-10 h-10 rounded-full border-2 border-primary border-t-transparent animate-spin mb-3 mx-auto"},null,-1)),a("p",Gi,n(s(Ot)?e.$t("translate.refining"):s(Pt)),1)])])):p("",!0)]),_:1})]),a("div",Wi,[a("div",Ki,[d(qe,{open:s(kt),"onUpdate:open":t[6]||(t[6]=l=>F(kt)?kt.value=l:null)},{content:x(()=>[a("div",Yi,[a("p",Qi,n(e.$t("translate.refinePrompt")),1),d(st,{modelValue:s(nt),"onUpdate:modelValue":t[4]||(t[4]=l=>F(nt)?nt.value=l:null),placeholder:e.$t("translate.refinePlaceholder"),rows:3,class:"w-full mb-3"},null,8,["modelValue","placeholder"]),a("div",Xi,[d(y,{label:e.$t("common.cancel"),variant:"ghost",size:"sm",onClick:t[5]||(t[5]=l=>kt.value=!1)},null,8,["label"]),d(y,{label:e.$t("translate.refine"),color:"primary",size:"sm",loading:s(Ot),onClick:vo},null,8,["label","loading"])])])]),default:x(()=>[d(y,{label:e.$t("translate.refine"),icon:"i-lucide-sparkles",variant:"ghost",color:"neutral",size:"sm",disabled:!s(Bt)||s(Ot)},null,8,["label","disabled"])]),_:1},8,["open"]),d(y,{label:s(ot)?e.$t("translate.copied"):e.$t("translate.copy"),icon:s(ot)?"i-lucide-check":"i-lucide-copy",variant:s(ot)?"solid":"ghost",color:s(ot)?"success":"neutral",size:"sm",disabled:!s(oe),onClick:Nl},null,8,["label","icon","variant","color","disabled"])])])])):p("",!0),s(Ge)?(o(),c("div",Zi,[a("div",er,[a("div",tr,[a("div",{class:Ue(["flex-1 relative border-2 border-dashed rounded-lg transition-all",[s(_t)?"border-primary/50 bg-primary/5 pointer-events-none":s(jt)?"border-primary bg-primary/5":"border-default/50 hover:border-primary/50 hover:bg-primary/5 bg-white cursor-pointer"]]),onDragover:Fl,onDragleave:Ll,onDrop:Ul,onClick:t[7]||(t[7]=()=>
26!s(_t)&&s(Hs)?.click())},[a("div",sr,[a("div",ar,[s(_t)?(o(),I(u,{key:0,name:"i-lucide-loader-2",class:"w-5 h-5 text-primary animate-spin"})):(o(),I(u,{key:1,name:"i-lucide-upload-cloud",class:"w-5 h-5 text-primary"}))]),a("div",lr,[a("p",or,n(s(_t)?e.$t("translate.uploading"):s(N).length>0?e.$t("translate.filesSelected",{count:s(N).length},s(N).length):e.$t("translate.dropFilesOrClick")),1),a("p",nr,n(s(_t)?e.$t("translate.uploadingWait"):e.$t("translate.supportedFormats")),1)])])],34),a("input",{ref_key:"fileInput",ref:Hs,type:"file",multiple:"",accept:".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.csv,.idml,.mif,.xliff,.xlf,.mqxliff,.sdlxliff,.zip,.srt,.vtt,.json,.xml,.html,.rtf,.po,.pot,.txt,.jpg,.jpeg,.png,.gif,.psd",class:"hidden",onChange:Dl},null,544),s(sa)&&!s(fs)?(o(),I(qe,{key:0,open:s(it),"onUpdate:open":t[10]||(t[10]=l=>F(it)?it.value=l:null)},{content:x(()=>[a("div",ir,[a("div",rr,[a("p",dr,n(e.$t("translate.smartExcelTitle")),1),d(me,{color:"success",variant:"subtle",size:"xs"},{default:x(()=>[G(n(e.$t("translate.new")),1)]),_:1})]),a("p",ur,n(e.$t("translate.excelDescription")),1),d(st,{modelValue:s(Ke),"onUpdate:modelValue":t[8]||(t[8]=l=>F(Ke)?Ke.value=l:null),rows:3,placeholder:e.$t("translate.excelPlaceholder"),class:"w-full mb-3"},null,8,["modelValue","placeholder"]),a("div",cr,[d(y,{label:e.$t("common.cancel"),variant:"ghost",size:"sm",onClick:t[9]||(t[9]=l=>it.value=!1)},null,8,["label"]),d(y,{label:e.$t("translate.translateExcel"),color:"primary",size:"sm",disabled:!s(Ke).trim(),loading:s(gs),onClick:Jl},null,8,["label","disabled","loading"])])])]),default:x(()=>[d(y,{label:e.$t("translate.smartExcel"),variant:"soft",color:"success",size:"md"},{leading:x(()=>[...t[55]||(t[55]=[a("img",{src:Wa,alt:"Excel",class:"w-5 h-5"},null,-1)])]),_:1},8,["label"])]),_:1},8,["open"])):p("",!0),s(na)&&!s(fs)?(o(),I(qe,{key:1,open:s(rt),"onUpdate:open":t[13]||(t[13]=l=>F(rt)?rt.value=l:null)},{content:x(()=>[a("div",mr,[a("div",vr,[a("p",pr,n(e.$t("translate.smartPptTitle")),1),d(me,{color:"error",variant:"subtle",size:"xs"},{default:x(()=>[G(n(e.$t("translate.new")),1)]),_:1})]),a("p",fr,n(e.$t("translate.pptDescription")),1),d(st,{modelValue:s(Qe),"onUpdate:modelValue":t[11]||(t[11]=l=>F(Qe)?Qe.value=l:null),rows:3,placeholder:e.$t("translate.pptPlaceholder"),class:"w-full mb-3"},null,8,["modelValue","placeholder"]),a("div",gr,[d(y,{label:e.$t("common.cancel"),variant:"ghost",size:"sm",onClick:t[12]||(t[12]=l=>rt.value=!1)},null,8,["label"]),d(y,{label:e.$t("translate.translatePpt"),color:"primary",size:"sm",disabled:!s(Qe).trim(),loading:s(hs),onClick:Gl},null,8,["label","disabled","loading"])])])]),default:x(()=>[d(y,{label:e.$t("translate.smartPpt"),variant:"soft",color:"error",size:"md"},{leading:x(()=>[...t[56]||(t[56]=[a("img",{src:Ka,alt:"PowerPoint",class:"w-5 h-5"},null,-1)])]),_:1},8,["label"])]),_:1},8,["open"])):p("",!0),s(da)&&!s(fs)?(o(),I(qe,{key:2,open:s(dt),"onUpdate:open":t[16]||(t[16]=l=>F(dt)?dt.value=l:null)},{content:x(()=>[a("div",hr,[a("div",_r,[a("p",br,n(e.$t("translate.smartDocxTitle")),1),d(me,{class:"bg-blue-500/10 text-blue-600 dark:text-blue-400",variant:"subtle",size:"xs"},{default:x(()=>[G(n(e.$t("translate.new")),1)]),_:1})]),a("p",yr,n(e.$t("translate.docxDescription")),1),d(st,{modelValue:s(Xe),"onUpdate:modelValue":t[14]||(t[14]=l=>F(Xe)?Xe.value=l:null),rows:3,placeholder:e.$t("translate.docxPlaceholder"),class:"w-full mb-3"},null,8,["modelValue","placeholder"]),a("div",xr,[d(y,{label:e.$t("common.cancel"),variant:"ghost",size:"sm",onClick:t[15]||(t[15]=l=>dt.value=!1)},null,8,["label"]),d(y,{label:e.$t("translate.translateDocx"),color:"primary",size:"sm",disabled:!s(Xe).trim(),loading:s(_s),onClick:Wl},null,8,["label","disabled","loading"])])])]),default:x(()=>[d(y,{label:e.$t("translate.smartDocx"),variant:"soft",class:"bg-blue-500/10 text-blue-600 hover:bg-blue-500/20 dark:text-blue-400 dark:bg-blue-500/15 dark:hover:bg-blue-500/25",size:"md"},{leading:x(()=>[...t[57]||(t[57]=[a("img",{src:Ya,alt:"Word",class:"w-5 h-5"},null,-1)])]),_:1},8,["label"])]),_:1},8,["open"])):p("",!0),a("div",wr,[d(y,{label:e.$t("translate.translateButton"),icon:"i-lucide-play",variant:"solid",color:"primary",disabled:s(N).length===0||s(_).length===0&&!s(Ye)||s(Is),loading:s(Is),onClick:Il},null,8,["label","disabled","loading"]),s(la)?(o(),c("span",kr,[d(u,{name:"i-lucide-triangle-alert",class:"w-3 h-3"}
26)])):p("",!0)])]),s(N).length>0?(o(),c("div",$r,[(o(!0),c(re,null,_e(s(N),(l,z)=>(o(),c("div",{key:z,class:"flex items-center gap-2 bg-elevated rounded-lg px-3 py-1.5 text-sm"},[l.file.type.includes("spreadsheet")||l.file.type.includes("excel")?(o(),c("img",Tr)):l.file.type.includes("presentation")||l.file.type.includes("powerpoint")?(o(),c("img",Cr)):l.file.type==="application/pdf"?(o(),c("img",Sr)):l.file.type.includes("msword")||l.file.type.includes("wordprocessingml")?(o(),c("img",Er)):(o(),I(u,{key:4,name:"i-lucide-file",class:"w-4 h-4 text-blue-500"})),a("span",Vr,n(l.file.name),1),a("span",Fr,n(s(za)(l.file.size)),1),a("button",{class:"text-muted hover:text-default transition-colors",onClick:he(Dt=>Ml(z),["stop"])},[d(u,{name:"i-lucide-x",class:"w-3 h-3"})],8,Lr)]))),128))])):p("",!0),s(la)?(o(),c("div",Ur,[d(u,{name:"i-lucide-triangle-alert",class:"w-3.5 h-3.5 shrink-0"}),a("span",null,n(e.$t("translate.pdfDisclaimer.warning")),1),d(qe,null,{content:x(()=>[a("div",Mr,[a("p",null,n(e.$t("translate.pdfDisclaimer.digitalOnly")),1),a("p",null,n(e.$t("translate.pdfDisclaimer.formattingLost")),1)])]),default:x(()=>[a("button",Dr,n(e.$t("translate.pdfDisclaimer.learnMore")),1)]),_:1})])):p("",!0),s(Bl)?(o(),c("div",Ir,[d(u,{name:"i-lucide-triangle-alert",class:"w-3.5 h-3.5 shrink-0"}),a("span",null,n(e.$t("translate.zipDisclaimer.warning")),1)])):p("",!0)]),a("div",Or,[a("div",Pr,[a("div",zr,[d(u,{name:"i-lucide-history",class:"w-4 h-4 text-primary"})]),a("span",Ar,n(e.$t("translate.recentTranslations")),1)]),d(y,{icon:"i-lucide-refresh-cw",variant:"ghost",color:"neutral",size:"xs",loading:s(Os),onClick:t[17]||(t[17]=l=>s(ke)(10))},null,8,["loading"])]),a("div",Rr,[s(Os)&&s(Oe).length===0?(o(),c("div",jr,[t[58]||(t[58]=a("div",{class:"w-8 h-8 rounded-full border-2 border-primary border-t-transparent animate-spin mb-3"},null,-1)),a("p",qr,n(e.$t("translate.loadingTranslations")),1)])):s(Ps)&&s(Oe).length===0?(o(),c("div",Nr,[a("div",Jr,[G(n(s(Ps))+" ",1),d(y,{label:e.$t("translate.retry"),variant:"link",size:"sm",class:"ml-2",onClick:t[18]||(t[18]=l=>s(ke)(10))},null,8,["label"])])])):s(Oe).length>0?(o(),c("div",Br,[(o(!0),c(re,null,_e(s(Oe),l=>(o(),c("div",{key:l.job_id,class:"p-4 hover:bg-elevated/50 transition-colors"},[a("div",Hr,[a("div",Gr,[d(Se,{text:ma(l),disabled:!ma(l)},{default:x(()=>[a("div",{class:Ue(["w-8 h-8 rounded-lg flex items-center justify-center shrink-0",va(l).bg])},[d(u,{name:Xl(l),class:Ue([va(l).icon,"w-4 h-4"])},null,8,["name","class"])],2)]),_:2},1032,["text","disabled"]),a("div",Wr,[a("p",Kr,n(l.source_files?.map(z=>lt(z)).join(", ")||e.$t("translate.fileTranslation")),1),a("div",Yr,[l.source_language&&l.target_languages?.length?(o(),c("span",Qr,n(l.source_language.toUpperCase())+" â "+n(l.target_languages.join(", ").toUpperCase()),1)):p("",!0),l.source_language&&l.target_languages?.length?(o(),c("span",Xr,"·")):p("",!0),a("span",null,n(Ys(l.created_at)),1),l.target_files?.length?(o(),c("span",Zr,[t[59]||(t[59]=a("span",null,"·",-1)),a("span",null,n(e.$t("translate.translatedFiles",{count:l.target_files.length},l.target_files.length)),1)])):p("",!0),l.status==="failed"?(o(),c("span",ed,[t[60]||(t[60]=a("span",null,"·",-1)),a("span",td,n(l.error||e.$t("translate.translationFailed")),1)])):p("",!0),l.status==="cancelled"?(o(),c("span",sd,[t[61]||(t[61]=a("span",null,"·",-1)),a("span",ad,n(e.$t("translate.jobCancelled")),1)])):p("",!0),Jt(ys(l.job_id)?.status)?(o(),c("span",ld,[t[62]||(t[62]=a("span",null,"·",-1)),a("span",null,n(e.$t("translate.postEditing.inProgress")),1)])):Gt(l)==="failed"?(o(),c("span",od,[t[63]||(t[63]=a("span",null,"·",-1)),a("span",null,n(e.$t("translate.postEditing.failed")),1)])):p("",!0)])])]),a("div",nd,[Yl(l)?(o(),I(y,{key:0,icon:"i-lucide-user-pen",variant:"ghost",color:"primary",size:"xs",title:e.$t("translate.postEditing.button"),"aria-label":e.$t("translate.postEditing.button"),onClick:he(z=>Ql(l),["stop"])},null,8,["title","aria-label","onClick"])):p("",!0),l.status==="completed"?(o(),I(y,{key:1,icon:"i-lucide-download",variant:"ghost",color:"primary",size:"xs",onClick:he(z=>bs(l),["stop"])},null,8,["onClick"])):p("",!0),l.status==="running"||l.status==="pending"||l.status==="queued"?(o(),I(y,{key:2,icon:"i-lucide-x",variant:"ghost",color:"neutral",size:"xs",loading:s(Nt)===l.job_id,onClick:he(z=>Gs(l.job_id),["stop"])},null,8,["loading","onClick"])):p("",!0)])])]))),128))])):(o(),c("div",id,[a("div",rd,[d(u,{name:"i-lucide-file-clock",class:"w-6 h-6 text-muted/50"})]),a("h3",dd,n(e.$t("translate.noRecentTranslations")),1),a("p",ud,n(e.$t("translate.noRecentTranslationsDesc")),1
26)]))])])):p("",!0),s(Z)&&!s(Ca)?(o(),c("div",cd,[a("div",md,[d(D,{modelValue:s(ut),"onUpdate:modelValue":t[19]||(t[19]=l=>F(ut)?ut.value=l:null),items:s(xo),size:"sm",class:"shrink-0"},null,8,["modelValue","items"]),a("div",vd,[a("p",pd,n(s(wo)),1)])]),a("div",fd,[a("input",{ref_key:"videoFileInput",ref:$s,type:"file",accept:".mp4,.mov,.webm,.mkv,.avi,.m4v,video/mp4,video/quicktime,video/webm,video/x-matroska,video/x-msvideo",class:"hidden",onChange:Eo},null,544),s(ge)==="file"&&!s(ue)?(o(),c("div",{key:0,class:Ue(["rounded-lg border border-2 bg-white border-dashed p-6 text-center transition-colors cursor-pointer",s(St)?"border-primary bg-primary/5":"border-default/50 hover:border-primary/50 hover:bg-primary/5"]),onClick:t[20]||(t[20]=()=>s($s)?.click()),onDragenter:t[21]||(t[21]=he(l=>St.value=!0,["prevent"])),onDragover:t[22]||(t[22]=he(l=>St.value=!0,["prevent"])),onDragleave:t[23]||(t[23]=he(l=>St.value=!1,["prevent"])),onDrop:he(Vo,["prevent"])},[d(u,{name:"i-lucide-video",class:"size-6 text-muted mx-auto mb-2"}),a("p",gd,n(e.$t("home.video.uploadCta")),1),a("p",hd,n(e.$t("home.video.uploadHint")),1)],34)):s(ge)==="file"&&s(ue)?(o(),c("div",_d,[s(_a)?(o(),c("video",{key:0,src:s(_a),controls:"",preload:"metadata",class:"w-full max-h-96 bg-black"},null,8,bd)):p("",!0),a("div",yd,[d(u,{name:"i-lucide-check-circle",class:"size-4 text-success shrink-0"}),a("div",xd,[a("p",wd,n(s(ue).name),1),a("p",kd,n(s(za)(s(ue).size)),1)]),d(y,{icon:"i-lucide-refresh-cw",variant:"ghost",color:"neutral",size:"xs",title:e.$t("home.video.uploadCta"),onClick:t[24]||(t[24]=()=>s($s)?.click())},null,8,["title"]),d(y,{icon:"i-lucide-x",variant:"ghost",color:"neutral",size:"xs",onClick:t[25]||(t[25]=l=>ue.value=null)})])])):(o(),I(Lt,{key:2,modelValue:s(vt),"onUpdate:modelValue":t[26]||(t[26]=l=>F(vt)?vt.value=l:null),placeholder:e.$t("home.video.urlLabel"),type:"url",icon:"i-lucide-link",class:"w-full"},null,8,["modelValue","placeholder"]))]),a("div",$d,[a("div",Td,[a("button",{type:"button",class:"text-xs text-muted hover:text-primary transition-colors inline-flex items-center gap-1",onClick:t[27]||
26(t[27]=l=>ge.value=s(ge)==="file"?"url":"file")},[d(u,{name:s(ge)==="file"?"i-lucide-link":"i-lucide-upload",class:"size-3.5"},null,8,["name"]),a("span",null,n(s(ge)==="file"?e.$t("home.video.useUrl"):e.$t("home.video.useUpload")),1)]),a("div",Cd,[s(ge)==="file"&&s(pl)?(o(),c("div",Sd,[d(u,{name:"i-lucide-loader-2",class:"size-3.5 animate-spin shrink-0"}),a("span",Ed,n(e.$t("home.video.uploading")),1),d(B,{"model-value":s(ns),max:100,size:"sm",class:"w-32 shrink-0"},null,8,["model-value"]),a("span",Vd,n(s(ns))+"%",1),s(Rs)&&s(ns)<100?(o(),c("span",Fd,"· "+n(s(Rs)),1)):p("",!0)])):s(ge)==="file"&&s(ct)?(o(),c("span",Ld,[d(u,{name:"i-lucide-check-circle",class:"size-3.5"}),G(" "+n(e.$t("home.video.uploaded")),1)])):p("",!0),d(y,{label:s(ko),color:"primary",size:"sm",icon:"i-lucide-arrow-up",loading:s(As),disabled:!s(ya),onClick:Fo},null,8,["label","loading","disabled"])])]),s(os)?(o(),c("p",Ud,n(s(os)),1)):p("",!0)])])):s(Z)&&s(Ca)&&s(Ce)?(o(),c("div",Dd,[a("div",Md,[d(y,{label:e.$t("translate.video.viewer.back"),icon:"i-lucide-arrow-left",variant:"ghost",color:"neutral",size:"sm",onClick:jo},null,8,["label"]),a("div",Id,[d(me,{color:"primary",variant:"subtle",size:"xs",class:"capitalize"},{default:x(()=>[G(n(ka(s(Ce).job_type)),1)]),_:1})])]),a("div",Od,[a("div",Pd,[s(Ft)?(o(),c("video",{ref_key:"viewerVideoEl",ref:Ta,key:s(Ft),src:s(Ft),controls:"",preload:"metadata",class:"w-full max-h-96 bg-black",onError:qo,onLoadedmetadata:ts},[s(es)?(o(),c("track",{key:0,default:"",kind:"subtitles",srclang:s(ce),src:s(es)},null,8,Ad)):p("",!0)],40,zd)):(o(),c("div",Rd,[a("div",jd,[s(Ss)?(o(),I(u,{key:0,name:"i-lucide-loader-2",class:"size-8 text-muted animate-spin mx-auto mb-2"})):(o(),I(u,{key:1,name:"i-lucide-video",class:"size-8 text-muted/50 mx-auto mb-2"})),a("p",qd,n(s(Ss)?e.$t("translate.video.viewer.loading"):e.$t("translate.video.viewer.unavailable")),1)])])),s(Ss)&&s(Ft)?(o(),c("div",Nd,[d(u,{name:"i-lucide-loader-2",class:"size-8 text-white animate-spin"})])):p("",!0)]),s(Vt)?(o(),c("p",Jd,n(s(Vt)),1)):p("",!0),s(Oo)?(o(),c("p",Bd,[d(u,{name:"i-lucide-loader-2",class:"size-3 animate-spin"}),G(" "+n(e.$t("translate.video.viewer.loadingCaptions")),1)])):p("",!0)]),a("div",Hd,[a("div",Gd,[d(u,{name:"i-lucide-volume-2",class:"size-4 text-muted"}),a("span",Wd,n(e.$t("translate.video.viewer.audio")),1),d(Ut,{modelValue:s(Le),"onUpdate:modelValue":t[28]||(t[28]=l=>F(Le)?Le.value=l:null),items:s(Do),size:"sm",class:"min-w-32"},null,8,["modelValue","items"])]),s(Fa).length>1?(o(),c("div",Kd,[d(u,{name:"i-lucide-captions",class:"size-4 text-muted"}),a("span",Yd,n(e.$t("translate.video.viewer.subtitles")),1),d(Ut,{modelValue:s(ce),"onUpdate:modelValue":t[29]||(t[29]=l=>F(ce)?ce.value=l:null),items:s(Fa),size:"sm",class:"min-w-28"},null,8,["modelValue","items"])])):p("",!0),a("div",Qd,[d(y,{icon:"i-lucide-download",variant:"ghost",color:"primary",size:"sm",onClick:t[30]||(t[30]=l=>bs(s(Ce)))})])])])):p("",!0),s(Z)?(o(),c("div",Xd,[a("div",Zd,[a("div",eu,[a("div",tu,[d(u,{name:"i-lucide-history",class:"w-4 h-4 text-primary"})]),a("span",su,n(e.$t("translate.recentTranslations")),1)]),d(y,{icon:"i-lucide-refresh-cw",variant:"ghost",color:"neutral",size:"xs",loading:s(js),onClick:t[31]||(t[31]=l=>s(Je)(10))},null,8,["loading"])]),a("div",au,[s(js)&&s(Ne).length===0?(o(),c("div",lu,[t[64]||(t[64]=a("div",{class:"w-8 h-8 rounded-full border-2 border-primary border-t-transparent animate-spin mb-3"},null,-1)),a("p",ou,n(e.$t("translate.loadingTranslations")),1)])):s(qs)&&s(Ne).length===0?(o(),c("div",nu,[G(n(s(qs))+" ",1),d(y,{label:e.$t("translate.retry"),variant:"link",size:"sm",class:"ml-2",onClick:t[32]||(t[32]=l=>s(Je)(10))},null,8,["label"])])):s(Ne).length>0?(o(),c("div",iu,[(o(!0),c(re,null,_e(s(Ne),l=>(o(),c("div",{key:l.job_id,class:"p-4 hover:bg-elevated/50 transition-colors"},[a("div",ru,[a("div",du,[a("div",{class:Ue(["w-8 h-8 rounded-lg flex items-center justify-center shrink-0",{"bg-emerald-500/10":l.status==="completed","bg-red-500/10":l.status==="failed","bg-muted/10":l.status==="cancelled","bg-primary/10":l.status==="running","bg-amber-500/10":l.status==="pending"||l.status==="queued"}])},[d(u,{name:Qs(l.status),class:Ue([{"text-emerald-500":l.status==="completed","text-red-500":l.status==="failed","text-muted":l.status==="cancelled","text-primary animate-spin":l.status==="running","text-amber-500":l.status==="pending"||l.status==="queued"},"w-4 h-4"])},null,8,["name","class"])],2),a("div",uu,[a("p",cu,n(l.project_identifier||l.source_files?.map(z=>lt(z)).join(", ")||e.$t("translate.modes.video")),1),a("div",mu,[l.source_language?(o(),c("span",vu,n(l.source_language?.toUpperCase())+" â "+n(l.target_languages?.join(", ").toUpperCase()),1)):p("",!0),l.source_language?(o(),c("span",pu,"·")):p("",!0),a("span",null,n(Ys(l.created_at)),1),l.job_type?(o(),c("span",fu,"·")):p("",!0),l.job_type?(o(),I(me,{key:3,color:"neutral",variant:"subtle",size:"xs",class:"capitalize"},{default:x(()=>[G(n(ka(l.job_type)),1)]),_:2},1024)):p("",!0)])])]),a("div",gu,[Po(l)?(o(),I(y,{key:0,icon:"i-lucide-play",variant:"ghost",color:"primary",size:"xs",onClick:he(z=>Ro(l),["stop"])},null,8,["onClick"])):p("",!0),d(y,{icon:"i-lucide-download",variant:"ghost",color:"primary",size:"xs",onClick:he(z=>bs(l),["stop"])},null,8,["onClick"]),["running","pending","queued"].includes((l.status||"").toLowerCase())?(o(),I(y,{key:1,icon:"i-lucide-x",variant:"ghost",color:"neutral",size:"xs",loading:s(Nt)===l.job_id,onClick:he(z=>Gs(l.job_id),["stop"])},null,8,["loading","onClick"])):p("",!0)])])]))),128))])):(o(),c("div",hu,[a("div",_u,[d(u,{name:"i-lucide-video",class:"w-6 h-6 text-muted/50"})]),a("h3",bu,n(e.$t("translate.noRecentTranslations")),1),a("p",yu,n(e.$t("translate.noRecentTranslationsDesc")),1
26)]))])])):p("",!0)]),a("div",xu,[a("div",wu,[a("div",ku,[d(u,{name:"i-lucide-globe-2",class:"w-4 h-4"}),a("span",$u,n(e.$t("translate.sidebar.languages")),1)]),a("div",Tu,[a("div",null,[a("label",Cu,n(e.$t("translate.sidebar.sourceLanguage")),1),s(Z)?(o(),I(gt,{key:0,modelValue:s(Re),"onUpdate:modelValue":t[33]||(t[33]=l=>F(Re)?Re.value=l:null),items:s(pe),placeholder:e.$t("translate.sidebar.selectSource"),class:"w-full"},null,8,["modelValue","items","placeholder"])):(o(),I(gt,{key:1,modelValue:s(M),"onUpdate:modelValue":[t[34]||(t[34]=l=>F(M)?M.value=l:null),zl],items:s(U),placeholder:e.$t("translate.sidebar.selectSource"),class:"w-full",ui:s(xn),disabled:s(Ge)&&s(Ye)},null,8,["modelValue","items","placeholder","ui","disabled"]))]),s(Z)?p("",!0):(o(),c("div",Su,[d(Se,{text:s(jl)},{default:x(()=>[a("span",null,[d(y,{icon:"i-lucide-arrow-up-down",color:"neutral",variant:"ghost",size:"xs","aria-label":e.$t("common.swapLanguages"),disabled:!s(W)||s(Ge)&&s(Ye),onClick:Rl},null,8,["aria-label","disabled"])])]),_:1},8,["text"])])),s(Z)?(o(),c("div",Eu,[a("label",Vu,n(e.$t("home.video.targetLanguage")),1),d(gt,{modelValue:s(je),"onUpdate:modelValue":t[35]||(t[35]=l=>F(je)?je.value=l:null),items:s(ba),placeholder:e.$t("translate.sidebar.selectTargets"),class:"w-full"},null,8,["modelValue","items","placeholder"])])):(o(),I(No,{key:2,"allow-single":s(Pe),disabled:s(Ge)&&s(Ye)},null,8,["allow-single","disabled"])),s(Ge)&&s(Ye)?(o(),c("div",Fu,[d(u,{name:"i-lucide-info",class:"w-3.5 h-3.5 shrink-0 mt-0.5"}),a("span",null,n(e.$t("translate.languagesInferredFromFiles")),1)])):p("",!0)])]),s(Pe)?(o(),c("div",Lu,[a("div",Uu,[d(u,{name:"i-lucide-book-a",class:"w-4 h-4"}),a("span",Du,n(e.$t("translate.sidebar.terminology")),1),s(Ms)?(o(),c("span",Mu,[d(u,{name:"i-lucide-loader-2",class:"w-3 h-3 animate-spin text-muted"})])):p("",!0)]),s(ws).length>0?(o(),c("div",Iu,[(o(!0),c(re,null,_e(s(ws),l=>(o(),c("div",{key:l.key,class:"flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400"},[d(u,{name:"i-lucide-triangle-alert",class:"w-3.5 h-3.5 shrink-0 mt-0.5"}),a("div",null,[a("p",null,n(e.$t("translate.sidebar.glossaryNoTermsForLanguage",{glossary:l.glossaryName,language:l.languageName})),1),l.availableLanguages?(o(),c("p",Ou,n(e.$t("translate.sidebar.glossaryAvailableLanguages",{languages:l.availableLanguages})),1)):p("",!0),l.unknownLanguages?(o(),c("p",Pu,n(e.$t("translate.sidebar.glossaryUnknownLanguageCodes",{codes:l.unknownLanguages})),1)):p("",!0)])]))),128))])):p("",!0),s(at).length===0&&s(ws).length===0?(o(),c("div",zu,[d(u,{name:"i-lucide-search",class:"w-8 h-8 text-muted/30 mx-auto mb-2"}),a("p",Au,n(e.$t("translate.sidebar.noTerms")),1)])):s(at).length>0?(o(),c("div",Ru,[(o(!0),c(re,null,_e(s(at),(l,z)=>(o(),c("div",{key:z,class:"p-2 rounded-lg bg-elevated hover:bg-elevated/80 transition-colors"},[a("div",ju,[a("div",null,[a("p",{class:Ue(["text-sm font-medium",l.is_forbidden_term&&!l.is_synonym_violation?"text-error line-through":""])},n(l.term),3),l.alternative?(o(),c("p",qu," â "+n(l.alternative),1)):p("",!0),l.description?(o(),c("p",Nu,n(l.description),1)):p("",!0)]),d(me,{color:pa(l).color,variant:"subtle",size:"xs"},{default:x(()=>[G(n(pa(l).label),1)]),_:2},1032,["color"])])]))),128))])):p("",!0)])):p("",!0),a("div",Ju,[a("button",{class:"w-full px-5 py-3 flex items-center justify-between hover:bg-elevated transition-colors",onClick:t[36]||(t[36]=l=>k.value=!s(k))},[a("div",Bu,[d(u,{name:"i-lucide-settings-2",class:"w-4 h-4"}),a("span",Hu,n(e.$t("translate.sidebar.advanced")),1)]),d(u,{name:s(k)?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"w-4 h-4 text-muted transition-transform"},null,8,["name"])]),d(Pa,{name:"collapse"},{default:x(()=>[nn(a("div",Gu,[a("div",null,[a("div",Wu,[a("label",Ku,n(e.$t("translate.sidebar.glossary")),1),s(xe)?(o(),I(Se,{key:0,text:e.$t("translate.sidebar.defaultGlossaryHelp",{name:s(Ve)})},{default:x(()=>[a("span",Yu,[d(u,{name:"i-lucide-check-circle",class:"w-3.5 h-3.5 text-primary shrink-0"}),G(" "+n(e.$t("translate.sidebar.defaultGlossary")),1)])]),_:1},8,["text"])):p("",!0)]),d(gt,{modelValue:s(b),"onUpdate:modelValue":t[37]||(t[37]=l=>F(b)?b.value=l:null),items:s(X),placeholder:e.$t("translate.sidebar.selectGlossary"),multiple:"",class:"w-full"},{"item-label":x(({item:l})=>[a("span",Qu,[a("span",Xu,n(l.label),1),ae(l)?(o(),I(u,{key:0,name:"i-lucide-check-circle",class:"w-3.5 h-3.5 text-primary shrink-0"})):p("",!0)])]),_:1},8,["modelValue","items","placeholder"])]),s(Pe)?(o(),c("div",Zu,[a("label",ec,[d(Da,{modelValue:s(zt),"onUpdate:modelValue":t[38]||(t[38]=l=>F(zt)?zt.value=l:null),size:"sm"},null,8,["modelValue"]),G(" "+n(e.$t("translate.sidebar.showMatchesAndViolations")),1)]),a("label",{class:Ue(["flex items-center gap-2 text-xs cursor-pointer",s(Kt)?"text-muted/40 cursor-not-allowed":"text-muted"])},[d(Da,{modelValue:s(xt),"onUpdate:modelValue":t[39]||(t[39]=l=>F(xt)?xt.value=l:null),size:"sm",disabled:s(Kt)},null,8,["modelValue","disabled"]),G(" "+n(e.$t("translate.sidebar.showSynonymViolations")),1)],2),s(Kt)?(o(),c("p",tc,n(e.$t("translate.sidebar.showSynonymViolationsDisabledHint")),1)):p("",!0)])):p("",!0),s(Z)?(o(),c("div",sc,[a("label",ac,n(e.$t("translate.sidebar.video.ttsVolume")),1),d(Ut,{modelValue:s(Yt),"onUpdate:modelValue":t[40]||(t[40]=l=>F(Yt)?Yt.value=l:null),items:s($o),class:"w-full"},null,8,["modelValue","items"])])):p("",!0),s(Z)&&Ra?(o(),c("div",lc,[a("label",oc,n(e.$t("translate.sidebar.video.soundalikeVoices")),1),d(Ma,{modelValue:s(Qt),"onUpdate:modelValue":t[41]||(t[41]=l=>F(Qt)?Qt.value=l:null)},null,8,["modelValue"])])):p("",!0),s(Z)&&Ra?(o(),c("div",nc,[a("div",ic,[a("label",rc,n(e.$t("translate.sidebar.video.emotionalTransfer")),1),s(Xt)?p("",!0):(o(),c("p",dc,n(e.$t("translate.sidebar.video.emotionalTransferUnsupported")),1))]),d(Ma,{modelValue:s(Et),"onUpdate:modelValue":t[42]||(t[42]=l=>F(Et)?Et.value=l:null),disabled:!s(Xt),class:"shrink-0 mt-0.5"},null,8,["modelValue","disabled"])])):p("",!0),s(Z)?p("",!0):(o(),c("div",uc,[a("div",cc,[a("label",mc,n(e.$t("translate.sidebar.contextStore")),1),s(P)?(o(),I(Se,{key:0,text:e.$t("translate.sidebar.defaultContextStoreHelp",{name:s(Y)})},{default:x(()=>[a("span",vc,[d(u,{name:"i-lucide-check-circle",class:"w-3.5 h-3.5 text-primary shrink-0"}),G(" "+n(e.$t("translate.sidebar.defaultContextStore")),1)])]),_:1},8,["text"])):p("",!0)]),d(gt,{modelValue:s(te),"onUpdate:modelValue":t[43]||(t[43]=l=>F(te)?te.value=l:null),items:s(S),placeholder:e.$t("translate.sidebar.selectContext"),multiple:"",class:"w-full"},{default:x(({modelValue:l})=>[(Array.isArray(l)?l.length:l)?(o(),c("span",pc,[(o(!0),c(re,null,_e(Array.isArray(l)?l:[l],(z,Dt)=>(o(),c(re,{key:z?.value??Dt},[Dt>0?(o(),c("span",fc,",")):p("",!0),a("span",gc,[a("span",hc,n(z?.label),1),s(P)&&se(z)?(o(),I(u,{key:0,name:"i-lucide-check-circle",class:"w-3.5 h-3.5 text-primary shrink-0"})):p("",!0)])],64))),128))])):(o(),c("span",_c,n(e.$t("translate.sidebar.selectContext")),1))]),"item-label":x(({item:l})=>[a("span",bc,[a("span",yc,n(l.label),1),se(l)?(o(),I(u,{key:0,name:"i-lucide-check-circle",class:"w-3.5 h-3.5 text-primary shrink-0"})):p("",!0)])]),_:1},8,["modelValue","items","placeholder"])])),s(Z)?p("",!0):(o(),c("div",xc,[a("label",wc,n(e.$t("translate.sidebar.formality")),1),d(gt,{modelValue:s(h),"onUpdate:modelValue":t[44]||(t[44]=l=>F(h)?h.value=l:null),items:s(R),class:"w-full"},null,8,["modelValue","items"])])),s(Z)?p("",!0):(o(),c("div",kc,[a("label",$c,n(e.$t("translate.sidebar.domain")),1
26),d(Lt,{modelValue:s(E),"onUpdate:modelValue":t[45]||(t[45]=l=>F(E)?E.value=l:null),placeholder:e.$t("translate.sidebar.domainPlaceholder"),class:"w-full"},null,8,["modelValue","placeholder"])])),s(Z)?p("",!0):(o(),c("div",Tc,[a("label",Cc,n(e.$t("translate.sidebar.instructions")),1),d(st,{modelValue:s(L),"onUpdate:modelValue":t[46]||(t[46]=l=>F(L)?L.value=l:null),rows:3,placeholder:e.$t("translate.sidebar.instructionsPlaceholder"),class:"w-full"},null,8,["modelValue","placeholder"])]))],512),[[rn,s(k)]])]),_:1})]),a("div",Sc,[a("div",Ec,[a("div",Vc,[d(u,{name:"i-lucide-lightbulb",class:"w-4 h-4 text-primary"})]),a("div",null,[a("h4",Fc,n(e.$t("translate.proTip")),1),a("p",Lc,n(e.$t("translate.proTipText")),1),d(y,{variant:"link",color:"primary",size:"xs",class:"mt-2 -ml-2",to:"/glossaries"},{default:x(()=>[G(n(e.$t("translate.manageGlossaries"))+" ",1),d(u,{name:"i-lucide-arrow-right",class:"w-3 h-3 ml-1"})]),_:1})])])])])])])]),_:1}),d(Ia,{open:s(Te),"onUpdate:open":t[47]||(t[47]=l=>F(Te)?Te.value=l:null),dismissible:!0,title:e.$t("translate.errorModal.title"),description:e.$t("translate.errorModal.description")},{content:x(()=>[a("div",Uc,[a("div",Dc,[a("div",Mc,[d(u,{name:"i-lucide-alert-triangle",class:"w-8 h-8 text-red-500"})])]),a("h2",Ic,n(e.$t("translate.errorModal.title")),1),a("p",Oc,n(e.$t("translate.errorModal.descriptionExtended")),1),a("div",Pc,[a("div",zc,[d(u,{name:"i-lucide-code",class:"w-4 h-4 text-red-500 mt-0.5 shrink-0"}),a("code",Ac,n(s(Ae)),1)])]),a("div",Rc,[d(y,{label:e.$t("translate.errorModal.createSupportTicket"),icon:"i-lucide-mail",color:"primary",variant:"solid",size:"lg",block:"",onClick:co},null,8,["label"]),d(y,{label:e.$t("translate.errorModal.tryAgain"),icon:"i-lucide-refresh-cw",color:"neutral",variant:"outline",size:"lg",block:"",onClick:mo},null,8,["label"])])])]),_:1},8,["open","title","description"]),d(Bo,{open:s(Ht),"onUpdate:open":t[48]||(t[48]=l=>F(Ht)?Ht.value=l:null),job:s(ca),onOrdered:Zl},null,8,["open","job"]),d(Ia,{open:s($t),"onUpdate:open":t[52]||(t[52]=l=>F($t)?$t.value=l:null),dismissible:!0,title:e.$t("translate.downloadModal.title"),description:e.$t("translate.downloadModal.description")},{content:x(()=>[a("div",jc,[a("div",qc,[a("div",Nc,[d(u,{name:"i-lucide-download",class:"w-5 h-5 text-primary"})]),a("div",null,[a("h2",Jc,n(e.$t("translate.downloadModal.title")),1),a("p",Bc,n(e.$t("translate.downloadModal.description")),1)])]),s(Q)?(o(),c("div",Hc,[a("div",Gc,[a("div",Wc,[a("div",Kc,[a("div",Yc,[d(u,{name:"i-lucide-file-input",class:"w-4 h-4 text-blue-500"}),a("span",Qc,n(e.$t("translate.downloadModal.sourceFiles")),1),d(me,{color:"neutral",variant:"subtle",size:"xs"},{default:x(()=>[G(n(s(Q).source_files?.length||0),1)]),_:1})]),s(Q).source_files?.length?(o(),I(y,{key:0,icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"xs",loading:s(ne),onClick:t[49]||(t[49]=l=>no(s(Q)))},null,8,["loading"])):p("",!0)])]),a("div",Xc,[(o(!0),c(re,null,_e(s(Q).source_files,(l,z)=>(o(),c("div",{key:"source-"+z,class:"flex items-center justify-between px-4 py-2.5 hover:bg-elevated/30 transition-colors"},[a("div",Zc,[d(u,{name:"i-lucide-file",class:"w-4 h-4 text-muted shrink-0"}),a("span",em,n(lt(l)),1)]),d(y,{icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"xs",loading:s(Ze).has(l),onClick:Dt=>lo(l)},null,8,["loading","onClick"])]))),128)),s(Q).source_files?.length?p("",!0):(o(),c("div",tm,n(e.$t("translate.downloadModal.noSourceFiles")),1))])]),a("div",sm,[a("div",am,[a("div",lm,[a("div",om,[d(u,{name:"i-lucide-file-output",class:"w-4 h-4 text-emerald-500"}),a("span",nm,n(e.$t("translate.downloadModal.translatedFiles")),1),d(me,{color:"neutral",variant:"subtle",size:"xs"},{default:x(()=>[G(n(s(Q).target_files?.length||0),1)]),_:1})]),s(Q).target_files?.length?(o(),I(y,{key:0,icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"xs",loading:s(ne),onClick:t[50]||(t[50]=l=>ro(s(Q)))},null,8,["loading"])):p("",!0)])]),s(Q).target_files?.length?(o(),c("div",im,[(o(!0),c(re,null,_e(eo(s(Q)),l=>(o(),c("div",{key:l,class:"border-b border-default/50 last:border-b-0"},[a("div",rm,[a("div",dm,[d(u,{name:"i-lucide-languages",class:"w-3.5 h-3.5 text-muted"}),a("span",um,n(l),1),d(me,{color:"neutral",variant:"subtle",size:"xs"},{default:x(()=>[G(n(Wt(s(Q),l).length),1)]),_:2},1024)]),Wt(s(Q),l).length>1?(o(),I(y,{key:0,icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"xs",loading:s(ne),onClick:z=>io(s(Q),l)},null,8,["loading","onClick"])):p("",!0)]),a("div",cm,[(o(!0),c(re,null,_e(Wt(s(Q),l),z=>(o(),c("div",{key:z.key,class:"flex items-center justify-between px-4 py-2.5 hover:bg-elevated/30 transition-colors"},[a("div",mm,[d(u,{name:"i-lucide-file-check",class:"w-4 h-4 text-emerald-500 shrink-0"}),a("span",vm,n(Ct(z.key)),1)]),d(y,{icon:"i-lucide-download",variant:"ghost",color:"neutral",size:"xs",loading:s(Ze).has(z.key),onClick:Dt=>oo(z.key)},null,8,["loading","onClick"])]))),128))])]))),128))])):(o(),c("div",pm,n(e.$t("translate.downloadModal.noTranslatedFiles")),1))])])):p("",!0),a("div",fm,[d(y,{label:e.$t("translate.downloadModal.close"),variant:"outline",color:"neutral",disabled:s(ne),onClick:Tt},null,8,["label","disabled"]),s(Q)?(o(),I(y,{key:0,label:e.$t("translate.downloadModal.downloadAll"),icon:"i-lucide-download",variant:"solid",color:"primary",loading:s(ne),onClick:t[51]||(t[51]=l=>uo(s(Q)))},null,8,["label","loading"])):p("",!0)])])]),_:1},8,["open","title","description"])],64)}}}),pv=ja(bm,[["__scopeId","data-v-452a33c3"]]);export{pv as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.