PageSourceSearch

https://fenly.me/_next/static/chunks/400ae8d216349f64.js

js fenly.me collected 2026-10-02 02:00:25 UTC 51,326 bytes, 14 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15466,e=>{"use strict";let t=(0,e.i(25830).default)("chromium",[["path",{d:"M10.88 21.94 15.46 14",key:"xkve6t"}],["path",{d:"M21.17 8H12",key:"19dcdn"}],["path",{d:"M3.95 6.06 8.54 14",key:"g8jz9m"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);e.s(["Chrome",()=>t],15466)},42633,e=>{"use strict";var t=e.i(39376),a=e.i(39480),i=e.i(94267),n=e.i(15466),s=e.i(68833),l=e.i(46388),r=e.i(60204),o=e.i(54539),c=e.i(14175),d=e.i(75049);let x={hidden:{opacity:0,y:30},visible:e=>({opacity:1,y:0,transition:{duration:.6,delay:.12*e,ease:[.16,1,.3,1]}})},m=[{icon:s.Globe,text:"107 languages"},{icon:l.Zap,text:"Real-time translation"},{icon:o.Captions,text:"YouTube subtitles"},{icon:r.MessageSquare,text:"Works everywhere"}];function u(){return(0,t.jsx)("section",{className:"relative flex min-h-[calc(100vh-4rem)] items-center justify-center overflow-hidden pt-24 pb-0 lg:pt-28 lg:pb-0 xl:pt-28 xl:pb-0",children:(0,t.jsx)("div",{className:"relative z-10 max-w-6xl 2xl:max-w-7xl mx-auto w-full flex flex-col items-center text-center px-6 md:px-5",children:(0,t.jsxs)(a.motion.div,{initial:"hidden",animate:"visible",className:"w-full flex flex-col items-center",children:[(0,t.jsx)(a.motion.div,{custom:0,variants:x,className:"flex flex-wrap items-center justify-center gap-3 mb-8",children:m.map(e=>(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-lg border border-border-subtle bg-bg-panel/50 backdrop-blur-sm px-3.5 py-2 text-[12px] font-medium text-text-muted tracking-wide",children:[(0,t.jsx)(e.icon,{className:"h-3.5 w-3.5","aria-hidden":"true"}),e.text]},e.text))}),(0,t.jsxs)("h1",{className:"text-[clamp(2rem,4.5vw,3.5rem)] font-bold tracking-[-0.03em] text-text-main leading-[1.1] mb-8 max-w-none",children:["AI Browser Translation Extension",(0,t.jsx)("br",{}),(0,t.jsx)("span",{className:"text-text-muted",children:"for Chats, Emails & Any Page."})]}),(0,t.jsx)("p",{className:"text-text-muted text-lg xl:text-xl max-w-xl leading-relaxed mb-10",children:"Type, read, and chat in any language - and watch YouTube with live subtitles in any language - directly inside your browser. No copy-paste, no extra tabs, and your words are understood everywhere."}),(0,t.jsxs)(a.motion.div,{custom:3,variants:x,className:"flex items-center justify-center gap-4 flex-wrap mb-12",children:[(0,t.jsxs)("a",{href:d.LATEST_RELEASE.chromeUrl,target:"_blank",rel:"noopener noreferrer",onClick:()=>{(0,c.track)("cta_clicked",{button_text:"Get Fenly Free",location:"hero",destination:"chrome_web_store"}),(0,c.track)("extension_install_clicked",{location:"hero"})},className:"group inline-flex items-center gap-2.5 px-7 py-3.5 rounded-xl text-[15px] font-semibold bg-text-main text-bg-base hover:opacity-90 transition-all duration-200",children:[(0,t.jsx)(n.Chrome,{className:"h-[18px] w-[18px]","aria-hidden":"true"}),"Get Fenly - Free",(0,t.jsx)(i.ArrowRight,{className:"h-4 w-4 transition-transform group-hover:translate-x-1","aria-hidden":"true"})]}),(0,t.jsx)("a",{href:"/#demo",className:"inline-flex items-center gap-2 px-7 py-3.5 rounded-xl text-[15px] font-medium text-text-muted border border-border-subtle hover:text-text-main hover:border-text-muted/30 transition-all duration-200",children:"See how it works"})]})]})})})}e.s(["default",()=>u])},1095,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let i=e.r(20300);function n(e){let{reason:t,children:a}=e;if("u"<typeof window)throw Object.defineProperty(new i.BailoutToCSRError(t),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}},8385,(e,t,a)=>{"use strict";function i(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"encodeURIPath",{enumerable:!0,get:function(){return i}})},30665,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"PreloadChunks",{enumerable:!0,get:function(){return o}});let i=e.r(39376),n=e.r(92069),s=e.r(15873),l=e.r(8385),r=e.r(42156);function o(e){let{moduleIds:t}=e;if("u">typeof window)return null;let a=s.workAsyncStorage.getStore();if(void 0===a)return null;let o=[];if(a.reactLoadableManifest&&t){let e=a.reactLoadableManifest;for(let a of t){if(!e[a])continue;let t=e[a].files;o.push(...t)}}if(0===o.length)return null;
1let c=(0,r.getDeploymentIdQueryOrEmptyString)();return(0,i.jsx)(i.Fragment,{children:o.map(e=>{let t=`${a.assetPrefix}/_next/${(0,l.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,i.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style",nonce:a.nonce},e):((0,n.preload)(t,{as:"script",fetchPriority:"low",nonce:a.nonce}),null)})})}},72199,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return c}});let i=e.r(39376),n=e.r(15826),s=e.r(1095),l=e.r(30665);function r(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(r(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},a=(0,n.lazy)(()=>t.loader().then(r)),c=t.loading;function d(e){let r=c?(0,i.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?n.Suspense:n.Fragment,x=t.ssr?(0,i.jsxs)(i.Fragment,{children:["u"<typeof window?(0,i.jsx)(l.PreloadChunks,{moduleIds:t.modules}):null,(0,i.jsx)(a,{...e})]}):(0,i.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(a,{...e})});return(0,i.jsx)(d,{...o?{fallback:r}:{},children:x})}return d.displayName="LoadableComponent",d}},57427,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return n}});let i=e.r(73473)._(e.r(72199));function n(e,t){let a={};"function"==typeof e&&(a.loader=e);let n={...a,...t};return(0,i.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},58714,e=>{"use strict";var t=e.i(39376),a=e.i(57427),i=e.i(15826);let n=(0,a.default)(()=>e.A(81298),{loadableGenerated:{modules:[28209]},ssr:!1}),s=(0,a.default)(()=>e.A(97213),{loadableGenerated:{modules:[37599]},ssr:!1});function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"1200px",t=(0,i.useRef)(null),[a,n]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let i=t.current;if(!i||a)return;if("u"<typeof IntersectionObserver)return void n(!0);let s=new IntersectionObserver(e=>{let[t]=e;t.isIntersecting&&(n(!0),s.disconnect())},{rootMargin:e});return s.observe(i),()=>s.disconnect()},[a,e]),{ref:t,near:a}}function r(){let{ref:e,near:a}=l();return(0,t.jsx)("div",{ref:e,id:"demo",className:"w-full",children:a?(0,t.jsx)(n,{}):null})}function o(){let{ref:e,near:a}=l();return(0,t.jsx)("div",{ref:e,className:"w-full",children:a?(0,t.jsx)(s,{}):null})}e.s(["LazyDashboardShowcase",()=>o,"LazySiteTranslations",()=>r])},41147,e=>{"use strict";var t=e.i(39376),a=e.i(15826),i=e.i(69698),n=e.i(39480),s=e.i(38676),l=e.i(15611),r=e.i(5839),o=e.i(72345),c=e.i(77246),d=e.i(60204),x=e.i(13067),m=e.i(54539),u=e.i(94267),h=e.i(1881),p=e.i(57665),g=e.i(99762),f=e.i(80884);let b=[{area:"md:col-span-2 lg:col-span-1",icon:(0,t.jsx)(d.MessageSquare,{className:"h-4 w-4"}),title:"Translation Styles",description:"Switch between Normal, Slang, and Business tone for every translation. The same phrase, rewritten to fit casual chats, gaming servers, or formal emails.",custom:"tone-demo",link:{href:"/vs",text:"Compare Fenly vs other translators"}},{area:"",icon:(0,t.jsx)(s.Languages,{className:"h-4 w-4"}),title:"Text & Input Translation",description:"Select any text on a page to see its translation instantly. Type in your language in any input field and Fenly converts it to the target language in real time.",custom:"instant-demo"},{area:"",icon:(0,t.jsx)(l.Plug,{className:"h-4 w-4"}),title:"Content Translation in 8 Apps",description:"Messages, posts, tweets, and comments auto-translate directly inside Discord, Gmail, LinkedIn, X, YouTube, Reddit, Slack, and Upwork. No popup, no tab switching.",custom:"platforms-demo",link:{href:"/translate",text:"See all 8 platform guides"}},{area:"md:col-span-2 lg:col-span-3",icon:(0,t.jsx)(m.Captions,{className:"h-4 w-4"}),title:"YouTube subtitles in any language",description:"Watch any YouTube video with live subtitles in any language overlaid on the player. Fenly translates the captions into 100+ languages as you watch, in three readable styles. Click any word for an instant meaning and save it to your Word Library.",custom:"subtitle-demo",link:{href:"/video-subtitles",text:"See how YouTube subtitles work"}},{area:"lg:col-span-3",icon:(0,t.jsx)(x.FileText,{className:"h-4 w-4"}),title:"Document Translation",description:"Translate Word, PDF, Excel, PowerPoint and 4 more file formats while preserving fonts, layout and tables. Free plan includes 1 document up to 5K characters.",custom:"documents-demo",link:{href:"/translate-document",text:"Try it free"}},{area:"",icon:(0,t.jsx)(r.AudioLines,{className:"h-4 w-4"}),title:"Text-to-Speech",description:"Press play next to any translation to hear it spoken aloud. AI-generated voices sound natural in 70+ languages."},{area:"",icon:(0,t.jsx)(o.SlidersHorizontal,{className:"h-4 w-4"}),title:"Flexible Settings",description:"Pick an interface language, disable Fenly on specific domains, and set separate target languages for input, selection, and chat translation."},{area:"",icon:(0,t.jsx)(c.Users,{className:"h-4 w-4"}),title:"Team Plans & Seats",description:"Invite teammates under one subscription, assign character limits per seat, and track usage for every member from a single dashboard.",link:{href:"/pricing",text:"See plans & pricing"}}],y=[{key:"normal",label:"Normal",color:"text-zinc-100",bg:"bg-white/[0.04] border-white/[0.08]",text:"The meeting is going better than expected."},{key:"slang",label:"Slang",color:"text-orange-400",bg:"bg-orange-500/10 border-orange-500/20",text:"Ngl, the meeting is going way better than I thought."},{key:"business",label:"Business",color:"text-blue-400",bg:"bg-blue-500/10 border-blue-500/20",text:"The meeting is progressing more favorably than anticipated."}];function w(){let[e,i]=(0,a.useState)("normal"),n=y.find(t=>t.key===e);return(0,t.jsxs)("div",{className:"mt-2 xl:mt-3 rounded-lg border border-white/[0.08] bg-white/[0.02] overflow-hidden flex flex-col shadow-lg",children:[(0,t.jsxs)("div",{className:"p-2 xl:p-3 flex flex-col gap-1.5 xl:gap-2",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.1em] text-zinc-500 font-bold mb-0.5 block",children:"German"}),(0,t.jsx)("p",{className:"text-zinc-400 text-xs italic leading-tight",children:'"Die Besprechung läuft besser als erwartet"'})]}),(0,t.jsx)("div",{className:"h-px w-full bg-gradient-to-r from-white/[0.02] via-white/[0.1] to-white/[0.02] my-1"}),(0,t.jsxs)("div",{className:"relative h-[2.5rem] xl:h-[3.5rem]",children:[(0,t.jsx)("span",{className:"text-[9px] uppercase tracking-[0.1em] font-bold mb-0.5 block opacity-90 text-zinc-300",children:"English"}),(0,t.jsx)("p",{className:"text-sm font-medium leading-snug text-white",children:n.text})]})]}),(0,t.jsx)("div",{className:"bg-black/30 border-t border-white/[0.04] p-1.5 xl:p-2 w-full",children:(0,t.jsx)("div",{className:"flex rounded-full border border-zinc-700/50 bg-zinc-900/80 p-0.5 w-full",children:y.map(a=>(0,t.jsx)("button",{onClick:()=>i(a.key),className:(0,f.cn)("flex-1 relative px-1 py-1 text-[9px] font-semibold uppercase tracking-wider rounded-full transition-colors text-center",e===a.key?(0,f.cn)("bg-zinc-700/80",n.color):"text-zinc-500 hover:text-zinc-300"),children:a.label},a.key))})})]})}function v(e){let{size:a=14}=e;return(0,t.jsx)("svg",{width:a,height:a,viewBox:"70 0 880 1024",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsxs)("g",{transform:"translate(0,1024) scale(0.1,-0.1)",stroke:"none",children:[(0,t.jsx)("path",{d:"M1571 10224 c-614 -83 -1125 -454 -1392 -1008 -92 -191 -144 -374 -169 -596 -8 -67 -10 -1136 -8 -3610 3 -3320 4 -3520 21 -3603 70 -346 216 -629 450 -874 245 -257 550 -427 903 -505 l99 -22 3580 -4 c2685 -2 3606 0 3685 8 353 40 694 203 963 460 297 283 466 609 522 1003 22 157 22 7021 0 7191 -97 742 -629 1342 -1345 1520 -241 59 -26 56 -3773 55 -2902 -1 -3448 -3 -3536 -15z",fill:"white"}),(0,t.jsx)("path",{d:"M8550 8187 c0 -26 -85 -243 -135 -342 -222 -444 -604 -746 -1075 -848 -92 -19 -136 -20 -1245 -27 -978 -6 -1172 -9 -1295 -24 -680 -78 -1145 -277 -1512 -648 l-97 -98 30 113 c96 364 124 459 165 574 237 658 670 1065 1308 1228 122 31 290 60 396 68 56 4 3460 8 3460 4z",fill:"black"}),(0,t.jsx)("path",{d:"M4998 6613 c-156 -83 -292 -264 -376 -503 -32 -91 -167 -599 -161 -604 2 -2 38 5 79 15 213 55 164 53 1427 56 l1172 4 -16 -53 c-33 -112 -67 -197 -124 -308 -224 -433 -601 -730 -1057 -831 -92 -21 -131 -22 -772 -29 -554 -6 -693 -10 -775 -24 -418 -69 -664 -228 -850 -551 l-29 -50 66 60 c83 76 156 119 268 162 91 34 201 66 207 59 2 -2 -14 -70 -36 -152 -22 -82 -69 -263 -105 -402 -71 -273 -113 -397 -184 -537 -223 -447 -623 -741 -1147 -845 -139 -28 -465 -41 -465 -19 0 13 179 711 595 2314 149 574 220 785 364 1077 191 387 424 666 716 858 303 198 774 329 1215 338 l55 1 -67 -36z",fill:"black"})]})})}function j(){let e="Let's catch up over coffee this weekend.",[i,n]=(0,a.useState)(""),[s,l]=(0,a.useState)("idle"),r=(0,a.useRef)([]);function o(){r.current.forEach(clearTimeout),r.current=[]}function c(){o(),n(""),l("typing");for(let t=0;t<=e.length;t++){let a=setTimeout(()=>n(e.slice(0,t)),50*t);r.current.push(a)}let t=setTimeout(()=>l("waiting"),50*e.length+300);r.current.push(t)}return(0,a.useEffect)(()=>(c(),o),[]),(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsxs)("div",{className:"rounded-lg border border-zinc-700/50 bg-zinc-900/40 px-3 py-2.5 flex items-center gap-2",children:[(0,t.jsx)("p",{className:"text-sm text-zinc-200 flex-1 min-h-[1.25rem]",children:"translated"===s?(0,t.jsx)("span",{className:"text-white",children:i}):(0,t.jsxs)(t.Fragment,{children:[i,"typing"===s&&(0,t.jsx)("span",{className:"animate-pulse text-zinc-500",children:"|"})]})}),("waiting"===s||"translated"===s)&&(0,t.jsx)("button",{onClick:"translated"===s?c:function(){l("translated"),n("Давай встретимся за кофе в эти выходные.")},className:"flex-shrink-0 w-6 h-6 flex items-center justify-center rounded-md hover:bg-white/10 transition-colors",title:"Translate",children:(0,t.jsx)(v,{size:16})})]})})}function N(){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:[{name:"Word",ext:".docx"},{name:"PDF",ext:".pdf"},{name:"Excel",ext:".xlsx"},{name:"PowerPoint",ext:".pptx"},{name:"Markdown",ext:".md"},{name:"Plain text",ext:".txt"},{name:"SRT",ext:".srt"},{name:"WebVTT",ext:".vtt"}].map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 rounded-full border border-zinc-700/50 bg-zinc-900/50 text-zinc-400 text-xs font-medium",children:[(0,t.jsx)(x.FileText,{className:"w-3.5 h-3.5"}),(0,t.jsx)("span",{children:e.name}),(0,t.jsx)("span",{className:"text-zinc-500 text-[10px] uppercase tracking-wider",children:e.ext})]},e.ext))})}function k(){let e=[{name:"Discord",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 fill-current",children:(0,t.jsx)("path",{d:"M19.73 4.87a18.2 18.2 0 0 0-4.6-1.44c-.2.36-.43.85-.59 1.23a16.84 16.84 0 0 0-5.07 0c-.16-.38-.4-.87-.59-1.23a18.17 18.17 0 0 0-4.6 1.44A19.25 19.25 0 0 0 .96 18.6a18.37 18.37 0 0 0 5.63 2.87c.46-.62.86-1.28 1.2-1.98a11.81 11.81 0 0 1-1.89-.91c.16-.12.31-.24.46-.37a13.04 13.04 0 0 0 11.27 0c.15.13.3
11.25.47.37-.6.36-1.24.67-1.9.91.35.7.75 1.36 1.2 1.98a18.3 18.3 0 0 0 5.63-2.87A19.22 19.22 0 0 0 19.73 4.87zM8.09 15.68c-1.18 0-2.15-1.09-2.15-2.43s.95-2.43 2.15-2.43 2.17 1.09 2.15 2.43c0 1.34-.95 2.43-2.15 2.43zm7.83 0c-1.18 0-2.15-1.09-2.15-2.43s.95-2.43 2.15-2.43 2.17 1.09 2.15 2.43c0 1.34-.96 2.43-2.15 2.43z"})})},{name:"Gmail",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 fill-current",children:(0,t.jsx)("path",{d:"M20 18h-2V9.25L12 13 6 9.25V18H4V6h1.2l6.8 4.25L18.8 6H20m0-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z"})})},{name:"X",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-3.5 h-3.5 fill-current",children:(0,t.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})},{name:"LinkedIn",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 fill-current",children:(0,t.jsx)("path",{d:"M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66z"})})},{name:"YouTube",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 fill-current",children:(0,t.jsx)("path",{d:"M23.5 6.19a3.02 3.02 0 00-2.12-2.14C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.38.55A3.02 3.02 0 00.5 6.19 31.8 31.8 0 000 12a31.8 31.8 0 00.5 5.81 3.02 3.02 0 002.12 2.14c1.87.55 9.38.55 9.38.55s7.5 0 9.38-.55a3.02 3.02 0 002.12-2.14A31.8 31.8 0 0024 12a31.8 31.8 0 00-.5-5.81zM9.54 15.57V8.43L15.82 12l-6.28 3.57z"})})},{name:"Reddit",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 fill-current",children:(0,t.jsx)("path",{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm5.01 4.744c.688 0 1.25.561 1.25 1.249a1.25 1.25 0 0 1-2.498.056l-2.597-.547-.8 3.747c1.824.07 3.48.632 4.674 1.488.308-.309.73-.491 1.207-.491.968 0 1.754.786 1.754 1.754 0 .716-.435 1.333-1.01 1.614a3.111 3.111 0 0 1 .042.52c0 2.694-3.13 4.87-7.004 4.87-3.874 0-7.004-2.176-7.004-4.87 0-.183.015-.366.043-.534A1.748 1.748 0 0 1 4.028 12c0-.968.786-1.754 1.754-1.754.463 0 .898.196 1.207.49 1.207-.883 2.878-1.43 4.744-1.487l.885-4.182a.342.342 0 0 1 .14-.197.35.35 0 0 1 .238-.042l2.906.617a1.214 1.214 0 0 1 1.108-.701z"})})},{name:"Slack",icon:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 fill-current",children:(0,t.jsx)("path",{d:"M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"})})}];return(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[e.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 rounded-full border border-zinc-700/50 bg-zinc-900/50 text-zinc-400 text-xs font-medium",children:[e.icon,e.name]},e.name)),(0,t.jsx)("div",{className:"flex items-center px-3 py-1.5 rounded-full border border-zinc-700/50 bg-zinc-900/50 text-zinc-500 text-xs font-medium",children:"+more"})]})}function z(){return(0,t.jsx)("div",{className:"mt-2 xl:mt-3 w-full max-w-[400px] mx-auto rounded-lg border border-white/[0.08] bg-black overflow-hidden shadow-lg",children:(0,t.jsxs)("div",{className:"relative aspect-video bg-gradient-to-br from-zinc-700 via-zinc-800 to-zinc-900",children:[(0,t.jsxs)("div",{className:"absolute inset-0 opacity-50","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"absolute inset-x-0 top-0 h-1/2 bg-gradient-to-b from-white/[0.07] to-transparent"}),(0,t.jsx)("div",{className:"absolute bottom-0 left-0 h-2/3 w-full bg-gradient-to-t from-black/50 to-transparent"}),(0,t.jsx)("div",{className:"absolute top-6 right-8 h-12 w-16 rounded bg-white/[0.05]"})]}),(0,t.jsxs)("div",{className:"absolute inset-x-0 bottom-9 flex flex-col items-center gap-1.5 px-3",children:[(0,t.jsx)("div",{className:"max-w-[92%] rounded-md bg-black/65 px-2 py-0.5 text-center backdrop-blur-sm",children:(0,t.jsxs)("p",{className:"text-[10px] xl:text-[11px] font-bold leading-snug",children:[(0,t.jsx)("span",{className:"text-white",children:"Welcome to the channel — today"})," ",(0,t.jsx)("span",{className:"text-zinc-300/45",children:"we're building something completely new."})]})}),(0,t.jsx)("div",{className:"max-w-[88%] rounded-md bg-black/65 px-2 py-0.5 text-center backdrop-blur-sm",children:(0,t.jsx)("p",{className:"text-[8px] xl:text-[9px] leading-snug text-zinc-300/90",children:"チャンネルへようこそ。今日は全く新しいものを作ります。"})})]}),(0,t.jsxs)("div",{className:"absolute inset-x-0 bottom-0 flex items-center gap-2 px-2.5 py-1.5 bg-gradient-to-t from-black/85 via-black/45 to-transparent",children:[(0,t.jsx)(h.Play,{className:"h-3 w-3 flex-none fill-white text-white"}),(0,t.jsx)("span",{className:"text-[9px] tabular-nums text-zinc-300",children:"0:17 / 31:56"}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)("span",{className:"flex h-4 w-4 items-center justify-center",children:(0,t.jsx)(v,{size:13})}),(0,t.jsx)(m.Captions,{className:"h-3.5 w-3.5 text-white"}),(0,t.jsx)(p.Settings,{className:"h-3.5 w-3.5 text-white/80"}),(0,t.jsx)(g.Maximize2,{className:"h-3 w-3 text-white/80"})]})]})]})})}let T={hidden:{opacity:0,y:30},visible:{opacity:1,y:0,transition:{duration:.8,ease:[.25,.4,.25,1]}}};function S(){return(0,t.jsx)("section",{id:"features",className:"py-3 md:py-6 lg:py-6 xl:py-8 2xl:py-32 fluid-section relative overflow-hidden",children:(0,t.jsxs)("div",{className:"max-w-6xl 2xl:max-w-7xl mx-auto px-6 md:px-12 relative z-10",children:[(0,t.jsxs)(n.motion.div,{variants:T,initial:"hidden",
1whileInView:"visible",viewport:{once:!0,margin:"-100px"},className:"text-center mb-3 xl:mb-4 2xl:mb-16",children:[(0,t.jsxs)("h2",{className:"text-2xl md:text-4xl 2xl:text-6xl fluid-h2 font-bold tracking-tight text-white mb-1 md:mb-4",children:["What makes ",(0,t.jsx)("span",{className:"text-white",children:"Fenly"})," different"]}),(0,t.jsx)("p",{className:"text-zinc-300 text-xs md:text-lg max-w-2xl mx-auto leading-relaxed",children:"A translator that reads the room - your tone, your context, the place you're writing in."})]}),(0,t.jsx)("ul",{className:"flex md:grid md:grid-cols-2 lg:grid-cols-3 gap-3 md:gap-4 lg:gap-4 2xl:gap-6 overflow-x-auto snap-x snap-mandatory md:overflow-visible pb-4 md:pb-0 -mx-6 px-6 md:mx-0 md:px-0 scrollbar-hide",children:b.map((e,a)=>(0,t.jsx)(C,{...e},e.title))})]})})}function C(e){let{area:a,icon:s,title:l,description:r,custom:o,link:c}=e,d=!!a&&a.includes("lg:col-span-3");return(0,t.jsx)(n.motion.li,{variants:T,initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-50px"},className:(0,f.cn)("min-h-[11rem] xl:min-h-[10.5rem] 2xl:min-h-[14rem] list-none min-w-[80vw] md:min-w-0 snap-center",a),children:(0,t.jsxs)("div",{className:(0,f.cn)("relative h-full rounded-lg border border-zinc-800 bg-white/[0.02] hover:bg-white/[0.04] transition-colors p-3 xl:p-4 2xl:p-6 flex",d?"flex-col lg:flex-row lg:items-center lg:gap-8 2xl:gap-12":"flex-col"),children:[(0,t.jsxs)("div",{className:(0,f.cn)("flex flex-col",d&&"lg:flex-1 lg:min-w-0 lg:max-w-md"),children:[(0,t.jsx)("div",{className:"flex flex-col gap-1.5 xl:gap-3 2xl:gap-4",children:(0,t.jsxs)("div",{className:"flex-none",children:[(0,t.jsx)("div",{className:"w-fit mb-1 xl:mb-3 2xl:mb-4 rounded-lg border border-zinc-800 bg-white/[0.03] p-1.5 xl:p-2",children:s}),(0,t.jsxs)("div",{className:"space-y-0.5 xl:space-y-1.5 2xl:space-y-2.5",children:[(0,t.jsx)("h3",{className:"text-sm xl:text-lg 2xl:text-xl font-semibold tracking-tight md:text-xl text-balance text-white",children:l}),(0,t.jsx)("p",{className:"text-[10px] xl:text-xs 2xl:text-sm md:text-sm text-zinc-300 leading-tight",children:r})]})]})}),c&&(0,t.jsx)("div",{className:(0,f.cn)("pt-2 xl:pt-3 2xl:pt-4 flex-none",!d&&"mt-auto"),children:(0,t.jsxs)(i.default,{href:c.href,className:"inline-flex items-center gap-1.5 text-xs xl:text-sm font-semibold text-white hover:text-zinc-300 transition-colors",children:[c.text,(0,t.jsx)(u.ArrowRight,{className:"h-3 w-3 xl:h-3.5 xl:w-3.5"})]})})]}),o&&(0,t.jsxs)("div",{className:(0,f.cn)("flex-none",d?"pt-3 lg:pt-0 lg:flex-1 lg:min-w-0":"mt-auto pt-2 xl:pt-3 2xl:pt-4"),children:["tone-demo"===o&&(0,t.jsx)(w,{}),"instant-demo"===o&&(0,t.jsx)(j,{}),"platforms-demo"===o&&(0,t.jsx)(k,{}),"documents-demo"===o&&(0,t.jsx)(N,{}),"subtitle-demo"===o&&(0,t.jsx)(z,{})]})]})})}e.s(["default",()=>S])},7314,e=>{"use strict";var t=e.i(39376),a=e.i(39480),i=e.i(25830);let n=(0,i.default)("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);var s=e.i(68833);let l=(0,i.default)("scan-text",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 8h8",key:"1jbsf9"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M7 16h6",key:"1vyc9m"}]]);var r=e.i(54539),o=e.i(13067);let c={hidden:{opacity:0,y:30},visible:{opacity:1,y:0,transition:{duration:.8,ease:[.25,.4,.25,1]}}},d=[{status:"planning",label:"Planning",title:"Image Text Translation",description:"Translation of text found inside images - screenshots, memes, scanned pages, product labels, infographics, and other visuals across the web.",icon:l},{status:"live",label:"Live",title:"Document Translation",description:"Translate Word, PDF, Excel, PowerPoint and 4 more file formats while keeping the original fonts, layout, and tables intact.",icon:o.FileText},{status:"live",label:"Live",title:"YouTube subtitles in any language",description:"Translate the captions of any YouTube video in real time, overlaid on the video in 100+ languages. Click any word to look it up while you watch.",icon:r.Captions},{status:"planning",label:"Planning",title:"Mobile Keyboard",description:"A keyboard for iOS and Android that translates messages directly into the input field of any messenger or social network.",icon:n},{status:"planning",label:"Planning",title:"More Platforms",description:"Expanding automatic chat and feed translation to more messengers, social networks, and communication tools across the web and mobile.",icon:s.Globe}],x={live:"text-emerald-400 border-emerald-500/30 bg-emerald-500/10",planning:"text-zinc-200 border-zinc-500/30 bg-zinc-500/10",future:"text-zinc-300 border-zinc-600/30 bg-zinc-600/10"},m={live:"bg-emerald-400 shadow-[0_0_8px_rgba(52,211,153,0.5)]",planning:"bg-zinc-300",future:"bg-zinc-500"};function u(e){let{item:a,ariaHidden:i}=e;return(0,t.jsxs)("div",{"aria-hidden":i,className:"shrink-0 w-[300px] mr-5 rounded-xl border border-zinc-800 bg-white/[0.02] hover:bg-white/[0.04] transition-colors p-6 flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-5",children:[(0,t.jsx)("div",{className:`w-2 h-2 rounded-full ${m[a.status]}`}),(0,t.jsx)("span",{className:`text-[10px] font-medium uppercase tracking-wider px-2.5 py-1 rounded-full border ${x[a.status]}`,children:a.label})]}),(0,t.jsx)("div",{className:"w-10 h-10 rounded-lg border border-zinc-700/50 bg-white/[0.03] flex items-center justify-center mb-4",children:(0,t.jsx)(a.icon,{className:"w-5 h-5 text-zinc-300"})}),(0,t.jsx)("h3",{className:"text-lg font-semibold text-white mb-2",children:a.title}),(0,t.jsx)("p",{className:"text-sm text-zinc-300 leading-relaxed flex-1",children:a.description})]})}function h(){return(0,t.jsxs)("section",{id:"roadmap",className:"py-12 lg:py-16 xl:py-24 2xl:py-32 fluid-section relative overflow-hidden",children:[(0,t.jsx)("div",{className:"max-w-6xl 2xl:max-w-7xl mx-auto px-6 md:px-12 relative z-10",children:(0,t.jsx)("div",{className:"text-center mb-16 md:mb-20",children:(0,t.jsxs)(a.motion.div,{variants:c,initial:"hidden",
1whileInView:"visible",viewport:{once:!0,margin:"-100px"},children:[(0,t.jsx)("h2",{className:"text-3xl md:text-4xl 2xl:text-5xl fluid-h2 font-bold text-white tracking-tight",children:"Roadmap"}),(0,t.jsx)("p",{className:"mt-4 text-zinc-300 md:text-lg max-w-2xl mx-auto text-balance",children:"A look at what's already shipped and the features landing next."})]})})}),(0,t.jsx)(a.motion.div,{variants:c,initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-50px"},className:"marquee-group relative z-10 overflow-hidden",style:{maskImage:"linear-gradient(to right, transparent, black 6%, black 94%, transparent)",WebkitMaskImage:"linear-gradient(to right, transparent, black 6%, black 94%, transparent)"},children:(0,t.jsxs)("div",{className:"animate-marquee flex items-stretch w-max",children:[d.map(e=>(0,t.jsx)(u,{item:e},e.title)),d.map(e=>(0,t.jsx)(u,{item:e,ariaHidden:!0},`dup-${e.title}`))]})})]})}e.s(["default",()=>h],7314)},64890,e=>{"use strict";var t=e.i(39376),a=e.i(15826),i=e.i(39480);let n=[{question:"Is there a free tier I can try without a card?",answer:"Yes - you can even start translating without any account at all: a small free trial of type-and-translate and select-and-translate, right after you install. When you are ready, sign up with just an email to immediately get 50,000 translation characters, 1,000 TTS characters, and up to 100 translations per day across all 107 supported languages. The free plan also includes YouTube subtitle translation for 2 videos (a lifetime allowance, not monthly), up to 1 hour each - re-watching the same video does not use another slot."},{question:"Which sites and apps is the extension compatible with?",answer:"When you highlight text or type into a field, Fenly works on virtually every page your browser opens: news articles, docs, forums, admin panels. Automatic live translation of chats and feeds runs on eight destinations: Discord, X (Twitter), LinkedIn, YouTube comments, Reddit, Slack, Upwork, and Gmail. On YouTube, Fenly also adds a translated subtitle lane over the video itself, reading the captions YouTube already provides and translating them live."},{question:"Can Fenly translate YouTube subtitles?",answer:"Yes. On YouTube, Fenly reads the video's existing caption track and shows a translated subtitle lane alongside the original, in real time, in any of the 107 supported languages. It runs only on YouTube right now, and it uses YouTube's own captions - so the video needs to have a caption track available. Pick your language in the extension settings and the overlay appears as the video plays."},{question:"What does the setup process actually look like?",answer:"Open the Fenly listing in the Chrome Web Store and click Add to Chrome - the Fenly icon pins itself to your toolbar within a couple of seconds and is ready on any website. Create a free account with just your email to start translating right away. The exact same build runs on every Chromium browser: Chrome, Microsoft Edge, Brave, Opera, Vivaldi, and Arc."},{question:"Can you explain the three tone modes?",answer:"Normal gives you a neutral, human-sounding translation that fits everyday messages. Business rewrites the output with formal vocabulary and sentence structure - the mode to reach for when you're writing a client email, a contract clause, or a quarterly report. Slang converts text into informal, conversational English with modern internet phrasing. A separate Intensity slider (Min / Max) controls how aggressively the chosen style reshapes the original wording."},{question:"How is my translation data handled on your end?",answer:"Every request travels over an encrypted connection, and by default nothing is stored on our servers once the translation comes back to your browser. Your translation history lives locally in the extension's own storage. Cloud sync stays off until you switch it on under Settings → Save History to Server, which is what gives you access across devices. For YouTube subtitles, the video's caption text is sent to our AI provider (Google Gemini) to be translated and is returned straight to your browser - we never store the original or translated subtitle text. If you look up a word from a subtitle, only that word and its definition can be saved to your personal Word Library; the video and the surrounding line are never saved."},{question:"What exactly do I get with a Team subscription?",answer:"One billing account covers up to 50 seats on a single card or crypto payment. The team owner can invite members by email, assign roles (Admin or Member), set per-seat translation and TTS caps, redistribute bonus addon characters across the team with a single click, and review every translation made by any teammate from a shared Translation History."},{question:"How much YouTube subtitle translation do paid plans include?",answer:"Subtitles use their own time-based allowance, separate from translation and text-to-speech characters. Pro includes 100 hours of subtitle translation per month, with videos up to 3 hours each. Team includes 100 hours per seat per month, pooled across the whole team, with the same 3-hour per-video limit. Free includes 2 videos total (a lifetime allowance) up to 1 hour each."},{question:"Do you accept cryptocurrency payments?",answer:"Yes. You can pay any monthly or yearly subscription using Bitcoin, Ethereum, USDT, USDC, Litecoin, and 300+ other assets via NOWPayments."}],s={hidden:{opacity:0,y:30},visible:{opacity:1,y:0,transition:{duration:.8,ease:[.25,.4,.25,1]}}};function l(){return(0,t.jsx)("section",{id:"faq",className:"py-6 lg:py-10 xl:py-12 2xl:py-32 fluid-section relative",children:(0,t.jsxs)("div",{className:"max-w-6xl 2xl:max-w-7xl mx-auto px-6 md:px-12",children:[(0,t.jsx)(i.motion.h2,{variants:s,initial:"hidden",
1whileInView:"visible",viewport:{once:!0,margin:"-100px"},className:"text-3xl md:text-4xl 2xl:text-5xl fluid-h2 font-bold tracking-tight text-white text-center mb-6 2xl:mb-12",children:"Frequently Asked Questions"}),(0,t.jsx)("div",{className:"space-y-3 2xl:space-y-4",children:n.map((e,a)=>(0,t.jsx)(r,{index:a,question:e.question,answer:e.answer},a))})]})})}function r(e){let{question:n,answer:l,index:r}=e,[o,c]=(0,a.useState)(!1),d=`faq-q-${r}`,x=`faq-a-${r}`;return(0,t.jsxs)(i.motion.div,{variants:s,initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-50px"},className:"rounded-lg border border-zinc-800 bg-white/[0.02] hover:bg-white/[0.04] transition-colors",children:[(0,t.jsx)("h3",{className:"m-0",children:(0,t.jsxs)("button",{type:"button",id:d,"aria-expanded":o,"aria-controls":x,onClick:()=>c(!o),className:"w-full flex items-center justify-between gap-4 text-left p-4 2xl:p-6 cursor-pointer rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-white/40",children:[(0,t.jsx)("span",{className:"text-lg font-medium text-white",children:n}),(0,t.jsx)("span",{"aria-hidden":"true",className:`text-white text-xl shrink-0 transition-transform ${o?"rotate-45":"rotate-0"}`,children:"+"})]})}),(0,t.jsx)("div",{id:x,role:"region","aria-labelledby":d,inert:!o,className:`grid transition-all duration-300 ease-in-out ${o?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"}`,children:(0,t.jsx)("div",{className:"overflow-hidden",children:(0,t.jsx)("p",{className:"text-zinc-300 text-sm leading-relaxed px-4 2xl:px-6 pb-4 2xl:pb-6",children:l})})})]})}e.s(["default",()=>l],64890)},12050,e=>{"use strict";var t=e.i(39376),a=e.i(69698),i=e.i(39480),n=e.i(26291),s=e.i(94267),l=e.i(15466),r=e.i(14175),o=e.i(75049);let c={hidden:{opacity:0,y:30},visible:{opacity:1,y:0,transition:{duration:.8,ease:[.25,.4,.25,1]}}},d=[{label:"Product",links:[{title:"Features",href:"/#features"},{title:"Pricing",href:"/pricing"},{title:"Use Cases",href:"/use-cases"},{title:"Translate Documents",href:"/translate-document"},{title:"Platforms & Languages",href:"/translate"},{title:"Compare Translators",href:"/vs"},{title:"Roadmap",href:"/#roadmap"},{title:"FAQ",href:"/#faq"}]},{label:"Legal",links:[{title:"Privacy Policy",href:"/privacy"},{title:"Terms of Service",href:"/terms"},{title:"Refund Policy",href:"/refund-policy"},{title:"DPA",href:"/dpa"}]},{label:"Resources",links:[{title:"About",href:"/about"},{title:"Support",href:"/support"},{title:"Documentation",href:"/docs"},{title:"Blog",href:"/blog"},{title:"Changelog",href:"/changelog"},{title:"Chrome Extension",href:"https://chromewebstore.google.com/detail/fenly/dagjoegkilhcnnamddaoneeabgmioghn",external:!0},{title:"Mobile Keyboard - Coming Soon",href:"#"}]},{label:"Connect",links:[{title:"X (Twitter)",href:"https://x.com/Fenly_me",external:!0,icon:(0,t.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})},{title:"Telegram",href:"https://t.me/fenly_me",external:!0,icon:(0,t.jsxs)("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-label":"Telegram",children:[(0,t.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,t.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})},{title:"Contact Us",href:"mailto:[email protected]"}]}];function x(){return(0,t.jsxs)("section",{className:"relative min-h-screen flex flex-col justify-center overflow-hidden",children:[(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,t.jsx)("div",{className:"max-w-6xl 2xl:max-w-7xl mx-auto px-6 md:px-12 relative z-10",children:(0,t.jsxs)(i.motion.div,{variants:c,initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-100px"},className:"text-center",children:[(0,t.jsx)("h2",{className:"text-3xl md:text-4xl 2xl:text-5xl fluid-h2 font-bold text-white tracking-tight mb-4",children:"Start Speaking Every Language Today"}),(0,t.jsx)("p",{className:"text-zinc-300 text-base md:text-lg max-w-xl mx-auto leading-relaxed mb-10",children:"Add Fenly to your browser in one click and translate any website on the spot - free to start."}),(0,t.jsxs)("a",{href:o.LATEST_RELEASE.chromeUrl,target:"_blank",rel:"noopener noreferrer",onClick:()=>{(0,r.track)("cta_clicked",{button_text:"Add to Chrome",location:"cta_banner",destination:"chrome_web_store"}
1),(0,r.track)("extension_install_clicked",{location:"cta_banner"})},className:"group inline-flex items-center gap-3 px-9 py-4 rounded-full text-base font-medium text-white border border-white/15 bg-white/[0.03] hover:bg-white/[0.07] hover:border-white/30 transition-all duration-300",children:[(0,t.jsx)(l.Chrome,{className:"h-5 w-5","aria-hidden":"true"}),"Add to Chrome - Free",(0,t.jsx)(s.ArrowRight,{className:"h-4 w-4 transition-transform group-hover:translate-x-1","aria-hidden":"true"})]}),(0,t.jsx)("p",{className:"mt-6 text-xs text-zinc-400 tracking-wide",children:"107 Languages · Free Plan Available"})]})})}),(0,t.jsx)("footer",{className:"relative z-10 w-full max-w-6xl 2xl:max-w-7xl mx-auto border-t border-white/5 px-6 md:px-12 py-12 lg:py-16",children:(0,t.jsxs)("div",{className:"grid w-full gap-8 xl:grid-cols-3 xl:gap-8",children:[(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("img",{src:"/logo.svg",alt:"Fenly Logo",width:32,height:32,className:"w-8 h-8"}),(0,t.jsx)("span",{className:"text-lg font-bold text-white",children:"Fenly"})]}),(0,t.jsx)("p",{className:"text-zinc-300 text-sm max-w-xs",children:"AI-powered browser extension for instant translation across any website."}),(0,t.jsxs)("p",{className:"text-zinc-400 text-sm",children:["© ",new Date().getFullYear()," Fenly. All rights reserved."]}),(0,t.jsx)("a",{href:o.LATEST_RELEASE.chromeUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-block mt-4 hover:opacity-80 transition-opacity",children:(0,t.jsx)("img",{src:"/chrome-web-store-badge-border.png",alt:"Available in the Chrome Web Store",width:200,height:60,className:"h-[48px] w-auto"})})]}),(0,t.jsx)("div",{className:"mt-10 grid grid-cols-2 gap-8 md:grid-cols-4 xl:col-span-2 xl:mt-0",children:d.map((e,i)=>(0,t.jsx)(m,{delay:.1+.1*i,children:(0,t.jsxs)("div",{className:"mb-10 md:mb-0",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-zinc-300 uppercase tracking-wider",children:e.label}),(0,t.jsx)("ul",{className:"mt-4 space-y-2.5 text-sm",children:e.links.map(e=>{let i=e.external&&e.href.includes("chromewebstore.google.com");return(0,t.jsx)("li",{children:e.external?(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",onClick:i?()=>{(0,r.track)("cta_clicked",{button_text:e.title,location:"cta_banner_footer",destination:"chrome_web_store"}),(0,r.track)("extension_install_clicked",{location:"cta_banner_footer"})}:void 0,className:"text-zinc-400 hover:text-white inline-flex items-center gap-1.5 transition-colors duration-200",children:[e.icon&&e.icon,e.title]}):(0,t.jsxs)(a.default,{href:e.href,className:"text-zinc-400 hover:text-white inline-flex items-center gap-1.5 transition-colors duration-200",children:[e.icon&&e.icon,e.title]})},e.title)})})]})},e.label))})]})})]})}function m(e){let{className:a,delay:s=.1,children:l}=e;return(0,n.useReducedMotion)()?(0,t.jsx)(t.Fragment,{children:l}):(0,t.jsx)(i.motion.div,{initial:{filter:"blur(4px)",translateY:-8,opacity:0},whileInView:{filter:"blur(0px)",translateY:0,opacity:1},viewport:{once:!0},transition:{delay:s,duration:.8},className:a,children:l})}e.s(["default",()=>x])},94287,e=>{"use strict";var t=e.i(39376),a=e.i(92262),i=e.i(15826);let n={en:{title:"Pin Fenly for Quick Access",step1:"Click the puzzle icon in your toolbar",step2:"Then click the pin icon next to Fenly",got:"Got it"},ru:{title:"Закрепите Fenly",step1:"Нажмите на иконку пазла в панели",step2:"Затем нажмите булавку рядом с Fenly",got:"Понятно"},de:{title:"Fenly anheften",step1:"Klicken Sie auf das Puzzle-Symbol oben rechts",step2:"Dann klicken Sie auf das Pin-Symbol neben Fenly",got:"Verstanden"},es:{title:"Fija Fenly",step1:"Haz clic en el icono del rompecabezas en la barra",step2:"Luego haz clic en el pin junto a Fenly",got:"Entendido"},fr:{title:"Épinglez Fenly",step1:"Cliquez sur l'icône puzzle dans la barre",step2:"Puis cliquez sur l'épingle à côté de Fenly",got:"Compris"},ja:{title:"Fenly をピン留め",step1:"ツールバーのパズルアイコンをクリック",step2:"Fe
1nly の横にあるピンアイコンをクリック",got:"OK"},pt:{title:"Fixe o Fenly",step1:"Clique no ícone de quebra-cabeça na barra",step2:"Depois clique no pin ao lado do Fenly",got:"Entendi"}};function s(){let e=(0,a.useSearchParams)(),[s,l]=(0,i.useState)(!1),[r,o]=(0,i.useState)(!1),[c,d]=(0,i.useState)("en"),x="extension"===e.get("from");(0,i.useEffect)(()=>{if(!x||sessionStorage.getItem("fenly_pin_dismissed"))return;let e=(navigator.language||"en").slice(0,2).toLowerCase();n[e]&&d(e);let t=setTimeout(()=>l(!0),1200);return()=>clearTimeout(t)},[x]);let m=()=>{o(!0),sessionStorage.setItem("fenly_pin_dismissed","1");let e=new URL(window.location.href);e.searchParams.delete("from"),window.history.replaceState({},"",e.pathname+e.hash)};if(!x||!s||r)return null;let u=n[c]||n.en;return(0,t.jsxs)("div",{className:"fixed z-[9999] pointer-events-auto",style:{top:"16px",right:"80px",animation:"pinAlertSlideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1)"},children:[(0,t.jsxs)("div",{className:"relative bg-zinc-900/95 backdrop-blur-xl border border-zinc-600/40 rounded-2xl shadow-2xl shadow-black/50 px-5 py-4 max-w-[340px] w-max",children:[(0,t.jsx)("button",{onClick:m,className:"absolute top-3 right-3 w-6 h-6 rounded-lg flex items-center justify-center text-zinc-500 hover:text-zinc-200 hover:bg-zinc-800 transition-colors",children:(0,t.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})}),(0,t.jsx)("div",{className:"text-[14px] font-semibold text-white mb-3 pr-6",children:u.title}),(0,t.jsxs)("div",{className:"space-y-2 mb-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("span",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-zinc-800 border border-zinc-700 flex items-center justify-center text-[10px] font-bold text-zinc-300",children:"1"}),(0,t.jsx)("span",{className:"text-[13px] text-zinc-300 leading-snug",children:u.step1})]}),(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("span",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-zinc-800 border border-zinc-700 flex items-center justify-center text-[10px] font-bold text-zinc-300",children:"2"}),(0,t.jsx)("span",{className:"text-[13px] text-zinc-300 leading-snug",children:u.step2})]})]}),(0,t.jsx)("button",{onClick:m,className:"w-full h-8 rounded-lg text-[12px] font-medium text-zinc-300 border border-zinc-700/50 bg-zinc-800/60 hover:bg-zinc-700/60 hover:text-white transition-colors",children:u.got})]}),(0,t.jsx)("style",{children:`
2                @keyframes pinAlertSlideDown {
3                    from { opacity: 0; transform: translateY(-12px); }
4                    to { opacity: 1; transform: translateY(0); }
5                }
6            `})]})}function l(){return(0,t.jsx)(i.Suspense,{fallback:null,children:(0,t.jsx)(s,{})})}e.s(["default",()=>l])},32706,e=>{"use strict";var t=e.i(39376),a=e.i(15826),i=e.i(46168);let n="fenly_mobile_reminder_state",s=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;function l(){let{t:e,language:l}=(0,i.useLocale)(),[r,o]=(0,a.useState)(!1),[c,d]=(0,a.useState)(!0),[x,m]=(0,a.useState)(""),[u,h]=(0,a.useState)(""),[p,g]=(0,a.useState)("idle"),[f,b]=(0,a.useState)("");if((0,a.useEffect)(()=>{let e=window.matchMedia("(max-width: 768px)"),t=/android|iphone|ipad|ipod|mobile/i.test(navigator.userAgent||"");o(e.matches||t);try{let e=localStorage.getItem(n);("submitted"===e||"dismissed"===e)&&("submitted"===e&&g("success"),"dismissed"===e&&o(!1))}catch{}let a=e=>o(e.matches||t);return e.addEventListener("change",a),()=>e.removeEventListener("change",a)},[]),!r)return null;let y=async t=>{t.preventDefault();let a=x.trim().toLowerCase();if(!s.test(a)){b(e("mobileReminderInvalidEmail")),g("error");return}g("submitting"),b("");let i=new URLSearchParams(window.location.search).get("utm_source");try{let t=await fetch("https://api.fenly.me/api/v1/mobile-reminder",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:a,language:l,website:u,referrer:document.referrer||void 0,utm_source:i||void 0})}),s=await t.json().catch(()=>({}));if(!t.ok||!s.success){b(s.error||e("mobileReminderGenericError")),g("error");return}g("success");try{localStorage.setItem(n,"submitted")}catch{}}catch{b(e("mobileReminderGenericError")),g("error")}};return(0,t.jsxs)("div",{role:"region","aria-label":e("mobileReminderTitle"),className:"fixed top-0 left-0 right-0 z-[9999] px-3 pt-3",style:{paddingTop:"max(env(safe-area-inset-top), 12px)"},children:[(0,t.jsx)("style",{children:`
7                @keyframes mr-slide-down {
8                    from { opacity: 0; transform: translateY(-12px); }
9                    to { opacity: 1; transform: translateY(0); }
10                }
11                .mr-card {
12                    animation: mr-slide-down 0.35s cubic-bezier(0.16, 1, 0.3, 1);
13                }
14            `}),(0,t.jsxs)("div",{className:"mr-card rounded-2xl border p-4",style:{background:"rgba(20, 18, 30, 0.96)",borderColor:"rgba(255, 255, 255, 0.1)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",boxShadow:"0 8px 24px rgba(0,0,0,0.45)"},children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"w-9 h-9 rounded-xl flex items-center justify-center shrink-0",style:{background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.08)"},"aria-hidden":"true",children:(0,t.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{color:"#fafafa"},children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"12",rx:"2"}),(0,t.jsx)("line",{x1:"2",y1:"20",x2:"22",y2:"20"}),(0,t.jsx)("line",{x1:"12",y1:"16",x2:"12",y2:"20"})]})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-white",children:e("mobileReminderTitle")}),(0,t.jsx)("p",{className:"text-xs mt-1",style:{color:"rgba(255,255,255,0.6)"},children:"success"===p?e("mobileReminderSuccessBody"):e("mobileReminderBody")})]}),(0,t.jsx)("button",{type:"button",onClick:()=>{try{localStorage.setItem(n,"dismissed")}catch{}o(!1)},"aria-label":e("mobileReminderDismiss"),className:"w-8 h-8 rounded-lg shrink-0 flex items-center justify-center",style:{color:"rgba(255,255,255,0.5)",background:"transparent",border:"none"},children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round",children:(0,t.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),"success"!==p&&(c?(0,t.jsx)("button",{type:"button",onClick:()=>d(!1),className:"mt-3 w-full py-2.5 rounded-xl text-sm font-semibold",style:{background:"#fafafa",color:"#0a0a0a",border:"none"},children:e("mobileReminderCta")}):(0,t.jsxs)("form",{onSubmit:y,className:"mt-3 flex flex-col gap-2",children:[(0,t.jsx)("input",{type:"text",tabIndex:-1,autoComplete:"off",value:u,onChange:e=>h(e.target.value),style:{position:"absolute",left:"-9999px",opacity:0,pointerEvents:"none"},"aria-hidden":"true"}),(0,t.jsx)("input",{type:"email",required:!0,autoComplete:"email",placeholder:e("mobileReminderEmailPlaceholder"),value:x,onChange:e=>m(e.target.value),disabled:"submitting"===p,className:"w-full px-4 py-3 rounded-xl text-sm",style:{background:"rgba(255,255,255,0.06)",color:"#ffffff",border:"1px solid rgba(255,255,255,0.12)",outline:"none"}}),(0,t.jsx)("button",{type:"submit",disabled:"submitting"===p,className:"w-full py-2.5 rounded-xl text-sm font-semibold",style:{background:"submitting"===p?"rgba(250,250,250,0.6)":"#fafafa",color:"#0a0a0a",border:"none"},children:"submitting"===p?e("mobileReminderSubmitting"):e("mobileReminderSubmit")}),"error"===p&&f&&(0,t.jsx)("p",{className:"text-xs",style:{color:"#f87171"},children:f})]}))]})]})}e.s(["MobileReminderBanner",()=>l])}]);

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.